首页> 中国专利> 深度神经网络模型压缩方法及装置、电子设备、存储介质

深度神经网络模型压缩方法及装置、电子设备、存储介质

摘要

本发明涉及人工智能领域,提供一种深度神经网络模型压缩方法及装置。所述方法包括:针对选定的深度神经网络模型提供随机初始化参数;基于所述随机初始化参数对所述深度神经网络模型的通道进行选择;对通道选择后的深度神经网络模型进行剪枝得到裁剪后的网络模型;利用量化参数对裁剪后的网络模型进行量化得到压缩的网络模型。本发明利用随机初始化参数对网络模型结构进行剪枝,无需预训练模型,节省了预训练模型的时间成本,增加了网络模型结构的剪枝空间,保证模型精度,提升模型剪枝效率,能够快速压缩模型。

著录项

说明书

技术领域

本发明涉及人工智能领域,具体地涉及一种深度神经网络模型压缩方法、一种深度神经网络模型压缩装置、一种电子设备以及一种存储介质。

背景技术

现有的深度学习网络模型庞大,一个网络模型的权重文件近百兆甚至几百兆,计算量巨大,很难有效地部署到资源有限的移动设备上。目前关于模型压缩方法的研究,主要基于参数重要性的裁剪和模型参数量化两个方向。模型裁剪技术首先是挑选出模型中不重要的参数,将不重要的参数直接剔除,然后通过fine-tune过程来恢复模型的性能,在保证性能的情况下最大程度的压缩模型参数及运算量。模型参数量化是指减少模型表示每个权重所需的比特数来达到压缩模型的目的,从而大大节约部署模型时的硬件资源消耗。

现有的网络模型裁剪量化方法,首先需要对网络模型进行预训练,预训练过程需要耗费大量时间,然后在预训练模型基础上进行剪枝,限制了剪枝搜索空间,裁剪效率低;而且,在预训练模型基础上对量化参数进行反向传播,会出现精度低的问题,若不对量化参数进行反向传播,则会出现训练损失不匹配的问题。

发明内容

本发明实施方式的目的是提供一种深度神经网络模型压缩方法及装置,以解决上述的模型裁剪量化过程时间长、效率低的问题。

为了实现上述目的,本发明一方面提供一种深度神经网络模型压缩方法,所述方法包括:针对选定的深度神经网络模型提供随机初始化参数;基于所述随机初始化参数对所述深度神经网络模型的通道进行选择;对通道选择后的深度神经网络模型进行剪枝得到裁剪后的网络模型;利用量化参数对裁剪后的网络模型进行量化得到压缩的网络模型。

进一步地,所述基于所述随机初始化参数对所述深度神经网络模型的通道进行选择,包括:基于所述随机初始化参数利用网络优化目标函数对所述深度神经网络模型的通道的通道重要性进行学习,以区分非重要通道和重要通道。

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

其中,0≤λ

f(x

所述基于所述随机初始化参数利用网络优化目标函数对所述深度神经网络模型的通道的通道重要性进行学习以区分非重要通道和重要通道,包括:利用所述网络优化目标函数确定关联的门值,根据所述关联的门值确定所述非重要通道和重要通道。

进一步地,所述根据所述关联的门值确定所述非重要通道和重要通道,包括:根据所述关联的门值和通道参数计算该通道的11范数,根据所述11范数确定该通道是否为非重要通道。

进一步地,所述对通道选择后的深度神经网络模型进行剪枝,包括:

根据所述网络优化目标函数得到优化的门值,利用所述优化的门值在网络计算量的约束下确定所述深度神经网络模型的每层卷积的通道数,对每个通道数对应的通道的11范数进行排序,根据通道排序结果确定需裁剪的通道。

进一步地,所述利用量化参数对裁剪后的网络模型进行量化,包括:利用所述量化参数对所述网络模型进行包括前向传播过程和反向传播过程的训练。

本发明另一方面提供一种深度神经网络模型压缩装置,所述装置包括:

初始化模块,用于针对选定的深度神经网络模型提供随机初始化参数;

通道选择模块,用于基于所述随机初始化参数对所述深度神经网络模型的通道进行选择;

剪枝模块,用于对通道选择后的深度神经网络模型进行剪枝得到裁剪后的网络模型;

量化模块,用于利用量化参数对裁剪后的网络模型进行量化得到压缩的网络模型。

进一步地,所述通道选择模块用于基于所述随机初始化参数利用网络优化目标函数对所述深度神经网络模型的通道的通道重要性进行学习,以区分非重要通道和重要通道。

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

其中,0≤λ

f(x

所述通道选择模块利用所述网络优化目标函数确定关联的门值,根据所述关联的门值确定所述非重要通道和重要通道。

进一步地,所述剪枝模块用于根据所述网络优化目标函数得到优化的门值,利用所述优化的门值在网络计算量的约束下确定所述深度神经网络模型的每层卷积的通道数,对每个通道数对应的通道的11范数进行排序,根据通道排序结果确定需裁剪的通道。

本发明还提供一种电子设备,包括存储器和处理器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的深度神经网络模型压缩方法。

本发明还提供一种存储介质,其上存储有计算机程序指令,所述计算机程序指令被执行时实现上述的深度神经网络模型压缩方法。

本发明提供的深度神经网络模型压缩方法及装置,利用随机初始化参数对网络模型结构进行剪枝,无需预训练模型,节省了预训练模型的时间成本。由于预训练模型的参数是固定的因此剪枝空间小;而随机初始化参数阈值较大,搜索范围大,可能性更多,增加了网络模型结构的剪枝空间,保证模型精度,提升模型剪枝效率,能够快速压缩模型。此外,本发明直接使用量化参数对网络模型进行量化,将量化参数加入到反向传播过程,可避免训练损失不匹配的问题。

本发明实施方式的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明实施方式的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施方式,但并不构成对本发明实施方式的限制。在附图中:

图1是本发明一种实施方式提供的深度神经网络模型压缩方法的流程图;

图2是本发明一种实施方式提供的深度神经网络模型压缩装置的框图。

具体实施方式

以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。

图1是本发明一种实施方式提供的深度神经网络模型压缩方法的流程图。如图1所示,本实施方式提供的深度神经网络模型压缩方法,其特征在于,所述方法包括:

S1、针对选定的深度神经网络模型提供随机初始化参数。举例而言,首先选定需压缩的深度神经网络模型,对选定的网络模型的参数进行随机初始化,得到随机初始化参数。

S2、基于所述随机初始化参数对所述深度神经网络模型的通道进行选择。

本实施方式中,基于随机初始化参数利用网络优化目标函数对深度神经网络模型的通道的通道重要性进行学习,以区分非重要通道和重要通道;所述网络优化目标函数为:

其中,0≤λ

f(x

利用上述网络优化目标函数确定关联的门值G,根据关联的门值G确定非重要通道和重要通道。具体的,对于网络模型的卷积层的每层通道,关联一组门值G={λ

S3、对通道选择后的深度神经网络模型进行剪枝得到裁剪后的网络模型。

具体的,根据网络优化目标函数得到一组优化门值

将确定的需裁剪的通道裁剪掉,直到网络模型结构满足预设的条件限制,即得到裁剪后的网络模型。

S4、利用量化参数对裁剪后的网络模型进行量化得到压缩的网络模型。

具体而言,利用量化参数对网络模型进行包括前向传播过程和反向传播过程的训练。所述量化参数是指根据裁剪后的网络模型重新初始化的参数。然而,现有的基于预训练过程的模型量化方法,需要在全精度参数基础上进行量化,量化参数不参与反向传播过程,会导致训练损失不匹配的问题。本发明实施方式的量化过程,直接采用量化参数进行训练,将量化参数加入到反向传播过程,避免了训练损失不匹配的问题。

本实施方式提供的深度神经网络模型压缩方法,利用随机初始化参数对网络模型结构进行剪枝,无需预训练模型,节省了预训练模型的时间成本。由于预训练模型的参数是固定的因此剪枝空间小;而随机初始化参数阈值较大,搜索范围大,可能性更多,增加了网络模型结构的剪枝空间,保证模型精度,提升模型剪枝效率,能够快速压缩模型。

此外,现有技术中由于采用预训练模型进行反向传播会出现训练损失不匹配的问题,因此需要再次对参数进行量化和微调。本发明直接使用量化参数对网络模型进行量化,将量化参数加入到反向传播过程,不会出现训练损失不匹配的问题,并且不会损失精度,无需再次对参数进行微调。

图2是本发明一种实施方式提供的深度神经网络模型压缩装置的框图。如图2所示,本实施方式提供的深度神经网络模型压缩装置,所述装置包括:初始化模块、通道选择模块、剪枝模块以及量化模块。所述初始化模块用于针对选定的深度神经网络模型提供随机初始化参数。具体为,首先选定需压缩的深度神经网络模型,对选定的网络模型的参数进行随机初始化,得到随机初始化参数。所述通道选择模块用于基于所述随机初始化参数对所述深度神经网络模型的通道进行选择。所述剪枝模块用于对通道选择后的深度神经网络模型进行剪枝得到裁剪后的网络模型。所述量化模块用于利用量化参数对裁剪后的网络模型进行量化得到压缩的网络模型。

本实施方式中,所述通道选择模块基于所述随机初始化参数利用网络优化目标函数对所述深度神经网络模型的通道的通道重要性进行学习,以区分非重要通道和重要通道。所述网络优化目标函数为:

其中,0≤λ

f(x

所述通道选择模块利用网络优化目标函数确定关联的门值G,根据关联的门值G确定非重要通道和重要通道。例如,对于网络模型的卷积层的每层通道,关联一组门值G={λ

本实施方式中,所述剪枝模块根据网络优化目标函数得到一组优化门值

所述量化模块用于利用量化参数对裁剪后的网络模型进行量化得到压缩的网络模型,包括利用量化参数对网络模型进行前向传播过程和反向传播过程的训练。

本实施方式提供的深度神经网络模型压缩装置,利用随机初始化参数对网络模型结构进行剪枝,无需预训练模型,节省了预训练模型的时间成本。由于预训练模型的参数是固定的因此剪枝空间小;而随机初始化参数阈值较大,搜索范围大,可能性更多,增加了网络模型结构的剪枝空间,保证模型精度,提升模型剪枝效率,能够快速压缩模型。此外,本装置直接使用量化参数对网络模型进行量化,将量化参数加入到反向传播过程,不会出现训练损失不匹配的问题,并且不会损失精度,无需再次对参数进行微调。

本发明实施方式还提供一种电子设备,包括存储器和处理器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的深度神经网络模型压缩方法。

本发明实施方式还提供一种存储介质,其上存储有计算机程序指令,所述计算机程序指令被执行时实现上述的深度神经网络模型压缩方法。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、系统和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号