"SYQ: Learning Symmetric Quantization For Efficient Deep Neural Networks"这篇文章提出了基于梯度的对称量化(SYQ: Learning Symmetric Quantization)方法,可以设计高效率的二值化或三值化深度网络(1-bit或2-bit权重量化),并在pixel-wise、row-wise或者layer-wise定义不同粒度的缩放因子(scaling factor)用来估计网络参数。每一层的激活输出则采用线性量化表示为2-8bits定点数值。

量化是一种行之有效的模型压缩方法。如上图所示,权重与激活量化可有效降低网络计算的复杂度(MAC操作数)、并减少硬件实现(以FPGA实现为例)的资源消耗,包括DSP计算资源与存储开销等。尤其是在W1A2量化时,点积运算简化为比特操作,计算开销基本可忽略。否则若涉及乘法操作,计算资源开销基本上与乘法器尺寸的二次方成比例。
权重量化操作将网络层的权重(通常为FP32类型)映射到一个有限精度(1-2bits、int8等)取值的离散数值集合(code-book)上。文章采用二值化或三值化方法用来量化网络权重,并采用STE法直接近似求导:

权重量化之后,通过寻找一个合适的缩放因子(scaling factor),能够进一步降低量化带来的精度损失。通过最小化损失函数可以寻求最优缩放因子:

本文介绍了一种基于梯度的对称量化方法SYQ,用于高效量化深度神经网络。SYQ适用于二值化和三值化权重,通过像素级、行级或层级的缩放因子来估计网络参数,减少量化导致的精度损失。通过学习对称分布的量化器和优化缩放因子,SYQ能够在保持模型性能的同时降低计算复杂度和硬件资源需求。实验结果显示,使用SYQ的Resnet50在ImageNet上的Top-1精度损失为4.8%。此外,文章还讨论了SYQ在硬件实现上的优势和FPGA资源消耗。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



