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%。
2 量化
量化是深度学习模型在各大硬件平台落地的重要基础技术,从全精度到8bit及以下的相关研究和实践都非常多。早期的研究关注在训练后模型的权重量化,而现在更多的研究已经集中在训练过程中同时完成量化,并且并不仅仅限制在模型的权重,而是从权重到激活,甚至是误差和梯度,并且开始关注混合精度量化,下面是一个典型的研究。
算法的主要实现思路是发现对网络贡献较小的参数并精简,然后重新训练精简后的稀疏网络以达到减少非0网络参数的个数并保留或提高网络精度的目的,此类方法属于改变网络密度类方法。