深度学习模型压缩与加速技术(四):参数共享

深度学习模型的压缩和加速是指利用神经网络参数的冗余性和网络结构的冗余性精简模型,在不影响任务完成度的情况下,得到参数量更少、结构更精简的模型。被压缩后的模型计算资源需求和内存需求更小,相比原始模型能够满足更加广泛的应用需求。在深度学习技术日益火爆的背景下,对深度学习模型强烈的应用需求使得人们对内存占用少、计算资源要求低、同时依旧保证相当高的正确率的“小模型”格外关注。利用神经网络的冗余性进行深度学习的模型压缩和加速引起了学术界和工业界的广泛兴趣,各种工作也层出不穷。

本文参考2021发表在软件学报上的《深度学习模型压缩与加速综述》进行了总结和学习。

相关链接:

深度学习模型压缩与加速技术(一):参数剪枝

深度学习模型压缩与加速技术(二):参数量化

深度学习模型压缩与加速技术(三):低秩分解

深度学习模型压缩与加速技术(四):参数共享

深度学习模型压缩与加速技术(五):紧凑网络

深度学习模型压缩与加速技术(六):知识蒸馏

深度学习模型压缩与加速技术(七):混合方式

总结

模型压缩与加速技术描述
参数剪枝(A)设计关于参数重要性的评价准则,基于该准则判断网络参数的重要程度,删除冗余参数
参数量化(A)将网络参数从 32 位全精度浮点数量化到更低位数
低秩分解(A)将高维参数向量降维分解为稀疏的低维向量
参数共享(A)利用结构化矩阵或聚类方法映射网络内部参数
紧凑网络(B)从卷积核、特殊层和网络结构3个级别设计新型轻量网络
知识蒸馏(B)将较大的教师模型的信息提炼到较小的学生模型
混合方式(A+B)前几种方法的结合

A:压缩参数 B:压缩结构

参数共享

定义

参数共享是指利用结构化矩阵或聚类等方法映射网络参数,减少参数数量。

特点

参数共享方法的原理与参数剪枝类似,都是利用参数存在大量冗余的特点,目的都是为了减少参数数量。但与参数剪枝直接裁剪不重要的参数不同,参数共享设计一种映射形式,将全部参数映射到少量数据上,减少对存储空间的需求。由于全连接层参数数量较多,参数存储占据整个网络模型的大部分,所以参数共享对于去除全连接层冗余性能够发挥较好的效果;也由于其操作简便,适合与其他方法组合使用。

但其缺点在于不易泛化,如何应用于去除卷积层的冗余性仍是一个挑战。同时,对于结构化矩阵这一常用映射形式,很难为权值矩阵找到合适的结构化矩阵,并且其理论依据不够充足。

1.循环矩阵

如果一个大小为 m×n 的矩阵能够用少于 m×n 个参数来描述,这个矩阵就是一个结构化矩阵.循环矩阵作为结构化矩阵的一种,是参数共享法常用的一种映射形式。令向量:
r = ( r 0 , r 1 , . . . , r d − 1 ) r = (r_0,r_1,...,r_{d-1}) r=(r0,r1,...,rd1)
循环矩阵的每一行都是由上一行的各元素依次右移一个位置得到,即:
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)=r0rd1r2r1r1r0r3r2rd2rd3r0rd1rd1rd2r1r0

  • Cheng 等人[110]提出用循环投影代替传统的线性投影。对于具有 d 个输入节点和 d 个输出节点的神经网络层,将时间复杂度从 O ( d 2 ) O(d^2) O(d2)降低到 O ( d × l o g d O(d×logd O(d×logd),空间复杂度从降低 O ( d 2 ) O(d^2) O(d2) O ( d ) O(d) O(d)
  • Wang 等人[111]利用循环矩阵来构造特征图,对 filter 进行重新配置,建立从原始输入到新的压缩特征图的映射关系。
  • Sindhwani 等人[112]提出一个统一的框架来学习以低位移秩(LDR)为特征的结构参数矩阵。
  • Zhao 等人[113]证明:具有 LDR 权值矩阵的神经网络,在保持较高精度的同时,可以显著降低空间和计算复杂度。
  • Le 等人[114]提出 Fastfood 变换,通过一系列简单矩阵的乘法来代替稠密矩阵与向量的乘积,这些简单矩阵通过规则一次生成,后面无需调整。
  • Yang 等人[115]在文献[114]的基础上提出自适应 Fastfood 变换对全连接层的矩阵-向量乘法进行重新参数化,替换成 Fastfood 层。
2.聚类共享
  • Chen 等人[116,117]使用哈希函数将网络参数随机分组到哈希桶中,同一个桶的参数共享一个通过标准反向传播学习到的值。
  • Wu 等人[118]提出对权值进行 k-means 聚类,并引入一种新的频谱松弛的 k-means 正则化方法。
  • Son 等人[119]将 k-means 聚类应用于 3×3 卷积核,一个 filter 用放缩因子×聚类中心来表示。
3.其他方法
  • 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. 28572865.

[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. 37033711.

[112] Sindhwani V, Sainath T, Kumar S. Structured transforms for small-footprint deep learning. In: Advances in Neural Information Processing Systems. 2015. 30883096.

[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. 40824090.

[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. 14761483.

[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. 22852294.

[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. 14751484.

[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. 216232.

[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. 78227831.

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小风_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值