模型压缩原因
论文Predicting parameters in deep learning提出,其实在很多深度的神经网络中存在着显著的冗余。仅仅使用很少一部分(5%)权值就足以预测剩余的权值。该论文还提出这些剩下的权值甚至可以直接不用被学习。也就是说,仅仅训练一小部分原来的权值参数就有可能达到和原来网络相近甚至超过原来网络的性能(可以看作一种正则化)。
Krizhevsky在2014年的文章中,提出了两点观察结论:卷积层占据了大约90-95%的计算时间和参数规模,有较大的值;全连接层占据了大约5-10%的计算时间,95%的参数规模,并且值较小。
50个卷积层的ResNet-50需要超过95MB的存储器以及38亿次浮点运算(电脑的执行效能)。在丢弃了一些冗余的权重后,网络仍照常工作,但节省了超过75%的参数和50%的计算时间。
模型压缩分类
压缩已有的网络:
低秩近似
网络剪枝
网络量化
构建新的小网络:
知识蒸馏
在训练的初始阶段:
设计紧凑的网络结构