深度学习模型的压缩和加速是指利用神经网络参数的冗余性和网络结构的冗余性精简模型,在不影响任务完成度的情况下,得到参数量更少、结构更精简的模型。被压缩后的模型计算资源需求和内存需求更小,相比原始模型能够满足更加广泛的应用需求。在深度学习技术日益火爆的背景下,对深度学习模型强烈的应用需求使得人们对内存占用少、计算资源要求低、同时依旧保证相当高的正确率的“小模型”格外关注。利用神经网络的冗余性进行深度学习的模型压缩和加速引起了学术界和工业界的广泛兴趣,各种工作也层出不穷。
本文参考2021发表在软件学报上的《深度学习模型压缩与加速综述》进行了总结和学习。
相关链接:
深度学习模型压缩与加速技术(一):参数剪枝
深度学习模型压缩与加速技术(二):参数量化
深度学习模型压缩与加速技术(三):低秩分解
深度学习模型压缩与加速技术(四):参数共享
深度学习模型压缩与加速技术(五):紧凑网络
深度学习模型压缩与加速技术(六):知识蒸馏
深度学习模型压缩与加速技术(七):混合方式
模型压缩与加速技术 | 描述 |
---|---|
参数剪枝(A) | 设计关于参数重要性的评价准则,基于该准则判断网络参数的重要程度,删除冗余参数 |
参数量化(A) | 将网络参数从 32 位全精度浮点数量化到更低位数 |
低秩分解(A) | 将高维参数向量降维分解为稀疏的低维向量 |
参数共享(A) | 利用结构化矩阵或聚类方法映射网络内部参数 |
紧凑网络(B) | 从卷积核、特殊层和网络结构3个级别设计新型轻量网络 |
知识蒸馏(B) | 将较大的教师模型的信息提炼到较小的学生模型 |
混合方式(A+B) | 前几种方法的结合 |
A:压缩参数 B:压缩结构
低秩分解是指通过合并维数和施加低秩约束的方式稀疏化卷积核矩阵,由于权值向量大多分布在低秩子空间,所以可以用少数的基向量来重构卷积核矩阵,达到缩小存储空间的目的。
低秩分解在大卷积核和中小型网络中都有不错的压缩效果,但是由于过去研究较为成熟,同时1×1卷积的流行,这种小卷积核不利于低秩分解方法的使用,因此不利于模型压缩与加速。
主要参考:高晗,田育龙,许封元,仲盛.深度学习模型压缩与加速综述[J].软件学报,2021,32(01):68-92.DOI:10.13328/j.cnki.jos.006096.
[96] Jaderberg M, Vedaldi A, Zisserman A. Speeding up convolutional neural networks with low rank expansions. arXiv Preprint arXiv: 1405.3866, 2014.
[97] Liu B, Wang M, Foroosh H, et al. Sparse convolutional neural networks. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2015. 806814.
[98] Tai C, Xiao T, Zhang Y, et al. Convolutional neural networks with low-rank regularization. arXiv Preprint arXiv: 1511.06067, \2015.
[99] Masana M, van de Weijer J, Herranz L, et al. Domain-adaptive deep network compression. In: Proc. of the IEEE Int’l Conf. on Computer Vision. 2017. 42894297.
[100] Wen W, Xu C, Wu C, et al. Coordinating filters for faster deep neural networks. In: Proc. of the IEEE Int’l Conf. on Computer Vision. 2017. 658666.
[101] Wang P, Cheng J. Fixed-Point factorized networks. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2017.40124020.
[102] Peng B, Tan W, Li Z, et al. Extreme network compression via filter group approximation. In: Proc. of the European Conf. on Computer Vision (ECCV). 2018. 300316.
[103] Qiu Q, Cheng X, Calderbank R, et al. DCFnet: Deep neural network with decomposed convolutional filters. arXiv Preprint arXiv: 1802.04145, 2018.
[104] Novikov A, Podoprikhin D, Osokin A, et al. Tensorizing neural networks. In: Advances in Neural Information Processing Systems. \2015. 442450.
[105] Garipov T, Podoprikhin D, Novikov A, et al. Ultimate tensorization: compressing convolutional and fc layers alike. arXiv Preprint arXiv: 1611.03214, 2016.
[106] Wang W, Sun Y, Eriksson B, et al. Wide compression: Tensor ring nets. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2018. 93299338.
[107] Kim YD, Park E, Yoo S, et al. Compression of deep convolutional neural networks for fast and low power mobile applications. arXiv Preprint arXiv: 1511.06530, 2015.
[108] Wang P, Cheng J. Accelerating convolutional neural networks for mobile applications. In: Proc. of the 24th ACM Int’l Conf. on Multimedia. 2016. 541545.
[109] Lebedev V, Ganin Y, Rakhuba M, et al. Speeding-up convolutional neural networks using fine-tuned cp-decomposition. arXiv Preprint arXiv: 1412.6553, 2014.