LSQ¶
Learned Step Size Quantization ICLR 2019 open-review pdf
- The quantization function
For each layer of weights, LSQ quantize them as:
$$ \hat{w}_q = \lfloor clip(\frac{\hat{w}}{\alpha}, -2^{k-1}, 2^{k-1}-1) \rceil $$
For activations which ActFun is ReLU:
$$ \hat{a}_q = \lfloor clip(\frac{\hat{a}}{\alpha}, 0, 2^{k}-1) \rceil $$
- 训练更新
alpha
优点:
- 映射的方法十分的简单
- 每层共享一个step size
alpha
缺点:
- BN层的运算为浮点运算,如果要进行BN fusion的话,也
alpha的 layer-wise 属性有矛盾;基于此,我们可以对LSQ 进行改进。一种方法是直接在训练时就使用 channel-wise的alpha,另一种方法是,仍然使用 layer-wise 的alpha,但是在BN Fusion后,变为 channel-wise。这种方法理论上均可行,按照论文的实验结构,第二种方法实验基本可行,第一种方法需要额外的实验来验证。
1
2