深度神经网络模型压缩与剪枝方法研究文献综述

 2022-11-24 22:39:16
  1. 选题来源及意义

深度学习的实际应用往往受限于其存储和运算规模。例如,VGG-16网络含有约1.4亿浮点数参数,假设每个参数存储为32位浮点数格式,则整个网络需要占用超过500兆存储空间。在运算时,单张测试图片共需要大约3.13 times; 108次浮点数运算。这样的计算量在目前只能通过高性能并行设备进行,且仍不具备很好的实时性。高性能并行计算设备具有体积大、能耗大、价格高的特点,在许多场合都不能使用。因此,如何在资源受限的场合,如手机、平板电脑、各种嵌入式和便携式设备上运行神经网络,是深度学习走向日常生活的关键一步。

本课题以深度神经网络的压缩算法为研究背景,完成对多种类型的神经网络压缩算法的综合评价。通过该课题训练,学生将掌握多种类型的神经网络压缩算法,如:基于权重的剪枝压缩算法、神经网络量化算法等。课题重点培养学生对问题的系统分析与综合设计能力。学生最终将学会如何将所学的基础理论、专业知识和基本技能综合应用到具体的网络优化设计中去,初步具备解决优化算法问题的能力,为以后进一步从事科学研究打下基础。

二、文献综述

深度神经网络作为目前人工智能的基石之一,其复杂性和可移植性将直接影响人工智能在生活中的应用。近年来,随着神经网络层数的增多,计算复杂度的提高,使得我们必须使用GPU或者高性能的CPU才能对神经网络进行运算。

然而实际上,在深度学习应用过程中,我们还面临很多诸如移动设备、嵌入式设备等这样存在计算、体积、功耗等方面受限的设备,它们也需要应用深度学习技术。由于这些设备存在的约束,导致现有的高性能深度神经网络无法在上面进行有效的计算和应用。因此,在学术界诞生了深度神经网络加速与压缩领域的研究。

深度神经网络加速与压缩研究的问题是:如何在保持现有神经网络性能基本不变的情况下,通过将网络的计算量大幅度减小和对网络模型存储做大幅度削减,使得网络模型能够在资源受限的设备上高效运行。

加速和压缩两者本身不是同一件事,但我们通常会同时做网络的加速和压缩,所以,一般情况下,我们可以简称为网络压缩。网络压缩技术大概可以分为:基于张量分解的网络压缩、基于量化的网络压缩、基于裁剪的网络压缩、基于知识蒸馏的网络压缩,紧致网络设计等。

1基于张量分解的网络压缩

在神经网络中,参数通常以“张量”的形式集中保存。基于张量分解的网络压缩的基本思想,就是利用张量分解技术将网络的参数重新表达为小张量的组合。重新表达后的张量组一般能够在一定的精度下近似与原张量相同,而所占用的空间却大大减少,从而实现网络压缩。文献[1]以最小化非线性响应的重构误差为基础,采用低秩约束来减少计算量,作者将约束优化问题分解为两个可行的子问题并迭代求解。最后作者提出了最小化非对称重构误差的方法,有效减少了多个相似层的累计误差。

一个典型的CNN卷积核是一个4D张量,文献[2]采用CP分解将一个4D张量分解成多个低维度的张量,从而降低卷积计算量,并且最后通过微调来提升网络精度。作者利用两个卷积神经网络模型对该方法进行评估,证明该方法能够以较低的性能损失实现更高的计算速度。文献[3]对参数矩阵进行SVD分解进行非线性问题的求解,不需要通过随机梯度下降(SGD)过程进行优化。该方法可以进行非对称重构,有效减少累计误差。文献[4]说明了如何使用Tucker分解来加速卷积层得到更好的结果。此外,Tensor Ring分解[5]和Block Term分解[6]等也通过张量分解来进行网络压缩。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

发小红书推广免费获取该资料资格。点击链接进入获取推广文案即可: Ai一键组稿 | 降AI率 | 降重复率 | 论文一键排版