Binarized Neural Networks:Training Deep Neural Networks with Weights and Activations -1,1

文章鏈接:Binarized Neural Networks: Training Deep Neural Networks with Weights and Activations Constrained to +1 or -1

這是2016年的一篇關於模型量化的文章。

1、背景:

在網絡量化中,有一種極爲誘惑的量化方式:1bit量化——極致的壓縮!但是1bit的網絡在訓練時有諸多細節需要完善。

2、方法:

2.1 Binarization Function

權值的量化有兩種方式:sign和隨機量化,雖然理論上隨機要好一點,但實踐中爲了計算方便一般用sign

但是sign函數其沒有不爲0的梯度,所以用tanh來代替。

 2.2 網絡的傳播

  • 前向傳播中權值都會與一個權重係數a相乘

反向傳播中權值更新並不是二值的,都是在原32bit精度上進行更新再量化成2bit

2.3對輸入圖像的處理:

輸入圖像不是二值化的,但是由於圖像像素值分佈在[0,255]之間(8bit時),所以可以用8比特來表示,這樣就能將輸入的實值像素值變成二值化的編碼了。

2.4 shift -based BN and Adamax

因爲二值化後,BN操作和優化方式中的乘法計算都能用位移操作來代替,所以速度會快很多,具體算法如下:

 

2.5 將這種方法推廣到 m bit

 

3、結果

 

只能說,作者盡力了,2bit的準確度方面確實不能和全精度的DNN作對比,特別是在大型的數據集上。後續的研究應該往優化量化更新方式或者是選擇性量化的方面去。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章