基于神经架构搜索的非结构化剪枝方法

上传人:杨*** 文档编号:474961029 上传时间:2024-05-02 格式:DOCX 页数:15 大小:35.72KB
返回 下载 相关 举报
基于神经架构搜索的非结构化剪枝方法_第1页
第1页 / 共15页
基于神经架构搜索的非结构化剪枝方法_第2页
第2页 / 共15页
基于神经架构搜索的非结构化剪枝方法_第3页
第3页 / 共15页
基于神经架构搜索的非结构化剪枝方法_第4页
第4页 / 共15页
基于神经架构搜索的非结构化剪枝方法_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《基于神经架构搜索的非结构化剪枝方法》由会员分享,可在线阅读,更多相关《基于神经架构搜索的非结构化剪枝方法(15页珍藏版)》请在金锄头文库上搜索。

1、 基于神经架构搜索的非结构化剪枝方法 王宪保 刘鹏飞 项 圣 王辛刚深度神经网络(Deep Neural Network, DNN)已在计算机视觉领域得到众多应用,表现出较优能力.由于必须满足不同的硬件约束,如何在不同的硬件平台(如GPU、ASIC或嵌入式设备等)上有效部署这些深度学习模型正逐渐成为业界关注的问题.DNN的高性能往往以高存储和计算成本为代价.例如,VGG-161的模型参数超过138 M,训练模型需消耗500 MB的存储空间,对一幅图像进行分类需要155亿次浮点运算次数(Floating-Point Operations, FLO-Ps)2.减少模型的存储需求和计算成本对于DNN

2、更广泛的适用性至关重要,于是学者们提出一些能够解除效率瓶颈同时保持DNN高精度的方法和技术,如模型压缩(包括网络剪枝3-5、知识蒸馏6、网络量化7-8、低秩分解9)、自动机器学习和高效硬件架构设计10-12等,以实现高效的深度学习.网络剪枝已被证明是压缩和加速卷积神经网络(Convolutional Neural Network, CNN)的有用技术,它使深度网络适应受存储或计算资源限制的硬件设备.根据现有文献,网络剪枝方法可以分为结构化剪枝3,13-14和非结构化剪枝4-5,15两大类.结构化剪枝方法专注于修剪卷积滤波器、通道甚至网络层,使修剪后的网络适应不同的环境或设备.Li等3提出FCF

3、(Factorized Convolutional Filter),使用反向传播法更新标准卷积滤波器,同时使用基于交替方向的乘法优化方法更新二进制标量,训练一个带有因子化卷积滤波器的CNN.Chin等13提出LcP(Layer-Compensated Pruning),改善资源受限的滤波器的性能,使其成为一个全局滤波器排名问题.Ye等14提出一种通道修剪技术,将稀疏性约束应用于通道的缩放因子,确定哪些通道需要被裁剪.虽然结构化剪枝方法更利于硬件加速,但却牺牲一定的灵活性.非结构化剪枝试图在不修改网络结构的情况下,从张量中移除冗余的权重参数,使一个大的网络变得稀疏.Han等4只学习重要的连接,用

4、三步法修剪多余的连接,将神经网络所需的存储和计算量减少一个数量级而不影响其准确性.Molchanov等5提出减少梯度估计器方差的方法,使用变分随机失活修剪冗余的权重.Sehwag等15提出HYDRA,将修剪目标表述为一个经验风险最小化问题,并在剪枝步骤中优化每个连接的重要性得分.相比结构化剪枝,非结构化剪枝具有优越的灵活性和压缩率.由于神经网络在不同的抽象层次上提取特征,因此剪枝过程必须考虑网络超参数的影响,针对不同层设置不同的剪枝策略.一方面,剪枝不足即网络中保留过度冗余的连接和参数,会对模型的计算和推理速度产生影响,导致模型泛化能力的下降.另一方面,过度剪枝可能造成网络中剩余的连接和参数变

5、得过于稀疏,使模型难以捕捉数据中的复杂信息,同时使准确性和泛化能力下降.目前人类启发式的剪枝方法难以平衡模型的复杂度和准确性,在高剪枝率的场景下往往导致网络精度的下降,无法弥补与其它高效网络设计(如MobileNetV216)的巨大差距.除了压缩现有的深度神经网络,设计新的神经网络架构是另一种提高效率的方法.一些手工高效架构已经显示出出色的性能,其核心在于高效卷积层的设计.例如,Mobile-NetV2在ImageNet数据集上实现72.0%的准确率,只用3亿个乘积累加运算(Multiply Accumulate, MAC)和3.4亿个参数.然而,网络剪枝和高效架构设计的方法都需要大量的理论思

6、考和测试,设计者必须满足更严格的标准,例如拥有既定的知识和大量的经验储备,否则即使花费大量的人力和时间成本,也难以保证得到最优的结果.相比之下,神经架构搜索(Neural Architecture Search, NAS)自动生成和选择神经网络的超参数,允许在减少人类参与的情况下自动学习一个有效的神经网络结构,在很大程度上解决超参数设置的问题.目前很多NAS无法直接在资源有限的环境中使用.一种日益流行的解决方案是在搜索策略中考虑执行延迟、能源消耗、内存占用等因素,使用多目标优化算法,这类NAS统称为硬件感知NAS(Hardware-Aware NAS, HW-NAS).Cai等17提出Prox

7、ylessNAS,将模型搜索构建成一个类似于剪枝的过程,并针对硬件指标进行联合优化,可以直接学习大规模目标任务和目标硬件平台的架构.HW-NAS常与网络加速方法结合,以满足多目标优化的要求.Molchanov等18提出LANA(Latency-Aware Network Acceleration),使用NAS和师生蒸馏结合的方法,自动使用有效操作替换给定网络中的低效操作.Li等19提出DLW-NAS,重建一个轻量级的搜索空间,设计一个具有计算复杂度约束的搜索策略,搜索具有显著性能以及少量参数和浮点运算的CNN.然而现有的多目标搜索方法总是被较低的搜索效率问题困扰,为了解决这个问题,Yang等2

8、0使用自适应数据流映射,以细粒度的方式描述采样网络结构的推理延迟,从而扩大可用网络的搜索空间,满足特定的推理延迟要求.Loni等21提出TAS(Ter-narized NAS),将量化整合到网络设计中,通过最大梯度传播单元模板和可学习量化器,大幅减少三元神经网络和全精度对应物之间的精度差距.Peng等22提出PRE-NAS(Predictor-Assisted Evolutionary NAS),利用进化式NAS策略和高保真度的权重继承方法,避免权重共享带来的评估偏差,并通过拓扑同构的后代候选提高预测准确性.Li等23提出ACGhostNet(Adder-Convolution GhostNe

9、t),设计融合新型加法器算子和传统卷积算子的GhostNet轻量级网络搜索策略,解决CNN在计算机视觉领域中的能量消耗问题,平衡加法器和卷积算子的权重.该策略能够使加法器和卷积算子在搜索过程中得到公正的对待,从而得到更高能效和更优性能的模型.将NAS应用在网络剪枝上,可以避免超参数选择和网络结构设计的主观性和复杂性,并且缓解网络泛化性下降的问题.但NAS与网络剪枝是两个独立的过程,算法需要制定一个新的搜索目标,同时更新剪枝参数和搜索架构参数.另外,剪枝操作需要选择删除的神经单元,而目前NAS的搜索空间中仅包括卷积、池化和归一化等操作,无法直接在搜索空间中进行.针对上述问题,本文提出基于神经架构

10、搜索的非结构化剪枝方法(Unstructured Pruning Method Based on NAS, UPNAS),主要工作如下:1)提出一个支持剪枝操作的搜索空间,并将掩码学习引入搜索空间的卷积和线性操作中.掩码学习模块为每个权重分配一个掩码,实现对冗余权重的删除.在搜索过程中,采用同时更新掩码参数与网络结构的方式,训练具有自适应剪枝能力的模型.2)引入层级相关系数传播(Layer-Wise Relevance Propagation, LRP)24作为剪枝标准,通过反向传播相关性评估网络中每个神经元的重要性.同时,根据相关系数对二值掩码进行更新.3)提出非结构化剪枝方法,在预训练阶段

11、同时对网络权重和相关系数进行更新,实现自适应剪枝,避免过度剪枝或剪枝不足的问题,提高方法的泛化性能.1 基于神经架构搜索的非结构化剪枝方法针对深度网络在内存受限的硬件设备上的部署问题,本文提出基于神经架构搜索的非结构化剪枝方法(UPNAS).方法引入一个掩码学习模块,并依据学习到的掩码参数删除冗余权重.为了更新二值掩码,引入层级相关系数传播(LRP)作为剪枝标准,评估网络单元的重要性,保持网络的功能完整性.此外,还提出搜索目标和优化算法,对网络权重、架构参数和剪枝参数进行统一优化.1.1 支持剪枝的搜索空间本文提出一个具有支持网络剪枝特性的搜索空间,允许在搜索过程中对网络进行剪枝.1.1.1

12、搜索空间与搜索网络为了从源头上限制神经网络的参数和浮点计算,考虑将更轻量级的卷积操作引入搜索空间中,因此提出一个支持网络剪枝的搜索空间,包含7个操作,即GhostConv25、33 深度可分离卷积、33 扩张卷积、33 最大池化、33 平均池化、恒等映射和零操作.其中GhostConv是一个便捷的卷积操作,参数和FLOPs约为33深度可分离卷积的一半.NASNet26和DARTS(Differentiable Architecture Search)27在预定义的搜索空间中搜索两种类型的单元,即正常单元和还原单元.正常单元用于返回相同维度的特征图,而还原单元用于返回高度和宽度减少一半的特征图.

13、本文可借鉴这一思想.单元的拓扑结构是一个由n个节点组成的有向无环图(Directed Acyclic Graph, DAG),按照规则有序连接.具体来说,每个节点N表示卷积网络的一个特征图.节点Np和Nq连接,形成单元的一条边E(p,q), 表示从搜索空间中选择的某种操作.每个节点和所有前驱节点连接,并满足其中,o(p,q)表示从给定的操作集O中选择一个操作,并应用于边E(p,q).为了使搜索空间连续化,对离散操作选择进行连续松弛化:完整的神经网络由若干个正常单元和还原单元堆叠组成,基本单元的搜索过程如图1所示.在网络总深度的1/3和2/3的位置为还原单元,其余位置为正常单元,这样的设置有利于

14、为任何尺寸的输入图像构建可扩展的架构.图1 基本单元的搜索过程1.1.2 掩码学习模块由于NAS的搜索过程中缺乏对网络剪枝的支持,本文提出一个掩码学习模块,结构如图2所示.模块包含一组与权重参数维度相同的二值掩码序列,将其引入搜索空间的卷积和线性操作中,为每个网络权重分配一个掩码.在搜索过程中,根据设立的剪枝标准,对网络性能贡献度低的权重进行掩码,以便在后续的训练中删除该权重.图2 掩码学习模块结构图1.2 基于层级相关系数传播的掩码更新策略由于掩码是一组二进制参数,直接更新具有挑战性,因此引入层级相关系数传播(LRP)24,协助掩码参数的更新,同时作为剪枝标准.LRP最初被用于机器学习的可解

15、释性,计算每个输入特征对于网络输出的相对重要性,分析神经网络的决策过程.LRP的计算是通过反向传播实现的,具体如图3所示.(a)网络权重的前向传播在反向传播过程中,通过对神经元激活的正向传播过程进行逆向传播,计算每个网络单元(神经元或网络权重)对于输出的贡献,并将这些贡献值分配给相应的网络单元.传统的剪枝标准通常只考虑每个神经元的权重大小和梯度信息,无法衡量每个神经元在网络中的作用.例如,基于权重的剪枝标准可能删除网络中重要的神经元,导致网络性能的衰退.相比之下,LRP通过反向传播重要性考虑每个权重在网络中的作用,从而更好地评估其重要性.此外,使用LRP作为剪枝标准有助于保持网络的功能完整性.

16、因为可基于每个权重的贡献度进行剪枝,所以剪枝后的网络仍然可以保持原有的功能,而不会失去关键的权重.为了确保所有重要性得到正确的分配和保存,LRP的重新分配遵守分层守恒原则:LRP与网络输出f(x)直接建立联系,并在逐层分配中遵守分层守恒原则.即使在剪枝过程中神经网络隐藏层的大小以及神经元的数量发生变化,分层守恒原则也能保证LRP的数量固定,从而保证剪枝程序的平稳运行.相关系数的分配是根据发送到前一层的神经元的信息获得的,这种信息为Rij.在非线性网络中,神经元的激活值zj是xj的非线性函数.当激活函数单调递增时,如双曲切线和整流函数,相关系数的分配基于局部和全局预激活的比率:其中,zij=xiwij,表示第l层的神经元i对第l+1层中神经元j的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 信息产业

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号