本文主要提出了几种量化方式,其中前向传播的量化方式为:
就是在负轴为0,正轴为一个固定长度的阶梯状的量化函数。
本文提出了三种后向传播的梯度近似方法:
vanillaReLU:
但随着x的增大,这种近似的误差也在增大,于是算法的不稳定性就在增加,于是作者提出了第二种近似方法:
clipped ReLU:
它的问题是,当x>qm时,梯度就为0了,所以会损失一些信息,所以虽然它的效果很好,但作者还是提出了另一种近似方法。
log-tailed ReLU:
它是把clipped ReLU后面的平直部分变成了log函数的形状。
一个要注意的点是,vanilla ReLU是直接对梯度的近似,而clipped ReLU则给出了原函数形式,其梯度才是对梯度函数的近似,这一点会有一点迷惑。
虽然作者将log-tailed视为clipped的改进,但后续的研究中,好像还是使用clipped甚至vanilla的多,大概是因为log函数带来的计算消耗要超过它带来的性能提升。
另外,这篇文章对量化的介绍还是挺不错的,可以作为入门的文章去读一下。