深度学习模型的压缩和加速是指利用神经网络参数的冗余性和网络结构的冗余性精简模型,在不影响任务完成度的情况下,得到参数量更少、结构更精简的模型。被压缩后的模型计算资源需求和内存需求更小,相比原始模型能够满足更加广泛的应用需求。在深度学习技术日益火爆的背景下,对深度学习模型强烈的应用需求使得人们对内存占用少、计算资源要求低、同时依旧保证相当高的正确率的“小模型”格外关注。利用神经网络的冗余性进行深度学习的模型压缩和加速引起了学术界和工业界的广泛兴趣,各种工作也层出不穷。
本文参考2021发表在软件学报上的《深度学习模型压缩与加速综述》进行了总结和学习。
相关链接:
深度学习模型压缩与加速技术(一):参数剪枝
深度学习模型压缩与加速技术(二):参数量化
深度学习模型压缩与加速技术(三):低秩分解
深度学习模型压缩与加速技术(四):参数共享
深度学习模型压缩与加速技术(五):紧凑网络
深度学习模型压缩与加速技术(六):知识蒸馏
深度学习模型压缩与加速技术(七):混合方式
模型压缩与加速技术 | 描述 |
---|---|
参数剪枝(A) | 设计关于参数重要性的评价准则,基于该准则判断网络参数的重要程度,删除冗余参数 |
参数量化(A) | 将网络参数从 32 位全精度浮点数量化到更低位数 |
低秩分解(A) | 将高维参数向量降维分解为稀疏的低维向量 |
参数共享(A) | 利用结构化矩阵或聚类方法映射网络内部参数 |
紧凑网络(B) | 从卷积核、特殊层和网络结构3个级别设计新型轻量网络 |
知识蒸馏(B) | 将较大的教师模型的信息提炼到较小的学生模型 |
混合方式(A+B) | 前几种方法的结合 |
A:压缩参数 B:压缩结构
参数共享是指利用结构化矩阵或聚类等方法映射网络参数,减少参数数量。
参数共享方法的原理与参数剪枝类似,都是利用参数存在大量冗余的特点,目的都是为了减少参数数量。但与参数剪枝直接裁剪不重要的参数不同,参数共享设计一种映射形式,将全部参数映射到少量数据上,减少对存储空间的需求。由于全连接层参数数量较多,参数存储占据整个网络模型的大部分,所以参数共享对于去除全连接层冗余性能够发挥较好的效果;也由于其操作简便,适合与其他方法组合使用。
但其缺点在于不易泛化,如何应用于去除卷积层的冗余性仍是一个挑战。同时,对于结构化矩阵这一常用映射形式,很难为权值矩阵找到合适的结构化矩阵,并且其理论依据不够充足。
如果一个大小为 m×n 的矩阵能够用少于 m×n 个参数来描述,这个矩阵就是一个结构化矩阵.循环矩阵作为结构化矩阵的一种,是参数共享法常用的一种映射形式。令向量:
r = ( r 0 , r 1 , . . . , r d − 1 ) r = (r_0,r_1,...,r_{d-1}) r=(r0,r1,...,rd−1)
循环矩阵的每一行都是由上一行的各元素依次右移一个位置得到,即:
R = cir ( r ) = [ r 0 r 1 … r d − 2 r d − 1 r d − 1 r 0 … r d − 3 r d − 2 … … … … … r 2 r 3 … r 0 r 1 r 1 r 2 … r d − 1 r 0 ] R=\operatorname{cir}(r)=\left[\begin{array}{ccccc} r_{0} & r_{1} & \ldots & r_{d-2} & r_{d-1} \\ r_{d-1} & r_{0} & \ldots & r_{d-3} & r_{d-2} \\ \ldots & \ldots & \ldots & \ldots & \ldots \\ r_{2} & r_{3} & \ldots & r_{0} & r_{1} \\ r_{1} & r_{2} & \ldots & r_{d-1} & r_{0} \end{array}\right] R=cir(r)=⎣⎢⎢⎢⎢⎡r0rd−1…r2r1r1r0…r3r2……………rd−2rd−3…r0rd−1rd−1rd−2…r1r0⎦⎥⎥⎥⎥⎤
Reagen 等人[120]提出了有损权值编码方案 Bloomier filter,以引入随机误差为代价来节省空间,利用神经网络的容错能力进行再训练。
Havasi 等人[121]提出了放松权重决定论,使用权重上的全变分分布,实现更加有效的编码方案,以提高压缩率。
Jin 等人[122]提出了 Weight Sampling Network (WSNet),沿着空间维度和通道维度进行加权采样。
Kossaifi 等人[123]提出了 Tensorized-network(T-net),使用单个高阶张量来参数化地表示整个网络。
主要参考:高晗,田育龙,许封元,仲盛.深度学习模型压缩与加速综述[J].软件学报,2021,32(01):68-92.DOI:10.13328/j.cnki.jos.006096.
[110] Cheng Y, Yu FX, Feris RS, et al. An exploration of parameter redundancy in deep networks with circulant projections. In: Proc. of the IEEE Int’l Conf. on Computer Vision. 2015. 28572865.
[111] Wang Y, Xu C, Xu C, et al. Beyond filters: Compact feature map for portable deep model. In: Proc. of the 34th Int’l Conf. on Machine Learning, Vol.70. JMLR.org, 2017. 37033711.
[112] Sindhwani V, Sainath T, Kumar S. Structured transforms for small-footprint deep learning. In: Advances in Neural Information Processing Systems. 2015. 30883096.
[113] Zhao L, Liao S, Wang Y, et al. Theoretical properties for neural networks with weight matrices of low displacement rank. In: Proc. of the 34th Int’l Conf. on Machine Learning, Vol.70. JMLR.org, 2017. 40824090.
[114] Le Q, Sarlós T, Smola A. Fastfood-approximating kernel expansions in loglinear time. In: Proc. of the Int’l Conf. on Machine Learning. 2013. 85.
[115] Yang Z, Moczulski M, Denil M, et al. Deep fried convnets. In: Proc. of the IEEE Int’l Conf. on Computer Vision. 2015. 14761483.
[116] Chen W, Wilson J, Tyree S, et al. Compressing neural networks with the hashing trick. In: Proc. of the Int’l Conf. on Machine Learning. 2015. 22852294.
[117] Chen W, Wilson J, Tyree S, et al. Compressing convolutional neural networks in the frequency domain. In: Proc. of the 22nd ACM SIGKDD Int’l Conf. on Knowledge Discovery and Data Mining. 2016. 14751484.
[118] Wu J, Wang Y, Wu Z, et al. Deep $ k $-means: Re-training and parameter sharing with harder cluster assignments for compressing deep convolutions. arXiv Preprint arXiv: 1806.09228, 2018.
[119] Son S, Nah S, Mu Lee K. Clustering convolutional kernels to compress deep neural networks. In: Proc. of the European Conf. on Computer Vision (ECCV). 2018. 216232.
[120] Reagen B, Gupta U, Adolf R, et al. Weightless: Lossy weight encoding for deep neural network compression. arXiv Preprint arXiv: 1711.04686, 2017.
[121] Havasi M, Peharz R, Hernández-Lobato JM. Minimal random code learning: Getting bits back from compressed model parameters. arXiv Preprint arXiv: 1810.00440, 2018.
[122] Jin X, Yang Y, Xu N, et al. Wsnet: Compact and efficient networks through weight sampling. arXiv Preprint arXiv: 1711.10067, \2017.
[123] Kossaifi J, Bulat A, Tzimiropoulos G, et al. T-net: Parametrizing fully convolutional nets with a single high-order tensor. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2019. 78227831.