Liyang作者

ICCV2019 | 北航、百度与华为联合提出贝叶斯优化的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相互作用。

考虑贝叶斯框架中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.

AMiner学术头条
AMiner学术头条

AMiner平台由清华大学计算机系研发,拥有我国完全自主知识产权。系统2006年上线,吸引了全球220个国家/地区800多万独立IP访问,数据下载量230万次,年度访问量1000万,成为学术搜索和社会网络挖掘研究的重要数据和实验平台。

https://www.aminer.cn/
专栏二维码
理论华为贝叶斯优化百度北航ICCV 2019
相关数据
华为机构

华为创立于1987年,是全球领先的ICT(信息与通信)基础设施和智能终端提供商,致力于把数字世界带入每个人、每个家庭、每个组织,构建万物互联的智能世界。目前华为有19.4万员工,业务遍及170多个国家和地区,服务30多亿人口。

https://www.huawei.com/cn/
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

二值化技术

二值化是将像素图像转换为二进制图像的过程。

高斯分布技术

正态分布是一个非常常见的连续概率分布。由于中心极限定理(Central Limit Theorem)的广泛应用,正态分布在统计学上非常重要。中心极限定理表明,由一组独立同分布,并且具有有限的数学期望和方差的随机变量X1,X2,X3,...Xn构成的平均随机变量Y近似的服从正态分布当n趋近于无穷。另外众多物理计量是由许多独立随机过程的和构成,因而往往也具有正态分布。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

导数技术

导数(Derivative)是微积分中的重要基础概念。当函数y=f(x)的自变量x在一点x_0上产生一个增量Δx时,函数输出值的增量Δy与自变量增量Δx的比值在Δx趋于0时的极限a如果存在,a即为在x0处的导数,记作f'(x_0) 或 df(x_0)/dx。

反向传播算法技术

反向传播(英语:Backpropagation,缩写为BP)是“误差反向传播”的简称,是一种与最优化方法(如梯度下降法)结合使用的,用来训练人工神经网络的常见方法。该方法计算对网络中所有权重计算损失函数的梯度。这个梯度会反馈给最优化方法,用来更新权值以最小化损失函数。 在神经网络上执行梯度下降法的主要算法。该算法会先按前向传播方式计算(并缓存)每个节点的输出值,然后再按反向传播遍历图的方式计算损失函数值相对于每个参数的偏导数。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

二值化神经网络技术

 二值网络是将权值W和隐藏层激活值二值化为1或者-1。通过二值化操作,使模型的参数占用更小的存储空间(内存消耗理论上减少为原来的1/32倍,从float32到1bit);同时利用位操作来代替网络中的乘加运算,大大降低了运算时间。由于二值网络只是将网络的参数和激活值二值化,并没有改变网络的结构。因此我们主要关注如何二值化,以及二值化后参数如何更新。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

贝叶斯学习技术

基于贝叶斯概率定理的学习方法

百度机构

百度是全球最大的中文搜索引擎,是一家互联网综合信息服务公司,更是全球领先的人工智能平台型公司。2000年1月1日创立于中关村,公司创始人李彦宏拥有“超链分析”技术专利,也使中国成为美国、俄罗斯、和韩国之外,全球仅有的4个拥有搜索引擎核心技术的国家之一。

https://www.baidu.com/
推荐文章
暂无评论
暂无评论~