Back to Mvision

训练三值量化 TTQ 训练浮点数量化

CNN/Deep_Compression/quantization/TTQ/readme.md

latest2.8 KB
Original Source

训练三值量化 TTQ 训练浮点数量化

Trained Ternary Quantization TTQ

代码

Experimental Results:

Error Rate of Finetuned TTQ ResNet models on CIFAR-10:

NetworkFull PrecisionTTQ
ResNet-208.238.87
ResNet-327.677.63
ResNet-447.187.02
ResNet-566.806.44

Error Rate of TTQ AlexNet model on ImageNet from scratch:

NetworkFull PrecisionTTQ
Top1-error42.842.5
Top5-error19.720.3

博客参考

提供一个三值网络的训练方法。
对AlexNet在ImageNet的表现,相比32全精度的提升0.3%。
与TWN类似,
只用参数三值化(训练得到的浮点数),
但是正负缩放因子不同,
且可训练,由此提高了准确率。
ImageNet-18模型仅有3%的准确率下降。

对于每一层网络,三个值是32bit浮点的{−Wnl,0,Wpl},
Wnl、Wpl是可训练的参数。
另外32bit浮点的模型也是训练的对象,但是阈值Δl是不可训练的。 
由公式(6)从32bit浮点的到量化的三值: 

由(7)算出Wnl、Wpl的梯度:

其中:

由(8)算出32bit浮点模型的梯度

由(9)给出阈值,这种方法在CIFAR-10的实验中使用阈值t=0.05。
而在ImageNet的实验中,并不是由通过钦定阈值的方式进行量化的划分,
而是钦定0值的比率r,即稀疏度。 

整个流程: