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

  • 原文链接:
  • 摘要
  • 方法
  • 实验效果
  • 讨论

原文链接:

https://arxiv.org/abs/1612.01064

摘要

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

方法

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

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

实验效果

ResNets on CIFAR-10
(笔记)网络压缩量化,训练三值量化TRAINED TERNARY QUANTIZATION_第1张图片
AlexNet on ImageNet,第一层卷积和最后一层FC用的32bit浮点权重,其它用的三值权重。
(笔记)网络压缩量化,训练三值量化TRAINED TERNARY QUANTIZATION_第2张图片
ResNet-18 on ImageNet
(笔记)网络压缩量化,训练三值量化TRAINED TERNARY QUANTIZATION_第3张图片

讨论

稀疏度为0(即二值网络)不好,稀疏度太大也不好,30%~50%最好,如Figure 5。用阈值t比稀疏度r更好,这样各层可以找到自己合适的稀疏度。
(笔记)网络压缩量化,训练三值量化TRAINED TERNARY QUANTIZATION_第4张图片
最后看一下三值的AlexNet的卷积核
(笔记)网络压缩量化,训练三值量化TRAINED TERNARY QUANTIZATION_第5张图片

你可能感兴趣的:(深度学习量化)