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相互作用。
考虑贝叶斯框架中kernels和features的先验分布,实现了两个新的贝叶斯损失,以优化1-bit CNNs的计算。贝叶斯kernel损失改善了各卷积层的分层kernel分布,而贝叶斯feature损失引入了类内紧密度(intra-class compactness)以减轻量化过程带来的干扰。注意,贝叶斯feature损失仅适用于全连接层。
贝叶斯损失(Bayesian Losses)
训练1-bit CNNs有三个步骤:正向传递,反向传递和通过梯度更新参数。二值化的权重仅在前向(inference)和梯度计算时考虑。更新参数后,获得了全精度权重。如何将其连接是确定网络性能的关键。作者在概率框架中对其进行求解,以获得最佳的1-bit CNNs。
1.贝叶斯kernel损失
2.贝叶斯feature损失
通过贝叶斯学习优化1-bit CNNs
反向传递
实验
消融实验
作者使用WRN22在CIFAR-10数据集上,结果如下表所示,贝叶斯kernel损失和贝叶斯feature损失都可以提高准确度,一起使用时,Top-1准确度达到最高59.3%。
如下图所示为BONNs第1个二值化卷积层的kernel权重分布。在训练之前,将kernel初始化为单模高斯分布。从第2个到第200个epoch,两种模式下的kernel权重分布在变得越来越紧凑,证明了贝叶斯kernel损失可以将kernel正则化为可能的二进制分布。
如下图所示,为XNOR和BONN的权重分布对比。XNOR和BONN之间的权重分布差异表明,通过我们提出的贝叶斯kernel损失,在卷积层上对kernel实现了了正则化。
下图显示了XNOR Net和BONN训练过程中二值化值的演变,表明在BONN中学习到的二值化值更加多样化。
CIFAR10/100数据集结果
作者使用Three WRN变种:22层WRN,kernel stage为16-16-32-64和64-64-128-256。如下表所示,BONN在两个数据集上的性能均优于XNOR Net。即使与全精度WRN相比,BONN性能也相当不错 。
ImageNet数据集结果
如下表所示,与其他最先进1-bit CNNs量化网络相比, BONN获得最高的准确度,其中Bi-Real Net和PCNN的性能与BONN最为接近,而BONN的Top-1分别超过前者大约3%和2%。DoReFa-Net和TBN尽管使用了超过1-bit来量化激活,性能仍逊于BONN。
内存使用率和效率分析
在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.