掌桥专利:专业的专利平台
掌桥专利
首页

一种定向引导模型剪枝方法、系统、设备及存储介质

文献发布时间:2023-06-19 11:26:00


一种定向引导模型剪枝方法、系统、设备及存储介质

技术领域

本申请涉及电学技术领域,具体而言,涉及一种定向引导模型剪枝方法、系统、设备及存储介质。

背景技术

目前,模型压缩是一种对原始模型进行结构或者存储上的优化技术,意在通过压缩技术尽可能的降低模型的冗余性,从结果或者模型的储存上进行优化,压缩的后,应尽可能的保证模型的性能没有出现明显的丢失。目前的方法通常采用全局的方式进行整个模型结构压缩,这样的方式无法根据实际的需求对某些指定的卷积层或者结构进行更大粒度的优化压缩。

发明内容

本申请实施例的目的在于提供一种定向引导模型剪枝方法、系统、设备及存储介质,用以实现在对深度学习模型进行压缩剪枝时,能够对模型中的特定部位或者结构进行更大粒度的诱导压缩。

第一方面,本申请实施例提供了一种定向引导模型剪枝方法,所述方法包括根据预设定向稀疏加权值获取正则化项;根据预设加权参数和所述正则化项获取范数正则优化项;根据所述范数正则优化项和卷积神经网络的训练损失函数获取目标优化函数;根据所述目标优化函数对深度学习模型进行定向稀疏并剪枝,得到剪枝后的深度学习模型。

在上述实现过程中,首先,根据预设定向稀疏加权值计算得到正则化项,该正则化项可以起到稀疏化诱导的作用,然后,通过预设加权参数和上述的正则化项计算得到范数正则优化项,进而根据范数正则优化项和卷积神经网络的训练损失函数计算得到目标优化函数,随后可以利用目标优化函数进行预剪枝训练,对不同的网络层进行定向稀疏诱导,进而进行深度学习模型的剪枝操作,得到剪枝后的深度学习模型,通过加入范数正则优化项的加入,使得能够对模型进行定向的稀疏诱导,从而能够对模型中的特定部位或者结构进行更大粒度的诱导压缩。

进一步地,所述正则化项为:

f(γ)=u(i)·γ

其中,u(i)为所述预设定向稀疏加权值,γ为BN层的系数,所述BN层为所述卷积神经网络的归一化层。

在上述实现过程中,正则化项定义为:f(γ)=u(i)·γ

进一步地,在所述的根据所述范数正则优化项和卷积神经网络的训练损失函数获取目标优化函数的步骤之前,还包括:获取所述卷积神经网络的训练损失函数。

在上述实现过程中,在进行目标优化函数的计算获取之前,还需要获取卷积神经网络的训练损失函数。

进一步地,所述的获取所述卷积神经网络的训练损失函数的步骤,包括:获取所述卷积神经网络的训练数据集和网络神经元权重;根据所述训练数据集和所述网络神经元权重获取网络预测结果;根据所述训练数据集和所述网络预测结果获取卷积神经网络的训练损失函数。

在上述实现过程中,首先获取卷积神经网络的训练数据集以及网络神经元权重,然后根据上述训练数据集和网络神经元权重通过计算得到网络预测结果,进而再根据训练数据集和计算得到的网络预测结果计算得到卷积神经网络的训练损失函数,从而可以配合范数正则优化项得到目标优化函数以对深度学习模型进行稀疏化诱导的剪枝。

进一步地,所述目标优化函数为:

其中,x,y为所述训练数据集,W为所述网络神经元权重,h(x,W)为所述网络预测结果,δ为所述预设加权参数。

在上述实现过程中,目标优化函数L定义为:

前一项为卷积神经网络的训练损失函数,后一项为范数正则优化项,其中,δ为预设加权参数,作为前后两项的平衡因子。

第二方面,本申请实施例提供了一种定向引导模型剪枝系统,所述系统包括:正则优化项获取模块,用于根据预设定向稀疏加权值获取正则化项,并根据预设加权参数和所述正则化项获取范数正则优化项;函数获取模块,用于根据所述范数正则优化项和卷积神经网络的训练损失函数获取目标优化函数;模型处理模块,根据所述目标优化函数对深度学习模型进行定向稀疏并剪枝,得到剪枝后的深度学习模型。

进一步地,所述定向引导模型剪枝系统还包括:损失函数获取模块,用于获取所述卷积神经网络的训练损失函数。

进一步地,所述损失函数获取模块具体用于获取所述卷积神经网络的训练数据集和网络神经元权重,并根据所述训练数据集和所述网络神经元权重获取网络预测结果,以及根据所述训练数据集和所述网络预测结果获取卷积神经网络的训练损失函数。

第三方面,本申请实施例提供的一种设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的方法的步骤。

第四方面,本申请实施例提供的一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面任一项所述的方法。

第五方面,本申请实施例提供的一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行如第一方面任一项所述的方法。

本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种定向引导模型剪枝方法的示意性流程图;

图2为本申请实施例提供的一种获取卷积神经网络的训练损失函数的示意性流程图;

图3为本申请实施例提供的一种定向引导模型剪枝系统的示意性框图;

图4为本申请实施例提供的一种定向引导模型剪枝的设备结构框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

本申请实施例的目的在于提供一种定向引导模型剪枝方法、系统、设备及存储介质,可以应用于模型压缩领域中,用于通过在神经网络的BN层加入加权操作的范数正则化进行模型优化诱导,实现在对深度学习模型进行压缩剪枝时,能够对模型中的特定部位或者结构进行更大粒度的诱导压缩。

需要说明的是,范数通常会被用来做优化目标函数的正则化项,防止模型为了迎合训练集而过于复杂造成过拟合的情况,从而提高模型的泛化能力。距离的定义是一个宽泛的概念,只要满足非负、自反、三角不等式就可以称之为距离。范数是一种强化了的距离概念,它在定义上比距离多了一条数乘的运算法则。

请参看图1,图1为本申请实施例提供的一种定向引导模型剪枝方法,包括:

步骤S110,根据预设定向稀疏加权值获取正则化项。

示例性地,可以通过预设定向稀疏加权值以及BN层的系数γ来计算获取正则化项,以能够实现对深度学习模型的稀疏化诱导。

步骤S120,根据预设加权参数和所述正则化项获取范数正则优化项。

示例性地,在获取到正则化项后,根据正则化项和预设加权参数δ得到范数正则优化项,通过在指定BN层上采用加权δ的反向梯度更新方法进行针对性诱导,使这些被诱导的卷积层在进行稀疏训练的过程中,相对于未加权或者加权权值低的部分,加权部分的BN层γ系数趋向于0,其对应的神经元更容易衰亡,从而为后续的模型压缩剪枝提供基础。

步骤S130,根据所述范数正则优化项和卷积神经网络的训练损失函数获取目标优化函数。

示例性地,可以将范数正则优化项与卷积神经网络的训练损失函数的和定义为目标优化函数,通过范数正则优化项的加入,可以对各个卷积层进行权重优化,以迫使模型在训练的过程中,其通道能够变得更加稀疏,从而能够对特定部位或者结构进行更大粒度的诱导压缩。

步骤S140,根据所述目标优化函数对深度学习模型进行定向稀疏并剪枝,得到剪枝后的深度学习模型。

示例性地,在得到目标优化函数之后,可以通过目标优化函数对深度学习模型进行预剪枝训练,对不同的网络层进行定向稀疏诱导,完成训练后,可以对深度学习模型进行剪枝操作,并可以针对特定的部位或结构进行更大粒度的诱导压缩,从而可以根据实际需要得到符合需求的具有个性化的压缩模型。

在本实施例中,所述正则化项为:

f(γ)=u(i)·γ

其中,u(i)为所述预设定向稀疏加权值,γ为BN层的系数,所述BN层为所述卷积神经网络的归一化层。

示例性地,正则化项可以理解为是对BN层的γ系数惩罚项,预设定向稀疏加权值u(i)为惩罚系数,通过预设定向稀疏加权值u(i)对γ进行加权操作,可以实现对网络层稀疏化诱导的作用,BN层为卷积神经网络的归一化层,可以增加训练速度。

可选地,在步骤S130之前,所述的定向引导模型剪枝方法还包括以下步骤:获取所述卷积神经网络的训练损失函数。

请参看图2,图2为本申请实施例提供的一种获取卷积神经网络的训练损失函数的示意性流程图。

可选地,所述的获取所述卷积神经网络的训练损失函数的步骤包括:

步骤S210,获取所述卷积神经网络的训练数据集和网络神经元权重;步骤S220,根据所述训练数据集和所述网络神经元权重获取网络预测结果;步骤S230,根据所述训练数据集和所述网络预测结果获取卷积神经网络的训练损失函数。

示例性地,可以先通过卷积神经网络的训练数据集和网络神经元得到网络预测结果,进而根据网络预测结果和训练数据集得到训练损失函数,从而可以配合范数正则优化项对深度学习模型进行稀疏训练,以实现针对性的压缩剪枝操作。

在本实施例中,所述目标优化函数为:

其中,x,y为所述训练数据集,W为所述网络神经元权重,h(x,W)为所述网络预测结果,δ为所述预设加权参数。

示例性地,目标优化函数L的前一项为卷积神经网络的训练损失函数,后一项为范数正则优化项,范数正则优化项通过预设加权参数δ来进行针对性的稀疏诱导,使得在稀疏训练时,指定的卷积层对应的神经元更容易衰亡,从而使得能够对这些网络层进行更大粒度的诱导压缩。

综上,本申请实施例通过在目标优化函数中加入范数正则优化项,通过在范数正则优化项中设置预设定向稀疏加权值u(i)和预设加权参数δ来对BN层的γ系数进行具有针对性的稀疏化诱导,在通道更加稀疏的同时,使得指定部分的BN层的γ系数能够趋向于0,进而能够对这些网络层进行更大粒度的诱导压缩,而对于没有被加权稀疏的网络层的裁剪粒度小甚至不裁剪,从而可以根据实际需要进行个性化的深度学习模型的剪枝压缩操作。

请参看图3,图3为本申请实施例提供的一种定向引导模型剪枝系统的示意性框图。应理解,图3中该系统与上述图1至图2的方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该系统具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。系统包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在系统的操作系统(operating system,OS)中的软件功能模块。具体地,该系统包括:

正则优化项获取模块310,用于根据预设定向稀疏加权值获取正则化项,并根据预设加权参数和所述正则化项获取范数正则优化项;

函数获取模块320,用于根据所述范数正则优化项和卷积神经网络的训练损失函数获取目标优化函数;

模型处理模块330,根据所述目标优化函数对深度学习模型进行定向稀疏并剪枝,得到剪枝后的深度学习模型。

在一种实施方式中,所述正则化项为:

f(γ)=u(i)·γ

其中,u(i)为所述预设定向稀疏加权值,γ为BN层的系数,所述BN层为所述卷积神经网络的归一化层。

在一种实施方式中,所述定向引导模型剪枝系统还包括:

损失函数获取模块340,用于获取所述卷积神经网络的训练损失函数。

在一种实施方式中,所述损失函数获取模块340具体用于获取所述卷积神经网络的训练数据集和网络神经元权重,并根据所述训练数据集和所述网络神经元权重获取网络预测结果,以及根据所述训练数据集和所述网络预测结果获取卷积神经网络的训练损失函数。

在一种实施方式中,所述目标优化函数为:

其中,x,y为训练数据集,W为网络神经元权重,h(x,W)为网络预测结果,δ为预设加权参数。

本申请还提供一种设备,请参见图4,图4为本申请实施例提供的一种定向引导模型剪枝的设备结构框图。设备可以包括处理器410、通信接口420、存储器430和至少一个通信总线440。其中,通信总线440用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口420用于与其他节点设备进行信令或数据的通信。处理器410可以是一种集成电路芯片,具有信号的处理能力。

上述的处理器410可以是通用处理器,包括中央处理器(CPU,Central ProcessingUnit)、网络处理器(NP,Network Processor)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器410也可以是任何常规的处理器等。

存储器430可以是,但不限于,随机存取存储器(RAM,Random Access Memory),只读存储器(ROM,Read Only Memory),可编程只读存储器(PROM,Programmable Read-OnlyMemory),可擦除只读存储器(EPROM,Erasable Programmable Read-Only Memory),电可擦除只读存储器(EEPROM,Electric Erasable Programmable Read-Only Memory)等。存储器430中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器410执行时,设备可以执行上述图1至图2方法实施例涉及的各个步骤。

可选地,设备还可以包括存储控制器、输入输出单元。

所述存储器430、存储控制器、处理器410、外设接口、输入输出单元各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线440实现电性连接。所述处理器410用于执行存储器430中存储的可执行模块,例如设备包括的软件功能模块或计算机程序。

输入输出单元用于提供给用户创建任务以及为该任务创建启动可选时段或预设执行时间以实现用户与服务器的交互。所述输入输出单元可以是,但不限于,鼠标和键盘等。

可以理解,图4所示的结构仅为示意,所述设备还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。

本申请实施例还提供一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,所述计算机程序被处理器执行时实现方法实施例所述的方法,为避免重复,此处不再赘述。

本申请还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行方法实施例所述的方法。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

相关技术
  • 一种定向引导模型剪枝方法、系统、设备及存储介质
  • 一种对网络模型的剪枝方法、装置、电子设备及存储介质
技术分类

06120112922422