"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法直接近似求导: