本文提出了一种通过学习来获得合适的量化间隔的方法。
本文的思路很简单,作者将uniform量化视作几个量化level的线性叠加:
左边是量化level,右边是线性叠加系数,它的取值范围为0或1。
于是作者提出类似的结构:
v是一个浮点数,e是线性叠加系数,它的取值范围为-1或1。
其优化目标为:
训练方法是分别固定B和v中的一个进行训练,这也是同时训练的参数过多时常常采用的一种方法。
我觉得这篇文章不太行,因为它使用了浮点数进行量化。如果说后续再量化到int(然后作者并没有这样做),那么会带来误差;如果一直使用浮点数,那么它量化的程度就非常有限。
不过这篇文章将uniform量化视作不同量化level的线性组合的思想还是挺有趣的。