Trained Ternary Quantization

本文是在TWQ(Ternary Weight Quantization)的基础上做出的改进,其流程可以简单概括为:
在这里插入图片描述
首先将全精度权重正则化到[-1,1]之间,然后根据一个每层相同的阈值t来进行量化(这里使用统一的t是为了缩小搜索空间,用每个通道不同的t应该能得到更好的表现,但感觉会增加过多的计算消耗)为-1,0和1,最后分别乘以Wn和Wp作为结果计算loss,再通过梯度下降更新Wn、Wp和原始梯度(这里使用了STE)。

Wp和Wn的更新方法是,将所有量化为它们的参数的梯度加和作为它们的梯度的变化:
在这里插入图片描述
而原始全精度参数由于再最后乘了Wn或Wp,所以要在反向传播时乘以它们:
在这里插入图片描述
这里的Δl的定义并不清楚,应该是和TWQ的一样:
在这里插入图片描述
TWQ的Δ的优化值是靠减小量化参数和全精度参数的L2距离优化的,但作者没说这一过程是自动的还是靠人工调整。作者在这里提出了两种求得Δl的方法:
用t乘以所有层权重的最大值;简单粗暴地使用一个常量。很明显前者更灵活,作者于是选取了前者。

最终在ImageNet比TWQ高了三个点,算是比较大的提升。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值