11.22 一種新穎的貝葉斯優化的1-Bit CNNs

一種新穎的貝葉斯優化的1-Bit CNNs

轉載自:學術頭條(ID:SciTouTiao)

本文4229字18圖,建議閱讀11分鐘

本文介紹一種新穎的貝葉斯優化的1-Bit CNNs。

Bayesian Optimized 1-Bit CNNs

Jiaxin Gu, Junhe Zhao,Xiaolong Jiang,Baochang Zhang,Jianzhuang Liu, Guodong Guo, Rongrong Ji(北京航空航天大學,百度深度學習研究院,華為諾亞方舟實驗室等)

論文地址

https://arxiv.org/pdf/1908.06314v1.pdf

前言

本文將對ICCV2019會議論文《Bayesian Optimized 1-Bit CNNs》進行解讀,這篇論文在二值化神經網絡(1-bit CNNs)方面取得了最新進展。作者提出了一種新穎的貝葉斯優化的1-Bit CNNs(簡稱BONNs),利用貝葉斯學習,將全精度kernels和features的先驗分佈納入貝葉斯框架,以端到端的方式構造1-bit CNNs,這是以往任何相關方法都沒有考慮到的。實現了連續和離散空間中的貝葉斯損失同時優化網絡,將不同的損失聯合起來提高模型容量。作者在ImageNet和CIFAR數據集上的實驗表明,與最先進的1-bit CNNs相比,BONNs具有更好性能。

研究現狀

量化採用低精度值代替全精度值,可加速卷積運算,同時節省存儲開銷。而1-Bit卷積神經網絡是量化的極端情況,其卷積核和激活是二值化的。DoReFa-Net【1】開發了具有低比特寬度參數和梯度的1-Bit卷積核以加快訓練和推理。不同的是,ABC-Net【2】採用多個二進制權值和激活來近似全精度權值,從而可以降低預測精度退化。

除此之外,wang等【3】提出了調製卷積網絡,僅對核進行二值化,並取得了比參考基線更好的結果。Leng等借鑑了ADMM思想,由少量比特表示網絡權重來壓縮深度模型【4】。Bi-real net【5】探索了殘差結構的新變體,以保留符號函數之前的真實激活,並提出了對不可微分符號函數的導數的緊逼近。Zhuang等提出了一種使用兩階段方法對權重和激活進行交替量化的2~4位量化方法【6】,並在存儲器,效率和性能之間提供了最佳均衡方案。

此外,Wu等提出了對訓練和推理過程進行離散化的方法【7】,它不僅量化了權重和激活,而且量化了梯度和誤差。Gu等提出了一種基於離散投影反向傳播算法的量化方法【8】,以獲得更好的1-bit CNNs。

作者認為1-bit CNNs與全精度CNNs相比,精度明顯降低的原因有兩個:1)全精度和1-bit CNNs之間的關係並未充分研究;2)貝葉斯學習作為一種公認的全局優化策略【9】,在1-bit CNNs領域被忽略了。

方法

概述

作者利用貝葉斯學習的有效性以端到端的方式構建1-bit CNNs。特別地,引入了兩個新的貝葉斯損失,在此基礎上優化1-bit CNNs,提高了效率和穩定性。在統一的理論框架下,這些貝葉斯損失不僅考慮了1-bit CNNs的kernel、weight分佈,而且還監督了feature分佈。下圖顯示了損失如何與CNN backbone相互作用。

一種新穎的貝葉斯優化的1-Bit CNNs

考慮貝葉斯框架中kernels和features的先驗分佈,實現了兩個新的貝葉斯損失,以優化1-bit CNNs的計算。貝葉斯kernel損失改善了各卷積層的分層kernel分佈,而貝葉斯feature損失引入了類內緊密度(intra-class compactness)以減輕量化過程帶來的干擾。注意,貝葉斯feature損失僅適用於全連接層。

貝葉斯損失(Bayesian Losses)

訓練1-bit CNNs有三個步驟:正向傳遞,反向傳遞和通過梯度更新參數。二值化的權重僅在前向(inference)和梯度計算時考慮。更新參數後,獲得了全精度權重。如何將其連接是確定網絡性能的關鍵。作者在概率框架中對其進行求解,以獲得最佳的1-bit CNNs。

1.貝葉斯kernel損失

一種新穎的貝葉斯優化的1-Bit CNNs

一種新穎的貝葉斯優化的1-Bit CNNs

一種新穎的貝葉斯優化的1-Bit CNNs

一種新穎的貝葉斯優化的1-Bit CNNs

2.貝葉斯feature損失

一種新穎的貝葉斯優化的1-Bit CNNs

通過貝葉斯學習優化1-bit CNNs



一種新穎的貝葉斯優化的1-Bit CNNs

反向傳遞



一種新穎的貝葉斯優化的1-Bit CNNs

一種新穎的貝葉斯優化的1-Bit CNNs

實驗

消融實驗

作者使用WRN22在CIFAR-10數據集上,結果如下表所示,貝葉斯kernel損失和貝葉斯feature損失都可以提高準確度,一起使用時,Top-1準確度達到最高59.3%。

一種新穎的貝葉斯優化的1-Bit CNNs

如下圖所示為BONNs第1個二值化卷積層的kernel權重分佈。在訓練之前,將kernel初始化為單模高斯分佈。從第2個到第200個epoch,兩種模式下的kernel權重分佈在變得越來越緊湊,證明了貝葉斯kernel損失可以將kernel正則化為可能的二進制分佈。

一種新穎的貝葉斯優化的1-Bit CNNs

如下圖所示,為XNOR和BONN的權重分佈對比。XNOR和BONN之間的權重分佈差異表明,通過我們提出的貝葉斯kernel損失,在卷積層上對kernel實現了了正則化。

一種新穎的貝葉斯優化的1-Bit CNNs

下圖顯示了XNOR Net和BONN訓練過程中二值化值的演變,表明在BONN中學習到的二值化值更加多樣化。

一種新穎的貝葉斯優化的1-Bit CNNs

CIFAR10/100數據集結果

作者使用Three WRN變種:22層WRN,kernel stage為16-16-32-64和64-64-128-256。如下表所示,BONN在兩個數據集上的性能均優於XNOR Net。即使與全精度WRN相比,BONN性能也相當不錯 。

一種新穎的貝葉斯優化的1-Bit CNNs

ImageNet數據集結果

如下表所示,與其他最先進1-bit CNNs量化網絡相比, BONN獲得最高的準確度,其中Bi-Real Net和PCNN的性能與BONN最為接近,而BONN的Top-1分別超過前者大約3%和2%。DoReFa-Net和TBN儘管使用了超過1-bit來量化激活,性能仍遜於BONN。

一種新穎的貝葉斯優化的1-Bit CNNs

內存使用率和效率分析

在BONN中,BONN遵循XNOR-Net採用的策略,該策略在第一個卷積層,所有1×1卷積和全連接層中保持全精度參數,由此,ResNet18的總體壓縮率為11.10。對於效率分析,如果卷積的所有操作數都是二進制的,可以通過XNOR和位計數操作來估計卷積【M. Courbariaux, I. Hubara, D. Soudry, R. El-Yaniv, and Y. Bengio. Binarized neural networks: Training deep neural networks with weights and activations constrained to+ 1 or- 1. arXiv preprint arXiv:1602.02830, 2016】。

總結

作者提出了貝葉斯優化的1-bit CNNs(BONN),該模型考慮了全精度kernel和features分佈,從而形成了具有兩個新貝葉斯損失的統一貝葉斯框架。貝葉斯損失用於調整kernel和features的分佈,以達到最佳解決方案。

參考文獻:

【1】S. Zhou, Y. Wu, Z. Ni, X. Zhou, H. Wen, and Y. Zou. Dorefa-net: Training low bitwidth convolutional neural networks with low bitwidth gradients. arXiv preprint arXiv:1606.06160, 2016.

【2】X. Lin, C. Zhao, and W. Pan. Towards accurate binary convolutional neural network. In Advances in Neural Information Processing Systems, pages 345–353, 2017.

【3】X. Wang, B. Zhang, C. Li, R. Ji, J. Han, X. Cao, and J. Liu. Modulated convolutional networks. In IEEE Conference on Computer Vision and Pattern Recognition, pages 840–848, 2018.

【4】C. Leng, Z. Dou, H. Li, S. Zhu, and R. Jin. Extremely low bit neural network: Squeeze the last bit out with admm. In AAAI Conference on Artificial Intelligence, 2018.

【5】Z. Liu, B. Wu, W. Luo, X. Yang, W. Liu, and K.-T. Cheng. Bi-real net: Enhancing the performance of 1-bit cnns with improved representational capability and advanced training algorithm. In Proceedings of the European Conference on Computer Vision, pages 747–763. Springer, 2018.

【6】B. Zhuang, C. Shen, M. Tan, L. Liu, and I. Reid. Towards effective low-bitwidth convolutional neural networks. In IEEE Conference on Computer Vision and Pattern Recognition, June 2018.

【7】S. Wu, G. Li, F. Chen, and L. Shi. Training and inference with integers in deep neural networks. In International Conference on Learning Representations, 2018.

【8】J. Gu, C. Li, B. Zhang, J. Han, X. Cao, J. Liu, and D. Doermann. Projection convolutional neural networks for 1-bit cnns via discrete back propagation. In AAAI Conference on Artificial Intelligence, 2019.

【9】C. Blundell, J. Cornebise, K. Kavukcuoglu, and D. Wierstra. Weight uncertainty in neural network. In International Conference on Machine Learning, pages 1613–1622, 2015.

— 完 —

關注清華-青島數據科學研究院官方微信公眾平臺“THU數據派”及姊妹號“數據派THU”獲取更多講座福利及優質內容。


分享到:


相關文章: