首页> 中国专利> 一种应用于图像处理的渐进式权值量化方法、装置、介质及设备

一种应用于图像处理的渐进式权值量化方法、装置、介质及设备

摘要

本发明公开了一种应用于图像处理的渐进式权值量化方法,包括:为深度神经网络模型中的每个待量化的权值参数确定对应的一个软掩码,软掩码用于表示所述权值参数的重要程度;迭代执行以下步骤,直至权值参数完成量化:基于权值参数的重要程度对待量化的权值参数进行分组,得到若干待量化权值组;对若干待量化权值组中重要程度最高的一组进行量化;基于量化后的权值参数以及待量化的权值参数重新训练深度神经网络模型,得到更新后的待量化的权值参数。本发明为权值参数设置一个软掩码,并基于软掩码对权值参数进行分组,然后采用渐进式的分组量化策略,先量化相对重要的权值参数,然后利用量化后的权值参数与待量化的权值参数重新训练所述深度神经网络,以弥补量化误差,避免了一次性量化所有网络参数带来的不可弥补的性能损失。

著录项

  • 公开/公告号CN112287987A

    专利类型发明专利

  • 公开/公告日2021-01-29

    原文格式PDF

  • 申请/专利权人 广州云从凯风科技有限公司;

    申请/专利号CN202011112351.3

  • 发明设计人 姚志强;周曦;李连强;梁俊文;

    申请日2020-10-16

  • 分类号G06K9/62(20060101);G06N3/08(20060101);

  • 代理机构31219 上海光华专利事务所(普通合伙);

  • 代理人代玲

  • 地址 511458 广东省广州市南沙区金隆路26号1009房(仅限办公用途)

  • 入库时间 2023-06-19 09:43:16

说明书

技术领域

本发明涉及机器学习技术领域,具体涉及一种应用于图像处理的渐进式权值量化方法、装置、介质及设备。

背景技术

目前深度神经网络参数表征的主要数字格式是32位浮点数,然而降低带宽的和减少深度学习模型计算量的需求,促进了使用低精度数字格式的研究,即权值量化研究。权值量化本质上指减少表示一个权值所需的比特位宽的过程。权值量化技术不仅可以大幅度地减少深度神经网络的模型大小,还可以加速网络的运算过程。现有的权值量化方法在诸多神经网络架构上取得了突出的成果,但是或多或少存在以下几个问题:

保留部分网络结构不量化:现有的权值量化算法,尤其是超低比特的量化算法,为了减少权值量化带来的性能损耗,往往将第一层和最后一层的参数保持全精度浮点数,只量化中间层。这样不仅量化压缩比不高,整个网络的优化过程还需要利用两套数值精度的参数进行计算,大大的影响了神经网络的运算速度。然而一次性量化全部待量化参数带来的性能损失较大:现有的权值量化算法基本上是基于一定的量化准则,一次性将神经网络中的所有待量化的参数进行量化处理,这种做法没有循序渐进的过程,导致量化后的神经网络表达能力不强。

权值参数的分组不合理:为了克服一次性量化全部待量化参数带来的弊端,提出了渐进式权值量化的思想,但是其权值参数分组策略过于简单,如随机分组和按照L1-norm进行分组。这些分组策略并没有去充分探讨权值参数的重要性,所以基于这些分组思想的渐进式权值量化算法的性能还有待提升。

发明内容

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种应用于图像处理的渐进式权值量化方法、装置、介质及设备,用于解决现有技术中的至少一个缺陷。

为实现上述目的及其他相关目的,本发明提供一种应用于图像处理的渐进式权值量化方法,包括:

为深度神经网络模型中的每个待量化的权值参数确定对应的一个软掩码,所述软掩码用于表示所述权值参数的重要程度;

迭代执行以下步骤,直至所述权值参数完成量化:

基于所述权值参数的重要程度对待量化的权值参数进行分组,得到若干待量化权值组;

对若干待量化权值组中重要程度最高的一组进行量化;

基于量化后的权值参数以及待量化的权值参数重新训练所述深度神经网络模型,得到更新后的待量化的权值参数。

可选地,所述软掩码的取值范围为0~1。

可选地,在对待量化权值组进行量化时,将待量化权值参数量化到2的整数次幂。

可选地,还包括:对所述软掩码进行优化,具体包括:

构建基准网络模型,所述基准网络模型为待量化的所述深度神经网络模型;

为所述基准网络模型中的待量化的权值参数设置一个初始软掩码以构成剪枝网络模型;

以基准网络模型为基准,训练所述剪枝网络模型,训练的过程为:

通过调整剪枝网络模型中权值参数对应的软掩码,使得所述基准网络模型的输出与所述剪枝网络模型的输出之间具有最小的均方误差,将此时的软掩码作为优化后的软掩码。

可选地,还包括:对优化后的软掩码进行进一步优化,包括:

以训练得到的剪枝网络模型作为生成器网络,构建一包括生成器网络和判别器网络的生成对抗网络;

将训练得到的剪枝网络模型的输出与所述基准网络模型的输出作为生成对抗网络的输入,以对所述生成对抗网络进行迭代训练,直至生成对抗网络的损失函数收敛;

将此时的软掩码作为最优的软掩码。

为实现上述目的及其他相关目的,本发明还提供一种渐进式权值量化装置,包括:

软掩码确定模块,用于为深度神经网络模型中的每个待量化的权值参数确定对应的一个软掩码,所述软掩码用于表示所述权值参数的重要程度;

量化模块,用于迭代执行以下步骤,直至所述权值参数完成量化:

基于所述权值参数的重要程度对待量化的权值参数进行分组,得到若干待量化权值组;

对若干待量化权值组中重要程度最高的一组进行量化;

基于量化后的权值参数以及待量化的权值参数重新训练所述深度神经网络模型,得到更新后的待量化的权值参数。

可选地,所述软掩码的取值范围为0~1。

可选地,所述量化模块在对待量化权值组进行量化时,将待量化权值参数量化到2的整数次幂。

可选地,还包括:第一软掩码优化模块,用于对所述软掩码进行优化;所述第一软掩码优化模块包括:

第一模型构建子模块,用于构建基准网络模型,所述基准网络模型为待量化的深度神经网络模型;

第二模型构建子模块,用于为所述基准网络模型中的待量化的权值参数设置一个软掩码以构成剪枝网络模型;

第一训练子模块,用于以基准网络模型为基准,训练所述剪枝网络模型,训练的过程为:通过调整剪枝网络模型中权值参数对应的软掩码,使得所述基准网络模型的输出与所述剪枝网络模型的输出之间具有最小的均方误差,将此时的软掩码作为第一目标软掩码。

可选地,还包括:第二软掩码优化模块,用于对优化后的软掩码进行进一步优化,所述第二软掩码优化模块包括:

生成对抗网络构建子模块,用于以训练得到的剪枝网络模型作为生成器网络构建一包括生成器网络和判别器网络的生成对抗网络;

第二训练子模块,将训练得到的剪枝网络模型的输出与所述基准网络模型的输出作为生成对抗网络的输入,以对所述生成对抗网络进行迭代训练,直至生成对抗网络的损失函数收敛;将此时的软掩码作为最优的软掩码。

为实现上述目的及其他相关目的,本发明提供一种设备,包括:

一个或多个处理器;和

其上存储有指令的一个或多个机器可读介质,当所述一个或多个处理器执行时,使得所述设备执行一个或多个所述的方法。

为实现上述目的及其他相关目的,本发明提供一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得设备执行一个或多个所述的方法。

如上所述,本发明的一种应用于图像处理的渐进式权值量化方法、装置、介质及设备,具有以下有益效果:

本发明为权值参数设置一个软掩码,并基于软掩码对权值参数进行分组,然后采用渐进式的分组量化策略,先量化相对重要的权值参数,然后利用相对不重要的权值参数和量化后的权值参数重新训练所述深度神经网络模型,以弥补量化误差,避免了一次性量化所有网络参数带来的不可弥补的性能损失。而且因为性能损耗较小,本发明实现了对所有的网络结构的量化操作,并没有将部分的网络结构保留成32位浮点数,实现了网络的进一步压缩。

本发明利用生成对抗技术学习权值参数的重要性,并按照学习到的重要性指标对网络参数进行分组,相比于随机分组,更为合理。

本发明将所有的网络参数量化到2的整数次幂,不仅可以用移位操作来代替传统浮点数中的乘法操作,二值化后的网络还可以通过编码的方式存储,有利于在真实的硬件环境下实现网络模型运算的进一步加速。

图附说明

图1为本发明一实施例一种应用于图像处理的渐进式权值量化方法的流程图;

图2为本发明一实施例渐进式权值量化方法的示意图,其中,黑色表示量化后的,白色表示待量化的;

图3为本发明一实施例渐进式权值量化方法的示意图;softmax表示损失函数,MSE表示均方误差;

图4为本发明一实施例对软掩码进行优化的流程图;

图5为本发明一实施例对优化后的软掩码进行进一步优化的流程图;

图6为本发明一实施例一种应用于图像处理的渐进式权值量化装置的硬件结构示意图;

图7为本发明一实施例第一软掩码优化模块的结构示意图;;

图8为本发明一实施例第二软掩码优化模块的结构示意图;

图9为本发明一实施例中终端设备的硬件结构示意图;

图10为本发明一实施例中终端设备的硬件结构示意图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

如图1所示,一种应用于图像处理的渐进式权值量化方法,包括:

S11为深度神经网络模型中的每个待量化的权值参数确定对应的一个软掩码,所述软掩码用于表示所述权值参数的重要程度;

S12迭代执行以下步骤,直至所述权值参数完成量化:

基于所述权值参数的重要程度对待量化的权值参数进行分组,得到若干待量化权值组;

对若干待量化权值组中重要程度最高的一组进行量化;

基于量化后的权值参数以及待量化的权值参数重新训练所述深度神经网络模型,得到更新后的待量化的权值参数。

本发明为权值参数设置一个软掩码,并基于软掩码对权值参数进行分组,然后采用渐进式的分组量化策略,其流程如图2所示,先量化相对重要的权值参数,然后利用相对不重要的权值参数和量化后的权值参数重新训练深度神经网络模型,得到更新后的待量化的权值参数,达到弥补量化误差的目的。避免了一次性量化所有网络参数带来的不可弥补的性能损失。而且因为性能损耗较小,本发明实现了对所有的网络结构的量化操作,并没有将部分的网络结构保留成32位浮点数,实现了网络的进一步压缩。

在一实施例中,软掩码并不是简单的为0或者1,将软掩码设置成0和1之间的数值,这样就方便利用软掩码的数值对需要量化的每一个权值参数有一个定量的重要性评估,掩码数值越接近1,说明越重要。其中为待量化的权值参数设置一个软掩码,即将待量化的权值参数乘上一个0到1的数值。

在基于所述软掩码对待量化的权值参数进行分组时,根据软掩码的大小-即权值参数的重要程度来进行分组,比如软掩码较大,即重要程度较高的分为一组,软掩码较小,即重要程度较小的分为一组。其中较大与较小的区分可以通过设置一阈值来区分,将大于或等于该阈值的软掩码划分到较大的一组,将小于该阈值的软掩码划分到较小的一组。

当然在分组过程中,可以基于软掩码按照降序排列的规则,将软掩码按照大小进行分组,组别的数目可由一个超参数group控制,group直接决定着待量化分几个步骤进行。

因为重要性比较大的参数所带来的量化误差通常比较大,所以先量化重要程度比较大的组别(即软掩码相对较大的组别),保留另一部分重要程度比较小的组别(即软掩码相对较小的组别),然后利用量化后的权值参数以及待量化后的权值参数按照全精度参数重新训练所述深度神经网络模型,最后迭代地执行这一步骤,直到所有的权值参数均被量化。例如:通过超参数group的控制将软掩码分成5组,得到5个待量化的权值组。首先量化第一个权值组,将第一个权值组中的权值参数量化到2的整数次幂,然后利用量化后的第一个权值组以及其他4组待量化的权值组重新训练深度神经网络模型,以更新待量化的权值参数;接着量化更新后的其他4组待量化的权值组中的其中一个权值组,对剩余的待量化的权值组再进行重新训练。如此循环,直至5个权值组都被量化完为止。需要说明的是,在量化权值参数的过程中,将待量化权值参数

在一实施例中,如图4所示,该方法还包括:对所述软掩码进行优化,具体包括:

S31构建基准网络模型,所述基准网络模型为待量化的深度神经网络模型;

S32为所述基准网络模型中的待量化的权值参数设置一个软掩码以构成剪枝网络模型;

S33以基准网络模型为基准,训练所述剪枝网络模型,训练的过程为:

通过调整剪枝网络模型中权值参数对应的软掩码,使得所述基准网络模型的输出与所述剪枝网络模型的输出之间具有最小的均方误差,将此时的软掩码作为优化后的软掩码。

具体地,假设一个待量化的深度神经网络模型叫做基准网络模型f

虽然经过上述过程后,对最初加入的软掩码进行了优化。但由于加了软掩码的剪枝网络模型f

S41以训练得到的剪枝网络模型作为生成器网络构建一包括生成器网络和判别器网络的生成对抗网络;

生成器网络的目的是尽可能使生成样本分布拟合真实样本分布,鉴别器网络目的是尽可能鉴别输入样本来自于真实的还是生成的。

S42将训练得到的剪枝网络模型的输出与所述基准网络模型的输出作为生成对抗网络的输入,以对所述生成对抗网络进行迭代训练,直至生成对抗网络的损失函数收敛;将此时的软掩码作为最优的软掩码。

具体地,利用生成对抗的技术,将训练得到的剪枝网络模型f

训练生成对抗网络的方法,包括:

初始化判别器网络D的参数和生成器网络G的参数。

从真实样本中采样个m样本,从先验分布噪声中采样m个噪声样本并通过生成器网络获取个m生成样本。固定生成器网络G,训练判别器网络D尽可能好地准确判别真实样本和生成样本,尽可能大地区分正确真实样本和生成的样本。循环k次更新判别器网络D之后,使用较小的学习率来更新一次生成器网络G的参数,训练生成器网络G使其尽可能能够减小生成样本与真实样本之间的差距,也相当于尽量使得判别器网络D判别错误。多次更新迭代之后,使得判别器网络D判别不出样本来自于生成器网络G的输出还是真实的输出。

如图6所示,一种应用于图像处理的渐进式权值量化装置,包括:

软掩码确定模块51,用于为深度神经网络模型中的每个待量化的权值参数确定对应的一个软掩码,所述软掩码用于表示所述权值参数的重要程度;

量化模块52,用于迭代执行以下步骤,直至所述权值参数完成量化:

基于所述权值参数的重要程度对待量化的权值参数进行分组,得到若干待量化权值组;

对若干待量化权值组中重要程度最高的一组进行量化;

基于量化后的权值参数以及待量化的权值参数重新训练所述深度神经网络模型,得到更新后的待量化的权值参数。

在一实施例中,所述软掩码的取值范围为0~1。

在一实施例中,所述量化模块在对待量化权值组进行量化时,将待量化权值参数量化到2的整数次幂。

如图7所示,在一实施例中,该装置还包括:第一软掩码优化模块,用于对所述软掩码进行优化;所述第一软掩码优化模块包括:

第一模型构建子模块61,用于构建基准网络模型,所述基准网络模型为待量化的深度神经网络模型;

第二模型构建子模块62,用于为所述基准网络模型中的待量化的权值参数设置一个软掩码以构成剪枝网络模型;

第一训练子模块63,用于以基准网络模型为基准,训练所述剪枝网络模型,训练的过程为:通过调整剪枝网络模型中权值参数对应的软掩码,使得所述基准网络模型的输出与所述剪枝网络模型的输出之间具有最小的均方误差,将此时的软掩码作为第一目标软掩码。

如图8所示,在一实施例中,该装置还包括:第二软掩码优化模块,用于对优化后的软掩码进行进一步优化,所述第二软掩码优化模块包括:

生成对抗网络构建子模块71,用于以训练得到的剪枝网络模型作为生成器网络构建一包括生成器网络和判别器网络的生成对抗网络;

第二训练子模块72,将训练得到的剪枝网络模型的输出与所述基准网络模型的输出作为生成对抗网络的输入,以对所述生成对抗网络进行迭代训练,直至生成对抗网络的损失函数收敛;将此时的软掩码作为最优的软掩码。

本发明采用了渐进式的分组量化策略,先量化相对重要的权值参数,然后利用相对不重要的权值参数和量化后的权值参数重新训练所述深度神经网络模型,以弥补量化误差,避免了一次性量化所有网络参数带来的不可弥补的性能损失。而且因为性能损耗较小,本发明实现了对所有的网络结构的量化操作,并没有将部分的网络结构保留成32位浮点数,实现了网络的进一步压缩。

在本实施例中,该装置实施例与前述的方法实施例相对应,具体功能和技术效果参照上述实施例即可,此处不再赘述。

本申请实施例还提供了一种设备,该设备可以包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行图1所述的方法。在实际应用中,该设备可以作为终端设备,也可以作为服务器,终端设备的例子可以包括:智能手机、平板电脑、电子书阅读器、MP3(动态影像专家压缩标准语音层面3,Moving Picture Experts Group Audio Layer III)播放器、MP4(动态影像专家压缩标准语音层面4,Moving Picture Experts Group Audio Layer IV)播放器、膝上型便携计算机、车载电脑、台式计算机、机顶盒、智能电视机、可穿戴设备等等,本申请实施例对于具体的设备不加以限制。

本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本申请实施例的图1中方法所包含步骤的指令(instructions)。

图9为本申请一实施例提供的终端设备的硬件结构示意图。如图所示,该终端设备可以包括:输入设备1100、第一处理器1101、输出设备1102、第一存储器1103和至少一个通信总线1104。通信总线1104用于实现元件之间的通信连接。第一存储器1103可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,第一存储器1103中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。

可选的,上述第一处理器1101例如可以为中央处理器(Central ProcessingUnit,简称CPU)、应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,该第一处理器1101通过有线或无线连接耦合到上述输入设备1100和输出设备1102。

可选的,上述输入设备1100可以包括多种输入设备,例如可以包括面向用户的用户接口、面向设备的设备接口、软件的可编程接口、摄像头、传感器中至少一种。可选的,该面向设备的设备接口可以是用于设备与设备之间进行数据传输的有线接口、还可以是用于设备与设备之间进行数据传输的硬件插入接口(例如USB接口、串口等);可选的,该面向用户的用户接口例如可以是面向用户的控制按键、用于接收语音输入的语音输入设备以及用户接收用户触摸输入的触摸感知设备(例如具有触摸感应功能的触摸屏、触控板等);可选的,上述软件的可编程接口例如可以是供用户编辑或者修改程序的入口,例如芯片的输入引脚接口或者输入接口等;输出设备1102可以包括显示器、音响等输出设备。

在本实施例中,该终端设备的处理器包括用于执行各设备中各模块的功能,具体功能和技术效果参照上述实施例即可,此处不再赘述。

图10为本申请的一个实施例提供的终端设备的硬件结构示意图。图10是对图9在实现过程中的一个具体的实施例。如图所示,本实施例的终端设备可以包括第二处理器1201以及第二存储器1202。

第二处理器1201执行第二存储器1202所存放的计算机程序代码,实现上述实施例中图1所述方法。

第二存储器1202被配置为存储各种类型的数据以支持在终端设备的操作。这些数据的示例包括用于在终端设备上操作的任何应用程序或方法的指令,例如消息,图片,视频等。第二存储器1202可能包含随机存取存储器(random access memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

可选地,第二处理器1201设置在处理组件1200中。该终端设备还可以包括:通信组件1203,电源组件1204,多媒体组件1205,语音组件1206,输入/输出接口1207和/或传感器组件1208。终端设备具体所包含的组件等依据实际需求设定,本实施例对此不作限定。

处理组件1200通常控制终端设备的整体操作。处理组件1200可以包括一个或多个第二处理器1201来执行指令,以完成上述数据处理方法中的全部或部分步骤。此外,处理组件1200可以包括一个或多个模块,便于处理组件1200和其他组件之间的交互。例如,处理组件1200可以包括多媒体模块,以方便多媒体组件1205和处理组件1200之间的交互。

电源组件1204为终端设备的各种组件提供电力。电源组件1204可以包括电源管理系统,一个或多个电源,及其他与为终端设备生成、管理和分配电力相关联的组件。

多媒体组件1205包括在终端设备和用户之间的提供一个输出接口的显示屏。在一些实施例中,显示屏可以包括液晶显示器(LCD)和触摸面板(TP)。如果显示屏包括触摸面板,显示屏可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。

语音组件1206被配置为输出和/或输入语音信号。例如,语音组件1206包括一个麦克风(MIC),当终端设备处于操作模式,如语音识别模式时,麦克风被配置为接收外部语音信号。所接收的语音信号可以被进一步存储在第二存储器1202或经由通信组件1203发送。在一些实施例中,语音组件1206还包括一个扬声器,用于输出语音信号。

输入/输出接口1207为处理组件1200和外围接口模块之间提供接口,上述外围接口模块可以是点击轮,按钮等。这些按钮可包括但不限于:音量按钮、启动按钮和锁定按钮。

传感器组件1208包括一个或多个传感器,用于为终端设备提供各个方面的状态评估。例如,传感器组件1208可以检测到终端设备的打开/关闭状态,组件的相对定位,用户与终端设备接触的存在或不存在。传感器组件1208可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在,包括检测用户与终端设备间的距离。在一些实施例中,该传感器组件1208还可以包括摄像头等。

通信组件1203被配置为便于终端设备和其他设备之间有线或无线方式的通信。终端设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个实施例中,该终端设备中可以包括SIM卡插槽,该SIM卡插槽用于插入SIM卡,使得终端设备可以登录GPRS网络,通过互联网与服务器建立通信。

由上可知,在图9实施例中所涉及的通信组件1203、语音组件1206以及输入/输出接口1207、传感器组件1208均可以作为图8实施例中的输入设备的实现方式。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号