导读
此次的文章分享主要关于二值化网络在图像分类中的应用。自BinaryConnect,二值化网络取得了一系列的进展。相比于全精度的网络,二值化网络对于全连接或者卷积层压缩32倍,成为一比特,大大减小了网络的存储空间,在二值化权重后,运算可以简化为加减法,如果进一步二值化特征图,运算可以转化成为xnor+bitcount操作,从而进一步加速运算。
方法
该部分介绍几篇论文的方法
BinaryConnect
本文提出BinaryConnect主要将全连接和卷积层中的权重二值化,以此将乘法运算变成加法运算,压缩的同时能够加快网络的运算速度。训练过程中,使用全精度的参数对于梯度进行累计。前向传播过程中,权重的取值为全精度记录的参数的符号。反向传播过程中,计算损失相对于二值化权重的梯度并累计在全精度的记录中。
BinaryNet
本文在BinaryConnect的基础上,除了对权重进行二值化,BinaryNet对于中间的特征进行二值化。前向传播中,对于特征图,也对于其进行二值化操作后,前向传播。在反向传播中,由于sign函数的导数除0点外处处为0,因此难以进行反向传播,不能直接用求导来更新权重。因此采用straight through estimator,使用二值化后的梯度代替二值化之前的梯度。通过此种方式,BinaryNet可以使用BP算法进行训练。
XNORnet
Binary Weight Network希望使用尺度参数配合二值化权重来代替原权重,解一个优化问题。XNOR Net将特征和权重都进行二值化表示。优化目标为二值化后的结果尽可能减小和全精度网络之间输出的误差。
其他经典网络
ABCnet使用多个二值化基,和XNORnet目标相似,目的为了尽可能和全精度网络的输出一致。Bi-Real Net针对XNORnet的不足进行优化,通过引入shortcut连接,使用二次函数拟合,更新全精度参数时考虑幅度,使用clip代替relu等一系列操作。DoReFaNet进一步对于训练中的梯度进行量化操作。
总结
二值化网络不论是在研究或是实际应用中都扮演者极其重要的角色,压缩网络大小并且加速计算的特点使得未来边缘设备逐渐成为现实。通常训练阶段记录全精度参数进行训练,并在前向传播、反向传播和部署阶段转化为二值化权重。诸多研究探索了如何更好的设计二值化网络的结构,同时也探索了如何去更好的训练二值化网络。关于二值化网络,相比于全精度的网络还有一定的差距,值得进一步研究。
参考文献
[1] Courbariaux M, Bengio Y, David J P.Binaryconnect: Training deep neural networks with binary weights duringpropagations[C]//Advances in neural information processing systems. 2015:3123-3131.
[2] Hubara I, Courbariaux M, Soudry D, et al.Binarized neural networks[C]//Advances in neural information processingsystems. 2016: 4107-4115.
[3] Rastegari M, Ordonez V, Redmon J, et al. Xnor-net:Imagenet classification using binary convolutional neural networks[C]//EuropeanConference on Computer Vision. Springer, Cham, 2016: 525-542.
[4] Lin X, Zhao C, Pan W. Towards accuratebinary convolutional neural network[C]//Advances in Neural InformationProcessing Systems. 2017: 345-353.
[5] Zhou S, Wu Y, Ni Z, et al. Dorefa-net:Training low bitwidth convolutional neural networks with low bitwidthgradients[J]. arXiv preprint arXiv:1606.06160, 2016.
[6] Tang W, Hua G, Wang L. How to train acompact binary neural network with high accuracy?[C]//AAAI. 2017: 2625-2631.
[7] Liu Z, Wu B, Luo W, et al. Bi-real net:Enhancing the performance of 1-bit cnns with improved representationalcapability and advanced training algorithm[J]. arXiv preprint arXiv:1808.00278,2018.
版权说明