CN116502698B - 网络通道剪枝率自适应调整方法、装置、设备和存储介质 - Google Patents

网络通道剪枝率自适应调整方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN116502698B
CN116502698B CN202310783843.2A CN202310783843A CN116502698B CN 116502698 B CN116502698 B CN 116502698B CN 202310783843 A CN202310783843 A CN 202310783843A CN 116502698 B CN116502698 B CN 116502698B
Authority
CN
China
Prior art keywords
pruning
channel
neural network
network model
convolutional neural
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310783843.2A
Other languages
English (en)
Other versions
CN116502698A (zh
Inventor
刘海军
李智炜
李清江
赵忠晋
徐晖
刁节涛
王义楠
陈长林
于红旗
刘森
宋兵
王伟
步凯
王琴
王玺
曹荣荣
孙振源
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202310783843.2A priority Critical patent/CN116502698B/zh
Publication of CN116502698A publication Critical patent/CN116502698A/zh
Application granted granted Critical
Publication of CN116502698B publication Critical patent/CN116502698B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Abstract

本申请涉及一种网络通道剪枝率自适应调整方法、装置、设备和存储介质。该方法基于归一化权重范数衡量通道重要性,使用结构化网络剪枝技术实现对网络规模的减小,同时根据网络不同层的剪枝敏感度采用贪心策略对剪枝率进行自适应分配调整。该方法将各层通道剪枝率的动态调整过程拆解为一个迭代优化问题,基于归一化权重范数衡量通道重要性,基于迭代求解方法自适应调整通道剪枝率,从而获得高压缩率、高精度的网络结构。采用该方法压缩了神经网络模型大小,大大降低了模型芯片部署的网络规模,降低模型计算复杂度,减小了芯片在进行推理运算时的计算量,提高了芯片在处理数据时的实时性,加快了模型运行速度,并提高图像识别准确度。

Description

网络通道剪枝率自适应调整方法、装置、设备和存储介质
技术领域
本申请涉及人工智能技术领域,特别是涉及一种网络通道剪枝率自适应调整方法、装置、设备和存储介质。
背景技术
随着深度学习的不断发展,卷积神经形态计算芯片在图像分类、目标检测等多个领域得到了广泛的应用。但随着芯片中部署网络规模的不断增加,芯片完成推理所需要的计算量与存储量也随之增加,极大地限制了卷积神经形态计算芯片在边缘计算设备上的部署与应用。为了解决该问题,研究人员提出了面向卷积神经形态计算芯片的网络模型轻量化技术,主要包括模型剪枝、模型量化、模型蒸馏等,这些方法从不同的角度实现了网络轻量化,有效减少了卷积神经形态计算芯片的部署参数量与推理时的计算量。
作为轻量化技术中最简洁有效的方法,模型剪枝技术可以在保证精度损失较小的情况下取得非常可观的模型压缩效果,从而大大降低神经形态计算芯片的部署难度。模型剪枝技术可以根据剪枝粒度的不同分为细粒度剪枝与粗粒度剪枝:以卷积核、权重等为粒度的细粒度剪枝可以实现对网络极致的理论压缩率,但由于剪枝过程破坏了网络模型原有的规则化结构,导致其空有较高的理论压缩率,通用的计算芯片很难支持这种压缩后的网络结构,只有在特殊定制的计算芯片上才能展现其压缩效果;以层、通道、神经元为粒度的粗粒度剪枝虽然无法达到细粒度剪枝的极致压缩效果,但剪枝后不会破坏网络模型原有的规则化结构,在通用计算芯片上即可实现压缩后模型的部署。
通道剪枝技术在应用过程中需要解决的两个问题:(a)如何衡量通道的重要性。(b)预定义全局通道剪枝率条件下,如何根据网络各层剪枝敏感特性自适应调整各层的剪枝率。
在重要性衡量问题上,现有技术中虽然从不同角度实现了对重要性或冗余性的度量,但在剪枝比例调整方面,大多未提出有效的解决方案,只有Hao Li等人2017年发表的《Pruning Filters for Efficient ConvNets》(《用于高效卷积网的修剪过滤器》)论文中记载了在剪枝过程中通过分析敏感度对相邻层设置了相似的剪枝比例,但这种设置方式,受研究者主观影响较大,自适应调整各层的剪枝率,可能会影响了网络剪枝后的精度恢复,降低图像识别准确率。
发明内容
基于此,有必要针对上述技术问题,提供一种网络通道剪枝率自适应调整方法、装置、设备和存储介质。该方法对卷积神经网络规模进行规则化压缩。一方面,能够降低神经形态计算芯片对存储空间的需求,在一定程度上缓解了芯片内数据交互的“存储墙”问题;另一方面,通过自适应剪枝方法压缩了神经网络模型大小,大大降低了模型芯片部署的网络规模,降低模型计算复杂度,减小了芯片在进行推理运算时的计算量,提高了芯片在处理数据时的实时性,加快了模型运行速度。
一种网络通道剪枝率自适应调整方法,所述方法包括:
将待分类图像输入到卷积神经网络模型;所述卷积神经网络模型是进行网络通道剪枝率自适应调整并重训练后得到的卷积神经网络模型。
利用所述卷积神经网络模型对所述待分类图像进行分类识别处理,得到所述待分类图像的图像类别。
其中,对卷积神经网络模型进行网络通道剪枝率自适应调整并重训练,包括如下步骤:
获取完成训练的卷积神经网络模型。
对所述卷积神经网络的每层的所有输出通道采用基于归一化权重范数的通道重要性衡量方法,得到归一化通道权重范数。
剪掉每层中所述归一化权重范数小于预设值的组通道,其中,/>为步长,为卷积神经网络模型当前层的输出通道数量。
采用贪心策略在所述归一化权重范数的约束下对剪枝后的所述卷积神经网络模型进行小步长迭代剪枝,得到剪枝优化后的卷积神经网络模型。
对剪枝优化后的卷积神经网络模型进行重训练。
在其中一个实施例中,对卷积神经网络模型的每层的所有输出通道采用基于归一化权重范数的通道重要性衡量方法,得到归一化通道权重范数,包括:
计算卷积神经网络模型每层的每组输出通道中卷积核权重的L1范数,得到每组输出通道的通道权重范数为:
其中,为第/>组输出通道的通道权重范数,/>为卷积神经网络模型当前层的输入通道数量,/>为通道/>中第/>个卷积核的第/>个权重参数,/>为卷积核的大小。
对每层中所有输出通道的通道权重范数进行归一化处理,并将得到的归一化通道权重范数从大到小排序。
在其中一个实施例中,所述归一化通道权重范数为:
其中,为第/>个通道的归一化通道权重范数,/>为第/>组输出通道的通道权重范数,/>为/>组输出通道的通道权重范数中的最大值,/>为/>组输出通道的通道权重范数中的最小值。
在其中一个实施例中,采用贪心策略在所述归一化权重范数的约束下对剪枝后的所述卷积神经网络模型进行小步长迭代剪枝,得到剪枝优化后的卷积神经网络模型,包括:
设置卷积神经网络模型各层的预设剪枝率和卷积神经网络模型的预设总剪枝率;所述预设剪枝率与所述预设总剪枝率满足的关系为:
其中,为卷积神经网络模型各层的预设剪枝率,/>表示待剪枝网络的总层数,/>为卷积神经网络模型的预设总剪枝率。
对剪枝后的卷积神经网络模型以预设学习率进行补偿训练,并计算网络模型的精度损失值,将所述精度损失值与精度损失阈值进行比较,得到比较结果。
当所述比较结果为大于时,则拒绝本次剪枝,并根据当前剪枝步长选择进行下一层剪枝或减小步长继续本层剪枝。
当所述比较结果为小于时,则接受剪枝,同时更新该层剪枝率,根据是否达到预设剪枝要求选择结束剪枝或继续本层剪枝。
在迭代剪枝的过程中,总剪枝率会由0逐渐增大,最终达到预设的总剪枝率。
一种网络通道剪枝率自适应调整装置,所述装置包括:
图像输入模块,用于将待分类图像输入到卷积神经网络模型;所述卷积神经网络模型是通过网络通道剪枝率自适应调整重训练模块处理后得到的卷积神经网络模型。
图像分类模块,用于利用所述卷积神经网络模型对所述待分类图像进行分类识别处理,得到所述待分类图像的图像类别。
其中,所述网络通道剪枝率自适应调整重训练模块包括通道重要性指标确定子模块、剪枝率自适应调整子模块以及模型重训练子模块。
通道重要性指标确定子模块,用于对卷积神经网络模型的每层的所有输出通道采用基于归一化权重范数的通道重要性衡量方法,得到归一化通道权重范数。
剪枝率自适应调整子模块,用于剪掉每层中所述归一化权重范数小于预设值的个通道;采用贪心策略在所述归一化权重范数的约束下对剪枝后的所述卷积神经网络模型进行小步长迭代剪枝;其中,/>为步长,/>为卷积神经网络模型当前层的输出通道数量。
模型重训练子模块,用于对剪枝优化后的卷积神经网络模型进行重训练。
在其中一个实施例中,通道重要性指标确定子模块,还用于计算卷积神经网络模型的每层的每组输出通道中卷积核权重的L1范数为:
其中,为卷积神经网络模型当前层的输入通道数量,/>为通道/>中第/>个卷积核的第/>个权重参数,/>为卷积核的大小,/>为第/>组输出通道的通道权重范数。
对每层中所有输出通道的通道权重范数进行归一化处理,并将得到的归一化通道权重范数从大到小排序。
在其中一个实施例中,通道重要性指标确定子模块中所述归一化后的通道权重范数为:
其中,为第/>组通道的归一化通道权重范数,/>为/>组输出通道的通道权重范数中的最大值,/>为/>组输出通道的通道权重范数中的最小值。
在其中一个实施例中,剪枝率自适应调整子模块,还用于设置卷积神经网络模型各层的预设剪枝率和卷积神经网络模型的预设总剪枝率;所述预设剪枝率与所述预设总剪枝率满足的关系为:
其中,为卷积神经网络模型各层的预设剪枝率,/>表示待剪枝网络的总层数,/>为卷积神经网络模型的预设总剪枝率。
对剪枝后的卷积神经网络模型以预设学习率进行补偿训练,并计算网络模型的精度损失值,将所述精度损失值与精度损失阈值进行比较,得到比较结果;当所述比较结果为大于时,则拒绝本次剪枝,并根据当前剪枝步长选择进行下一层剪枝或减小步长继续本层剪枝;当所述比较结果为小于时,则接受剪枝,同时更新该层剪枝率,根据是否达到预设剪枝要求选择结束剪枝或继续本层剪枝;在迭代剪枝的过程中,总剪枝率会由0逐渐增大,最终达到预设的总剪枝率。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。
上述网络通道剪枝率自适应调整方法、装置、设备和存储介质。所述方法基于归一化权重范数衡量通道重要性,使用结构化网络剪枝技术实现对网络规模的减小,同时可以根据网络不同层的剪枝敏感度采用贪心策略对剪枝率进行自适应分配调整。该方法将各层通道剪枝率的动态调整过程拆解为一个迭代优化问题,基于归一化权重范数衡量通道重要性,基于迭代求解方法自适应调整通道剪枝率,从而获得高压缩率、高精度的网络结构。采用该方法压缩了神经网络模型大小,大大降低了模型芯片部署的网络规模,降低模型计算复杂度,减小了芯片在进行推理运算时的计算量,提高了芯片在处理数据时的实时性,加快了模型运行速度,并提高网络模型的图像识别准确度。
附图说明
图1为重训练前后的网络精度表现图;
图2为一个实施例中网络通道剪枝率自适应调整方法的流程示意图;
图3为一个实施例中基于归一化权重范数的通道重要性衡量方法流程图;
图4为一个实施例中基于迭代求解的剪枝率自适应调整方法流程图;
图5为另一个实施例中剪枝初始步长对剪枝影响的测试结果;
图6为一个实施例中微调学习率对剪枝影响的测试结果;
图7为一个实施例中最大精度损失对剪枝影响的测试结果;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请在VGG16-CIFAR10剪枝任务中对不同层剪枝操作的敏感特性进行测试分析,通过抽取VGG16网络中的第1、3、5、7、9、11、13层分别进行相同比例的递增剪枝,对某一层剪枝时,其它层不进行剪枝。重训练前后的网络精度表现如图1所示。图中横坐标为单层通道的剪枝率,本文设置单层剪枝率范围为0-95%,剪枝率以5%为单位增加,纵坐标为剪枝后网络的识别精度。
从图1可以发现,无论对哪一层进行剪枝,随着单层通道剪枝率的增大,网络的识别精度都随之下降,但其下降的速度与趋势并不相同。当剪枝第9、11、13层时,在剪枝率为80%的情况下,其网络精度未明显下降,但对第1、5层按照同样裁剪率剪枝,网络出现了很大的精度损失。比较不同层的下降速度,第1、5层基本保持线性的下降速度,但第1、7层在剪枝率超过70%后出现了断崖式的下降。总结而言,卷积神经网络不同层对剪枝的敏感度存在较大差异,对敏感度较高的层进行过度剪枝会导致网络出现不可逆损伤,对敏感度较低的层进行轻微剪纸无法使网络实现很高的压缩率。因此,本申请根据网络剪枝的敏感特性,可为各层选择合适的剪枝比例,进而达到高压缩率、低精度损失的效果。
在一个实施例中,如图2所示,提供了一种网络通道剪枝率自适应调整方法,该方法包括以下步骤:
步骤200:将待分类图像输入到卷积神经网络模型;所述卷积神经网络模型是进行网络通道剪枝率自适应调整并重训练后得到的卷积神经网络模型。
具体的,卷积神经网络模型时用于图像识别的卷积网络模型,可以是但不限于VGG网络。
步骤202:利用所述卷积神经网络模型对所述待分类图像进行分类识别处理,得到所述待分类图像的图像类别。
步骤204:其中,对卷积神经网络模型进行网络通道剪枝率自适应调整并重训练,包括如下步骤:获取完成训练的卷积神经网络模型。对所述卷积神经网络的每层的所有输出通道采用基于归一化权重范数的通道重要性衡量方法,得到归一化通道权重范数;剪掉每层中所述归一化权重范数小于预设值的组通道,其中,/>为步长,/>为卷积神经网络模型当前层的输出通道数量;采用贪心策略在所述归一化权重范数的约束下对剪枝后的所述卷积神经网络模型进行小步长迭代剪枝,得到剪枝优化后的卷积神经网络模型;对剪枝优化后的卷积神经网络模型进行重训练。
具体的,在卷积神经网络中,不同通道提取输入特征图的多尺度特征,提取方法为卷积核与特征图进行乘累加运算。乘法运算中,当任意一个乘数较小时,其计算的结果同样很小,而神经网络最终的识别结果是以输出值的范数作为参考指标的,因此,通道中卷积核的范数大小可以影响最终的分类结果。综上所述,为解决“如何衡量通道的重要性”问题,本文使用归一化后的权重范数作为通道重要性的衡量标准,其重要性评价准则为:通道内所有卷积核的范数和越大,其重要性就越高。
在剪枝前,首先加载预先训练好的待剪枝模型,该模型拥有一个较优的识别精度,一般被称为基准模型,在基准模型上进行剪枝。
预定义全局通道剪枝率条件下,如何根据网络各层剪枝敏感特性自适应调整各层的剪枝率转化为一个迭代优化问题,优化目标定义为:
其中,为剪枝率集合,/>为各层的剪枝率,/>表示待剪枝网络的总层数,各层剪枝率满足/>表示网络的总剪枝率。/>为初始网络模型,/>表示对初始网络模型/>按照剪枝率/>进行剪枝并微调,/>表示网络模型的精度损失值。
因此优化目标可以被简述为:将总剪枝率分配至各层,同时最小化网络的精度损失。使用迭代求解的方法实现剪枝率自适应分配调整,通过使用贪心思想,控制每次迭代剪枝的精度损失在/>以内,最终达到/>的优化目标。
上述网络通道剪枝率自适应调整方法中,所述方法基于归一化权重范数衡量通道重要性,使用结构化网络剪枝技术实现对网络规模的减小,同时可以根据网络不同层的剪枝敏感度采用贪心策略对剪枝率进行自适应分配调整。该方法将各层通道剪枝率的动态调整过程拆解为一个迭代优化问题,基于归一化权重范数衡量通道重要性,基于迭代求解方法自适应调整通道剪枝率,从而获得高压缩率、高精度的网络结构。采用该方法压缩了神经网络模型大小,大大降低了模型芯片部署的网络规模,降低模型计算复杂度,减小了芯片在进行推理运算时的计算量,提高了芯片在处理数据时的实时性,加快了模型运行速度,并提高网络模型的图像识别准确度。
在其中一个实施例中,步骤200包括:计算卷积神经网络模型每层的每组输出通道中卷积核权重的L1范数,得到每组输出通道的通道权重范数为:
其中,为第i组输出通道的通道权重范数,/>为卷积神经网络模型当前层的输入通道数量,/>为通道/>中第/>个卷积核的第/>个权重参数,/>为卷积核的大小。
对每层中所有输出通道的通道权重范数进行归一化处理,并将得到的归一化通道权重范数从大到小排序。
具体的,基于归一化权重范数的通道重要性衡量方法流程如图3所示。图3中左侧为卷积神经网络某一层的所有卷积通道内卷积核展开后的形式,图3中参数解释如下:本层有个输入通道,/>个输出通道,/>表示通道/>中第/>个卷积核的第/>个权重参数,表示卷积核的大小,/>表示通道权重的L1范数,/>表示归一化后的/>值。
在其中一个实施例中,归一化通道权重范数为:
其中,为第/>个通道的归一化通道权重范数,/>为第/>组输出通道的通道权重范数,/>为/>组输出通道的通道权重范数中的最大值,/>为/>组输出通道的通道权重范数中的最小值。
在其中一个实施例中,步骤204包括:设置卷积神经网络模型各层的预设剪枝率和卷积神经网络模型的预设总剪枝率;预设剪枝率与预设总剪枝率满足的关系为:
其中,为卷积神经网络模型各层的预设剪枝率,表示待剪枝网络的总层数,/>为卷积神经网络模型的预设总剪枝率。
对剪枝后的卷积神经网络模型以预设学习率进行补偿训练,并计算网络模型的精度损失值,将精度损失值与精度损失阈值进行比较,得到比较结果;当比较结果为大于时,则拒绝本次剪枝,并根据当前剪枝步长选择进行下一层剪枝或减小步长继续本层剪枝;当比较结果为小于时,则接受剪枝,同时更新该层剪枝率,根据是否达到预设剪枝要求选择结束剪枝或继续本层剪枝;在迭代剪枝的过程中,总剪枝率会由0逐渐增大,最终达到预设的总剪枝率。
具体的,在剪枝前,首先加载预先训练好的待剪枝模型,该模型拥有一个较优的识别精度,一般被称为基准模型,在基准模型上进行剪枝的流程步骤包括:
1)对剪枝后的网络以学习率进行补偿训练,同时计算精度损失/>,并判断与最大精度损失/>的大小关系;
2)若精度损失大于,则拒绝本次剪枝,同时根据当前剪枝步长选择进行下一层剪枝或减小步长继续本层剪枝;
3)若精度损失小于,则接受剪枝,同时更新该层剪枝率/>,根据是否达到预设剪枝要求选择结束剪枝或继续本层剪枝;
在迭代剪枝的过程中,总剪枝率会由0逐渐增大,最终达到预设的总剪枝率;通过这种方法多次迭代后,可以得到满足预设剪枝率的轻量化网络结构,且各层的剪枝率即为自适应调整后的剪枝率。
基于迭代求解的剪枝率自适应调整方法流程如图4所示。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个验证性实施例中,本实验主要分为两个部分,(1)通用数据集性能测试,分别测试本方法在VGG16-CIFAR10、VGG19-CIFAR100任务上的剪枝效果;(2)通过调整方法中的超参数,总结不同的参数设置对实验结果的影响。
(1)仿真设置
VGG16网络结构:VGG16网络有13层卷积层,3层全连接层,卷积层中共嵌入4层池化层,网络中使用BN层来加快网络的训练和收敛的速度控制同时防止梯度消失防止过拟合。
VGG19网络结构:VGG19网络有16层卷积层,3层全连接层,卷积层中共嵌入4层池化层,网络有BN层结构。
CIFAR10数据集:CIFAR10数据集有10个类,每个类别有6000张图片,其中包括50000张训练图片与10000张测试图片,单张图片大小为32*32。
CIFAR100数据集:CIFAR100数据集有100个类,每个类别有600张图片,其中包括50000张训练图片与10000张测试图片,单张图片大小为32*32。
测试超参数设置:剪枝初始步长;微调学习率/>;最大精度损失
单层参数量计算方法:
其中,表示卷积核的大小,/>为输入通道的数量,/>为输出通道的数量。
单层计算量计算方法:
其中,为本层输出特征图的尺寸大小。
(2)通用数据集性能测试
1)VGG16模型-CIFAR10数据集测试
本实施例验证了利用本申请提出的剪枝率自适应调整方法经过通道剪枝后的VGG16模型在CIFAR10数据集上的识别性能,并与PFEC、FPGM、RFP等剪枝方法进行了比较,预设总剪枝率分别为50%、60%、70%。结果如表1所示。
表1 本申请方法同主流方法的效果对比
从表1可以得到,当本方法全局剪枝率设置为50%时,在与RFP方法等同的计算量与参数减少率下,剪枝后的VGG16方法精度优于RFP。当全局剪枝率设置为70%时,本方法可以在计算量减少46.2%、参数减少87.45%的剪枝效果下,得到93.64%的识别精度,体现了本方法在计算量、参数量、精度三方面的优势。三种不同全局剪枝率剪枝后网络各层的剪枝率详细分配情况如表2所示。
表2三种预设全局剪枝率下网络的详细结构
从表2可以发现,在不同的总剪枝率预设条件下,本方法可以自适应的调整网络各层剪枝率。在调整结果上,基本呈现浅层与中间层剪枝力度小,深层剪枝力度大的现象,该现象与网络剪枝敏感特性的分析结果也基本吻合。
2) VGG19模型-CIFAR100数据集测试
表3展示了在VGG19模型-CIFAR100数据集中不同剪枝率下剪枝情况及剪枝后网络的性能表现。
表3不同剪枝率下剪枝情况及剪枝后网络的性能表现
从表3可以发现,随着总剪枝率的增加,网络规模不断减小,计算量也不断减小,剪枝后网络精度有略微的降低。当总剪枝率设置为20%时,模型的参数量与计算量分别减少了37%与27.57%,网络识别精度仅仅下降了0.3%。当总剪枝率设置为60%时,模型可以在参数减少80.15%的同时,保持73.40%的识别精度。
(3)相关参数对剪枝效果的影响
本实施例从剪枝初始步长、微调学习率、最大精度损失值三个可调超参数角度对方法性能进行分析。网络结构为VGG16,数据集为CIFAR10,基础参数设置为:剪枝初始步长;微调学习率/>;最大精度损失/>
1)剪枝初始步长
在实验中一般将剪枝初始步长设置为0.1。为了研究剪枝初始步长对剪枝效果的影响,本文分别设置0.05、0.1、0.2三个剪枝初始步长进行测试。剪枝初始步长对剪枝影响的测试结果如下图5所示。
从图5可以看出,剪枝初始步长越小,相同通道剪枝率下网络的精度表现也越好,这是由于较小的步长可以在迭代过程中找到更优的剪枝率分配方案。但在实际测试中我们发现,步长越小达到相同剪枝率所需要的迭代次数也越多,其消耗的计算资源也会更多。因此选择剪枝初始步长时,需要根据计算资源情况选择合适的剪枝初始步长。
2)微调学习率
在网络剪枝过程中,会进行网络的微调训练,微调训练中的学习率会影响网络的收敛效果,本文分别设置0.1、0.01、0.001、0.0001四个学习率进行测试,微调学习率对剪枝影响的测试结果如图6所示。
从图6可以看出,当全局通道剪枝率小于20%时,随着学习率的增加,识别精度也更高,证明学习率越高网络微调速度也越快。但随着全局剪枝率的增加,当学习率为0.0001时网络的识别精度逐渐增大,当学习率为0.1时网络的精度出现了震荡不收敛的现象,因此我们可以得出结论:较大的学习率可以帮助网络快速微调,但会导致网络的收敛震荡;较小的学习率虽然会减缓网络的收敛速度,但收敛较为稳定。比较学习率为0.001与0.01时不同剪枝率下网络的精度表现,可以发现当学习率为0.001时,网络的精度恢复情况与收敛稳定性都较好。因此,本方法在实际应用时,选择0.001的中等学习率最为合适。
3)最大精度损失
最大精度损失可以影响本申请方法在迭代时的约束严格程度,本文分别设置0.001、0.002、0.003三个最大精度损失进行测试,最大精度损失对剪枝影响的测试结果如图7所示。
从图7可以发现,当最大精度损失设置为0.001时,在相同的通道剪枝率下,网络识别精度远高于其他两种情况。其中在剪枝率10%-50%范围内,网络精度更是优于基准精度。当精度损失设置为0.002与0.003时,网络有较大的精度损失,且无法通过补偿训练恢复。但较小的最大精度损失表示网络在迭代过程中的约束条件更加严格,需要更多的迭代次数才能找到符合要求的通道剪枝率分配方案。因此在优先保证较小的精度损失的情况下,可以选择0.001作为最大精度损失;若不需要保证非常高的精度,可以选择适当放宽最大精度损失的限制以便加快训练速度。
在一个实施例中,提供了一种网络通道剪枝率自适应调整装置,包括:图像输入模块、图像分类模块和网络通道剪枝率自适应调整重训练模块,其中:
图像输入模块,用于将待分类图像输入到卷积神经网络模型;卷积神经网络模型是通过网络通道剪枝率自适应调整重训练模块处理后得到的卷积神经网络模型。
图像分类模块,用于利用卷积神经网络模型对待分类图像进行分类识别处理,得到待分类图像的图像类别。
其中,网络通道剪枝率自适应调整重训练模块包括通道重要性指标确定子模块、剪枝率自适应调整子模块以及模型重训练子模块。
通道重要性指标确定子模块,用于对卷积神经网络模型的每层的所有输出通道采用基于归一化权重范数的通道重要性衡量方法,得到归一化通道权重范数。
剪枝率自适应调整子模块,用于剪掉每层中归一化权重范数小于预设值的个通道;采用贪心策略在归一化权重范数的约束下对剪枝后的卷积神经网络模型进行小步长迭代剪枝;其中,/>为步长,/>为卷积神经网络模型当前层的输出通道数量。
模型重训练子模块,用于对剪枝优化后的卷积神经网络模型进行重训练。
在其中一个实施例中,通道重要性指标确定子模块,还用于计算卷积神经网络模型的每层的每组输出通道中卷积核权重的L1范数为:
其中,为卷积神经网络模型当前层的输入通道数量,/>为通道/>中第/>个卷积核的第/>个权重参数,/>为卷积核的大小,/>为第/>组输出通道的通道权重范数。
对每层中所有输出通道的通道权重范数进行归一化处理,并将得到的归一化通道权重范数从大到小排序。
在其中一个实施例中,通道重要性指标确定子模块中归一化后的通道权重范数为:
其中,为第/>组通道的归一化通道权重范数,/>为/>组输出通道的通道权重范数中的最大值,/>为/>组输出通道的通道权重范数中的最小值。
在其中一个实施例中,剪枝率自适应调整子模块,还用于设置卷积神经网络模型各层的预设剪枝率和卷积神经网络模型的预设总剪枝率;预设剪枝率与预设总剪枝率满足的关系为:
其中,为卷积神经网络模型各层的预设剪枝率,表示待剪枝网络的总层数,/>为卷积神经网络模型的预设总剪枝率。
对剪枝后的卷积神经网络模型以预设学习率进行补偿训练,并计算网络模型的精度损失值,将精度损失值与精度损失阈值进行比较,得到比较结果;当比较结果为大于时,则拒绝本次剪枝,并根据当前剪枝步长选择进行下一层剪枝或减小步长继续本层剪枝;当比较结果为小于时,则接受剪枝,同时更新该层剪枝率,根据是否达到预设剪枝要求选择结束剪枝或继续本层剪枝;在迭代剪枝的过程中,总剪枝率会由0逐渐增大,最终达到预设的总剪枝率。
关于网络通道剪枝率自适应调整装置的具体限定可以参见上文中对于网络通道剪枝率自适应调整方法的限定,在此不再赘述。上述网络通道剪枝率自适应调整装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网络通道剪枝率自适应调整方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种网络通道剪枝率自适应调整方法,其特征在于,所述方法包括:
将待分类图像输入到卷积神经网络模型;所述卷积神经网络模型是进行网络通道剪枝率自适应调整并重训练后得到的卷积神经网络模型;
利用所述卷积神经网络模型对所述待分类图像进行分类识别处理,得到所述待分类图像的图像类别;
其中,对卷积神经网络模型进行网络通道剪枝率自适应调整并重训练,包括如下步骤:
获取完成训练的卷积神经网络模型;
对所述卷积神经网络的每层的所有输出通道采用基于归一化权重范数的通道重要性衡量方法,得到归一化通道权重范数;
剪掉每层中所述归一化权重范数小于预设值的组通道,其中,/>为步长,/>为卷积神经网络模型当前层的输出通道数量;
采用贪心策略在所述归一化权重范数的约束下对剪枝后的所述卷积神经网络模型进行小步长迭代剪枝,得到剪枝优化后的卷积神经网络模型;
对剪枝优化后的卷积神经网络模型进行重训练。
2.根据权利要求1所述的方法,其特征在于,对卷积神经网络模型的每层的所有输出通道采用基于归一化权重范数的通道重要性衡量方法,得到归一化通道权重范数,包括:
计算卷积神经网络模型每层的每组输出通道中卷积核权重的L1范数,得到每组输出通道的通道权重范数为:
其中,为第/>组输出通道的通道权重范数,/>为卷积神经网络模型当前层的输入通道数量,/>为通道/>中第/>个卷积核的第/>个权重参数,/>为卷积核的大小;
对每层中所有输出通道的通道权重范数进行归一化处理,并将得到的归一化通道权重范数从大到小排序。
3.根据权利要求2所述的方法,其特征在于,所述归一化通道权重范数为:
其中,为第/>个通道的归一化通道权重范数,/>为第/>组输出通道的通道权重范数,为/>组输出通道的通道权重范数中的最大值,/>为/>组输出通道的通道权重范数中的最小值。
4.根据权利要求1所述的方法,其特征在于,采用贪心策略在所述归一化权重范数的约束下对剪枝后的所述卷积神经网络模型进行小步长迭代剪枝,得到剪枝优化后的卷积神经网络模型,包括:
设置卷积神经网络模型各层的预设剪枝率和卷积神经网络模型的预设总剪枝率;所述预设剪枝率与所述预设总剪枝率满足的关系为:
其中,为卷积神经网络模型各层的预设剪枝率,/>表示待剪枝网络的总层数,/>为卷积神经网络模型的预设总剪枝率;
对剪枝后的卷积神经网络模型以预设学习率进行补偿训练,并计算网络模型的精度损失值,将所述精度损失值与精度损失阈值进行比较,得到比较结果;
当所述比较结果为大于时,则拒绝本次剪枝,并根据当前剪枝步长选择进行下一层剪枝或减小步长继续本层剪枝;
当所述比较结果为小于时,则接受剪枝,同时更新该层剪枝率,根据是否达到预设剪枝要求选择结束剪枝或继续本层剪枝;
在迭代剪枝的过程中,总剪枝率会由0逐渐增大,最终达到预设的总剪枝率。
5.一种网络通道剪枝率自适应调整装置,其特征在于,所述装置包括:
图像输入模块,用于将待分类图像输入到卷积神经网络模型;所述卷积神经网络模型是通过网络通道剪枝率自适应调整重训练模块处理后得到的卷积神经网络模型;
图像分类模块,用于利用所述卷积神经网络模型对所述待分类图像进行分类识别处理,得到所述待分类图像的图像类别;
其中,所述网络通道剪枝率自适应调整重训练模块包括通道重要性指标确定子模块、剪枝率自适应调整子模块以及模型重训练子模块;
通道重要性指标确定子模块,用于对卷积神经网络模型的每层的所有输出通道采用基于归一化权重范数的通道重要性衡量方法,得到归一化通道权重范数;
剪枝率自适应调整子模块,用于剪掉每层中所述归一化权重范数小于预设值的个通道;采用贪心策略在所述归一化权重范数的约束下对剪枝后的所述卷积神经网络模型进行小步长迭代剪枝;其中,/>为步长,/>为卷积神经网络模型当前层的输出通道数量;
模型重训练子模块,用于对剪枝优化后的卷积神经网络模型进行重训练。
6.根据权利要求5所述的装置,其特征在于,所述通道重要性指标确定子模块,还用于计算卷积神经网络模型的每层的每组输出通道中卷积核权重的L1范数为:
其中,为卷积神经网络模型当前层的输入通道数量,/>为通道/>中第/>个卷积核的第/>个权重参数,/>为卷积核的大小,/>为第/>组输出通道的通道权重范数;
对每层中所有输出通道的通道权重范数进行归一化处理,并将得到的归一化通道权重范数从大到小排序。
7.根据权利要求6所述的装置,其特征在于,所述通道重要性指标确定子模块中所述归一化后的通道权重范数为:
其中,为第/>组通道的归一化通道权重范数,/>为/>组输出通道的通道权重范数中的最大值,/>为/>组输出通道的通道权重范数中的最小值。
8.根据权利要求5所述的装置,其特征在于,所述剪枝率自适应调整子模块,还用于设置卷积神经网络模型各层的预设剪枝率和卷积神经网络模型的预设总剪枝率;所述预设剪枝率与所述预设总剪枝率满足的关系为:
其中,为卷积神经网络模型各层的预设剪枝率,/>表示待剪枝网络的总层数,/>为卷积神经网络模型的预设总剪枝率;
对剪枝后的卷积神经网络模型以预设学习率进行补偿训练,并计算网络模型的精度损失值,将所述精度损失值与精度损失阈值进行比较,得到比较结果;当所述比较结果为大于时,则拒绝本次剪枝,并根据当前剪枝步长选择进行下一层剪枝或减小步长继续本层剪枝;当所述比较结果为小于时,则接受剪枝,同时更新该层剪枝率,根据是否达到预设剪枝要求选择结束剪枝或继续本层剪枝;在迭代剪枝的过程中,总剪枝率会由0逐渐增大,最终达到预设的总剪枝率。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法。
CN202310783843.2A 2023-06-29 2023-06-29 网络通道剪枝率自适应调整方法、装置、设备和存储介质 Active CN116502698B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310783843.2A CN116502698B (zh) 2023-06-29 2023-06-29 网络通道剪枝率自适应调整方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310783843.2A CN116502698B (zh) 2023-06-29 2023-06-29 网络通道剪枝率自适应调整方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN116502698A CN116502698A (zh) 2023-07-28
CN116502698B true CN116502698B (zh) 2023-08-29

Family

ID=87328859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310783843.2A Active CN116502698B (zh) 2023-06-29 2023-06-29 网络通道剪枝率自适应调整方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN116502698B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116992945B (zh) * 2023-09-27 2024-02-13 之江实验室 一种基于贪心策略反向通道剪枝的图像处理方法及装置
CN117315722B (zh) * 2023-11-24 2024-03-15 广州紫为云科技有限公司 一种基于知识迁移剪枝模型的行人检测方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113033628A (zh) * 2021-03-09 2021-06-25 浙江工业大学 一种自适应的神经网络压缩方法
CN113610192A (zh) * 2021-09-07 2021-11-05 北京理工大学 一种基于连续性剪枝的神经网络轻量化方法及系统
CN114118402A (zh) * 2021-10-12 2022-03-01 重庆科技学院 基于分组注意力机制的自适应剪枝模型压缩算法
CN115600650A (zh) * 2022-11-02 2023-01-13 华侨大学(Cn) 基于强化学习的自动化卷积神经网络量化剪枝方法、设备和存储介质
WO2023083808A1 (en) * 2021-11-09 2023-05-19 Datakalab Neural network quantization
CN116306808A (zh) * 2023-02-20 2023-06-23 北京邮电大学 一种联合动态剪枝和条件卷积的卷积神经网络压缩方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113033628A (zh) * 2021-03-09 2021-06-25 浙江工业大学 一种自适应的神经网络压缩方法
CN113610192A (zh) * 2021-09-07 2021-11-05 北京理工大学 一种基于连续性剪枝的神经网络轻量化方法及系统
CN114118402A (zh) * 2021-10-12 2022-03-01 重庆科技学院 基于分组注意力机制的自适应剪枝模型压缩算法
WO2023083808A1 (en) * 2021-11-09 2023-05-19 Datakalab Neural network quantization
CN115600650A (zh) * 2022-11-02 2023-01-13 华侨大学(Cn) 基于强化学习的自动化卷积神经网络量化剪枝方法、设备和存储介质
CN116306808A (zh) * 2023-02-20 2023-06-23 北京邮电大学 一种联合动态剪枝和条件卷积的卷积神经网络压缩方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《引入概率分布的深度神经网络贪婪剪枝》;胡骏 等;《中国图象图形学报》;全文 *

Also Published As

Publication number Publication date
CN116502698A (zh) 2023-07-28

Similar Documents

Publication Publication Date Title
CN116502698B (zh) 网络通道剪枝率自适应调整方法、装置、设备和存储介质
WO2022042123A1 (zh) 图像识别模型生成方法、装置、计算机设备和存储介质
Kumar et al. Trainable calibration measures for neural networks from kernel mean embeddings
US20200027012A1 (en) Systems and methods for bayesian optimization using non-linear mapping of input
CN109948733B (zh) 消化道内窥镜图像的多分类方法、分类装置及存储介质
CN111723915B (zh) 一种基于深度卷积神经网络的目标检测方法
US11983624B2 (en) Auto generation and tuning tool for convolution kernels
Crammer et al. A needle in a haystack: local one-class optimization
CN113255910A (zh) 卷积神经网络的剪枝方法、装置、电子设备和存储介质
CN114677548A (zh) 基于阻变存储器的神经网络图像分类系统及方法
CN114168318A (zh) 存储释放模型的训练方法、存储释放方法及设备
CN113240090B (zh) 图像处理模型生成方法、图像处理方法、装置及电子设备
CN114239799A (zh) 一种高效目标检测方法、设备、介质和系统
DE102022105810A1 (de) Effiziente Speichernutzungsoptimierung für Einsatz und Ausführung neuronaler Netze
US20220253709A1 (en) Compressing a Set of Coefficients for Subsequent Use in a Neural Network
CN113378866B (zh) 图像分类方法、系统、存储介质及电子设备
CN114529136A (zh) 基于主成分分析和Topsis的电子部组件评价方法和装置
KR102441442B1 (ko) 그래프 컨볼루션 네트워크 학습 방법 및 장치
CN111881907B (zh) 一种边框回归的定位方法、装置和电子设备
US20230214562A1 (en) Hyperspace-based processing of datasets for electronic design automation (eda) applications
CN115081580A (zh) 一种对预训练的神经网络模型进行剪枝的方法
CN115329958A (zh) 模型迁移方法、装置及电子设备
US20240160695A1 (en) Approximating activation function in neural network with look-up table having hybrid architecture
CN112242157B (zh) 数据读电压的确定方法、参数确定方法、装置及设备
Cristofari Data filtering for cluster analysis by ℓ 0-norm regularization

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant