CN112232505A - 模型训练方法、处理方法、装置、电子设备及存储介质 - Google Patents
模型训练方法、处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112232505A CN112232505A CN202010948437.3A CN202010948437A CN112232505A CN 112232505 A CN112232505 A CN 112232505A CN 202010948437 A CN202010948437 A CN 202010948437A CN 112232505 A CN112232505 A CN 112232505A
- Authority
- CN
- China
- Prior art keywords
- channel
- importance
- model
- target model
- input feature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 133
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000003860 storage Methods 0.000 title claims abstract description 12
- 238000003672 processing method Methods 0.000 title claims description 8
- 238000012545 processing Methods 0.000 claims abstract description 156
- 230000004913 activation Effects 0.000 claims abstract description 93
- 230000006870 function Effects 0.000 claims description 109
- 238000010586 diagram Methods 0.000 claims description 41
- 238000004364 calculation method Methods 0.000 claims description 32
- 238000005520 cutting process Methods 0.000 claims description 27
- 238000010606 normalization Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 12
- 238000011176 pooling Methods 0.000 claims description 8
- 230000000694 effects Effects 0.000 abstract description 13
- 230000008569 process Effects 0.000 description 27
- 238000013138 pruning Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供了一种模型训练方法、处理方法、装置、电子设备及存储介质。该方法中,根据待裁剪模型,创建第一目标模型,第一目标模型中设置有动态激活函数分支,对于第一目标模型中的处理层,根据动态激活函数分支,确定处理层的输入特征图中各个通道对应的重要性表征参数,重要性表征参数包括通道对应的斜率,不同输入特征图对应的重要性表征参数不同,接着,根据各个通道对应的重要性表征参数确定各个通道的重要度,并根据各个通道的重要度对输入特征图的通道进行裁剪,最后,基于裁剪后的输入特征图及第一目标模型,训练获取第二目标模型。这样,一定程度上可以在提高效率的同时,确保预测效果。
Description
技术领域
本发明属于网络技术领域,特别是涉及一种模型训练方法、处理方法、装置、电子设备及存储介质。
背景技术
为了提高模型的处理效率,有时需要对模型进行裁剪。具体进行裁剪时,往往是根据模型处理过程中的特征图的通道的重要度,对特征图的通道进行裁剪。
现有技术在确定通道的重要度时,往往是使用模型的批归一化层的缩放因子参数来判断通道的重要度,但是批归一化层的缩放因子参数还要用来决定特征的缩放尺寸。因此在调整缩放因子参数的时候,还需要同时兼顾特征缩放,这样就会导致缩放因子参数无法准确表征通道的重要度,使用缩放因子参数确定的重要度进行裁剪时,可能会使一些重要的通道被裁剪,进而导致模型的预测效果较差。
发明内容
鉴于上述问题,提出了本发明实施例提出了一种模型训练方法、处理方法、装置、电子设备及存储介质,以便克服上述问题或者至少部分地解决上述问题。为了解决上述技术问题,本发明是这样实现的:
本发明实施例的第一方面,提供了一种模型训练方法,所述方法包括:
根据待裁剪模型,创建第一目标模型;所述第一目标模型中设置有动态激活函数分支;
对于所述第一目标模型中的处理层,根据所述动态激活函数分支,确定所述处理层的输入特征图中各个通道对应的重要性表征参数;所述重要性表征参数包括所述通道对应的斜率;
根据各个所述通道对应的重要性表征参数确定各个所述通道的重要度;
根据各个所述通道的重要度对所述输入特征图的通道进行裁剪;
基于裁剪后的所述输入特征图及所述第一目标模型,训练获取第二目标模型。
本发明实施例的第二方面,提供了一种模型处理方法,所述方法包括:
对于第二目标模型中的处理层,根据所述第二目标模型中的动态激活函数分支,确定所述处理层的输入特征图中各个通道对应的重要性表征参数;所述重要性表征参数包括所述通道对应的斜率;
根据各个所述通道对应的重要性表征参数确定各个所述通道的重要度;
根据各个所述通道的重要度对所述输入特征图的通道进行裁剪;
基于裁剪后的所述输入特征图,进行后续处理;
其中,所述第二目标模型是根据权利要求1至9中任一所述方法训练得到的。
本发明实施例的第三方面,提供了一种模型训练装置,所述装置包括:
创建模块,用于根据待裁剪模型,创建第一目标模型;所述第一目标模型中设置有动态激活函数分支;
第一确定模块,用于对于所述第一目标模型中的处理层,根据所述动态激活函数分支,确定所述处理层的输入特征图中各个通道对应的重要性表征参数;所述重要性表征参数包括所述通道对应的斜率;
第二确定模块,用于根据各个所述通道对应的重要性表征参数确定各个所述通道的重要度;
裁剪模块,用于根据各个所述通道的重要度对所述输入特征图的通道进行裁剪;
训练模块,用于基于裁剪后的所述输入特征图及所述第一目标模型,训练获取第二目标模型。
本发明实施例的第四方面,提供了一种模型处理装置,所述装置包括:
第一确定模块,用于对于第二目标模型中的处理层,根据所述第二目标模型中的动态激活函数分支,确定所述处理层的输入特征图中各个通道对应的重要性表征参数;所述重要性表征参数包括所述通道对应的斜率;
第二确定模块,用于根据各个所述通道对应的重要性表征参数确定各个所述通道的重要度;
裁剪模块,用于根据各个所述通道的重要度对所述输入特征图的通道进行裁剪;
处理模块,用于基于裁剪后的所述输入特征图,进行后续处理;
其中,所述第二目标模型是本发明实施例第三方面所述的装置训练得到的。
本发明实施例的第五方面,还公开了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本发明实施例第一方面或第二方面所述的方法。
本发明实施例的第六方面,还公开了一种计算机可读存储介质,其存储的计算机程序使得处理器执行如本发明实施例第一方面或第二方面所述的方法。
本发明实施例包括以下优点:
在本发明实施例中,根据待裁剪模型,创建第一目标模型,第一目标模型中设置有动态激活函数分支,对于第一目标模型中的处理层,根据动态激活函数分支,确定处理层的输入特征图中各个通道对应的重要性表征参数,重要性表征参数包括通道对应的斜率,不同输入特征图对应的重要性表征参数不同,接着,根据各个通道对应的重要性表征参数确定各个通道的重要度,并根据各个通道的重要度对输入特征图的通道进行裁剪,最后,基于裁剪后的输入特征图及第一目标模型,训练获取第二目标模型。这样,通过在训练过程中,使用动态激活函数分支确定的斜率来确定通道的重要度,使得模型可以学习到如何基于斜率来裁剪通道,由于通道对应的斜率无需兼顾特征缩放,因此一定程度上可以在提高效率的同时,确保预测效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种模型训练方法的步骤流程图;
图2是本发明实施例提供的一种动态激活函数分支的示意图;
图3是本发明实施例的一种处理过程示意图;
图4是本发明实施例提供的一种模型处理方法的步骤流程图;
图5是本发明实施例提供的一种图像处理方法的步骤流程图;
图6是本发明实施例提供的一种模型训练装置的框图;
图7是本发明实施例提供的一种模型处理装置的框图;
图8是本发明实施例提供的一种图像处理装置的框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先,对本发明实施例涉及的一种应用场景进行说明。具体的,目前基于卷积神经网络的深度学习模型在计算机视觉领域取得了长足的进展,例如,深度学习模型可以以较佳的预测性能实现图像分类,目标检测,语义分割等任务。然而卷积神经网络强大的预测性能需要较大的算力支撑,例如,在图像处理场景中,需要有足够的图像处理器(GraphicsProcessing Unit,GPU)算力支撑。这就对用于部署卷积神经网络的设备造成了较大的限制。因此,用于在不降低模型预测性能的同时,提升模型预测效率的模型压缩算法成为学术界和工业界广泛关注的对象。
其中,模型通道剪枝算法是模型压缩算法中比较通用且有效的一种提升模型计算效率的方法,它通过减少模型中每一层输入通道数来降低每一层的浮点计算量,从而提升模型整体的计算效率。现有的模型通道剪枝算法可以分为两类:静态模型通道剪枝和动态模型通道剪枝。静态模型剪枝是整个数据集上的样本共享一个模型结构,而动态模型剪枝是保留裁剪前模型完整表达能力,训练和预测时需要根据输入动态选择模型子结构,即,动态选择模型中特征图的通道。动态模型通道剪枝相对与静态模型剪枝保留了模型结构完整的表达能力,不会造成预测性能损失。且能够更好的自适应输入特征。提升模型泛化能力,因此,得到了广泛的使用。
目前,动态模型剪枝算法都是基于批归一化层的缩放因子参数来判断通道的重要度,但是批归一化层的缩放因子参数还有另外一个作用就是将每一层输出特征放缩到合适的分布。由于这两者的优化方向并不一致,这样,可能让优化缩放因子参数的过程陷入局部最优,进而导致最终优化得到的缩放因子参数无法准确表征通道的重要度,使用缩放因子参数确定的重要性进行裁剪时,使一些重要的通道被裁剪,进而影响模型最终的预测性能。
为此,本发明实施例提供了一种模型训练方法,以解决上述问题。
图1是本发明实施例提供的一种模型训练方法的步骤流程图,如图1所示,该方法可以包括:
步骤101、根据待裁剪模型,创建第一目标模型;所述第一目标模型中设置有动态激活函数分支。
本发明实施例中,待裁剪模型可以是需要通过裁剪,降低计算复杂度的模型。待裁剪模型的需要完成的具体任务可以是根据实际需求设置的,本发明实施例对此不作限定。示例的,待裁剪模型可以是用于实现图像分类任务、目标检测任务、视频分类任务、图像增强任务、运动跟踪任务的模型。进一步地,第一目标模型可以是以待裁剪模型为基础,构建的包括动态激活函数分支的模型,本发明实施例中的动态激活函数分支可以为一个模块。
步骤102、对于所述第一目标模型中的处理层,根据所述动态激活函数分支,确定所述处理层的输入特征图中各个通道对应的重要性表征参数;所述重要性表征参数包括所述通道对应的斜率。
本发明实施例中,处理层可以是第一目标模型中需要对特征图进行处理的层,示例的,处理层可以为卷积层。输入特征图可以是该处理层的上一层输出给该处理层的特征图。输入特征图可以为C*H*W维度的特征图。其中,C表示输入特征图的通道数,H表示输入特征图的高、W表示输入特征图的宽。输入特征图的各个通道中包括元素,所有元素组成该输入特征图。
重要性表征参数可以用于表征该通道的重要性,具体的,重要性表征参数可以包括动态激活函数分支确定的斜率。可以通过设置动态激活函数分支根据特征图中元素的特征值,为每个通道确定对应的斜率,不同输入特征图中元素的特征值不同,相应地,动态激活函数分支为其确定的斜率往往不同,后续基于斜率裁剪的通道也不同。进一步地,实际应用场景中,针对特征图进行处理时,往往是根据特征图中元素对应的斜率和该元素的特征值进行计算。因此,如果一个元素的斜率越大,一定程度上可以反映出该元素的重要性较高。相应地,本发明实施例中,通过设置动态激活函数分支从通道的维度为每个通道确定对应的斜率,以各个通道对应的斜率可以较为准确的表征该通道的重要性。当然,需要说明的是,重要性表征参数还可以包括其他参数,本发明实施例对此不作限定。
步骤103、根据各个所述通道对应的重要性表征参数确定各个所述通道的重要度。
步骤104、根据各个所述通道的重要度对所述输入特征图的通道进行裁剪。
本发明实施例中,由于重要性表征参数可以表征各个通道的重要性,因此,可以先基于重要性表征参数量化通道的重要性,得到各个通道的重要度。接着,可以对重要度较低的通道进行裁剪。这样,通过裁剪掉部分通道,可以降低对该输入特征图进行处理时的计算量,进而降低模型整体的计算复杂度。
步骤105、基于裁剪后的所述输入特征图及所述第一目标模型,训练获取第二目标模型。
由于裁剪后的输入特征图的通道数变少,相应地,基于该裁剪后的输入特征图,训练获取第二目标模型时,可以降低训练过程中模型的计算量。
本发明实施例提供的模型训练方法,会根据待裁剪模型,创建第一目标模型,第一目标模型中设置有动态激活函数分支,对于第一目标模型中的处理层,根据动态激活函数分支,确定处理层的输入特征图中各个通道对应的重要性表征参数,重要性表征参数包括通道对应的斜率,不同输入特征图对应的重要性表征参数不同,接着,根据各个通道对应的重要性表征参数确定各个通道的重要度,并根据各个通道的重要度对输入特征图的通道进行裁剪,最后,基于裁剪后的输入特征图及第一目标模型,训练获取第二目标模型。这样,通过在训练过程中,使用动态激活函数分支确定的斜率来确定通道的重要度,使得模型可以学习到如何基于斜率来裁剪通道,由于通道对应的斜率无需兼顾特征缩放,因此一定程度上可以在提高效率的同时,确保预测效果。
同时,本发明实施例中额外引入的动态激活函数分支为模型引入的模型参数及计算量较小,这样,以较小的成本代价即可实现通过本发明实施例提供的模型训练方法,提高模型的预测能力。且本发明实施例提供的模型训练方法与待裁剪模型具体需要完成的任务无关,可应用于完成不同任务的模型,适用范围较为广泛。
可选的,本发明实施例的一种实现方式中,根据所述动态激活函数分支,确定所述处理层的输入特征图中各个通道对应的重要性表征参数的步骤,可以包括下述子步骤:
子步骤(1):基于所述动态激活函数分支中定义的模型参数及各个所述通道中元素的特征值,为所述输入特征图的各个所述通道分配斜率和截距;同一通道中的元素共享所述通道的斜率和截距。
子步骤(2):根据各个所述通道对应的斜率和截距,获取各个所述通道对应的重要性表征参数。
本发明实施例中,不同通道由于包含的元素的特征值可能不同,因此,为不同通道分配的斜率和截距可以不同。在训练过程中,随着模型在学习过程中能力的提高,第一目标模型中的各个模型参数会不断优化,各个模型参数的准确性也会越来越高,相应地,通过训练可以使得动态激活函数分支最终可以学习到准确的为不同通道分配斜率和截距的能力。同时,由于裁剪时往往是基于通道维度进行裁剪,因此,本发明实施例中通过动态激活函数分支在通道维度上为各个通道分配斜率和截距的方式,使得后续可以便捷的获取通道维度上各个通道的重要性表征参数,进而一定程度上提高获取效率。
进一步地,根据各个通道对应的斜率和截距,获取各个通道对应的重要性表征参数时,可以从各个通道对应的斜率和截距中提取各个通道对应的斜率,作为各个通道对应的重要性表征参数。进一步地,实际应用场景中,针对特征图进行处理时,往往还会结合特征图中元素对应的截距进行计算。因此,截距一定程度上也可以反映重要性。相应地,本发明实施例中,还可以提取各个通道对应的斜率和截距,作为各个通道对应的重要性表征参数。需要说明的是,虽然截距一定程度上也可以表征重要性,但由于结合斜率和截距进行计算时,斜率占据的比重往往大于截距所占的比重,因此,仅通过截距往往无法准确的表征重要性。本发明实施例中,在以斜率表征重要性的基础上,引入截距,一定程度上可以确保重要性表征参数的准确性。当然,在本发明的另一可选实施例中,也可以仅提取各个通道对应的截距作为重要性表征参数,本发明实施例对此不作限定。
本发明实施例中,动态激活函数分支可以包括全局池化层、至少一个全连接层、整流线性单元(Rectified Linear Unit,RELU)激活函数层及归一化层。示例的,动态激活函数分支可以具体为:全局池化层→全连接层→ReLU激活函数层→全连接层→归一化层。需要说明的是,基于动态激活函数分支中定义的模型参数及各个通道中元素的特征值,为输入特征图的各个通道分配斜率和截距时,可以将输入特征图中各通道中元素的特征值作为动态激活函数分支,动态激活函数分支中的各个层结合各个层中定义的参数对输入进行处理之后,得到动态激活函数分支输出的斜率和截距,最后,可以将该输出的斜率和截距直接作为分配的斜率和截距。或者,也可以是计算输出的斜率和截距与预设常数项之和,作为分配的斜率和截距。这样,通过为输出的斜率和截距加上预设常数项进行校正后,再作为分配的斜率和截距的方式,一定程度上可以确保分配的斜率和截距的准确性。
示例的,图2是本发明实施例提供的一种动态激活函数分支的示意图,如图2所示,Xl-1表示动态激活函数分支的输入,“Global Pool”表示全局池化层、“Full ConnectedLayer”表示全连接层、“RELU”表示RELU激活函数层、“Normalize”表示归一化层。全局池化层、全连接层、RELU激活函数层、全连接层及归一化层对输入依次处理之后,可以分别为输出的斜率加上预设常数项α1:k,为输出的截距加上预设常数项β1:k,得到为通道分配的斜率a和截距b。
可选的,本发明实施例中根据待裁剪模型创建第一目标模型的步骤,可以通过下述操作实现:将所述待裁剪模型中的原始激活函数层,替换为所述动态激活函数分支。
具体的,由于原始激活函数层往往都是针对特征图中的每个元素分配斜率及截距,且往往是为每个元素分配固定的斜率及截距。为了实现从通道维度根据特征图中各个维度的实际情况,动态为通道进行分配,本发明实施例可以将待裁剪模型中的原始激活函数层替换为动态激活函数分支。示例的,替换时可以先将待裁剪模型中的原始激活函数层去除,然后将动态激活函数分支接入待裁剪模型,为模型中每个卷积层设置一个动态激活函数分支。本发明实施例中,通过将待裁剪模型中的原始激活函数层替换为动态激活函数分支,使得模型可以根据具备从通道维度分类斜率和截距的能力,进而方便后续基于动态激活函数分支获取重要性表征参数。同时,由于激活函数一定程度上本身具备过滤不重要特征的特性,因此,本发明实施例中充分利用的激活函数的特性,使用激活函数来进行通道选择更具有意义,一定程度上可以确保通道选择的准确性。进一步地,本发明实施例中,将表征通道重要性的重要性表征参数和决定特征缩放尺寸的批归一化层中的缩放因子参数分离,使批归一化层中的缩放因子参数仅用于决定特征缩放尺寸,重要性表征参数仅用于决定通道的重要性,这样,可以避免优化方向不一致,导致效果较差的问题。需要说明的是,在原始激活函数为RELU激活函数层的情况下,也可以直接在原有的RELU激活函数层的基础上,连接全局池化层、至少一个全连接层及归一化层,得到动态激活函数分支。进一步地,动态激活函数分支中的全局池化层及全连接层可以用于将输入向量化,这样,通过向量化可以方便后续进行计算,进而一定程度上提高计算效率。归一化层可以用于将RELU激活函数层的分配的斜率和截距归一化至预设区间内,示例的,归一化层可以由Sigmoid激活函数组成,归一化层的处理逻辑可以表征为2*Sigmoid(x)-1,预设区间可以为[-1,1]。这样,通过归一化,可以使得动态激活函数分支最终输出的斜率和截距的数值更加稳定,且易于处理。
可选的,本发明实施例的一种实现方式中,动态激活函数分支针对每个通道分配斜率和截距的维度可以为[N,C,K]。其中,N表示输入特征图的数量,C表示输入特征图通道数,K表示线性变换个数。N、C、K的具体值可以根据实际需求设定。示例的,在批量计算的训练场景中,N的具体值可以由小批量(mini-batch)子集中包含的样本数量决定。进一步地,K可以为通道中包含的元素的个数,本发明实施例对此不作限定。相应地,一个通道可以对应K个斜率,根据所述各个通道对应的重要性表征参数确定各个所述通道的重要度的步骤,可以包括:对于任一所述通道,将所述通道对应的最大斜率作为所述通道的重要度。具体的,可以直接提取K个斜率中的最大斜率作为通道的重要度,这样,通过减少操作即可得到通道的重要度,确定效率较高。或者,将所述通道对应的K个斜率的平均值作为所述通道的重要度;具体的,可以按照预设的平均值计算公式,计算K个斜率的平均值作为通道的重要度,通过平均值可以表征K个斜率的整体情况,进而使得确定的重要度更具代表性。或者,将所述通道对应的K个斜率之间的欧几里距离作为所述通道的重要度。具体的,对应的K个斜率之间的欧几里距离可以是,对K个斜率组成的张量在K维度上求欧几里距离(L2 norm)。由于个斜率之间的欧几里距离可以更为准确的表征K个斜率的整体情况,这样可以使得确定的重要度更具代表性,进而确保后续基于重要度进行裁剪的准确性。进一步地,通过对每个输入特征图的每个通道进行求解,可以得到维度为[N,C]的重要度特征,该重要度特征可以表征上一层输出至该处理层的特征图中各个通道的重要性。
可选的,本发明实施例训练获取第二目标模型的操作,可以包括N个训练阶段,各个训练阶段的子目标计算复杂度依次递减,最后一个训练阶段的子目标计算复杂度等于所述第二目标模型的目标计算复杂度。
具体的N可以是根据实际需求设定的,示例的,N可以为4,或者为5。第二目标模型的目标计算复杂度小于待裁剪模型的计算复杂度,目标计算复杂度可以是根据实际需求设定的,示例的,可以以待裁剪模型的计算复杂度为基准计算复杂度,目标计算复杂度可以为基准计算复杂度的50%,60%等等,本发明实施例对此不作限定。进一步地,可以根据最终想要达到的目标计算复杂度,确定每个训练阶段的子目标计算复杂度。示例的,假设每个训练阶段裁剪掉每一层10%的通道数,N为4,目标计算复杂度为基准计算复杂度的60%,那么可以设定第一个训练阶段的子目标计算复杂度为基准计算复杂度的90%,第二个训练阶段的子目标计算复杂度为基准计算复杂度的80%,第三个训练阶段的子目标计算复杂度为基准计算复杂度的70%,第四个训练阶段的子目标计算复杂度为基准计算复杂度的60%,4个阶段训练完后即可得到计算复杂度达到所需的目标计算复杂度的模型。本发明实施例中,通过将训练过程划分为多个训练阶段,并按照递减的方式设置各个训练阶段所需达到的计算复杂度,这样,使得训练过程中可以较为平缓稳定的对模型的复杂度进行降低,避免短期内对模型的计算复杂度造成突变,进而一定程度上提高模型的训练效果。
相应地,本发明实施例的一种可选实施方式中,根据各个所述通道的重要度对所述输入特征图的通道进行裁剪的操作,可以包括:
子步骤(3):根据各个所述训练阶段的子目标计算复杂度,确定当前训练阶段的子目标计算复杂度,得到当前目标复杂度。
子步骤(4):根据所述当前目标复杂度,确定所述处理层对应的待裁剪通道数量n;所述n与所述当前目标复杂度负相关。
子步骤(5):基于所述通道裁剪分支对所述输入特征图中重要度最低的前n个通道进行裁剪。
通道裁剪分支可以是创建第一目标模型时,为第一目标模块设置的。通道裁剪分支可以为一个模块。具体实施时,可以每完成一个训练阶段之后进行记录,根据已完成的训练阶段,确定当前正在进行的训练阶段,进而确定当前目标复杂度。由于不同训练阶段所需达到的子目标计算复杂度不同,因此每个训练阶段中需要裁剪的通道数不同。相应地,可以根据当前目标复杂度,确定当前具体需要裁剪多少个通道。具体的,模型中可能会包含多个处理层,随着一层一层的处理,位置越靠后的处理层接收到的输入特征图的通道会越来越少,因此,在确定n时,可以按照预设的复杂度及处理层所处层数与裁剪数量之间的对应关系,查找确定该处理层对应的待裁剪通道数量n。其中,处理层所处层数越大表示所处位置越靠后,对应关系中处理层所处层数、复杂度均与对应的裁剪数量负相关。进一步地,可以按照重要性由低至高的顺序依次排序,然后将前n个通道裁剪。
本发明实施例中,通过确定当前目标复杂度,根据当前目标复杂度针对性的确定待裁剪通道数量n并进行裁剪,可以确保通过当前训练阶段可以得到当前目标复杂度,进而一定程度上确保训练效果。
可选的,本发明实施例的一种实现方式中,基于裁剪后的所述输入特征图及第一目标模型,训练获取第二目标模型的步骤,可以包括:
子步骤(6):根据所述第一目标模型中各个所述处理层的输入特征图对应的斜率,计算各个所述处理层的稀疏约束值。
子步骤(7):将所述稀疏约束值之和,确定为所述第一目标模型的稀疏约束损失值。
本发明实施例中,可以根据第一目标模型中各个处理层的输入特征图对应的斜率以及根据预设的组套索(Group Lasso)算法,计算该处理层的Group Lasso稀疏约束值。然后计算所有处理层的Group Lasso稀疏约束值之和,得到第一目标模型的稀疏约束损失值。
子步骤(8):基于所述第一目标模型的稀疏约束损失值,对所述第一目标模型的中的模型参数进行调整。
具体的,还可以计算第一目标模型的基础损失值,例如,可以通过交叉熵损失函数,计算第一目标模型的基础损失值。结合稀疏约束损失值及基础损失值对模型参数进行调整,例如,可以计算这两个损失值的加权和,得到综合损失值,根据综合损失值,采用随机梯度下降法对模型参数进行优化调整。当然,也可以仅根据稀疏约束损失值,采用随机梯度下降法对模型参数进行优化调整。本发明实施例对此不作限定。
本发明实施例中,通过计算第一目标模型的稀疏约束损失值,稀疏约束损失值,对模型参数进行调整,在训练过程中引入稀疏约束,使得训练出来的模型运行时,针对各个通道确定出来的斜率数值较小,具有较好的稀疏性,进而方便后续基于斜率进行处理。
子步骤(9):在所述第一目标模型满足所述当前训练阶段的模型收敛条件,且所述当前训练阶段为所述最后一个训练阶段的情况下,将所述第一目标模型确定为所述第二目标模型。
本发明实施例中,模型收敛条件可以是根据实际需求设置的,示例的,模型收敛条件可以为使用训练集中的全部样本训练N次,模型的损失值落入预设范围,对模型参数的调整次数达到预设次数阈值,等等。如果模型在当前训练阶段收敛,且当前训练阶段为最后一个训练阶段的情况下,则可以认为模型目前达到了所需达到的计算复杂度,因此,可以将在当前训练阶段实现收敛的第一目标模型,确定为第二目标模型。可选的,若所述第一目标模型满足所述当前训练阶段的模型收敛条件,且所述当前训练阶段不为最后一个训练阶段的情况下,则可以进入所述当前训练阶段的下一训练阶段,继续进行训练,以确保训练出目标计算复杂度的模型。
可选的,对所述输入特征图中重要度最低的前n个通道进行裁剪,包括:将所述重要度最低的前n个通道的重要度设置为0。
所述处理层可以包括卷积处理单元及最大限度(maxout)激活函数单元,具体的,第一目标模型中的每个卷积处理单元可以连接有一个maxout激活函数单元。相应地,本发明实施例还可以包括:根据所述卷积处理单元对所述输入特征图进行卷积处理,得到卷积处理结果;基于所述maxout激活函数单元,根据裁剪后的所述输入特征图的重要度张量及所述卷积处理结果,获取所述处理层的输出特征图;所述重要度张量包括裁剪后的所述输入特征图中各个通道对应的重要度;将所述处理层的输出特征图作为所述第一目标模型中下一处理层的输入特征图。
具体的,可以根据第一目标模型中的批归一化层对卷积处理结果进行处理,然后将批归一化层的输出及重要度张量相乘后作为maxout激活函数单元,最后,将maxout激活函数单元的输出作为处理层最终的输出特征图,作为下一处理层的输入特征图,输出给下一处理层进行处理。本发明实施例中,通过使用裁剪后的输入特征图的重要度张量对卷积处理结果处理,获取输出特征图并作为下一处理层的输入特征图,使得下一处理层的输入特征图的通道数可以更少,进而降低后续的计算量,提高计算效率。
示例的,图3是本发明实施例的一种处理过程示意图,如图3所示,对于卷积层的输入特征图Xl-1,卷积层可以对输入特征图进行卷积处理(Convolution),得到卷积处理结果Conv(Xi-1),接着,可以通过批归一化层(BN)对卷积处理结果进行处理,得到批归一化层的输出BN(Conv(Xi-1))。同时,对于输入特征图Xi-1,可以通过动态RELU模块(Dynamic RELU)确定输入特征图中各个通道对应的斜率,然后对斜率求L2norm,得到各个通道的重要度,接着可以选择重要度最低的前n个通道(Choose top-n channel predictor),并将这n个通道的重要度设置为0,得到重要度张量(图3中斜线覆盖的表示设置为0的通道,未被覆盖的表示未被设置为0的通道)。之后,可以计算重要度张量和BN(Conv(Xi-1))的乘积,经过maxout激活函数层对乘积处理之后,可以得到下一处理层的输入特征图。需要说明的是,图3中当前的卷积层的输入特征图的通道并未减少,因此,对于当前的卷积层而言,其计算过程中的浮点计算量并未降低。进一步地,为了提高处理效率,可以信息流可以按照图3中所示虚线进行传输,即,根据裁剪后的输入特征图,进行卷积处理,进而降低卷积处理过程中的计算量,提高计算效率。
下面以一具体实例,对本发明实施例提供的模型训练方法进行说明。具体的,以待裁剪模型为应用到图像识别数据集(ImageNet)实现分类任务的ResNet-50模型,裁剪ResNet-50模型50%的计算量为目标为例,可以通过以下步骤示出的操作实现:
S1:在ImageNet数据集上,获取训练好的ResNet-50模型。
S2:基于预训练的ResNet-50模型,将模型中每个卷积层(block)中的ReLU层替换成动态激活函数分支,并引入通道裁剪分支。
S3:在分类任务的交叉熵目标函数的基础上,引入Group Lasso稀疏约束,基于Group Lasso稀疏约束根据每一个卷积层中动态激活函数模块输出的斜率a计算GroupLass稀疏约束值,将所有卷积层中的Group Lasso稀疏约束值之和模型的稀疏约束损失值,并基于交叉熵目标函数计算的交叉熵损失值以及稀疏约束损失值,对模型进行模型参数调整。
S4:引入迭代训练。例如初始裁剪率为0,第一个迭代过程为保留每个卷积层中的90%通道进行训练,其余10%通道置为0,直至该迭代过程训练收敛,第二个迭代为保留每个卷积层中80%通道进行训练,其余20%通道置为0,直至该迭代过程训练收敛,如此往复,直至到达目标计算复杂度对应的迭代过程,并将该迭代过程训练收敛为止。
该具体实例中,通过引入动态激活函数模块裁剪通道,可以在降低计算复杂度,提高模型计算效率的同时,确保模型的预测效果。通过引入稀疏约束,使得训练出来的模型运行时,针对各个通道确定出来的斜率数值较小,具有较好的稀疏性,进而方便基于斜率进行处理。通过划分多轮迭代过程,即,划分多个训练阶段,使得训练过程中可以较为平缓稳定的对模型的复杂度进行降低,避免短期内对模型的计算复杂度造成突变,进而一定程度上提高模型的训练效果。
图4是本发明实施例提供的一种模型处理方法的步骤流程图,如图4所示,该方法可以包括:
步骤201、对于第二目标模型中的处理层,根据所述第二目标模型中的动态激活函数分支,确定所述处理层的输入特征图中各个通道对应的重要性表征参数;所述重要性表征参数包括所述通道对应的斜率。
步骤202、根据各个所述通道对应的重要性表征参数确定各个所述通道的重要度。
步骤203、根据各个所述通道的重要度对所述输入特征图的通道进行裁剪。
步骤204、基于裁剪后的所述输入特征图,进行后续处理。
本发明实施例中,第二目标模型可以是通过上述模型训练实施例训练得到的。通过上述训练方法使得第二目标模型学习到了基于动态激活函数分支为特征图中各个通道准确分配重要性表征参数的能力,进而可以确保基于重要性表征参数为各个通道确定的重要度。相应地,在使用第二目标模型时,可以准确的根据重要度对输入特征图的通道进行裁剪,这样,基于裁剪后的所述输入特征图进行后续处理时,可以实现在降低处理复杂度,提高处理效率的同时,确保预测效果,使得计算效率和预测准确率达到更好的平衡。
图5是本发明实施例提供的一种图像处理方法的步骤流程图,如图5所示,该方法可以包括:
步骤301、获取待处理图像。
本发明实施例中,待处理图像可以是用户输入的图像、从网络中下载的图像、设备拍摄的图像或设备拍摄的视频中的图像,等等。
步骤302、将所述待处理图像作为第二目标模型的输入,并利用所述第二目标模型对所述待处理图像进行处理,得到图像处理结果。
本发明实施例中,可以将待处理图像输入至第二目标模型,相应地,第二目标模块可以根据特征提取层提取待处理图像的图像特征,生成待处理图像对应的输入特征图。接着,可以将输入特征图输入至第二目标模型中的处理层,处理层可以根据第二目标模型中的动态激活函数分支,确定该处理层的输入特征图中各个通道对应的重要性表征参数,根据各个通道对应的重要性表征参数确定各个通道的重要度,接着,根据各个通道的重要度对输入特征图的通道进行裁剪,最后,基于裁剪后的所述输入特征图,进行后续处理。在经过后续处理之后,可以得到待处理图像的图像处理结果。
进一步地,第二目标模型可以是用于对图像进行目标检测、图像分割、图像分类等操作的模型。相应地,得到的图像处理结果可以为检测到的待处理图像中包含的目标物体、分割后的待处理图像、待处理图像所属的类别,等等。需要说明的是,本发明实施例中第二目标模型对待处理图像实现的具体操作并不影响第二目标模型对待处理图像对应的输入特征图进行裁剪的过程,第二目标模型实现的具体操作可以是根据实际需求设置的。
本发明实施例中,第二目标模型可以是通过上述模型训练实施例训练得到的。通过上述训练方法使得第二目标模型学习到了基于动态激活函数分支为特征图中各个通道准确分配重要性表征参数的能力,进而可以确保基于重要性表征参数为各个通道确定的重要度。相应地,在使用第二目标模型对待处理图像进行处理时,第二目标模型可以准确的根据重要度对待处理图像对应的特征图的通道进行裁剪,这样,基于裁剪后的特征图进行后续处理时,可以实现在降低图像处理复杂度,提高图像处理效率的同时,确保图像处理效果。
图6是本发明实施例提供的一种模型训练装置的框图,如图6所示,该装置50可以包括:
创建模块501,用于根据待裁剪模型,创建第一目标模型;所述第一目标模型中设置有动态激活函数分支;
第一确定模块502,用于对于所述第一目标模型中的处理层,根据所述动态激活函数分支,确定所述处理层的输入特征图中各个通道对应的重要性表征参数;所述重要性表征参数包括所述通道对应的斜率;
第二确定模块503,用于根据各个所述通道对应的重要性表征参数确定各个所述通道的重要度;
裁剪模块504,用于根据各个所述通道的重要度对所述输入特征图的通道进行裁剪;
训练模块505,用于基于裁剪后的所述输入特征图及所述第一目标模型,训练获取第二目标模型。
可选的,所述第一确定模块502,具体用于:
基于所述动态激活函数分支中定义的模型参数及各个所述通道中元素的特征值,为所述输入特征图的各个所述通道分配斜率和截距;同一通道中的元素共享所述通道的斜率和截距;
根据各个所述通道对应的斜率和截距,获取各个所述通道对应的重要性表征参数。
可选的,所述创建模块501,具体用于:
将所述待裁剪模型中的原始激活函数层,替换为所述动态激活函数分支;
其中,所述动态激活函数分支包括全局池化层、至少一个全连接层、整流线性单元RELU激活函数层及归一化层。
可选的,一个所述通道对应K个斜率;所述第二确定模块503,具体用于:
对于任一所述通道,将所述通道对应的最大斜率作为所述通道的重要度;
或者,将所述通道对应的K个斜率的平均值作为所述通道的重要度;
或者,将所述通道对应的K个斜率之间的欧几里距离作为所述通道的重要度。
可选的,所述训练获取第二目标模型的操作包括N个训练阶段;其中,各个所述训练阶段的子目标计算复杂度依次递减,最后一个训练阶段的子目标计算复杂度等于所述第二目标模型的目标计算复杂度。
可选的,所述第一目标模型中还包括通道裁剪分支;所述裁剪模块504,具体用于:
根据各个所述训练阶段的子目标计算复杂度,确定当前训练阶段的子目标计算复杂度,得到当前目标复杂度;
根据所述当前目标复杂度,确定所述处理层对应的待裁剪通道数量n;所述n与所述当前目标复杂度负相关;
基于所述通道裁剪分支对所述输入特征图中重要度最低的前n个通道进行裁剪。
可选的,所述训练模块,具体用于:
根据所述第一目标模型中各个所述处理层的输入特征图对应的斜率,计算各个所述处理层的稀疏约束值;
将所述稀疏约束值之和,确定为所述第一目标模型的稀疏约束损失值;
基于所述第一目标模型的稀疏约束损失值,对所述第一目标模型中的模型参数进行调整;
在所述第一目标模型满足所述当前训练阶段的模型收敛条件,且所述当前训练阶段为所述最后一个训练阶段的情况下,将所述第一目标模型确定为所述第二目标模型。
可选的,所述裁剪模块504,还具体用于:将所述重要度最低的前n个通道的重要度设置为0。
相应地,所述处理层包括卷积处理单元及最大限度maxout激活函数单元,所述装置50还包括:
处理模块,用于根据所述卷积处理单元对所述输入特征图进行卷积处理,得到卷积处理结果;
获取模块,用于基于所述maxout激活函数单元,根据裁剪后的所述输入特征图的重要度张量及所述卷积处理结果,获取所述处理层的输出特征图;所述重要度张量包括裁剪后的所述输入特征图中各个通道对应的重要度;
输出模块,用于将所述处理层的输出特征图作为所述第一目标模型中下一处理层的输入特征图。
可选的,所述训练模块504,还具体用于:
若所述第一目标模型满足所述当前训练阶段的模型收敛条件,且所述当前训练阶段不为所述最后一个训练阶段的情况下,则进入所述当前训练阶段的下一训练阶段。
本发明实施例提供的模型训练装置,会根据待裁剪模型,创建第一目标模型,第一目标模型中设置有动态激活函数分支,对于第一目标模型中的处理层,根据动态激活函数分支,确定处理层的输入特征图中各个通道对应的重要性表征参数,重要性表征参数包括通道对应的斜率,不同输入特征图对应的重要性表征参数不同,接着,根据各个通道对应的重要性表征参数确定各个通道的重要度,并根据各个通道的重要度对输入特征图的通道进行裁剪,最后,基于裁剪后的输入特征图及第一目标模型,训练获取第二目标模型。这样,通过在训练过程中,使用动态激活函数分支确定的斜率来确定通道的重要度,使得模型可以学习到如何基于斜率来裁剪通道,由于通道对应的斜率无需兼顾特征缩放,因此一定程度上可以在提高效率的同时,确保预测效果。
图7是本发明实施例提供的一种模型处理装置的框图,如图7所示,该装置60可以包括:
第一确定模块601,用于对于第二目标模型中的处理层,根据所述第二目标模型中的动态激活函数分支,确定所述处理层的输入特征图中各个通道对应的重要性表征参数;所述重要性表征参数包括所述通道对应的斜率;
第二确定模块602,用于根据各个所述通道对应的重要性表征参数确定各个所述通道的重要度;
裁剪模块603,用于根据各个所述通道的重要度对所述输入特征图的通道进行裁剪;
处理模块604,用于基于裁剪后的所述输入特征图,进行后续处理;
其中,所述第二目标模型是根据上述模型训练装置训练得到的。
图8是本发明实施例提供的一种图像处理装置的框图,如图8所示,该装置70可以包括:
获取模块701,用于获取待处理图像;
处理模块702,用于将所述待处理图像作为第二目标模型的输入,并利用所述第二目标模型对所述待处理图像进行处理,得到图像处理结果;
其中,所述第二目标模型是根据上述模型训练装置训练得到的。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处及所能实现的效果参见对应的方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,可以包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行如本发明实施例所述的一个或多个方法实施例中的步骤。
本发明实施例还提供了一种计算机可读存储介质,其存储的计算机程序使得处理器执行如本发明实施例所述的一个或多个方法实施例中的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种模型训练方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式。
Claims (16)
1.一种模型训练方法,其特征在于,所述方法包括:
根据待裁剪模型,创建第一目标模型;所述第一目标模型中设置有动态激活函数分支;
对于所述第一目标模型中的处理层,根据所述动态激活函数分支,确定所述处理层的输入特征图中各个通道对应的重要性表征参数;所述重要性表征参数包括所述通道对应的斜率;
根据各个所述通道对应的重要性表征参数确定各个所述通道的重要度;
根据各个所述通道的重要度对所述输入特征图的通道进行裁剪;
基于裁剪后的所述输入特征图及所述第一目标模型,训练获取第二目标模型。
2.根据权利要求1所述方法,其特征在于,所述根据所述动态激活函数分支,确定所述处理层的输入特征图中各个通道对应的重要性表征参数,包括:
基于所述动态激活函数分支中定义的模型参数及各个所述通道中元素的特征值,为所述输入特征图的各个所述通道分配斜率和截距;同一通道中的元素共享所述通道的斜率和截距;
根据各个所述通道对应的斜率和截距,获取各个所述通道对应的重要性表征参数。
3.根据权利要求1或2所述方法,其特征在于,所述根据待裁剪模型,创建第一目标模型,包括:
将所述待裁剪模型中的原始激活函数层,替换为所述动态激活函数分支;
其中,所述动态激活函数分支包括全局池化层、至少一个全连接层、整流线性单元RELU激活函数层及归一化层。
4.根据权利要求1或2所述方法,其特征在于,一个所述通道对应K个斜率;
所述根据所述各个通道对应的重要性表征参数确定各个所述通道的重要度,包括:
对于任一所述通道,将所述通道对应的最大斜率作为所述通道的重要度;
或者,将所述通道对应的K个斜率的平均值作为所述通道的重要度;
或者,将所述通道对应的K个斜率之间的欧几里距离作为所述通道的重要度。
5.根据权利要求1所述方法,其特征在于,所述训练获取第二目标模型的操作包括N个训练阶段;其中,各个所述训练阶段的子目标计算复杂度依次递减,最后一个训练阶段的子目标计算复杂度等于所述第二目标模型的目标计算复杂度。
6.根据权利要求5所述方法,其特征在于,所述第一目标模型中还包括通道裁剪分支;所述根据各个所述通道的重要度对所述输入特征图的通道进行裁剪,包括:
根据各个所述训练阶段的子目标计算复杂度,确定当前训练阶段的子目标计算复杂度,得到当前目标复杂度;
根据所述当前目标复杂度,确定所述处理层对应的待裁剪通道数量n;所述n与所述当前目标复杂度负相关;
基于所述通道裁剪分支对所述输入特征图中重要度最低的前n个通道进行裁剪。
7.根据权利要求5或6所述方法,其特征在于,所述基于裁剪后的所述输入特征图及所述第一目标模型,训练获取第二目标模型,包括:
根据所述第一目标模型中各个所述处理层的输入特征图对应的斜率,计算各个所述处理层的稀疏约束值;
将所述稀疏约束值之和,确定为所述第一目标模型的稀疏约束损失值;
基于所述第一目标模型的稀疏约束损失值,对所述第一目标模型中的模型参数进行调整;
在所述第一目标模型满足所述当前训练阶段的模型收敛条件,且所述当前训练阶段为所述最后一个训练阶段的情况下,将所述第一目标模型确定为所述第二目标模型。
8.根据权利要求7所述方法,其特征在于,所述对所述输入特征图中重要度最低的前n个通道进行裁剪,包括:
将所述重要度最低的前n个通道的重要度设置为0;
相应地,所述处理层包括卷积处理单元及最大限度maxout激活函数单元,所述方法还包括:
根据所述卷积处理单元对所述输入特征图进行卷积处理,得到卷积处理结果;
基于所述maxout激活函数单元,根据裁剪后的所述输入特征图的重要度张量及所述卷积处理结果,获取所述处理层的输出特征图;所述重要度张量包括裁剪后的所述输入特征图中各个通道对应的重要度;
将所述处理层的输出特征图作为所述第一目标模型中下一处理层的输入特征图。
9.根据权利要求7所述方法,其特征在于,所述方法还包括:
若所述第一目标模型满足所述当前训练阶段的模型收敛条件,且所述当前训练阶段不为所述最后一个训练阶段的情况下,则进入所述当前训练阶段的下一训练阶段。
10.一种模型处理方法,其特征在于,所述方法包括:
对于第二目标模型中的处理层,根据所述第二目标模型中的动态激活函数分支,确定所述处理层的输入特征图中各个通道对应的重要性表征参数;所述重要性表征参数包括所述通道对应的斜率;
根据各个所述通道对应的重要性表征参数确定各个所述通道的重要度;
根据各个所述通道的重要度对所述输入特征图的通道进行裁剪;
基于裁剪后的所述输入特征图,进行后续处理;
其中,所述第二目标模型是根据权利要求1至9中任一所述方法训练得到的。
11.一种图像处理方法,其特征在于,所述方法包括:
获取待处理图像;
将所述待处理图像作为第二目标模型的输入,并利用所述第二目标模型对所述待处理图像进行处理,得到图像处理结果;
其中,所述第二目标模型是根据权利要求1至9中任一所述方法训练得到的。
12.一种模型训练装置,其特征在于,所述装置包括:
创建模块,用于根据待裁剪模型,创建第一目标模型;所述第一目标模型中设置有动态激活函数分支;
第一确定模块,用于对于所述第一目标模型中的处理层,根据所述动态激活函数分支,确定所述处理层的输入特征图中各个通道对应的重要性表征参数;所述重要性表征参数包括所述通道对应的斜率;
第二确定模块,用于根据各个所述通道对应的重要性表征参数确定各个所述通道的重要度;
裁剪模块,用于根据各个所述通道的重要度对所述输入特征图的通道进行裁剪;
训练模块,用于基于裁剪后的所述输入特征图及所述第一目标模型,训练获取第二目标模型。
13.一种模型处理装置,其特征在于,所述装置包括:
第一确定模块,用于对于第二目标模型中的处理层,根据所述第二目标模型中的动态激活函数分支,确定所述处理层的输入特征图中各个通道对应的重要性表征参数;所述重要性表征参数包括所述通道对应的斜率;
第二确定模块,用于根据各个所述通道对应的重要性表征参数确定各个所述通道的重要度;
裁剪模块,用于根据各个所述通道的重要度对所述输入特征图的通道进行裁剪;
处理模块,用于基于裁剪后的所述输入特征图,进行后续处理;
其中,所述第二目标模型是根据权利要求12中所述的装置训练得到的。
14.一种图像处理装置,其特征在于,所述装置包括:
获取模块,用于获取待处理图像;
处理模块,用于将所述待处理图像作为第二目标模型的输入,并利用所述第二目标模型对所述待处理图像进行处理,得到图像处理结果;
其中,所述第二目标模型是根据权利要求12中所述的装置训练得到的。
15.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现如权利要求1-11任一所述的方法。
16.一种计算机可读存储介质,其特征在于,其存储的计算机程序使得处理器执行如权利要求1-11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010948437.3A CN112232505A (zh) | 2020-09-10 | 2020-09-10 | 模型训练方法、处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010948437.3A CN112232505A (zh) | 2020-09-10 | 2020-09-10 | 模型训练方法、处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112232505A true CN112232505A (zh) | 2021-01-15 |
Family
ID=74116136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010948437.3A Pending CN112232505A (zh) | 2020-09-10 | 2020-09-10 | 模型训练方法、处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112232505A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115797752A (zh) * | 2023-02-13 | 2023-03-14 | 济南博观智能科技有限公司 | 一种模型训练方法、装置、设备及存储介质 |
CN116072096A (zh) * | 2022-08-10 | 2023-05-05 | 荣耀终端有限公司 | 模型训练方法、声学模型、语音合成系统和电子设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107609599A (zh) * | 2017-09-27 | 2018-01-19 | 北京小米移动软件有限公司 | 特征识别方法及装置 |
CN109635939A (zh) * | 2019-01-07 | 2019-04-16 | 北京邮电大学 | 一种基于裁剪的卷积神经网络的确定方法及装置 |
CN109784490A (zh) * | 2019-02-02 | 2019-05-21 | 北京地平线机器人技术研发有限公司 | 神经网络的训练方法、装置和电子设备 |
CN109858611A (zh) * | 2019-01-11 | 2019-06-07 | 平安科技(深圳)有限公司 | 基于通道注意力机制的神经网络压缩方法及相关设备 |
CN109886341A (zh) * | 2019-02-25 | 2019-06-14 | 厦门美图之家科技有限公司 | 一种训练生成人脸检测模型的方法 |
US20190251441A1 (en) * | 2018-02-13 | 2019-08-15 | Adobe Systems Incorporated | Reducing architectural complexity of convolutional neural networks via channel pruning |
CN110147834A (zh) * | 2019-05-10 | 2019-08-20 | 上海理工大学 | 基于稀疏化双线性卷积神经网络的细粒度图像分类方法 |
CN110991621A (zh) * | 2019-12-13 | 2020-04-10 | 中国科学院计算技术研究所 | 一种基于通道数搜索卷积神经网络的方法 |
CN111061889A (zh) * | 2018-10-16 | 2020-04-24 | 京东方科技集团股份有限公司 | 图片多标签的自动识别方法和装置 |
CN111291883A (zh) * | 2018-12-07 | 2020-06-16 | 阿里巴巴集团控股有限公司 | 数据处理方法及数据处理装置 |
US20200234130A1 (en) * | 2017-08-18 | 2020-07-23 | Intel Corporation | Slimming of neural networks in machine learning environments |
CN111444760A (zh) * | 2020-02-19 | 2020-07-24 | 天津大学 | 一种基于剪枝与知识蒸馏的交通标志检测与识别方法 |
-
2020
- 2020-09-10 CN CN202010948437.3A patent/CN112232505A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200234130A1 (en) * | 2017-08-18 | 2020-07-23 | Intel Corporation | Slimming of neural networks in machine learning environments |
CN107609599A (zh) * | 2017-09-27 | 2018-01-19 | 北京小米移动软件有限公司 | 特征识别方法及装置 |
US20190251441A1 (en) * | 2018-02-13 | 2019-08-15 | Adobe Systems Incorporated | Reducing architectural complexity of convolutional neural networks via channel pruning |
CN111061889A (zh) * | 2018-10-16 | 2020-04-24 | 京东方科技集团股份有限公司 | 图片多标签的自动识别方法和装置 |
CN111291883A (zh) * | 2018-12-07 | 2020-06-16 | 阿里巴巴集团控股有限公司 | 数据处理方法及数据处理装置 |
CN109635939A (zh) * | 2019-01-07 | 2019-04-16 | 北京邮电大学 | 一种基于裁剪的卷积神经网络的确定方法及装置 |
CN109858611A (zh) * | 2019-01-11 | 2019-06-07 | 平安科技(深圳)有限公司 | 基于通道注意力机制的神经网络压缩方法及相关设备 |
CN109784490A (zh) * | 2019-02-02 | 2019-05-21 | 北京地平线机器人技术研发有限公司 | 神经网络的训练方法、装置和电子设备 |
CN109886341A (zh) * | 2019-02-25 | 2019-06-14 | 厦门美图之家科技有限公司 | 一种训练生成人脸检测模型的方法 |
CN110147834A (zh) * | 2019-05-10 | 2019-08-20 | 上海理工大学 | 基于稀疏化双线性卷积神经网络的细粒度图像分类方法 |
CN110991621A (zh) * | 2019-12-13 | 2020-04-10 | 中国科学院计算技术研究所 | 一种基于通道数搜索卷积神经网络的方法 |
CN111444760A (zh) * | 2020-02-19 | 2020-07-24 | 天津大学 | 一种基于剪枝与知识蒸馏的交通标志检测与识别方法 |
Non-Patent Citations (2)
Title |
---|
E. KIM等: "NestedNet: Learning Nested Sparse Structures in Deep Neural Networks", 2018 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, 16 December 2018 (2018-12-16), pages 8669 - 8678 * |
杨晶东等: "基于动态衰减EMA的图像分类算法研究", 小型微型计算机系, vol. 41, no. 07, 31 July 2020 (2020-07-31), pages 1524 - 1529 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116072096A (zh) * | 2022-08-10 | 2023-05-05 | 荣耀终端有限公司 | 模型训练方法、声学模型、语音合成系统和电子设备 |
CN116072096B (zh) * | 2022-08-10 | 2023-10-20 | 荣耀终端有限公司 | 模型训练方法、声学模型、语音合成系统和电子设备 |
CN115797752A (zh) * | 2023-02-13 | 2023-03-14 | 济南博观智能科技有限公司 | 一种模型训练方法、装置、设备及存储介质 |
CN115797752B (zh) * | 2023-02-13 | 2023-05-23 | 济南博观智能科技有限公司 | 一种模型训练方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109344921B (zh) | 一种基于深度神经网络模型的图像识别方法、装置及设备 | |
CN110807757B (zh) | 基于人工智能的图像质量评估方法、装置及计算机设备 | |
CN111354059B (zh) | 图像处理方法及装置 | |
CN110232436A (zh) | 卷积神经网络的修剪方法、装置及存储介质 | |
CN110363297A (zh) | 神经网络训练及图像处理方法、装置、设备和介质 | |
CN111144561A (zh) | 一种神经网络模型确定方法及装置 | |
CN113284001B (zh) | 用电量预测方法、装置、计算机设备和存储介质 | |
CN113657421B (zh) | 卷积神经网络压缩方法和装置、图像分类方法和装置 | |
CN112232505A (zh) | 模型训练方法、处理方法、装置、电子设备及存储介质 | |
US10990807B2 (en) | Selecting representative recent digital portraits as cover images | |
CN112598110B (zh) | 神经网络构建方法、装置、设备及介质 | |
CN112101547B (zh) | 一种对网络模型的剪枝方法、装置、电子设备及存储介质 | |
CN110321892B (zh) | 一种图片筛选方法、装置及电子设备 | |
CN112819157B (zh) | 神经网络训练的方法及装置、智能行驶控制的方法及装置 | |
CN111709415B (zh) | 目标检测方法、装置、计算机设备和存储介质 | |
CN112749726A (zh) | 目标检测模型的训练方法、装置、计算机设备和存储介质 | |
CN112598062A (zh) | 一种图像识别方法和装置 | |
CN113179421A (zh) | 视频封面选择方法、装置、计算机设备和存储介质 | |
US11914638B2 (en) | Image selection from a database | |
CN113128664A (zh) | 神经网络压缩方法、装置、电子设备及存储介质 | |
CN113240090A (zh) | 图像处理模型生成方法、图像处理方法、装置及电子设备 | |
CN111091580B (zh) | 一种基于改进ResNet-UNet网络的立木图像分割方法 | |
KR20210111677A (ko) | 뉴럴 네트워크의 클리핑 방법, 뉴럴 네트워크의 컨벌루션 계산 방법 및 그 방법을 수행하기 위한 전자 장치 | |
CN117113174A (zh) | 一种模型训练的方法、装置、存储介质及电子设备 | |
CN116629341A (zh) | 模型的结构调整方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |