神經網絡低比特量化——TQT

TQT

本文爲Xilinx的量化工做,發表在 MLSys 2020,論文題目:Trained Quantization Thresholds for Accurate and Efficient Fixed-Point Inference of Deep Neural Networks. 本文提出了一種基於標準反向傳播和梯度降低的均勻對稱量化器量化閾值訓練方法,爲了便於硬件部署量化器被限制爲使用2的冪比例因子。TQT可以在困難網絡(如MobileNets)上實現接近浮點精度,而量化(8位)retrain 時間少於5個 epochs。node

  • 論文連接:https://arxiv.org/abs/1903.08066v3
  • 量化工具 Graffitist:https://github.com/Xilinx/graffitist

背景與動機

量化的自由度

Asymmetric & Symmetric
  • Asymmetric:
  • Symmetric:
Per-Channel & Per-Tensor
  • Per-Channel 指同一層網絡中不一樣卷積核有不一樣的縮放因子。
  • Per-Tensor 指同一層網絡中不一樣卷積核共享同一個縮放因子。
Real-valued scaling & Power-of-2 scaling
  • Real-valued scaling 表示量化縮放因子爲實數值
  • Power-of-2 scaling 表示量化縮放因子爲2的次冪形式(硬件實現可移位完成)

結合量化方法和對硬件部署的友好程度,本文總結量化方法與特色以下圖所示:可見,Asymmetric & Per-Channel & Real-valued scaling方法對量化的表達最爲靈活,不管是簡單網絡仍是難網絡均能保證良好的量化精度偏差,可是硬件部署不友好;反之,針對Symmetric & Per-Tensor & Power-of-2 scaling方法對量化表達不夠靈活,簡單網絡實施量化較靈活,可是,針對如MobileNet類型的緊湊型網絡結構量化後的損失嚴重。可是,對硬件的部署十分友好。git

MobileNet難量化的緣由

可視化數據範圍

經過上圖對 MobileNet 權重數據範圍的可視化,咱們發現,對於 depth-wise 卷積層,參數的分佈範圍很是不對稱;這致使了均勻量化過程會產生嚴重的量化誤差。github

方法

TQT——前向量化

TQT——反向傳播

梯度的解釋

梯度傳遞曲線
梯度公式推導
閾值梯度的做用

從下圖中 的曲線圖中能夠看出,在限幅閾值 內,閾值梯度爲正,不然爲負。當大部分輸入分佈落在 範圍內時,累積閾值梯度爲正,致使 減少()。換句話說,極限值 向內拉,以得到更高的精度。相似地,當大多數輸入分佈落在 以外時,累積閾值梯度爲負, 增大,極限值 向外推,有利於更大的動態範圍。該技術經過基於梯度的優化實現了對精度的權衡,對具備長尾或離羣值的分佈具備自然的魯棒性(收斂時,正梯度和負梯度抵消)。web

閾值梯度做用可視化
輸入梯度的做用

使用相似於閾值梯度的分析,咱們看到輸入梯度 對於落在 以外的 值是非零的,偏向於防止它們被截斷。這會導致權重和激活的分佈更緊密。微信

總之,閾值梯度有助於訓練截斷權值和激活的最優閾值,而輸入梯度則將權值和激活推到更嚴格的邊界。本文采用在全局損失中聯合(相互)優化,經過反向傳播同時訓練截斷閾值和量化網絡的權重。網絡

實驗結果

ImageNet量化實驗結果

更多內容關注微信公衆號【AI異構】


本文分享自微信公衆號 - AI異構(gh_ed66a0ffe20a)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。編輯器

相關文章
相關標籤/搜索