当前位置: 首页 > 专利查询>深圳大学专利>正文

基于L0范数的人工神经网络模型压缩方法及装置制造方法及图纸

技术编号:38465716 阅读:14 留言:0更新日期:2023-08-11 14:42
本发明专利技术涉及模型压缩技术领域,揭露了一种基于L0范数的人工神经网络模型压缩方法及装置,具体实现方案为:获取预构建的基于L0范数约束的剪枝模型,判断剪枝模型的剪枝率是否为预先设定的目标剪枝率;若剪枝率为目标剪枝率,则对剪枝模型中的参数进行第一求解,得到目标求解参数;若剪枝率不为目标剪枝率,则对剪枝模型中的上层剪枝模型及下层剪枝模型中的参数进行第二求解,得到目标求解参数;基于目标求解参数对剪枝模型进行更新及剪枝处理,得到稀疏网络模型。本发明专利技术通过对特征图的通道进行剪枝,而非针对单个神经元或者权重参数,从而能够有效减少网络参数量,并使得剪枝后的模型可直接用于一般终端设备。模型可直接用于一般终端设备。模型可直接用于一般终端设备。

【技术实现步骤摘要】
基于L0范数的人工神经网络模型压缩方法及装置


[0001]本专利技术涉及模型压缩
,尤其涉及一种基于L0范数的人工神经网络模型压缩方法及装置。

技术介绍

[0002]随着人工智能的发展,深度神经网络尤其是卷积神经网络在图像识别、图像分类等计算机视觉任务中表现出非常优越的性能,各式各样的模型结构层出不穷,并不断受到人们的广泛关注。为了得到更强的学习表征能力,深度学习模型往往需要使用更加深层的网络结构和更多的可训练参数,但存在计算消耗和存储成本等相关因素的阻碍,从而导致深度学习模型难以直接应用在终端设备上。为了解决上述问题,模型压缩的相关算法应运而生,模型压缩是在尽可能保持模型预测精度的前提下,减少模型的参数和计算资源损耗的一项技术,目前主流的模型压缩技术有人工神经网络剪枝、参数量化、知识蒸馏等,其中,在剪枝技术中一种流行的方式是采用稀疏优化的方法进行模型压缩,这种压缩方法将训练过程转化为一个稀疏优化问题,通过求解稀疏优化问题来筛选剔除无效或低效的网络结构,目前,很多基于稀疏优化的模型压缩的研究是在通道级别剪枝方案的基础上展开的,在剪枝方案的训练过程中通过对批归一化层的信道相关比例因子施加L1正则化,来评估比例因子的重要性,进而识别出可以被修剪的不重要通道,而BN是一种深度学习中常用的标准化技术,它通常被插入在卷积层或全连接层之后、激活函数之前,BN层会对网络中同批次的数据进行标准化处理,以减少后续层中输入数据在分布上的差异,从而使得人工神经网络的训练更加稳定和高效,同时在一定程度上它可以提高模型的泛化能力。/>[0003]然而,在现存技术中基于L1范数进行通道级剪枝的方案仍存在以下不足,其中包括:一是基于L1范数或是L1范数的变体,使用这些类型的稀疏惩罚通常只能获得有偏估计,而且基于L1范数不能直接控制模型的稀疏度;二是神经网络的各层通常具有不同的结构和特征,在模型参数空间庞大的剪枝背景下,现有的基于L1范数进行剪枝的方案通过人为预设全局剪枝率,通常需要通过大量的实验或调参来确定模型的最佳剪枝率;三是现有的基于L1范数进行通道级剪枝的方案往往使用全局剪枝率进行剪枝,这可能导致模型部分卷积层通道数过少,进而影响模型的正常训练。综上所述,如何对特征图的通道进行剪枝,而非针对单个神经元或者权重参数,从而有效减少网络参数量,并使得剪枝后的模型可直接用于一般终端设备成为一个亟待解决的问题。

技术实现思路

[0004]本专利技术提供一种基于L0范数的人工神经网络模型压缩方法及装置,其主要目的在于解决相关技术中所提供的基于L1范数的通道级剪枝方案的网络参数量较大、剪枝后的模型无法直接用于一般终端设备的技术问题。
[0005]为实现上述目的,本专利技术提供了一种基于L0范数的人工神经网络模型压缩方法,包括:获取预构建的基于L0范数约束的剪枝模型,判断剪枝模型的剪枝率是否为预先设定
的目标剪枝率;若剪枝率为目标剪枝率,则对剪枝模型中的参数进行第一求解,得到目标求解参数;若剪枝率不为目标剪枝率,则对剪枝模型中的上层剪枝模型及下层剪枝模型中的参数进行第二求解,得到目标求解参数;基于目标求解参数对剪枝模型进行更新及剪枝处理,得到稀疏网络模型。
[0006]本专利技术还提供了一种基于L0范数的人工神经网络模型压缩装置,包括:剪枝率判断模块,用于获取预构建的基于L0范数约束的剪枝模型,判断剪枝模型的剪枝率是否为预先设定的目标剪枝率;第一求解模块,用于若剪枝率为目标剪枝率,则对剪枝模型中的参数进行第一求解,得到目标求解参数;第二求解模块,用于若剪枝率不为目标剪枝率,则对剪枝模型中的上层剪枝模型及下层剪枝模型中的参数进行第二求解,得到目标求解参数;剪枝处理模块,用于基于目标求解参数对剪枝模型进行更新及剪枝处理,得到稀疏网络模型。
[0007]本专利技术实施例通过使用L0范数约束代替Network Slimming剪枝方案中的范数,建立简单高效的可直接控制压缩比例及参数稀疏度,得到基于L0范数约束的剪枝模型;通过对剪枝模型中的参数进行第一求解并对剪枝模型中的上层剪枝模型及下层剪枝模型中的参数进行第二求解,使得到的目标求解参数更加准确;通过目标求解参数对剪枝模型进行更新及剪枝处理,基于双层规划理论与群智能优化算法以及非凸稀疏优化剪枝的模型压缩技术,建立了均匀剪枝模型和自动化剪枝模型,并考虑了剪枝率优化和模型参数优化的自动化剪枝框架,利用自动化剪枝框架可以得到模型各层理想压缩比例、理想子网络及对应的网络权重,实现高效剪枝,并使得剪枝后的稀疏网络模型可直接用于一般终端设备。因此本专利技术提出的基于L0范数的人工神经网络模型压缩方法及装置,可以解决解决如何对特征图的通道进行剪枝,而非针对单个神经元或者权重参数,从而有效减少网络参数量,并使得剪枝后的模型可直接用于一般终端设备的问题。
附图说明
[0008]图1为本专利技术一实施例提供的基于L0范数的人工神经网络模型压缩方法的流程示意图;图2为本专利技术一实施例提供的均匀剪枝模型的剪枝过程的原理示意图;图3为本专利技术一实施例提供的自动化剪枝模型的剪枝过程的原理示意图;图4为本专利技术一实施例提供的基于L0范数的人工神经网络模型压缩方法的整体原理示意图;图5为本专利技术一实施例提供的基于L0范数的人工神经网络模型压缩装置的功能模块图;图6为本专利技术一实施例提供的实现基于L0范数的人工神经网络模型压缩方法的电子设备的结构示意图。
[0009]本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0010]应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0011]为了解决相关技术中所提供的基于L1范数的通道级剪枝方案的网络参数量较大、剪枝后的模型无法直接用于一般终端设备的技术问题,本专利技术一实施例提供了一种模型压
缩方法,该方法为基于L0范数的人工神经网络模型压缩方法。
[0012]参照图1所示,为本申请一实施例提供的基于L0范数的人工神经网络模型压缩方法的流程示意图。在本实施例中,基于L0范数的人工神经网络模型压缩方法包括:S1、获取预构建的基于L0范数约束的剪枝模型,判断剪枝模型的剪枝率是否为预先设定的目标剪枝率。
[0013]其中,若为目标剪枝率,则执行S2;若不为目标剪枝率,则执行S3。
[0014]在一个实施例中,基于L0范数约束的剪枝模型指的是基于均匀剪枝策略建立带有L0范数约束的非凸稀疏优化剪枝模型,其中,剪枝模型表示为:其中,表示剪枝模型中的学习参数集合,表示剪枝模型中的放缩因子集合,表示剪枝模型中第个卷积层的放缩因子,表示剪枝模型中第个卷积层的剪枝率,表示剪枝模型中第个卷积层的通道数目,表示卷积层的层数,表示损失函数,表示L0范数约束。
[0015]在一个实施例中,目标剪枝率指的是预先设定的剪枝模型的压缩率,即对剪枝模型进行剪枝时压缩的比例,通过判断剪枝模型的剪枝率是否为目标剪枝率指的是判断剪枝模型的压缩率是否预先设定的压缩率,当剪枝模型的压缩率为预先设定的压缩率时,剪枝模本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于L0范数的人工神经网络模型压缩方法,其特征在于,包括:获取预构建的基于L0范数约束的剪枝模型,判断所述剪枝模型的剪枝率是否为预先设定的目标剪枝率;若所述剪枝率为所述目标剪枝率,则对所述剪枝模型中的参数进行第一求解,得到目标求解参数;若所述剪枝率不为所述目标剪枝率,则对所述剪枝模型中的上层剪枝模型及下层剪枝模型中的参数进行第二求解,得到目标求解参数;基于所述目标求解参数对所述剪枝模型进行更新及剪枝处理,得到稀疏网络模型。2.如权利要求1所述的基于L0范数的人工神经网络模型压缩方法,其特征在于,所述对所述剪枝模型中的参数进行第一求解,得到目标求解参数,包括:获取所述剪枝模型中的训练集,从所述训练集中随机选取样本,并获取所述剪枝模型中的学习参数集合、放缩因子集合及迭代次数;根据所述训练集、所述样本、所述放缩因子集合及所述迭代次数对所述剪枝模型中的学习参数集合进行更新处理,得到目标学习参数集合;根据所述训练集、所述样本、所述学习参数集合及所述迭代次数对所述剪枝模型中的放缩因子集合进行优化处理,得到优化参数;将所述目标学习参数集合及所述优化参数作为目标求解参数。3.如权利要求2所述的基于L0范数的人工神经网络模型压缩方法,其特征在于,所述根据所述训练集、所述样本、所述放缩因子集合及所述迭代次数对所述剪枝模型中的学习参数集合进行更新处理,得到目标学习参数集合,包括:利用预设的小批量梯度下降法根据所述训练集、所述样本、所述放缩因子集合及所述迭代次数计算所述剪枝模型中权重矩阵对应的矩阵梯度;所述小批量梯度下降法表示为:其中,表示第次迭代次数对应的矩阵梯度,表示所述训练集,表示所述样本的样本数, 表示第次迭代次数对应的学习参数集合,表示第次迭代次数对应的放缩因子集合,表示损失函数;利用预设的指数加权平均算法根据所述矩阵梯度计算第一动量更新量,并利用预设的第一公式根据所述第一动量更新量对所述学习参数集合进行优化,得到目标学习参数集合;所述指数加权平均算法表示为:其中,表示第次迭代次数对应的第一动量更新量,表示第次迭代次数对应的第一动量更新量,表示第次迭代次数对应的矩阵梯度,表示预设的动量系数,其中,;
所述第一公式表示为:其中,表示所述目标学习参数集合, 表示第次迭代次数对应的学习参数集合,表示第次迭代次数对应的第一动量更新量,表示预设的学习率。4.如权利要求2所述的基于L0范数的人工神经网络模型压缩方法,其特征在于,所述根据所述训练集、所述样本、所述学习参数集合及所述迭代次数对所述剪枝模型中的放缩因子集合进行优化处理,得到优化参数,包括:获取所述放缩因子集合中的放缩因子,利用预设的第二公式根据所述训练集、所述样本、所述学习参数集合、所述放缩因子集合及所述迭代次数计算所述放缩因子对应的放缩梯度;所述第二公式表示为:其中,表示所述剪枝模型中的第个卷积层第次迭代次数对应的放缩梯度,表示所述剪枝模型中的第个卷积层第次迭代次数对应的放缩因子,表示所述训练集,表示所述样本的样本数, 表示第次迭代次数对应的学习参数集合,表示第次迭代次数对应的放缩因子集合,表示损失函数;利用预设的第三公式根据所述放缩梯度计算第二动量更新量,并利用预设的第四公式根据所述第二动量更新量对所述放缩因子进行更新,得到更新放缩因子;所述第三公式表示为:其中,表示所述剪枝模型中的第个卷积层第次迭代次数对应的第二动量更新量,所述剪枝模型中的第个卷积层第次迭代次数对应的第二动量更新量,表示所述剪枝模型中的第个卷积层第次迭代次数对应的放缩梯度,表示动量系数;所述第四公式表示为:其中,表示所述剪枝模型中的第个卷积层第次迭代次数对应的更新放缩因子,所述剪枝模型中的第个卷积层第次迭代次数对应的放缩因子,表示所述剪枝模型中的第个卷积层第次迭代次数对应的第二动量更新量,表示学习率;对所述更新放缩因子进行整合,得到优化参数。5.如权利要求1所述的基于L0范数的人工神经网络模型压缩方法,其特征在于,所述对所述剪枝模型中的上层剪枝模型及下层剪枝模型中的参数进行第二求解,得到目标求解参数,包括:
根据预设的上层压缩比例对所述上层剪枝模型中的模型参数进行求解,得到第一模型参数;所述上层剪枝模型表示为:其中,表示更新学习参数集合,表示更新放缩因子集合,表示所述上层剪枝模型中的上层学习参数集合,表示所述上层剪枝模型中的上层放缩因子集合,表示所述上层剪枝模型中第个上层卷积层对应的上层放缩因子,表示预设的上层压缩比例,表示所述上层剪枝模型中第个上层卷积层对应的上层压缩比例,表示所述上层剪枝模型中第个上层卷积层的上层通道数目,表示所述上层卷积层的层数,表示损失函数,表示L0范数约束;基于所述第一模型参数对所述下层剪枝模型中的下层压缩比例进行更新,得到第二模型参数;所述下层剪枝模型表示为:所述下层剪枝模型表示为:其中,表示所述第二模型参数,表示所述更新学习参数集合,表示所述更新放缩因子集合,表示所述下层压缩比例,表示预设的超参数,表示所述下层剪枝模型中第个下层卷积层对应的下层放缩因子,表示所述下层剪枝模型中第个下层卷积层对应的下层压缩比例,表示所述下层剪枝模型中第个下层卷积层的下层通道数目,表示所述下层卷积层的层数,表示损失函数,表示L0范数约束;将所述第一模型参数及所述第二模型参数作为目标求解参数。6.如权利要求5所述的基于L0范数的人工神经网络模型压缩方...

【专利技术属性】
技术研发人员:王浩陈恩豪何志权曹文明
申请(专利权)人:深圳大学
类型:发明
国别省市:

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

1