Differentiable Soft Quantization: Bridging Full-Precision and Low-Bit Neural Networks
pytorch 实现 https://github.com/ricky40403/DSQ
亮点
使用tanh函数拟合量化函数,解决量化函数不可导的问题,
framework
图中是一个2bit量化的例子,量化函数原本是一个4段的阶梯函数,DSQ使用三段tanh函数来拟合量化函数,并随着训练的进行,DSQ函数和量化函数越来越接近。
公式
是总体的拟合量化函数,其中是clip下界, 是clip上界。
DSQ和量化函数的相似度
用在时量化函数和DSQ函数的差来拟合相似度,记为, 越小,拟合量化函数和量化函数越接近。
导数
训练过程
前向:
反向: