(笔记)细颗粒度的三值网络Ternary Neural Networks with Fine-Grained Quantization
原文链接
https://arxiv.org/abs/1705.01462
摘要
提出一种三值化方法,**函数是8/4bit的,不需要训练,对N个权重量化到三值 ,N=2,4,8,16等等。当N=4时,ResNet-101和ResNet-50的Top1准确率分别下降3.7%和4.2%。
方法
目的:不训练地,把32bit浮点权重量化为。
基于阈值(),,定义误差函数。那么目标函数如下式:
3.1分析怎么分组最好。
3.2说3.1的分组太复杂了,不利于软硬件实现,所以还是相邻的分到一组。最终用的是沿输入通道进行分组。
举个例子,3*3的卷积,N=4,每4个3*3得到一个3*3的三值量化,就是每4个数共享一个三值量化。如下图。
实验效果
N=4,**函数分别是4bit和8bit,和其它量化方法的比较。包括ResNet-101,ResNet-50和AlexNet。
N取各种值的对比(a)。以及N=64时,训练带来的提升(b)。