论文部分内容阅读
近年来,深度神经网络(deep neural networks,DNNs)迅猛发展,己席卷人工智能各个领域,包括图像理解、语音识别、自然语言处理等,己然成为人工智能研究热点。此外,深度神经网络显著提高各领域多种任务上的性能,也使得它在视频监控、游戏博弈、医疗辅助、自动驾驶等行业中得到广泛应用。然而,随着深度神经网络巨大的性能提升,网络变深加宽,大大增加了模型的参数以及计算复杂度。另一方面,随着移动嵌入式设备的广泛使用(如手机、无人机、机器人等),深度神经网络模型若能应用到这些移动嵌入式设备端,将更大程度提升该设备的功能。不管在军事上的敌情勘探、抢险救灾,还是在民事上的移动智能识别、便民出行都将起到巨大的促进作用。然而,资源受限的移动设备无法直接存储和实时运行复杂的深度网络模型。为此,压缩和加速如此复杂的深度网络模型,减少模型参数的冗余性,提高模型运行效率,将成为一种有效的解决方案,具有重大的理论意义和应用价值。本文针对深度神经网络参数存在大量冗余性问题,从压缩与加速深度神经网络两种不同任务出发,对深度神经网络的低秩分解(low-rank decomposition)和参数剪枝(parameter pruning)通用性方法展开深入研究,特别对于卷积神经网络(convolutional neural networks,CNNs)的压缩与加速。具体研究内容和创新点包括:(1)提出了一种基于闭式低秩分解和知识迁移的全局卷积神经网络压缩方法。传统方法分开考虑卷积层加速和全连接层压缩,无法统一联合处理不同类型层任务,且利用逐层方式进行层内局部压缩,无法显性对齐最终网络分类准确率。针对此问题,本文提出一种全局的卷积神经网络压缩框架,统一加速与压缩卷积神经网络。该框架首先利用一种带有闭合解的低秩分解技术分别加速卷积计算和减少内存开销。为了有效提高压缩后模型的准确率及克服网络训练中的梯度消失问题,本文提出了新的知识迁移方法,用于对齐压缩后网络与原始网络之间的隐层输出及最终网络输出结果。在多个公开的图像分类评测集和评测模型上,该方法在精度和压缩比或加速比之间都达到最佳平衡。例如,相比于原始的VGG-16,该方法能够压缩此模型41.92倍,同时获得2.33倍GPU加速比,top-1分类错误率只增加了 0.18%。(2)提出了一种基于全局动态剪枝的卷积神经网络加速方法。虽然低秩分解后产生若干个小矩阵,能够较大压缩网络模型,但也增加了模型计算时对数据的频繁获取操作次数。另外,该类方法无法减少输出特征图数量,导致模型计算通信带宽显著增加。结构化剪枝能够有效克服此类问题,但现有的结构化剪枝方法依赖于层与层且固定的方式裁剪,缺乏自适应性、低效和低准确率等缺点。针对此问题,本论文提出了一种全局动态更新的滤波剪枝框架,用于快速离线剪枝滤波并动态恢复误删滤波,提高剪枝后网络的分类准确率。首先在每个滤波后引入了全局掩码用于判断滤波的显著性,并构造全局动态目标函数。然后利用贪心交替式更新策略解决非凸优化问题,主要包括设计基于泰勒展开的全局掩码用于临时贪心裁剪显著值较小滤波以及随机梯度下降法更新滤波。相比于已有的滤波剪枝方法,本文方法能够在模型精度和加速比之间获得最好的平衡效果。例如,在加速ResNet-50时,该方法取得了 2.45倍浮点型计算次数的缩减、1.93倍CPU实际加速比,top-5分类错误率只增加了 2.16%。(3)提出了一种基于生成对抗学习的最优结构化网络剪枝方法。针对全局动态剪枝方法缺乏松弛性和强标签依赖问题,本论文提出了一种无需标签端对端训练的异构剪枝方法。该方法对每个模型结构引入了软掩码(softmask),并对其加入稀疏限制,使其表征每个结构的冗余性。为了更好学习模型参数和掩码,本论文构建了新的结构化剪枝目标函数,利用无类别标签生成对抗学习和快速的迭代阈值收缩算法(fast iterative shrinkage-thresholding algorithm,FISTA)解决该优化问题,从而稳定移除冗余结构。通过量化实验,剪枝后的ResNet-50能够取得3.7倍浮点型计算次数的缩减、2.5倍参数压缩,top-5分类错误率只增加了 3.75%,优于目前先进的结构化剪枝算法。