首页> 中国专利> 神经网络的剪枝方法及其剪枝装置、存储介质、设备

神经网络的剪枝方法及其剪枝装置、存储介质、设备

摘要

本发明公开了一种神经网络的剪枝方法及其剪枝装置、存储介质、设备。剪枝方法包括:获取训练完成的目标神经网络,所述目标神经网络包括若干残差层;利用测试样本集逐层评估每一层残差层的重要性,获得每一层残差层的重要性程度值;将重要性程度值小于阈值的残差层去除,获得剪枝后的目标神经网络;利用训练样本集训练剪枝后的目标神经网络,以优化剪枝后的目标神经网络的参数。本方案可以逐层测试网络各层参数的重要性,通过在测试集上结果的表现直观地给出了各层各参数的重要性,提高了剪枝方法的通用性和可解释性。

著录项

  • 公开/公告号CN114970851A

    专利类型发明专利

  • 公开/公告日2022-08-30

    原文格式PDF

  • 申请/专利权人 中国科学院深圳先进技术研究院;

    申请/专利号CN202110216506.6

  • 申请日2021-02-26

  • 分类号G06N3/08(2006.01);G06N3/04(2006.01);

  • 代理机构深圳市铭粤知识产权代理有限公司 44304;深圳市铭粤知识产权代理有限公司 44304;

  • 代理人孙伟峰;刘燚圣

  • 地址 518055 广东省深圳市南山区深圳大学城学苑大道1068号

  • 入库时间 2023-06-19 16:34:57

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-16

    实质审查的生效 IPC(主分类):G06N 3/08 专利申请号:2021102165066 申请日:20210226

    实质审查的生效

说明书

技术领域

本发明属于机器学习技术领域,具体地讲,涉及一种神经网络的剪枝方法及其剪枝装置、计算机可读存储介质、计算机设备。

背景技术

深度学习目前广泛应用于各行,但是在许多现实应用中,深度学习网络的部署是一个很大的难题。一方面深度学习网络参数庞大,对内存的需求很高,另一方面深度学习需要大量计算。尤其是常用的卷积神经网络,其存在大量冗余参数,往往需要进行网络剪枝。网络剪枝的基本思想就是利用不同参数的重要性不同,裁剪掉那些冗余参数,使网络更精简,减少存储占用和计算量。针对参数重要性剪枝思路是建立一个评估标准,然后按照评估标准对网络的参数进行排序,设定阈值,然后剪除小于阈值的那些网络参数。

例如,文章(Li,Kadav,Durdanovic,Samet&Graf,2016)中提出思路是:

1)计算卷积核中所有权值的绝对值之和;2)根据求和大小排列卷积核;3)删除数值较小的卷积核;4)对删除之后的卷积核重新组合,生成新的卷积核矩阵。

另一文章(Liu et al.2017)指出,通过BN层的缩放因子进行网络剪枝,裁剪值小的缩放因子对应卷积核。缩放因子的选取取决于我们为整个网络所有层设置的一个全局阈值,它被定义为所有缩放因子值的一个比例,比如我们将剪掉整个网络中70%的通道,那么我们先对缩放因子的绝对值排个序,然后取从小到大排序的缩放因子中70%的缩放因子为阈值。

现有技术的看似具有通用性,但是具有一个明显的缺陷,那就是没有考虑到网络结构的特异性,网络不同层的差异性和方法的可解释性。首先不同网络结构是不同的,而他们对参数的敏感性也不同,不可以所有网络同等对待。网络从前到后是一个有层次的学习过程,而在此过程参数的敏感度也在变化,网络的前后参数不可同等对待。最后是方法的可解释性,目前的方法无法给出令人信服的解释。

发明内容

(一)本发明所要解决的技术问题

本发明解决的技术问题是:如何提供一种具有通用性和可解释性的神经网络的剪枝方法。

(二)本发明所采用的技术方案

一种神经网络的剪枝方法,所述剪枝方法包括:

获取训练完成的目标神经网络,所述目标神经网络包括若干残差层;

利用测试样本集逐层评估每一层残差层的重要性,获得每一层残差层的重要性程度值;

将重要性程度值小于阈值的残差层去除,获得剪枝后的目标神经网络;

利用训练样本集训练剪枝后的目标神经网络,以优化剪枝后的目标神经网络的参数。

优选地,利用测试样本集逐层评估每一层残差层的重要性,获得每一层残差层的重要性程度值的方法包括:

逐层将残差层的卷积核替换为零;

利用测试样本集测试各个残差层的卷积核替换为零之前和之后的目标神经网络的性能指标值,并计算得到目标神经网络的性能指标变化值;

根据性能指标变化值确定残差层的重要性程度值。

优选地,当性能指标变化值小于预设变化值时,残差层的重要性程度值为第一程度值;当性能指标变化值大于或等于预设变化值时,残差层的重要性程度值为第二程度值,其中所述第一程度值大于所述阈值,所述第二程度值小于所述阈值。

优选地,所述性能指标值包括精确率、准确率、召回率、Dice值、Iou值中的任意一种或多种。

本申请还公开了一种神经网络的剪枝装置,所述剪枝装置包括:

获取单元,用于获取训练完成的目标神经网络,所述目标神经网络包括若干残差层;

评估单元,用于利用测试样本集评估每一层残差层的重要性,获得每一层残差层的重要性程度值;

剪枝单元,用于将重要性程度值小于阈值的残差层去除,获得剪枝后的目标神经网络;

训练单元,用于利用训练样本集训练剪枝后的目标神经网络,以优化剪枝后的目标神经网络的参数。

所述评估单元具体用于:

将残差层的卷积核替换为零;

利用测试样本集测试残差层的卷积核替换为零之前和之后的目标神经网络的性能指标值,并计算得到目标神经网络的性能指标变化值;

根据性能指标变化值确定残差层的重要性程度值。

优选地,当性能指标变化值小于预设变化值时,所述评估单元还用于将残差层的重要性程度值设置为第一程度值;当性能指标变化值大于或等于预设变化值时,所述评估单元还用于将残差层的重要性程度值为第二程度值,其中所述第一程度值大于所述阈值,所述第二程度值小于所述阈值。

优选地,所述性能指标值包括精确率、准确率、召回率、Dice值、Iou值中的任意一种或多种。

本申请还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有神经网络的剪枝程序,所述神经网络的剪枝程序被处理器执行时实现上述的神经网络的剪枝方法。

本申请还公开了一种计算机设备,所述计算机设备包括计算机可读存储介质、处理器和存储在所述计算机可读存储介质中的神经网络的剪枝程序,所述神经网络的剪枝程序被处理器执行时实现上述的神经网络的剪枝方法。

(三)有益效果

本发明公开了一种神经网络的剪枝方法,相对于传统的剪枝方法,具有如下技术效果:

利用测试样本集分别对训练完成的目标神经网络的每一层残差层进行评估,获得每一层残差层的重要性程度值,接着将重要性程度值小于阈值的残差层去除,保持其他参数不变,获得剪枝后的目标神经网络,这样可以逐层测试网络各层参数的重要性,通过在测试集上结果的表现直观地给出了各层各参数的重要性,提高了剪枝方法的通用性和可解释性。

附图说明

图1为本发明的实施例一的神经网络的剪枝方法的流程图;

图2为本发明的实施例一的神经网络的剪枝方法的详细步骤示意图;

图3为本发明的实施例一的目标神经网络的局部结构示意图;

图4为本发明的实施例二的神经网络的剪枝装置的示意图;

图5为本发明的实施例四的计算机设备示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在详细描述本申请的各个实施例之前,首先简单描述本申请的发明构思:现有的神经网络剪枝算法由于没有考虑网络结构的特异性以及不同网络层的差异性,导致算法不具有通用性和可解释性,本方案首先利用测试样本集分别对训练完成的目标神经网络的每一层残差层进行评估,获得每一层残差层的重要性程度值,接着将重要性程度值小于阈值的残差层去除,保持其他参数不变,获得剪枝后的目标神经网络,这样可以逐层测试网络各层参数可重用性,通过在测试集上结果的表现直观地给出了各层各参数的重要性,提高了剪枝方法的通用性和可解释性。

如图1和图2所示,本实施例一的神经网络的剪枝方法包括如下步骤:

步骤S10:获取训练完成的目标神经网络,所述目标神经网络包括若干残差层。

步骤S20:利用测试样本集逐层评估每一层残差层的重要性,获得每一层残差层的重要性程度值。

步骤S30:将重要性程度值小于阈值的残差层去除,获得剪枝后的目标神经网络。

步骤S40:利用训练样本集训练剪枝后的目标神经网络,以优化剪枝后的目标神经网络的参数。

作为优选实施例,在步骤S10中,如图3所示,目标神经网络以ResNet网络为例。

ResNet的网络结构包括短连接结构和若干残差层,其中短连接结构主要负责信息存储,残差层主要负责微调学习到的信息。因为短连接中存储了学习到的全部信息,所以相对信息存储结构,负责微调信息的残差层就相对不是很重要,因此残差层可以删除一部分。其中短连接结构和残差层中有两个特殊的层:短连接特征分解层;参差特征分解层。短连接特征分解层负责对上面学习到的特征进行分解和组合,是一个层块(具有相同特征数的连续层称为一个层块)中最重要的部分。短连接特征分解层负责分解和组合上一个层块学到的信息,更重要的是存储学到的信息。步骤S10利用训练集训练目标神经网络,得到训练完成的目标神经网络。

在步骤S20中,利用测试样本集逐层评估每一层残差层的重要性,获得每一层残差层的重要性程度值包括如下步骤:

步骤S21:逐层将残差层的卷积核替换为零;

步骤S22:利用测试样本集测试各残差层的卷积核替换为零之后的目标神经网络的性能指标值,并计算得到目标神经网络的性能指标变化值;

步骤S23:根据性能指标变化值确定残差层的重要性程度值。

需要说明的是逐层是指每层进行测试时,仅将该层的卷积核替换为零,其他层的卷积核保持不变。具体来说,步骤S20主要应用了零替换卷积核操作。ResNet残差单元具有多种形式,可以表示为如下形式:

x

用零分别替换各卷积核后可以表示为:

x'

x″

x″′

x

x'

w'

*表示卷积操作;BN(Batch normalization)表示批标准化;σ表示激活函数;

β',β”,β”'分别表示第l个残差单元不同BN层的偏置。

进一步地,当性能指标变化值小于预设变化值时,残差层的重要性程度值为第一程度值;当性能指标变化值大于或等于预设变化值时,残差层的重要性程度值为第二程度值,其中所述第一程度值大于所述阈值,所述第二程度值小于所述阈值。其中性能指标值根据任务定义,如针对分类任务可以是精确率、准确率、召回率,针对分割任务可以是Dice值、Iou值(intersection over union,交并比值)。示例性地,性能指标值选为准确率,当准确率变化值小于5%时,则该残差层的重要性程度较低,可以被删除,当准确率变化值大于或等于5%时,则该残差层的重要性程度较高,不可以被删除。重复上述步骤S20,直至确定每一层残差层的重要性程度值。

在步骤S30中,将重要性程度值为第二程度值的残差层去除,获得剪枝后的目标神经网络。剪枝完成后,需要利用训练样本集进一步训练目标神经网络,以优化目标神经网络的参数。

本实施例一提供的神经网络的剪枝方法,利用测试样本集分别对训练完成的目标神经网络的每一层残差层进行评估,获得每一层残差层的重要性程度值,接着将重要性程度值小于阈值的残差层去除,保持其他参数不变,获得剪枝后的目标神经网络,这样可以逐层测试网络各层参数可重用性,通过在测试集上结果的表现直观地给出了各层各参数的重要性,提高了剪枝方法的通用性和可解释性。

进一步地,如图4所示,本实施例二提供了一种神经网络的剪枝装置,所述剪枝装置包括获取单元100、评估单元200、剪枝单元300和训练单元400。其中,获取单元100用于获取训练完成的目标神经网络,所述目标神经网络包括若干残差层;评估单元200用于利用测试样本集评估每一层残差层的重要性,获得每一层残差层的重要性程度值;剪枝单元300用于将重要性程度值小于阈值的残差层去除,获得剪枝后的目标神经网络;训练单元400用于利用训练样本集训练剪枝后的目标神经网络,以优化剪枝后的目标神经网络的参数。

进一步地,所述评估单元200具体用于:将残差层的卷积核替换为零;利用测试样本集测试残差层的卷积核替换为零之前和之后的目标神经网络的性能指标值,并计算得到目标神经网络的性能指标变化值;根据性能指标变化值确定残差层的重要性程度值。

当性能指标变化值小于预设变化值时,所述评估单元200还用于将残差层的重要性程度值设置为第一程度值;当性能指标变化值大于或等于预设变化值时,所述评估单元200还用于将残差层的重要性程度值为第二程度值,其中所述第一程度值大于所述阈值,所述第二程度值小于所述阈值。评估单元200的具体评估过程参考实施例一中关于步骤S20的描述,在此不进行赘述。

本申请的实施例三还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有神经网络的剪枝程序,所述神经网络的剪枝程序被处理器执行时实现上述的神经网络的剪枝方法。

本申请的另一实施例还公开了一种计算机设备,在硬件层面,如图5所示,该终端包括处理器12、内部总线13、网络接口14、计算机可读存储介质11。处理器12从计算机可读存储介质中读取对应的计算机程序然后运行,在逻辑层面上形成请求处理装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。所述计算机可读存储介质11上存储有神经网络的剪枝程序,所述神经网络的剪枝程序被处理器执行时实现上述的神经网络的剪枝方法。

计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

上面对本发明的具体实施方式进行了详细描述,虽然已表示和描述了一些实施例,但本领域技术人员应该理解,在不脱离由权利要求及其等同物限定其范围的本发明的原理和精神的情况下,可以对这些实施例进行修改和完善,这些修改和完善也应在本发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号