网络模型的剪枝量化处理方法、装置、设备及存储介质与流程

文档序号:26141509发布日期:2021-08-03 14:26阅读:153来源:国知局
网络模型的剪枝量化处理方法、装置、设备及存储介质与流程

本申请实施例涉及网络模型处理领域,尤其涉及一种网络模型的剪枝量化处理方法、装置、设备及存储介质。



背景技术:

执法记录仪器是一种集实时录音、拍照、摄像等功能为一体的便携式设备,可以广泛应用于公安(例如,交警、治安、消防、刑侦等)、交通、城管、司法等执法单位的现场执法或者其他任务中去,对实时录制执法过程、异常事件检测以及特殊事件的回溯取证发挥重要的作用。但是作为移动端设备,在算力有限的情况下,能够对异常事件发出快速响应,实现快速反馈成为需要解决的突出问题。



技术实现要素:

本申请提供了一种网络模型的剪枝量化处理方法、装置、设备及存储介质,可以剔除卷积神经网络模型中贡献量小的参数,实现以较少的参数量接近原始模型的精度的前提下,保证网络模型的响应速度。

第一方面,本申请实施例提供了一种网络模型的剪枝量化处理方法,该方法包括:

基于通道注意力机制和权重注意力机制对卷积神经网络进行剪枝处理;

对剪枝处理后的卷积神经网络进行二次剪枝处理;

对二次剪枝处理后的卷积神经网络进行量化操作。

可选地,所述基于通道注意力机制和权重注意力机制对卷积神经网络进行剪枝处理,包括:

基于通道注意力机制对所述卷积神经网络进行剪枝处理,得到第一概率矩阵;

基于权重注意力机制和输入图像对所述卷积神经网络进行剪枝处理,得到第二概率矩阵;

根据所述第一概率矩阵和所述第二概率矩阵对所述卷积神经网络进行剪枝处理。

可选地,所述基于通道注意力机制对所述卷积神经网络进行剪枝处理,得到第一概率矩阵,包括:

对所述卷积神经网络的通道进行降维变换,得到通道权重;

将所述通道与所述通道对应的通道权重相乘,得到所述通道对应的注意力矩阵;

利用第一函数和所述注意力矩阵获取第一概率矩阵。

可选地,基于权重注意力机制和输入图像对所述卷积神经网络进行剪枝处理,得到第二概率矩阵,包括:

对所述卷积神经网络中当前卷积层输出的特征图像与所述当前卷积层上一层的卷积层输出的特征图像进行线性相加,得到特征图像矩阵;

基于激活函数对所述特征图像矩阵进行非线性化处理;

基于卷积核对处理后的特征图像矩阵进行降维运算,得到降维图像矩阵;

利用第二函数获取所述降维图像矩阵的权重矩阵;

将所述权重矩阵与所述上一层的卷积层输出的特征图像相乘,得到乘积矩阵;

根据所述乘积矩阵和第一函数获取第二概率矩阵。

可选地,根据所述第一概率矩阵和所述第二概率矩阵对所述卷积神经网络进行剪枝处理,包括:

确定所述第一概率矩阵中小于第一阈值的通道数值;

从所述卷积神经网络中剔除所述通道数值对应的通道,并将其余通道作为保留通道;

根据所述保留通道确定所述第二概率矩阵中相同的通道;

确定所述第二概率矩阵中相同的通道对应的权重值中小于第二阈值的权重值,从所述卷积神经网络中剔除所述权重值。

可选地,对剪枝处理后的卷积神经网络进行二次剪枝处理,包括:

删除所述卷积神经网络模型的权重参数中小于剪枝阈值的权重参数。

可选地,对二次剪枝处理后的卷积神经网络进行量化操作,包括:

通过快速卷积算法、网络层合并、多线程运行中的至少之一对所述二次剪枝处理后的卷积神经网络进行量化处理。

第二方面,本申请实施例还提供了一种网络模型的剪枝量化处理装置,该装置包括:

剪枝模块,用于基于通道注意力机制和权重注意力机制对卷积神经网络进行剪枝处理;

剪枝模块,还用于对剪枝处理后的卷积神经网络进行二次剪枝处理;

量化模块,用于对二次剪枝处理后的卷积神经网络进行量化操作。

第三方面,本申请实施例还提供了一种电子设备,该电子设备包括:

存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,当处理器执行计算机程序时,实现如本申请实施例提供的一种网络模型的剪枝量化处理方法。

第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当该计算机程序被处理器执行时,实现如本申请实施例提供的一种网络模型的剪枝量化处理方法。

本申请提供了一种网络模型的剪枝量化处理方法、装置、设备及存储介质,该方法可以包括:基于通道注意力机制和权重注意力机制对卷积神经网络进行剪枝处理;对剪枝处理后的卷积神经网络进行二次剪枝处理;对二次剪枝处理后的卷积神经网络进行量化操作。通过这样的处理方式可以剔除卷积神经网络模型中贡献量小的参数,实现以较少的参数量接近原始模型的精度的前提下,保证网络模型的响应速度。

附图说明

图1是本申请实施例中的一种网络模型的剪枝量化处理方法的流程图;

图2是本申请实施例中的确定第一概率矩阵的方法流程图;

图3是本申请实施例中的确定第二概率矩阵的方法流程图;

图4是本申请实施例中的根据第一概率矩阵和第二概率矩阵进行剪枝的方法流程图;

图5是本申请实施例中的网络模型的剪枝量化处理装置示意图;

图6是本申请实施例中的另一种网络模型的剪枝量化处理装置示意图;

图7是本申请实施例中的再一种网络模型的剪枝量化处理装置示意图;

图8是本申请实施例中的电子设备的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。

另外,在本申请实施例中,“可选地”或者“示例性地”等词用于表示作例子、例证或说明。本申请实施例中被描述为“可选地”或者“示例性地”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“可选地”或者“示例性地”等词旨在以具体方式呈现相关概念。

图1为本申请实施例提供的一种网络模型的剪枝量化处理方法的流程图,该方法可以应用于执法记录仪等便携式设备中,实现快速处理并响应设备获取的信息。如图1所示,该方法可以包括但不限于以下步骤:

s101、基于通道注意力机制和权重注意力机制对卷积神经网络进行剪枝处理。

本申请实施例中的卷积神经网络可以用于对图像或视频进行处理,通过将通道注意力机制和权重注意力机制相结合对卷积神经网络中的网络模型参数进行剪枝、优化,可以实现以较少的参数量接近原始模型的精度。

示例性地,本申请实施例中,基于通道注意力机制和权重注意力机制对卷积神经网络进行剪枝处理的实现方式可以包括:基于通道注意力机制对卷积神经网络进行剪枝处理,得到第一概率矩阵。基于权重注意力机制和输入图像对卷积神经网络进行剪枝处理,得到第二概率矩阵。其中,在卷积神经网络对视频进行处理的情况下,这里的输入图像也可以理解为输入视频中的每一帧图像。根据第一概率矩阵和第二概率矩阵对卷积神经网络进行剪枝处理。

s102、对剪枝处理后的卷积神经网络进行二次剪枝处理。

上述步骤s101中将通道注意力机制与权重注意力机制相结合的方式可以理解为对卷积神经网络的第一次剪枝处理,那么在此基础上可以从其他维度对剪枝后的卷积神经网络进行二次剪枝,以进一步降低网络模型的大小。

例如,基于通道注意力机制和权重注意力机制对卷积神经网络进行剪枝后,二次剪枝可以不再基于卷积层、通道等层面进行剪枝,而是从权重参数的角度进行判断、剪枝,删除卷积神经网络模型的权重参数中小于剪枝阈值的权重参数,以减少模型的运算量。

可选地,在对模型进行二次剪枝之前,可以对第一次剪枝之后的网络模型进行微调,例如,结合正则化项l1进行网络模型训练,使卷积神经网络的权重变得稀疏,这样不仅可以弥补第一次剪枝后损失的模型精度,还可以保证二次剪枝的效果。

s103、对二次剪枝处理后的卷积神经网络进行量化操作。

示例性地,本申请实施例中选用的量化处理方式可以包括快速卷积算法、网络层合并、多线程运行中的至少一个。

其中,快速卷积算法(winograd)可以从数学运算的角度减少乘法的数量,其实现公式如下:

其中,m1=(d0-d2)g0,m4=(d1-d3)g2,上述公式中表示特征矩阵,表示卷积核。

但是上述快速卷积算法的缺陷是仅在大通道尺寸的情况下才有量化效果。

网络层合并的方式可以为对卷积神经网络中的算子进行合并,例如将卷积层(conv)、加速神经网络训练层(batchnorm,bn)和激活层(relu)合并为一层,并取消连接层(concat)等。

可选地,也可以通过硬件架构特性、通道(pineline)、高速缓冲存储器(cache)、内存数据重排、neon汇编指令等软硬件方式对网络模型进行量化处理。

需要说明的是,上述量化方式属于现有技术中的常规操作,本申请实施例在此不对各量化方式的具体实现过程进行详细描述,本领域技术人员可以根据实际需要选择其中一种或多种组合对剪枝后的网络模型进行量化,本申请实施例对此不作限定。

本申请实施例提供了一种网络模型的剪枝量化处理方法,该方法包括基于通道注意力机制和权重注意力机制对卷积神经网络进行剪枝处理;对剪枝处理后的卷积神经网络进行二次剪枝处理;对二次剪枝处理后的卷积神经网络进行量化操作。通过这样的处理方式可以剔除卷积神经网络模型中贡献量小的参数,实现以较少的参数量接近原始模型的精度的前提下,保证网络模型的响应速度。

如图2所示,在一种示例中,上述步骤s101中基于通道注意力机制对卷积神经网络进行剪枝处理,得到第一概率矩阵的实现方式,包括但不限于以下步骤:

s201、对卷积神经网络的通道进行降维变换,得到通道权重。

例如,假设卷积神经网络的输入为h*w*c,其中h表示图像高度,w表示图像宽度,c表示卷积神经网络的c个通道,那么本步骤中对卷积神经网络的通道进行降维变换即可理解为针对每一个通道进行降维变换,那么将输入降维得到1*1*c矩阵,这样即可得到c个通道的通道权重。

s202、将通道与通道对应的通道权重相乘,得到通道对应的注意力矩阵。

将通道与通道对应的通道权重相乘,即将c个通道分别乘以各自通道的权重值,得到各通道各自对应的注意力矩阵,这样可以增强对重要通道的注意力。

s203、利用第一函数和注意力矩阵获取第一概率矩阵。

示例性地,这里的第一函数可以采用归一化指数函数(softmax函数),利用该第一函数对获取的注意力矩阵进行计算,即可得到第一概率矩阵。

如图3所示,在一种示例中,上述步骤s101中基于权重注意力机制和输入图像对卷积神经网络进行剪枝处理,得到第二概率矩阵的实现方式可以包括但不限于以下步骤:

s301、对卷积神经网络中当前卷积层输出的特征图像与当前卷积层上一层的卷积层输出的特征图像进行线性相加,得到特征图像矩阵。

s302、基于激活函数对特征图像矩阵进行非线性化处理。

s303、基于卷积核对处理后的特征图像矩阵进行降维运算,得到降维图像矩阵。

例如,这里卷积核的尺寸大小可以为1*1*1,即基于1*1*1卷积核对非线性化处理后的特征图像矩阵进行计算,得到降维图像矩阵。

s304、利用第二函数获取降维图像矩阵的权重矩阵。

可选地,第二函数可以选用阈值函数,例如,sigmoid函数,sigmoid函数可以将变量映射到0~1范围内。因此,通过sigmoid函数对降维图像矩阵进行计算,可以得到对应的权重矩阵。

s305、将权重矩阵与上一层的卷积层输出的特征图像相乘,得到乘积矩阵。

s306、根据乘积矩阵和第一函数获取第二概率矩阵。

同样地,这里的第一函数为上述归一化指数函数(softmax函数),即通过该归一化指数函数对上述乘积矩阵进行计算,即可得到第二概率矩阵。

如图4所示,在一种示例中,上述步骤s101中,根据第一概率矩阵和第二概率矩阵对卷积神经网络进行剪枝处理的实现方式可以包括但不限于以下步骤:

s401、确定第一概率矩阵中小于第一阈值的通道数值。

本步骤中的第一阈值用于从通道的角度确定卷积神经网络中的剪枝对象,设图2实施例得到的第一概率矩阵的形式为1*1*c,那么基于第一阈值可以判断第一概率矩阵包含的c个通道中小于第一阈值的通道数值。

s402、从卷积神经网络中剔除通道数值对应的通道,并将其余通道作为保留通道。

基于上述步骤s401确定第一概率矩阵中小于第一阈值的通道数值后,将该通道数值对应的通道确定为剔除对象,从卷积神经网络中剔除相应的通道,并将剩余的其余通道作为保留通道。

s403、根据保留通道确定第二概率矩阵中相同的通道。

在本申请实施例中,基于通道注意力机制和基于权重注意力机制分别是从通道的角度和权重的角度对网络模型输入的信息进行处理的,与图2实施例类似,图3实施例计算得到的第二概率矩阵的形式为h*w*c,那么根据步骤s402得到的保留通道对应的可以得到第二概率矩阵中相应的通道、通道数值。

s404、确定第二概率矩阵中相同的通道对应的权重值中小于第二阈值的权重值,从卷积神经网络中剔除权重值。

本步骤中的第二阈值用于从权重的角度确定卷积神经网络中的剪枝对象,基于步骤s403确定第二概率矩阵中对应的保留通道后,可以根据第二阈值对保留通道对应的权重值进行判断,确定对应通道中小于第二阈值的权重值,并从卷积神经网络中剔除相应的权重值。

经过上述步骤,可以实现分别从通道、权重的角度剔除网络模型中贡献量小的因子,以在保证精度基本无损的情况下,降低卷积神经网络模型的大小。

通过上述方式对网络模型进行剪枝量化后,可以将优化后的网络模型移植于相应的电子设备中进行使用。

本申请实施例提供了一种优选的实施方式,比如采用华为海思35xx开发板。以选用海思hi3519芯片为例,在采用上述过程中的量化、剪枝、低秩相结合的方式处理得到优化后的模型之后,可以通过onnx将优化后的模型转化为nnie框架下支持的.wk模型,并撰写至工程上运行。其中,onnx为一种针对机器学习所设计的开放式的文件格式,用于存储训练好的模型,它可以实现不同的人工智能框架采用采用相同格式存储信息。nnie是神经网络推理机(neuralnetworkinferenceengine)的简称,为海思媒体系统级芯片(soc,system-on-a-chip)中专门针对神经网络进行加速处理的硬件单元。

图5为本申请实施例提供的一种网络模型的剪枝量化处理装置,如图5所示,该装置包括:剪枝模块501、量化模块502;

剪枝模块,用于基于通道注意力机制和权重注意力机制对卷积神经网络进行剪枝处理;

剪枝模块,还用于对剪枝处理后的卷积神经网络进行二次剪枝处理;

量化模块,用于对二次剪枝处理后的卷积神经网络进行量化操作。

示例性地,如图6所示,剪枝模块还可以包括第一剪枝单元601、第二剪枝单元602、第三剪枝单元603;

其中,第一剪枝单元,用于基于通道注意力机制对卷积神经网络进行剪枝处理,得到第一概率矩阵;

第二剪枝单元,用于基于权重注意力机制和输入图像对卷积神经网络进行剪枝处理,得到第二概率矩阵;

第三剪枝单元,用于根据第一概率矩阵和第二概率矩阵对卷积神经网络进行剪枝处理。

在一种示例中,上述第一剪枝单元,用于对卷积神经网络的通道进行降维变换,得到通道权重;将通道与通道对应的通道权重相乘,得到通道对应的注意力矩阵;以及,利用第一函数(例如,softmax函数)和注意力矩阵获取第一概率矩阵。

在一种示例中,上述第二剪枝单元,用于对卷积神经网络中当前卷积层输出的特征图像与当前卷积层上一层的卷积层输出的特征图像进行线性相加,得到特征图像矩阵;基于激活函数对特征图像矩阵进行非线性化处理;基于卷积核对处理后的特征图像矩阵进行降维运算,得到降维图像矩阵;利用第二函数(例如,sigmoid函数)获取降维图像矩阵的权重矩阵;将权重矩阵与上一层的卷积层输出的特征图像相乘,得到乘积矩阵;以及,根据乘积矩阵和第一函数获取第二概率矩阵。

在一种示例中,第三剪枝单元,用于确定第一概率矩阵中小于第一阈值的通道数值;从卷积神经网络中剔除通道数值对应的通道,并将其余通道作为保留通道;根据保留通道确定第二概率矩阵中相同的通道;确定第二概率矩阵中相同的通道对应的权重值中小于第二阈值的权重值,从卷积神经网络中剔除权重值。

示例性地,如图7所示,上述剪枝模块还可以包括第四剪枝单元604;

第四剪枝单元,用于删除卷积神经网络模型的权重参数中小于剪枝阈值的权重参数。

示例性地,上述量化模块,可以用于通过快速卷积算法、网络层合并、多线程运行中的至少之一对二次剪枝处理后的卷积神经网络进行量化处理。

本申请实施例所提供的网络模型的剪枝量化处理装置可执行本申请图1-图4实施例所提供的网络模型的剪枝量化处理方法,具备执行方法相应的功能模块和有益效果。

图8为本申请实施例提供的一种电子设备的结构示意图,如图8所示,该设备包括处理器801、存储器802、输入装置803和输出装置804;设备中处理器801的数量可以是一个或多个,图8中以一个处理器801为例;设备中的处理器801、存储器802、输入装置803和输出装置804可以通过总线或其他方式连接,图8中以通过总线连接为例。

存储器802作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例图1-图4中的网络模型的剪枝量化处理方法对应的程序指令/模块(例如,网络模型的剪枝量化处理装置中的剪枝模块501、量化模块502)。处理器801通过运行存储在存储器802中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的网络模型的剪枝量化处理方法。

存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据云服务器的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器802可进一步包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至设备/终端/服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置803可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置804可包括显示屏等显示设备。

本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种网络模型的剪枝量化处理方法,该方法包括:

基于通道注意力机制和权重注意力机制对卷积神经网络进行剪枝处理;

对剪枝处理后的卷积神经网络进行二次剪枝处理;

对二次剪枝处理后的卷积神经网络进行量化操作。

当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本申请任意实施例所提供的网络模型的剪枝量化处理方法。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

值得注意的是,上述网络模型的剪枝量化处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。

注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1