适应DL加速器性能功耗约束的剪枝技术探索文献综述

 2023-08-07 16:25:00
  1. 文献综述(或调研报告):

1.剪枝技术发展现状:

目前,通用的神经网络压缩技术主要分为五大类[1]:参数剪枝、低秩分解、量化、知识蒸馏、轻量化设计。

(1)参数剪枝是通过对已有的训练好的深度网络模型移除冗余的、信息量少的权值,从而减少网络模型的参数,进而加速模型的计算和压缩模型的存储空间。不仅如此,通过剪枝网络,能防止模型过拟合。以是否一次性删除整个节点或滤波为依据,参数剪枝工作可细分成非结构化剪枝[2]和结构化剪枝[3]。非结构化剪枝考虑每个滤波的每个元素,删除滤波中元素为0的参数,而结构化剪枝直接考虑删除整个滤波结构化信息。近几年,基于结构化剪枝的深度网络的压缩方法陆续被提出,克服了非结构化稀疏连接导致的无法加速问题[4-8]。其核心思想依靠滤波显著性准则(即鉴定最不重要的滤波的准则),从而直接删除显著性滤波,加速网络的计算,通过对深度神经网络的滤波、通道、滤波形状、网络层数的正则化限制加入到损失函数中,利用结构化稀疏学习的方式,学习结构化的卷积滤波。

(2)基于低秩分解的深度神经网络压缩与加速的核心思想是利用矩阵或张量分解技术估计并分解深度模型中的原始卷积核。卷积计算是整个卷积神经网络中计算复杂度最高的计算操作,通过分解4D卷积核张量,可以有效地减少模型内部的冗余性。此外,对于2D的全连接层矩阵参数,同样可以利用低秩分解技术进行处理。Denton等人先寻找对卷积层参数的低秩近似[9],然后通过微调的方式恢复模型的识别精度。此外,利用经典的CP分解[10],将原始的张量参数分解成3个秩为1的小矩阵。相似地,利用Tucker分解[11],将原始的张量分解成3个小的张量的乘积。Ioannou等人则利用卷积核的低秩表示[12],代替分解预训练的卷积核参数,并设计了一种有效的权值初始化方法,从头开始训练计算有效的卷积神经网络。

(3)参数量化压缩与加速深度网络模型主要的核心思想是利用较低的位(bit)代替原始32位浮点型的参数,我们可以利用向量量化的技术,在参数空间内对网络中的权值进行量化。近年来,利用低比特位的量化被广泛提出用于加速与压缩深度神经网络。模型量化主要包括两个部分,一是针对权重Weight量化,一是针对激活值Activation量化,在神经网络中的基本操作就是权重和激活值的卷积、乘加操作,如果将权重或激活值其中一项量化到{-1,1},那么就将乘加操作简化为了加减操作,如果两项都量化到{-1,1},乘加操作就简化为了按位操作,所以神经网络二值化能够很大程度地降低模型的存储占用和模型的计算量,将神经网络中原本32位浮点数参数量化至1位定点数,既降低了模型部署的存储资源消耗,同时又极大加速了神经网络的推断过程。近年来许多算法被提出致力于解决上述问题,主要分为直接量化的朴素二值化方法,以及使用最小化量化误差、改善网络损失函数和减小梯度误差等技术的改进二值化方法[13]。

(4)知识蒸馏取名为蒸馏,其实是一个非常形象的过程。我们可以把数据结构信息和数据本身当作一个混合物,分布信息通过概率分布被分离出来。首先,T值很大,相当于用很高的温度将关键的分布信息从原有的数据中分离[14],之后在同样的温度下用新模型融合蒸馏出来的数据分布,最后恢复温度,让两者充分融合。蒸馏神经网络想完成的任务,本质上更接近于迁移学习,不过也可以有效运用作在模型压缩中。知识蒸馏的基本思想是通过软Softmax变换学习教师输出的类别分布,利用教师软输出的结果作为标签,从而训练压缩学生网络、将大型教师模型的知识精炼为较小的模型。在此过程中,我们正是利用教师网络的软化输出指导和惩罚学生网络,从而将庞大的教师网络压缩成为相同深度的学生网络。

(5)相比于在已经训练好的模型上进行处理,轻量化模型设计则是另辟蹊径。轻量化模型设计主要思想在于设计更高效的卷积方式和网络结构,从而使网络参数减少的同时,不损失网络性能。2017年,Google发布MobileNet v1[15]的网络架构,旨在充分利用移动设备和嵌入式应用的有限的资源,有效地最大化模型的准确性。MobileNet v1也可以像其他流行模型一样用于分类、检测、嵌入和分割等任务提取图像卷积特征,并且采用全新的Depth-wise convolution和Pointwise convolution的卷积方式,能够减少参数数量和提升运算速度。它将传统的卷积分为两步:Depth-wise convolution,逐通道的卷积,一个卷积负责一个通道,一个通道只被一个卷积核卷积;Pointwise convolution,将上一步得到的feature map串联起来,使得输出的每一个feature map包含输入层所有feature map的信息。采用这种全新的卷积方式,普遍能够比传统卷积方式减少8-9倍的计算量。与之不同的,ShuffleNet采用了组卷积(Group convolution)的方式,将输入层的不同特征图进行分组,然后采用不同的卷积核再对各个组进行卷积。因为一般的卷积都是在所有的输入特征图上做卷积,是全通道卷积,而组卷积与之相比则是一种通道稀疏连接方式(channel sparse connection),从而降低卷积的计算量。

2.存在问题:

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

以上是毕业论文开题文献,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。