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