(笔记)网络压缩量化,训练三值量化TRAINED TERNARY QUANTIZATION

原文链接:

https://arxiv.org/abs/1612.01064

摘要

提供一个三值网络的训练方法。对AlexNet在ImageNet的表现,相比32全精度的提升0.3%。

方法

对于每一层网络,三个值是32bit浮点的{Wln,0,Wlp}WlnWlp是可训练的参数。另外32bit浮点的模型也是训练的对象,但是阈值Δl是不可训练的。
由公式(6)从32bit浮点的到量化的三值:
这里写图片描述
由(7)算出WlnWlp的梯度
这里写图片描述
其中
这里写图片描述
由(8)算出32bit浮点模型的梯度
这里写图片描述
由(9)给出阈值,这种方法在CIFAR-10的实验中使用阈值t=0.05。而在ImageNet的实验中,并不是由通过钦定阈值的方式进行量化的划分,而是钦定0值的比率r,即稀疏度。
这里写图片描述

整个流程如Figure 1所示
这里写图片描述

实验效果

ResNets on CIFAR-10
这里写图片描述
AlexNet on ImageNet,第一层卷积和最后一层FC用的32bit浮点权重,其它用的三值权重。
这里写图片描述
ResNet-18 on ImageNet
这里写图片描述

讨论

稀疏度为0(即二值网络)不好,稀疏度太大也不好,30%~50%最好,如Figure 5。用阈值t比稀疏度r更好,这样各层可以找到自己合适的稀疏度。
这里写图片描述
最后看一下三值的AlexNet的卷积核
这里写图片描述

发布了5 篇原创文章 · 获赞 3 · 访问量 8536
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览