摘要
文章针对深度神经网络参数存在大量冗余性问题,从压缩与加速深度神经网络两种不同任务出发,对深度神经网络的低秩分解(low-rank decomposition)和参数剪枝(parameter pruning)通用性方法展开深入研究,特别对于卷积神经网络的压缩与加速。具体研究内容和创新点包括:
(1)提出了一种基于闭式低秩分解和知识迁移的全局卷积神经网络压缩方法。传统方法分开考虑卷积层加速和全连接层压缩,无法统一联合处理不同类型层任务,且利用逐层方式进行内局部压缩,无法显性对齐最终网络分类准确率。针对此问题,本文提出一种全局的卷积神经网络压缩框架,统一加速与压缩卷积神经网络。该框架首先利用一种带有闭合解的低秩分解技术分别加速卷积计算和减少内存开销。为了有效提高压缩后模型的准确率及克服网络训练中的梯度消失问题,本文提出新的知识迁移方法,用于对齐压缩后网络与原始网络之间的隐层输出及最终网络输出结果。
(2)提出了一种基于全局动态剪枝的卷积神经网络加速方法。虽然低秩分解后产生若干个小矩阵,能够较大压缩网络模型,但也增加了模型计算时对数据的频繁获取操作次数。另外,该类方法无法减少输出特征图数量,导致模型计算通信带宽显著增加。结构化剪枝能够有效克服此类问题,但现有的结构化剪枝方法依赖于层与层之间固定的方式裁剪,缺乏自适应性、低效和低准确率等缺点。针对此问题,本论文提出了一种全局动态更新的滤波剪枝框架,用于快速离线剪枝滤波并动态恢复误删滤波,提高剪枝后网络的分类准确率。首先在每个滤波后引入了全局掩码用于判断滤波的显著性,并构造全局动态目标函数。然后利用贪心交替式更新策略解决非凸优化问题,主要包括设计基于泰勒展开的全局掩码用于临时贪心裁剪显著值较小滤波以及随机梯度下降更新滤波。
(3)提出了一种基于生成对抗学习的最优结构网络剪枝方法。针对全局动态剪枝方法缺乏松弛性和强标签依赖问题,本论文提出了一种无需标签端对端训练的异构剪枝方法。该方法对每个模型结构引入了软掩码(soft maak),并对其加入稀疏限制,使其表征每个结构的冗余性。为了更好学习模型参数和掩码,本论文构建了新的结构化剪枝目标函数,利用无类别标签生成对抗学习和快速的迭代阈值收缩算法(FISTA)解决该优化问题,从而稳定移除冗余结构。
研究内容
基于闭式低秩分解和知识迁移的全局卷积神经网络压缩方法。传统方法分开考虑卷积层加速和全连接层压缩,无法统一联合处理不同类型层任务,且利用逐层方法进行层内局部压缩,无法统一联合处理不同类型层任务,且利用逐层方式进行层内局部压缩,无法显性对齐最终网络分类准确率。针对此问题,本文提出一种全局的卷积神经网络压缩框架,统一加速与压缩卷积神经网络。该框架首先利用一种带有闭合解的低秩分解技术,分别加速卷积计算和减少内存开销。为了有效提高压缩后模型的准确率及克服网络训练中的梯度消失问题,提出了新的知识迁移方法1,用于对齐压缩网络与原始网络之间的隐层的输出及最终网络输出结果。
基于全局动态剪枝的卷积神经网络加速方法。虽然低秩分解后产生若干个小矩阵,能够较大压缩网络模型,但也增加了模型计算时对数据的频繁获取操作次数。另外,该类方法无法减少输出特征图数量,导致模型计算通信带宽显著增加。结构化剪枝能够有效移除冗余滤波,同时也能移除相应的输出特征图,有效减少模型计算带宽增加。但现有的结构化剪枝方法裁剪卷积神经网络依赖于层与层且固定的方式裁剪,缺乏自适应性、低效和低准确率等缺点。本论文提出了一种全局的、动态更新的滤波裁剪技术,用于快速离线剪枝滤波并动态恢复误删滤波,提高剪枝后网络的分类准确率。
基于闭式低秩分解和知识迁移的全局卷积神经网络压缩方法
引言
在卷积神经网络中,最耗时部分来源于卷积层,而大量的模型存储开销来自于全连接层。由于内在结构的不同,卷积层的加速与全连接层的内存缩减被看成两种不同的任务。一方面,为了加速卷积层的计算,移除计算冗余性作为一种广泛使用的解决方案。例如,结构化剪枝、张量分解和二值化网络等。另一方面,为了压缩全连接层的参数,大量方法通过减少参数冗余性来减少模型内存开销。例如,向量量化、hash、循环映射、矩阵分解、参数剪枝等。
目前的压缩框架还缺乏一种统一的框架能同时压缩卷积层和全连接层,特别是低秩分解技术。一方面,在计算过程中,压缩方法经常会引起不规则内存获取,从而影响网络计算效率,所以压缩参数无法保证一定加速网络计算。另一方面,相关文献借助快速傅里叶变换或离散余弦变换加速卷积计算,但无法起到参数压缩的效果。
此外,现有的神经网络压缩与加速方法仍然采用逐层方式压缩,只考虑层内局部压缩,无法显式对齐网络的最终分类准确率。由于卷积网络中存在大量的非线性激活变换函数,局部层内的压缩,经过非线性变换后,使得原始小的重建误差经过传播并逐层扩大,导致巨大的累积误差,严重影响最终的分类结果。
为了处理以上问题,本章提出了一种全局且显性的卷积神经网络统一压缩框架,旨在联合压缩卷积层和全连接层,从而同时加速模型前向预测以及减少模型内存存储。从原则上来看,我们的框架首先设计了一种具有严格闭式保证的层内压缩方法,然后通过重训练对齐原始模型和压缩后模型的输出响应。具体而言,我们首先提出一种基于闭式低秩分解(LRD)的新型压缩方法,用于同时加速卷积层计算和压缩全连接层的内存存储。不同于Jaberberg等人提出的依赖于数据的搞复杂迭代式优化,我们的方法利用无需任何迭代的快速闭式低秩分解技术,使得压缩后的卷积模型拥有很强的泛化性。另外,为了减少闭式低秩分解权值导致的精度损失,我们进一步提出了新型有效的知识迁移(KT)方法,用于显式对齐教师网络(也称为原始网络)和学生网络(也称为压缩后的网络)的隐层响应和最终输出。新提出的知识迁移框架能够处理层内层外非线性变换,同时以统一的方式最小化局部和全局的重建误差,使其更容易收敛和实现。事实上,我们的知识迁移方法在知识蒸馏的方法上进一步扩展,通过使用来自教师网络隐含层的局部知识知道学生网络的训练,使得知识迁移能够学习更深且窄的学生网络,避免了知识蒸馏方法出现的梯度消失问题。 另外,受梯形网络(ladder network)和 FitNets[106]启发,本章中我们将更为简单 的基于教师网络与学生网络隐层激活的欧式距离作为局部损失函数,无需使用任何 回归器(regressor)能够获得来自教师网络的局部知识。为此,当训练更深的学生网络时,知识迁移使用了此类局部知识能够有效的利用端对端训练提高学生网络的判别性,同时克服训练过程中有可能出现的梯度消失问题。正如图3.1所示,通过有效组合闭式的低秩分解方法和知识迁移策略,构建新的全局卷积神经网络压缩框
![](https://i-blog.csdnimg.cn/blog_migrate/d812e4a2404154f9a1a47acf28565070.png)
全局低秩分解与知识迁移
预备知识
全局的闭式低秩分解
![](https://i-blog.csdnimg.cn/blog_migrate/710587e882cd63ec353ad3c766e82c57.png)
![](https://i-blog.csdnimg.cn/blog_migrate/32d9b9b0f64157f2a3b434ada28ff327.png)
![](https://i-blog.csdnimg.cn/blog_migrate/385359809a82a007580514e38cf6637f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/70f22359ea7336ccf6429fb304641788.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b47b79fd721f859f3bdccc0c5b96bce4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5b65d5a28d71c4e22f6ae9cf732c2ec3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6be4d7f89e6e1efeea926d66c962df70.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e9fb08ec4fc963ecb1ff77f44860e55b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6fd6d4a1d4c7b0f85d5ba95456bddb00.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3e0bc1cfeeb61c25b74bed5d316fdf3c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/37e150ca3fa12d7cd9f2879de67d3f5d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/22af3733f877473bc7d6cbed7cfa460c.png)