Quantization Networks

本文的创新点是,提出了了一种新的计算量化网络梯度的方法。

在对网络进行量化处理时,一个很常见的问题是,量化函数几乎不可导,因此很难通过反向传播来更新参数。为了解决这个问题,人们提出了种种近似方法。但这些近似方法终究和量化函数有所区别,因此就会导致梯度的不匹配问题。

于是本文提出了一种新的量化函数:
在这里插入图片描述
(这里A是一个单位阶跃函数,β是所有输入值的放缩尺度,x是要被量化的权重或激活值,bi和si是阶跃函数的偏置和放缩值,o为si之和的一半,si为相邻两个量化值的差,n为量化值个数减一。这个函数相当于对x进行多次阶跃函数量化并求和,作为最终量化值)

以及如下的仿函数:
在这里插入图片描述
T会随着训练逐渐增长。

然后作者将二者结合,得到
在这里插入图片描述
这里加入式5的意义如下图所示:
Quantization Networks_第1张图片
作者在推断时要用的是上图的e,但为了能计算梯度进而进行训练,作者在训练时先使用它的soft版本。随着训练的进行,T逐渐增大,量化函数也变得越来越硬,直到最终训练结束时变为上图的e。

其反向传播公式为:
Quantization Networks_第2张图片

你可能感兴趣的:(Quantization Networks)