一种结构化剪枝的方法以及系统技术方案

技术编号:35297776 阅读:33 留言:0更新日期:2022-10-22 12:45
本发明专利技术提供了一种结构化剪枝的方法和系统,该方法包括:S1、将深度神经网络中指定的网络层设置为待剪枝层,得到待处理深度神经网络;S2、利用图像数据集多次训练待处理深度神经网络并在训练过程进行多次预剪枝处理,每次预剪枝处理包括:根据所有待剪枝层在图像数据集上的重要性将重要性排序靠后的且被预剪枝后能够满足每次预剪枝的剪枝量的多个待剪枝层设为被预剪枝,重要性基于待剪枝层的权重参数、梯度以及激活频次确定;S3、当预剪枝处理的次数达到预定的预剪枝次数时,利用图像数据集对预剪枝后的待处理深度神经网络进行微调,并且将与被预剪枝的待剪枝层对应的网络层进行剪枝处理;本发明专利技术在压缩模型的同时可更好地保障模型的精度。障模型的精度。障模型的精度。

【技术实现步骤摘要】
一种结构化剪枝的方法以及系统


[0001]本专利技术涉及神经网络
,具体来说涉及神经网络模型的压缩
,更具体地说,涉及一种结构化剪枝的方法以及系统。

技术介绍

[0002]随着人工智能的不断发展,人工神经网络(简称神经网络)的应用范围也在不断地扩展。神经网络可以应用于移动设备,以对图像、文字、音频等进行处理并执行相应的预测任务。在图像识别领域(例如:图像分类、目标检测和目标跟踪),利用深度神经网络(一些文献也称深度学习模型)可以达到较高的准确率,但是,由于深度神经网络中各种网络层(一些文献也称处理层,是指卷积层、全连接层等完整的层结构)的数量非常多(比如十万甚至百万个),其对移动设备的计算能力和存储空间具有较高的要求。而目前移动设备的计算能力和存储空间与台式计算机、服务器相比往往有很大差距,在资源有限的情况下,直接应用深度学习模型存在巨大障碍,导致深度神经网络难以直接部署到移动设备。所以,需要对深度神经网络进行剪枝,通过剪枝来减少模型的冗余连接和参数,以压缩深度神经网络的大小,加快模型推理速度。
[0003]剪枝的方式通常分为结构化剪枝和非结构化剪枝,其中:
[0004]结构化剪枝是以网络层为基本单位进行剪枝的方法;一个网络层被剪枝,那么其前一个特征图(Feature Map,通常也称特征或者特征向量)和下一个特征图都会发生相应的变化,但是模型的结构却没有被破坏,仍然能够通过GPU或其他硬件来加速,因此这类方法被称之为结构化剪枝。
[0005]而非结构化剪枝则包括对单一的权重参数和/或单一卷积核的剪枝。由于剪枝后的模型通常很稀疏,并且破坏了原有模型的结构,所以这类方法被称为非结构化剪枝。非结构化剪枝虽然能极大降低模型的参数量和理论计算量,但是现有硬件架构的计算方式无法对其进行加速,所以在实际运行速度上得不到提升,需要设计特定的硬件才可能加速,剪枝后移植到移动设备较为困难。
[0006]现有技术中,大多是在训练过程中对批归一化层(Batch normalization,BN)的缩放参数(scaling factor)添加L1范数进行正则稀疏化,根据稀疏化后的BN缩放参数的大小来衡量每一个通道的重要性,再手动选择一个阈值将BN缩放参数小于阈值的通道进行裁剪来达到减小模型体积的目的,最后再对压缩后的模型进行微调以恢复裁剪损失的精度。然而这种压缩方法比较繁琐,该流程需要对模型进行稀疏正则训练,并且需要手动选择阈值来决定裁剪较小模值网络层,然而手动选择阈值难以决定剪枝比例,并且阈值的手动选择可能会误删除一些重要的网络层。为此,也出现了一些根据网络层中权重参数的大小对网络层进行自动剪枝的技术方案,但这些技术方案所参考的指标过于片面,没有考虑到训练时数据集的样本输入模型后对各个网络层输出的影响,误删除一些重要的网络层的概率仍然较高。因此,需要对现有技术进行改进。

技术实现思路

[0007]因此,本专利技术的目的在于克服上述现有技术的缺陷,提供一种结构化剪枝的方法以及系统。
[0008]本专利技术的目的是通过以下技术方案实现的:
[0009]根据本专利技术的第一方面,提供一种结构化剪枝的方法,用于对深度神经网络做剪枝处理,所述深度神经网络包括多个网络层,所述方法包括:S1、将深度神经网络中指定的网络层设置为待剪枝层,每个待剪枝层对应于一个网络层,得到待处理深度神经网络;S2、利用图像数据集多次训练待处理深度神经网络并在训练过程进行多次预剪枝处理,其中,每次预剪枝处理包括:确定所有待剪枝层在图像数据集上的重要性,将重要性排序靠后的且被预剪枝后能够满足每次预剪枝的剪枝量的多个待剪枝层设为被预剪枝,并且被预剪枝的待剪枝层的输出所含元素在后续训练中均被设为0,其中,所述每个待剪枝层在图像数据集上的重要性基于待剪枝层的权重参数、梯度以及激活频次按照预定计算规则进行确定,所述激活频次是训练时待剪枝层的输出大小超过预定的激活阈值的次数;S3、当预剪枝处理的次数达到预定的预剪枝次数时,利用图像数据集对预剪枝后的待处理深度神经网络进行微调,并且将与被预剪枝的待剪枝层对应的网络层进行剪枝处理,得到压缩后的深度神经网络。
[0010]在本专利技术的一些实施例中,每个待剪枝层在图像数据集上的重要性按照以下计算规则确定:根据待剪枝层对应的网络层最新的权重参数和梯度,确定显著度指标;对待剪枝层的显著度指标和激活频次求加权和,得到该待剪枝层在图像数据集上的重要性。
[0011]在本专利技术的一些实施例中,所述激活频次按照以下方式确定:确定图像数据集中每个样本输入待处理深度神经网络时各待剪枝层的输出对应的输出大小;将最新完成的预设次数的训练中待剪枝层的输出大小超过预定的激活阈值的次数作为激活频次;其中,所述输出大小是对输出中所含元素的平方和开根号得到,所述激活阈值是最新完成的预设次数的训练中所有输出大小的平均值。
[0012]在本专利技术的一些实施例中,所述显著度指标按照以下方式确定:将待剪枝层对应的网络层中最新的权重参数和梯度中的每个对应元素相乘后求和,得到该待剪枝层的显著度指标。
[0013]在本专利技术的一些实施例中,按照以下方式实现被预剪枝的待剪枝层的输出所含元素在后续训练中均被设为0:为每个待剪枝层分别设置一个掩码,待剪枝层的输出是其对应网络层的输出中各元素与其掩码的逐元素乘积,其中,掩码指示待剪枝层是否被预剪枝,掩码为0表示被预剪枝,掩码为1表示未被预剪枝,所有掩码初始设为1。
[0014]在本专利技术的一些实施例中,步骤S3包括:利用图像数据集对最后一次预剪枝处理后的深度神经网络进行多次微调;将与被预剪枝的待剪枝层对应的网络层从深度神经网络中移除,得到压缩后的深度神经网络。
[0015]根据本专利技术的第二方面,提供一种结构化剪枝系统,包括:模型建模接口,用于加载深度神经网络以及接收用户指示将深度神经网络中相应网络层设定为待剪枝层,得到待处理深度神经网络;剪枝模块,用于执行第一方面所述的结构化剪枝的方法,得到压缩后的深度神经网络。
[0016]根据本专利技术的第三方面,一种部署深度神经网络的方法,包括:获取压缩后的深度
神经网络,所述压缩后的深度神经网络利用第一方面所述的方法或者第二方面所述的系统得到;将所述压缩后的深度神经网络部署在移动设备上,用于执行相应的预测任务。
[0017]根据本专利技术的第四方面,一种电子设备,包括:一个或多个处理器;以及存储器,其中存储器用于存储可执行指令;所述一个或多个处理器被配置为经由执行所述可执行指令以实现第一方面或者第三方面所述方法的步骤。
[0018]与现有技术相比,本专利技术的优点在于:
[0019]本专利技术基于待剪枝层的权重参数、梯度以及激活频次来确定待剪枝层的重要性,其中,激活频次是训练时待剪枝层的输出大小超过预定的激活阈值的次数;一方面,可以通过重要性排序来自动选择需要预剪枝的网络层,另一方面,可以通过考虑训练时图像数据集的样本输入模型后对各个待剪枝层输出的影响来更准确地评价待剪枝层在数据集上的重要性,降低误删除一些重要的待剪本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种结构化剪枝的方法,用于对深度神经网络做剪枝处理,所述深度神经网络包括多个网络层,其特征在于,所述方法包括:S1、将深度神经网络中指定的网络层设置为待剪枝层,每个待剪枝层对应于一个网络层,得到待处理深度神经网络;S2、利用图像数据集多次训练待处理深度神经网络并在训练过程进行多次预剪枝处理,其中,每次预剪枝处理包括:确定所有待剪枝层在图像数据集上的重要性,将重要性排序靠后的且被预剪枝后能够满足每次预剪枝的剪枝量的多个待剪枝层设为被预剪枝,并且被预剪枝的待剪枝层的输出所含元素在后续训练中均被设为0,其中,所述每个待剪枝层在图像数据集上的重要性基于待剪枝层的权重参数、梯度以及激活频次按照预定计算规则进行确定,所述激活频次是训练时待剪枝层的输出大小超过预定的激活阈值的次数;S3、当预剪枝处理的次数达到预定的预剪枝次数时,利用图像数据集对预剪枝后的待处理深度神经网络进行微调,并且将与被预剪枝的待剪枝层对应的网络层进行剪枝处理,得到压缩后的深度神经网络。2.根据权利要求1所述的方法,其特征在于,所述每个待剪枝层在图像数据集上的重要性按照以下计算规则确定:根据待剪枝层对应的网络层最新的权重参数和梯度,确定显著度指标;对待剪枝层的显著度指标和激活频次求加权和,得到该待剪枝层在图像数据集上的重要性。3.根据权利要求2所述的方法,其特征在于,所述激活频次按照以下方式确定:确定图像数据集中每个样本输入待处理深度神经网络时各待剪枝层的输出对应的输出大小;将最新完成的预设次数的训练中待剪枝层的输出大小超过预定的激活阈值的次数作为激活频次;其中,所述输出大小是对输出中所含元素的平方和开根号得到,所述激活阈值是最新完成的预设次数的训练中所有输出大小的平均值。4.根据权利要求2所述的方法,其特征在于,所述显著度指标按照以下方式确定:将待剪枝层对应的网络层中最...

【专利技术属性】
技术研发人员:赵泽余昉崔莉
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1