0
本文作者: 奕欣 | 2017-08-31 09:59 | 專題:ICCV 2017 |
雷鋒網(wǎng)AI科技評論按:ICCV 全稱為 IEEE International Conference on Computer Vision,即國際計(jì)算機(jī)視覺大會(huì))與計(jì)算機(jī)視覺模式識(shí)別會(huì)議(CVPR)和歐洲計(jì)算機(jī)視覺會(huì)議(ECCV)并稱計(jì)算機(jī)視覺方向的三大頂級會(huì)議,每兩年召開一次的 ICCV 今年將在意大利威尼斯舉辦。
由上海交通大學(xué)人工智能實(shí)驗(yàn)室李澤凡博士實(shí)現(xiàn),倪冰冰教授、張文軍教授、楊小康教授,高文院士指導(dǎo)的論文《基于高階殘差量化的高精度網(wǎng)絡(luò)加速》(Performance Guaranteed Network Acceleration via High-Order Residual Quantization)已經(jīng)被 ICCV2017 錄用,以下為上海交通大學(xué)人工智能實(shí)驗(yàn)室楊蕊所做的詳細(xì)解讀,雷鋒網(wǎng)AI科技評論經(jīng)授權(quán)引用,并做了不改動(dòng)原意的修改和編輯。
論文鏈接:http://pan.baidu.com/s/1bMgbme
隨著人工智能在各個(gè)領(lǐng)域的應(yīng)用中大放異彩,深度學(xué)習(xí)已經(jīng)成為街頭巷尾都能聽到的詞匯。然而網(wǎng)絡(luò)越來越深,數(shù)據(jù)越來越大,訓(xùn)練越來越久,如何在保證準(zhǔn)確率的情況下加速網(wǎng)絡(luò)以及甚至網(wǎng)絡(luò)在 CPU 或者移動(dòng)設(shè)備上進(jìn)行訓(xùn)練與測試變成了迫在眉睫的問題。
除了網(wǎng)絡(luò) pruning,網(wǎng)絡(luò)稀疏近似等等,網(wǎng)絡(luò)二值化也是常見的網(wǎng)絡(luò)加速方式。通常情況下,我們用+1 和-1 來代替原來的浮點(diǎn)數(shù)數(shù)值,使得卷積中的乘法操作變成加減操作,而如果輸入和權(quán)重同時(shí)二值化,乘法操作就會(huì)變成異或操作。這看似是一種合理的網(wǎng)絡(luò)壓縮方式,然而如果單純的運(yùn)用閾值二值化方法對網(wǎng)絡(luò)輸入進(jìn)行二值化處理,那么模型最后的精度將無法得到保證。但如果不運(yùn)用二值化方法對網(wǎng)絡(luò)進(jìn)行加速,那么就又無法利用二值化所帶來的在計(jì)算和存儲(chǔ)方面的優(yōu)勢。
而這篇文章提出的 HORQ(High Order Residual Quantization)方法提出了一種針對輸入的高階殘差二值量化的方法,既能夠利用二值化計(jì)算來加快網(wǎng)絡(luò)的計(jì)算,又能夠保證訓(xùn)練所得的二值化網(wǎng)絡(luò)模型的較高的準(zhǔn)確率。
圖一 HORQ 結(jié)構(gòu)
圖一展示了如何用 HORQ 方法將一個(gè)普通的卷積層進(jìn)行殘差量化。
對于一個(gè)神經(jīng)網(wǎng)絡(luò)常規(guī)的卷積層 Y=X?W, 其中 X 是網(wǎng)絡(luò)的實(shí)值輸入,W 是網(wǎng)絡(luò)的實(shí)值權(quán)值,Y 是網(wǎng)絡(luò)層的輸出。要對這個(gè)卷積層進(jìn)行高階殘差近似,先按照 XNOR-net[1] 的方法對這個(gè)卷積層進(jìn)行一階二值近似:
X≈β_1 H_1,W≈αB
Y_1=αβ_1 H_1?B
隨后,就可以由此定義輸入殘差張量:
R_1 (X)=X-β_1 H_1
繼續(xù)對殘差進(jìn)行二值量化,就可以得到輸入 X 的二階二值近似:
R_1 (X)≈β_2 H_2,W≈αB
Y_2=αβ_2 H_2?B
那么,現(xiàn)在可以定義輸入 X 的二階殘差近似:
Y≈Y_1+Y_2
類似的,我們可以進(jìn)而定義出輸入 X 的高階殘差,以及相應(yīng)的高階殘差量化:
由此,對卷積層進(jìn)行二階(高階)殘差量化,并加速其運(yùn)算。
這篇文章的實(shí)驗(yàn)部分在 MNIST 和 CIFAR-10 數(shù)據(jù)集上進(jìn)行測試,發(fā)現(xiàn) HORQ-net 對比之前對輸入簡單采取一階閾值二值化的方法有喜人的優(yōu)勢:
圖二 MNIST 實(shí)驗(yàn)
圖三 Cifar-10 實(shí)驗(yàn)
我們發(fā)現(xiàn),對于二階殘量化方法,該方法將網(wǎng)絡(luò)的大小降低了約 32 倍,同時(shí)速度上有 30 倍的提升,相比 XNOR-net 在兩個(gè) MNIST 和 CIFAR-10 上測試準(zhǔn)確率均有提升,并且展現(xiàn)出了可在 CPU 上進(jìn)行網(wǎng)絡(luò)訓(xùn)練的潛能。
圖四 HORQ 方法加速比性能分析
圖五 HORQ 方法加速比與量化階數(shù)分析
HORQ 方法對卷積層計(jì)算的的加速比跟卷積核大小,feature map 數(shù)量,以及殘差量化的階數(shù)都有較大關(guān)系。這些關(guān)系體現(xiàn)在圖四和圖五中。而且,如圖六所示,基于二值化的模型存儲(chǔ)空間可以得到大幅度的降低。
圖六
該論文提出的 HORQ 方法可以作為一個(gè)基礎(chǔ)的二值量化的方法用于網(wǎng)絡(luò)的輸入二值化中,能夠在保證網(wǎng)絡(luò)模型精度的前提下,利用二值量化的技術(shù)提升網(wǎng)絡(luò)的計(jì)算速度,而且同時(shí)可以根據(jù)實(shí)際的硬件需要來調(diào)整殘差階數(shù)以適應(yīng)需求。
這個(gè)方法有著很大的發(fā)展、使用前景。對于一般的深度學(xué)習(xí)網(wǎng)絡(luò),HORQ 方法能能夠很大程度上加速深度網(wǎng)絡(luò)的計(jì)算速度。由于網(wǎng)絡(luò)的每層輸入的輸入和權(quán)值都被二值化,模型的前向傳播時(shí)間得到大大降低,同時(shí)存儲(chǔ)模型所需的空間得到大大壓縮,使得在資源受限的小運(yùn)算平臺(tái),例如手機(jī)和筆記本上運(yùn)行大規(guī)模深度網(wǎng)絡(luò)模型成為可能。另外,高階殘差量化的方法能夠使得網(wǎng)絡(luò)精度得到保證,使得網(wǎng)絡(luò)不再會(huì)因?yàn)楹唵味祷椒ǘ斐傻木却蠓陆怠?/p>
參考文獻(xiàn):
[1]M. Rastegari, V. Ordonez, J. Redmon, and A. Farhadi. Xnor-net: Imagenet classification using binary convolutional neu-ral networks. In European Conference on Computer Vision, pages 525–542. Springer, 2016.
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。
本專題其他文章