量化神经收集

收集量化通过淘汰外示每个权重所需的比特数来压缩原始收集。Gong et al. 对参数值运用 K-Means 量化。Vanhoucke et al. 运用了 8 比特参数目化可以准确率耗损极小的同时完成大幅加速。Han S 提出一套完备的深度收集的压缩流程:起首修剪不主要的连接,从头教练希罕连接的收集。然后运用权重共享量化连接的权重,再对量化后的权重和码本举行霍夫曼编码,以进一步低沉压缩率。

根源:Quantized Neural Networks: Training Neural Networks with Low Precision Weights and ActivationsPaperWeekly
简介

教练神经收集是通过将许众微细的改良加到权重来完毕的, 这些小增量一般需求浮点精度来义务。神经收集模子可以磁盘上占用大宗的空间,比如,原始的alexnet浮动样式上超越200MB。一个神经收集模子一般需求数百万以致万万的权值参数,它们连接了差别层级的神经元,占领了模子储存的确实通通空间。因为它们只要微细差别,简单的压缩样式像zip,不行很好地压缩它们。它们排列大的目标,而且每一层中,权重一般分布必定范围内,比如-3.0至6.0。

最简单的量化的动机是收集权值保管为文献时,将每层最小值、最大值存储下来,然后将每个浮点数值采用 8-bit 整数外示。比如,- 3.0到6.0范围内, 0字节外示- 3.0 ,255外示6.0 ,128外示大约1.5。这意味着可以磁盘上缩减75%的储存开销,然后加载后转换回浮点数,现有的浮点代码可以不做任何更改。

量化神经收集(QNN)是一种运用低于全精度(32bit)的权重和激活值的神经收集。当QNN运用1bit的权重和激活值时,会取得一种二值化神经收集(BNN)。如许的收集中,所有乘法累加运算(multiply-accumulate operations,MAC)都可以用异或非(XNOR)和集团计数(即,盘算二进制数中的1的数目)操作来替代。正向转达时代,量化神经收集会大大淘汰内存大小和拜访时间,并用逐位操作交换大大都算术运算,相关于运用全精度权重教练的深度神经收集,量化神经收集的功耗将大幅低沉。当每个权重仅运用1位并激活时,会生成二值化神经收集(BNN)。量化神经收集有利于加速完成神经元重量比十分大的卷积收集,以及模子的压缩/加速,和功耗的低沉。它能带来深度模子低功耗装惫亓脑擞闷占啊H缡只,嵌入式配备,iot配备,可衣着配备,以及其他不行安装强gpu算力,又不适合依赖通过收集拜访云端剖析的运用。

Miyashita et al. (2016) 指出,量化方案主要有两种:

1.线性量化

image.png

$$\mathbf{L}{\mathbf{I}}^{.}\mathbf{nearQuant}(x,bitwidth)=\grave{\mathrm{Ch}}\mathrm{p}(\mathbf{rOund}(\frac{x}{2^{\mathrm{bit}\mathbb{W}\mathbf{idth}}-1})\times 2{1}^{\mathbf{b\imath }\mathbf{IW}1\mathbf{\imath dIh}-_{,\mathrm{m}}}\mathbf{\imath }^{\blacktriangledown }\mathrm{nV},\mathrm{maxv})$$

2.对数目化

image.png $$\mathbf{LogQuant}(x,bitwidth)(\mathrm{x})=\ \mathrm{Cl\imath }^{\blacktriangledown }\mathrm{p}(\mathrm{LOgAP}2(x),-(2^{\mathbf{bit}\mathbb{W}\mathbf{idIh}-1}-1),2_{1}^{\mathbf{b\imath }\mathbf{IW}1^{\mathbf{\imath }}\mathbf{dth}-)}$$

此中minV和maxV区分是最小和最大比例范围,LogAP2(x)是x的近似幂2的对数。

描画根源:

Hubara, I., Courbariaux, M., Soudry, D., El-Yaniv, R., & Bengio, Y. (2017). Quantized neural networks: Training neural networks with low precision weights and activations. The Journal of Machine Learning Research, 18(1), 6869-6898.

Miyashita, D., Lee, E. H., & Murmann, B. (2016). Convolutional neural networks using logarithmic data representation. arXiv preprint arXiv:1603.01025.

开展历史

描画

2016年,Zhou, S., Wu, Y., Ni, Z., Zhou, X., Wen, H., & Zou, Y. 提出了DoReFa net,第一次对量化收集的前向和后向盘算,以及差别的bit,举行评估。

2016年,Rastegari, M., Ordonez, V., Redmon, J., & Farhadi, A. 提出了Xnor net,第一次imagenet上做二值化评估义务。它提出了运用scaling factor来缩小二值化的权值及激活值和它们的全精度版本之间的间隔,进而通过增大模子feature value的值域来增强其外达才能的方法。

2016年,Daisuke Miyashita等提出了量化神经收集的两种主要量化方案。

2016年 - 2018年,Itay Hubara等综述了量化神经收集的运用以及与二值化神经收集(BNN)的联系。

2017年,基于apache mxnet的二值化神经收集的开源完成 BMXNet 降生,它是当时第一个可以将二值化模子压缩并储存,进而成功的发布iso以及andriod配备上运用的东西包。

2017年,X. Lin, C. Zhao, and W. Pan.试图通过修立众个1bit的二值话模块,并以其组合的方式来迫近全精度模子的权值和激活值的分布,其结果抵达了很高的精度,可是模子大小的压缩比不行被很好的包管,其并未真正办理1bit下的模子精度怎样进步的题目。

2018年,Y. Zhou, S. M. Moosavi Dezfooli, N.-M. Cheung, and P. Frossard.提出自顺应的量化方法,可以灵敏的以差别的修立来量化模子的差别层。

2018年, Z. Liu, B. Wu, W. Luo, X. Yang, W. Liu, and K.-T. Cheng.通过resnet中到场全精度的下采样连接,有用晋升了1bit二值收集的精度,抵达了新的技能开展程度。

主要事情

年份事情相关论文/Reference
2016DoReFa net第一次对量化收集的前向和后向盘算,以及差别的bit,举行评估。Zhou, S., Wu, Y., Ni, Z., Zhou, X., Wen, H., & Zou, Y. (2016). Dorefa-net: Training low bitwidth convolutional neural networks with low bitwidth gradients. arXiv preprint arXiv:1606.06160.
2016Xnor net第一次imagenet上做二值化评估义务。Rastegari, M., Ordonez, V., Redmon, J., & Farhadi, A. (2016, October). Xnor-net: Imagenet classification using binary convolutional neural networks. In European Conference on Computer Vision (pp. 525-542). Springer, Cham.
2016Daisuke Miyashita等提出了量化神经收集的两种主要量化方案。Miyashita, D., Lee, E. H., & Murmann, B. (2016). Convolutional neural networks using logarithmic data representation. arXiv preprint arXiv:1603.01025.
2016 - 2018Itay Hubara等综述了量化神经收集的运用以及与二值化神经收集(BNN)的联系。Hubara, I., Courbariaux, M., Soudry, D., El-Yaniv, R., & Bengio, Y. (2017). Quantized neural networks: Training neural networks with low precision weights and activations. The Journal of Machine Learning Research, 18(1), 6869-6898.
2017基于apache mxnet的二值化神经收集的开源完成 BMXNet 降生。H. Yang, M. Fritzsche, C. Bartz, and C. Meinel. Bmxnet: An open-source binary neural network implementation based on mxnet. In Proceedings of the 2017 ACM on Multimedia Conference, pages 1209–1212. ACM, 2017
2017X. Lin, C. Zhao, and W. Pan.试图通过修立众个1bit的二值话模块,并以其组合的方式来迫近全精度模子的权值和激活值的分布。X. Lin, C. Zhao, and W. Pan. Towards accurate binary convo lutional neural network. In Advances in Neural Information Processing Systems, pages 344–352, 2017
2018Y. Zhou, S. M. Moosavi Dezfooli, N.-M. Cheung, and P. Frossard.提出自顺应的量化方法,可以灵敏的以差别的修立来量化模子的差别层。Y. Zhou, S. M. Moosavi Dezfooli, N.-M. Cheung, and P. Frossard. Adaptive quantization for deep neural network. In AAAI, number CONF, 2018.
2018Z. Liu, B. Wu, W. Luo, X. Yang, W. Liu, and K.-T. Cheng.通过resnet中到场全精度的下采样连接,有用晋升了1bit二值收集的精度。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 The European Conference on Computer Vision (ECCV), September 2018

开展剖析

瓶颈

最大瓶颈是大范围数据集上精度的耗损大。和全精度模子比较,8bit及以上的量化模子基本可以做到精度不受耗损。可是,低bit,特别是二值化模子会变成精度大幅下降。以imagenet为例,二值化模子(不包罗ABC-Net那种众模块的二值收集计划构造)的精度叫全精度模子大约要掉10%以上。这许众对精度请求较高的运用中是不可承受的,比如主动驾驶辅帮系统。于是精度的缺失是限制量化/二值化深度模子运用的最大瓶颈。

未来开展偏向

量化神经收集举措压缩神经收集空间,晋升神经收集服从的一种开展趋势和偏向,目前研讨要点渐渐转向于二值化神经收集。办理精度晋升题目后,二值化收集将会有极为宽广的运用场景。另外,到目前为止所有的优化都是软件层面的,假如能为二值化或量化模子的运算量身打制硬件级另外优化,可以更大的晋升运算速率和低沉功耗。

Contributor: Tiange Wang 

相关人物
Itay Hubara
Itay Hubara
Ali Farhadi
Ali Farhadi
Daisuke Miyashita
Daisuke Miyashita
简介
相关人物