網絡量化——Quantized Convolutional Neural Networks for Mobile Devices

論文地址:https://arxiv.org/abs/1512.06473
源碼地址:https://github.com/jiaxiang-wu/quantized-cnngit

1. 主要思想

  • 這篇文章的主要思想其實就是權值共享,也是用聚類的方法(k-means)作共享,只不過不是單個權值共享了,而是分塊權值共享(用一個掩碼矩陣表示共享的狀況),所以能夠較少存儲空間。 再加上由於共享,因此有些點乘計算只須要計算一次,由於對應的權值塊都同樣,輸入同樣的話,輸出也同樣。因此將部門的點乘轉換成了加法操做。 所以也能夠作到加速。

2. 性能

  1. ILSVRC-12上4~6x speed-up.
  2. 15~20x compression.
  3. one percentage loss of classification accuracy.

3. 量化原理

  1. Weighting Matrix 被劃分紅不少塊,而後經過聚類(k-means)獲得codebook,聚類操做優化的目標函數是:

也就是說codebook乘上掩碼矩陣是能夠大體恢復到Weighting Matrix。github

4. 量化全鏈接層


  • 就是聚類的目標函數,以及參數的還原。函數

    5. 量化卷積層


  • 就是聚類的目標函數,以及參數的還原。性能

    6. 優化目標

  • 定義損失函數,用於更新聚類獲得的codebook優化

7. 參數更新方法


  • 迭代更新的過程。

8. 計算量

9. 實驗結果

10. 結論

  • 實踐代表聚類在實際應用中的效果仍是很明顯的,尤爲是在全鏈接層,由於參數很是的冗餘,因此幾乎不用作fine-tuning,就能夠恢復到原來的性能,卷積層可能須要作fine-tuning。
相關文章
相關標籤/搜索