剪枝、量化、蒸馏

1 剪枝

剪枝是一项古老的技术,从上个世纪传承至今,在学术界和工业界相关的研究工作都是很活跃的。剪枝根据不同的粒度有很多种,小到一个卷积参数,大到一个网络层。

剪枝到底对性能会有什么影响呢?在稀疏性分别为0%,50%,75%,87.5%时,模型中非零参数分别是原始模型的1,0.5,0.25,0.128倍(也就是模型的参数少了,是原来的12.8%,剪枝了不少,压缩了),即实现了1,2,4,8倍的压缩。希望是减少了参数,同时效果下降不多,top1  acc,top5 acc等。 有Inception V3模型的实验,在稀疏性为50%,性能几乎不变。稀疏性为87.5%时,指标下降为2%。

剪枝、量化、蒸馏_第1张图片

2 量化

量化是深度学习模型在各大硬件平台落地的重要基础技术,从全精度到8bit及以下的相关研究和实践都非常多。早期的研究关注在训练后模型的权重量化,而现在更多的研究已经集中在训练过程中同时完成量化,并且并不仅仅限制在模型的权重,而是从权重到激活,甚至是误差和梯度,并且开始关注混合精度量化,下面是一个典型的研究。

算法的主要实现思路是发现对网络贡献较小的参数并精简,然后重新训练精简后的稀疏网络以达到减少非0网络参数的个数并保留或提高网络精度的目的,此类方法属于改变网络密度类方法。

 

3 蒸馏学习

人类学习都需要一个经验更加丰富的老师引导,这一思想也可以更自然地迁移到深度学习模型的训练上,即知识蒸馏(Knowledge Distilling)技术,

知识蒸馏(Knowledge Distilling)是一项重要的模型压缩技术,它将Teacher模型的知识迁移到了Student模型上,有着很广泛的应用。知识蒸馏法包含了一个大模型,也被称为teacher模型,一个小模型,也被称为student模型,teacher模型和student模型的训练是同时进行的。

Hinton大神在15年做的一个黑科技技术,Hinton在一些报告中称之为Dark Knowledge,技术上一般叫做知识蒸馏(Knowledge Distillation)。核心思想是通过迁移知识,从而通过训练好的大模型得到更加适合推理的小模型。这个概念最早在06年的Paper: Model Compression中, Caruana提出一种将大模型学习到的函数压缩进更小更快的模型,而获得可以匹敌大模型结果的方法。
 

你可能感兴趣的:(computer,vision)