閱讀442 返回首頁    go 阿裏雲 go 技術社區[雲棲]


【壓縮率3000%】上交大ICCV:精度保證下的新型深度網絡壓縮框架


image

上海交通大學人工智能實驗室的研究人員提出了一種新的方法,能夠在保證網絡模型精度的前提下對深度網絡進行壓縮。相關論文已被ICCV 2017接收,由上海交通大學人工智能實驗室李澤凡博士實現,倪冰冰教授,張文軍教授,楊小康教授,高文院士指導。

隨著人工智能在各個領域的應用中大放異彩,深度學習已經成為街頭巷尾都能聽到的詞匯。然而,網絡越來越深,數據越來越大,訓練越來越久,如何在保證準確率的情況下加速網絡,甚至讓網絡在CPU或者移動設備上進行訓練與測試,就變成了迫在眉睫的問題。

上海交通大學人工智能實驗室的研究人員發表了論文《基於高階殘差量化的高精度網絡加速》(Performance Guaranteed Network Acceleration via High-Order Residual Quantization),提出一種新的方法,能夠在保證網絡模型精度的前提下對深度網絡進行壓縮。實驗結果,他們將網絡的大小降低了約32倍,速度上有30倍的提升。雖然以往的方法在體積和速度上也曾經取得類似的效果,但本論文提出的方法在精度保證上更勝一籌。

image

除了網絡pruning,網絡稀疏近似等等,網絡二值化也是常見的網絡加速方式。通常情況下,我們用 +1 和 -1 來代替原來的浮點數數值,使得卷積中的乘法操作變成加減操作,而如果輸入和權重同時二值化,乘法操作就會變成異或操作。

這看似是一種合理的網絡壓縮方式,然而如果單純的運用閾值二值化方法對網絡輸入進行二值化處理,那麼模型最後的精度將無法得到保證。但如果不運用二值化方法對網絡進行加速,那麼就又無法利用二值化所帶來的在計算和存儲方麵的優勢。

這篇文章提出的HORQ(High Order Residual Quantization)方法,提出了一種針對輸入的高階殘差二值量化的方法,既能夠利用二值化計算來加快網絡的計算,又能夠保證訓練所得的二值化網絡模型擁有較高的準確率。

圖一展示了如何用HORQ方法將一個普通的卷積層進行殘差量化。


image
圖一 HORQ結構

之前的二值化方法,例如XNOR,對輸入簡單地采用了閾值量化的操作。這樣的方法可以看成是對浮點數的一階二值近似方法。在此之上,本文運用遞歸閾值量化的方法,提出了HORQ的框架。具體來講,如圖一所示,在第一次閾值量化操作後,我們可以定義並計算改階近似對應的殘差,然後對該階殘差進行新一輪的二值近似。通過對高階殘差的近似,我們可以得到對應於不同尺度下的二值feature map。將這些feature map相加,便可得到最終的輸出。

這篇文章的實驗部分在MNIST和CIFAR-10數據集上進行測試,發現HORQ-net對比之前對輸入簡單采取一階閾值二值化的方法有喜人的優勢:

image
圖二 MNIST實驗


image
圖三 Cifar-10實驗

我們發現,對於二階殘差量化方法,該方法將網絡的大小降低了約32倍,同時速度上有30倍的提升,相比XNOR-net在兩個MNIST和CIFAR-10上測試準確率均有提升,並且展現出了可在CPU上進行網絡訓練的潛能。

image
圖四 HORQ方法加速比性能分析


image
圖五 HORQ方法加速比與量化階數分析

HORQ方法對卷積層計算的的加速比跟卷積核大小,feature map數量,以及殘差量化的階數都有較大關係。這些關係體現在圖四和圖五中。而且,如圖六所示,基於二值化的模型存儲空間可以得到大幅度的降低。

該論文提出的HORQ方法可以作為一個基礎的二值量化的方法,用於網絡的輸入二值化中,能夠在保證網絡模型精度的前提下,利用二值量化的技術提升網絡的計算速度,而且同時可以根據實際的硬件需要來調整殘差階數以適應需求。

這個方法有著很大的發展和使用前景。對於一般的深度學習網絡,HORQ方法能能夠很大程度上加速深度網絡的計算速度。由於網絡的每層輸入的輸入和權值都被二值化,模型的前向傳播時間得到大大降低,同時存儲模型所需的空間得到大大壓縮,使得在資源受限的小運算平台,例如手機和筆記本上運行大規模深度網絡模型成為可能。另外,高階殘差量化的方法能夠使得網絡精度的得到保證,使得網絡不再會因為簡單二值化方法而出現精度大幅下降。

該論文已經被ICCV2017接收,由上海交通大學人工智能實驗室李澤凡博士實現,倪冰冰教授,張文軍教授,楊小康教授,高文院士指導。

來源:新智元
原文鏈接

最後更新:2017-08-30 14:32:45

  上一篇:go  LiveVideoStackCon 2017 打造最專業的音視頻技術大會
  下一篇:go  【Movidius發布最新一代VPU】集成DNN加速器,每秒超過1萬億次運算