CN113554169A - 模型优化方法、装置、电子设备及可读存储介质 - Google Patents
模型优化方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN113554169A CN113554169A CN202110859734.5A CN202110859734A CN113554169A CN 113554169 A CN113554169 A CN 113554169A CN 202110859734 A CN202110859734 A CN 202110859734A CN 113554169 A CN113554169 A CN 113554169A
- Authority
- CN
- China
- Prior art keywords
- network model
- model
- preset
- post
- network
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000005457 optimization Methods 0.000 title claims abstract description 24
- 238000012549 training Methods 0.000 claims abstract description 52
- 238000012804 iterative process Methods 0.000 claims abstract description 15
- 238000009966 trimming Methods 0.000 claims abstract description 7
- 230000008569 process Effects 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 4
- 239000010410 layer Substances 0.000 description 86
- 238000013528 artificial neural network Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000016776 visual perception Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000007787 solid Substances 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种模型优化方法、装置、电子设备及可读存储介质,该方法包括:对当前网络模型进行预设轮数的稀疏约束训练,并依据预设阈值对训练后的第一网络模型进行裁剪,得到第一裁后模型;对第一裁后模型的各层进行等比例扩充,并对扩充后的网络模型进行非稀疏约束训练;迭代执行上述操作,直至得到的第二网络模型满足预设停止规则时,确定迭代完成;依据预设裁后计算量,以及迭代过程中得到的第二网络模型,确定第二裁后模型;依据第二裁后模型,对原始网络模型进行变权重稀疏约束训练,得到原始网络模型对应的稀疏模型,并对所述稀疏模型进行离线裁剪。该方法可以实现基于变权重稀疏约束的网络模型自动裁剪。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种模型优化方法、装置、电子设备及可读存储介质。
背景技术
随着人工智能技术的高速发展,依据网络模型执行智能任务,如进行智能检测(如车辆、车牌检测等)的应用越来越普及。由于终端设备的计算资源通常是有限的,若网络模型的结构过于复杂,则其对计算资源的需求会过大,导致终端设备依据该网络模型执行智能任务的速度会比较慢,实时性较差。因此,为了提高终端设备执行智能任务的实时性,可以对终端设备上应用的网络模型进行合理裁剪,而基于稀疏约束的网络模型裁剪是一种较为常用的网络模型裁剪方式。
稀疏约束是通过训练重构模型参数的一种典型方法,通过将每层网络参数分为多组,并在目标函数中添加稀疏约束的方式,减小一些组的范数,从而达到稀疏的目的。
目前,基于稀疏约束对网络模型进行裁剪主要包括两种方案:
1、等权重稀疏约束方案:对网络模型的所有连接使用相同强度的稀疏约束。这种方法的缺点是不能将网络的每一层精确稀疏到指定稀疏度。
2、变权重稀疏约束方案:对网络模型的不同连接使用不同强度的稀疏约束,从而,将网络的每层精确稀疏到指定稀疏度。
然而实践发现,传统变权重稀疏约束方案需要人工设定网络模型各层的裁剪比例,无法实现自动裁剪,导致终端设备依据网络模型执行智能任务的实时性较差。
发明内容
有鉴于此,本申请提供一种模型优化方法、装置、电子设备及可读存储介质,以解决传统变权重稀疏约束方案无法实现网络模型自动裁剪,进而导致终端设备执行智能任务的实时性差的问题。
具体地,本申请是通过如下技术方案实现的:
根据本申请实施例的第一方面,提供一种模型优化方法,包括:
对当前网络模型进行预设轮数的稀疏约束训练,并依据预设阈值对训练后的第一网络模型进行裁剪,得到第一裁后模型;
对所述第一裁后模型的各层进行等比例扩充,以使扩充后的网络模型的计算量与原始网络模型的计算量一致,并对所述扩充后的网络模型进行非稀疏约束训练,得到训练后的第二网络模型;
迭代执行上述操作,直至得到的第二网络模型满足预设停止规则时,确定迭代完成;其中,所述预设停止规则包括第二网络模型各层的通道数随着迭代次数的增加的变化幅度不超过预设取值范围;迭代过程中,第一次执行上述操作时,所述当前网络模型为所述原始网络模型,非第一次执行上述操作时,所述当前网络模型为上一次得到的第二网络模型;
依据预设裁后计算量,以及迭代过程中得到的第二网络模型,确定第二裁后模型;
依据所述第二裁后模型,对所述原始网络模型进行变权重稀疏约束训练,得到所述原始网络模型对应的稀疏模型,并对所述稀疏模型进行离线裁剪。
根据本申请实施例的第二方面,提供一种模型优化装置,包括:
预训练单元,用于对当前网络模型进行预设轮数的稀疏约束训练,并依据预设阈值对训练后的第一网络模型进行裁剪,得到第一裁后模型;对所述第一裁后模型的各层进行等比例扩充,以使扩充后的网络模型的计算量与原始网络模型的计算量一致,并对所述扩充后的网络模型进行非稀疏约束训练,得到训练后的第二网络模型;迭代执行上述操作,直至得到的第二网络模型满足预设停止规则时,确定迭代完成;其中,所述预设停止规则包括第二网络模型各层的通道数随着迭代次数的增加的变化幅度不超过预设取值范围;迭代过程中,第一次执行上述操作时,所述当前网络模型为所述原始网络模型,非第一次执行上述操作时,所述当前网络模型为上一次得到的第二网络模型;
确定单元,用于依据预设裁后计算量,以及迭代过程中得到的第二网络模型,确定第二裁后模型;
处理单元,用于依据所述第二裁后模型,对所述原始网络模型进行变权重稀疏约束训练,得到所述原始网络模型对应的稀疏模型,并对所述稀疏模型进行离线裁剪。
根据本申请实施例的第三方面,提供一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器用于执行机器可执行指令,以实现上述模型优化方法。
根据本申请实施例的第四方面,提供一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现上述模型优化方法。
本申请提供的技术方案至少可以带来以下有益效果:
通过迭代执行对原始网络模型进行预设轮数的稀疏约束训练,依据预设阈值对训练后的第一网络模型进行裁剪,得到第一裁后模型,并对第一裁后模型的各层进行等比例扩充,以使扩充后的网络模型的计算量与原始网络模型的计算量一致,对扩充后的网络模型进行非稀疏约束训练,得到训练后的第二网络模型的操作,直至第二网络模型满足预设停止规则时,确定迭代完成,进而,依据预设裁后计算量,以及迭代过程中得到的第二网络模型,确定第二裁后模型,不需要采用神经网络搜索方法,使用稀疏约束算法,根据各层的稀疏速度,自动选择合适的裁后模型结构(即第二裁后模型),当按照上述方式得到了第二裁后模型时,可以依据第二裁后模型,对原始网络模型进行变权重稀疏约束训练,得到原始网络模型对应的稀疏模型,并对稀疏模型进行裁剪,实现了基于变权重稀疏约束的网络模型自动裁剪,进而,可以降低裁剪后的网络模型对计算资源的需求,提高依据裁剪后的网络模型执行智能任务的实时性。
附图说明
图1是本申请示例性实施例示出的一种模型优化方法的流程示意图;
图2是本申请示例性实施例示出的一种模型优化方案实现流程示意图;
图3是本申请示例性实施例示出的一种模型优化装置的结构示意图;
图4是本申请示例性实施例示出的一种电子设备的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面先对本申请实施例涉及的部分技术术语进行简单说明。
1、神经网络(Neural Network,简称NN),也可以称为人工神经网络(ArtificialNeural Network,简称ANN),是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。
神经网络由大量的节点(或称“神经元”)和之间相互的联接构成。每个节点代表一种特定的输出函数,称为激励函数、激活函数。每两个节点间的联接都代表一个对于通过该连接信号的加权值,称之为权重。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。
2、深度神经网络(Deep Neural Network,简称DNN),是一种具备至少一个隐层的神经网络,能够为复杂非线性系统提供建模。
3、卷积神经网络(Convolutional Neural Networks,简称CNN),是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(DeepLearning)的代表算法之一。卷积神经网络仿造生物的视知觉(visual perception)机制构建,可以进行监督学习和非监督学习,其隐含层内的卷积核参数共享和层间连接的稀疏性使得卷积神经网络能够以较小的计算量对格点化特征,例如像素和音频进行学习、有稳定的效果且对数据没有额外的特征工程(feature engineering)要求。
为了使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
请参见图1,为本申请实施例提供的一种模型优化方法的流程示意图,如图1所示,该模型优化方法可以包括以下步骤:
步骤S100、对当前网络模型进行预设轮数的稀疏约束训练,并依据预设阈值对训练后的第一网络模型进行裁剪,得到第一裁后模型。
步骤S110、对第一裁后模型的各层进行等比例扩充,以使扩充后的网络模型的计算量与原始网络模型的计算量一致,并对扩充后的网络模型进行非稀疏约束训练,得到训练后的第二网络模型。
步骤S120、迭代执行上述操作,直至得到的第二网络模型满足预设停止规则时,确定迭代完成。
本申请实施例中,考虑到网络模型中不同层之间存在差异,对网络模型进行稀疏约束训练时,各层稀疏的速度会不相同。
而在对稀疏约束训练过程中,稀疏速度快的层的重要性通常相对较低,在最终模型裁剪时,可以裁剪掉的通道的占比可以较高;而稀疏速度慢的层重要性通常相对较高,需要进行保护,在最终模型裁剪时,可以尽量减少裁减掉的通道的占比。
基于上述考虑,在本申请实施例中,为了确定原始网络模型各层合适的裁剪比例,可以对原始网络模型进行预设轮数的稀疏约束训练,并依据预设阈值对训练后的网络模型(本文中称为第一网络模型)进行裁剪,得到裁后模型(本文中称为第一裁后模型)。
对于得到的第一裁后模型,可以对该第一裁后模型的各层进行等比例扩充,以使扩充后的网络模型的计算量与原始网络模型的计算量一致,并对扩充后的网络模型进行非稀疏约束训练,得到训练后的第二网络模型。
由于重要性较低的层在稀疏约束训练过程中,稀疏的速度会比较快,而重要性相对较高的层在稀疏约束训练过程中,稀疏的速度会比较慢,当按照上述方式,依据相同的阈值对稀疏约束训练后的第一网络模型的各层进行裁剪时,稀疏速度快的层的裁剪比例会比较高,稀疏速度慢的层的裁剪比例会比较低,进而,当对裁后模型(即上述第一裁后模型)进行等比例扩充之后,稀疏速度快的层的通道数会小于原始网络模型中对应层的通道数,稀疏速度慢的层的通道数会大于原始网络模型中对应层的通道数。
示例性的,上述预设轮数可以根据实际需求设定,如5千轮、1万轮或2万轮等。
需要说明的是,上述扩充后的网络模型的计算量与原始网络模型的计算量一致可以包括扩充后的网络模型的计算量与原始网络模型的计算量相同,或扩充后的网络模型的计算量与原始网络模型的计算量之间存在允许的误差。
此外,对于对扩充后的网络模型进行非稀疏约束训练的训练方式本申请实施例不做限定。
本申请实施例中,可以通过迭代执行步骤S100~步骤S110,直至步骤S110中得到的第二网络模型满足预设停止规则时,确定迭代完成,执行下述步骤S130。
示例性的,上述预设停止规则包括第二网络模型各层的通道数随着迭代次数的增加的变化幅度不超过预设取值范围,即随着迭代次数的增加,得到的第二网络模型的结构趋于稳定。
示例性的,迭代过程中,第一次执行上述操作时,步骤S100中的当前网络模型为原始网络模型,非第一次执行上述操作时,步骤S100中的当前网络模型为上一次得到的第二网络模型。
举例来说,假设步骤S100~步骤S110的操作迭代执行了M(M≥2,且M为正整数)次,则第1次执行步骤S100~步骤S110时,步骤S100中的当前网络模型为原始网络模型,第2次~第M次执行步骤S100~步骤S110时,当前网络模型为上一次执行步骤S100~步骤S110时,步骤S110中得到的第二网络模型。
步骤S130、依据预设裁后计算量,以及迭代过程中得到的第二网络模型,确定第二裁后模型。
本申请实施例中,当按照上述方式完成迭代时,可以依据迭代过程中得到的第二网络模型,以及预设裁后计算量,确定对应的裁后模型(本文中称为第二裁后模型)。
示例性的,可以依据预设裁后计算量,对迭代完成时得到的第二网络模型(即进行最后一次迭代时得到的第二网络模型),或者,对进行倒数第二层次迭代时得到的第二网络模型,进行均匀裁剪,得到第二裁后模型,以使第二裁后模型的计算量与预设裁后计算量一致。
需要说明的是,第二裁后模型的计算量与预设裁后计算量一致包括第二裁后模型的计算量与预设裁后计算量相同,或者,第二裁后模型的计算量与预设裁后计算量之间存在允许的误差。
步骤S140、依据第二裁后模型,对原始网络模型进行变权重稀疏约束训练,得到原始网络模型对应的稀疏模型,并对所述稀疏模型进行离线裁剪。
本申请实施例中,当按照步骤S100~S130中描述的方式确定第二裁后模型时,可以依据第二裁后模型,对原始网络模型进行变权重稀疏约束训练,得到原始网络模型对应的稀疏模型,即部分通道的参数为0或接近0的网络模型。
对于所得到的稀疏模型,可以确定稀疏模型中各层需要裁剪的通道,并对稀疏模型进行离线裁剪,即不需要再进行额外的网络模型训练,直接对变权重稀疏约束训练得到的稀疏模型中需要裁剪的通道进行裁剪,得到裁剪后的网络模型(通道更少的网络模型),降低网络模型对计算资源的需求量,提高依据裁剪后的网络模型执行智能任务的实时性。
例如,可以依据第二裁后模型对得到的稀疏模型进行离线裁剪,以使裁剪后的网络模型各层的通道数与第二裁后模型一致。
需要说明的是,当按照上述方式对稀疏模型进行离线裁剪之后,在对裁剪后的网络模型进行应用之前,还可以对裁剪后的网络模型进行参数调优,其具体实现本申请实施例不做限定。
可见,在图1所示方法流程中,通过迭代执行对原始网络模型进行预设轮数的稀疏约束训练,依据预设阈值对训练后的第一网络模型进行裁剪,得到第一裁后模型,并对第一裁后模型的各层进行等比例扩充,以使扩充后的网络模型的计算量与原始网络模型的计算量一致,对扩充后的网络模型进行非稀疏约束训练,得到训练后的第二网络模型的操作,直至第二网络模型满足预设停止规则时,确定迭代完成,进而,依据预设裁后计算量,以及迭代过程中得到的第二网络模型,确定第二裁后模型,不需要采用神经网络搜索方法,使用稀疏约束算法,根据各层的稀疏速度,自动选择合适的裁后模型结构(即上述第二裁后模型),当按照上述方式得到了第二裁后模型时,可以依据第二裁后模型,对原始网络模型进行变权重稀疏约束训练,得到原始网络模型对应的稀疏模型,并对稀疏模型进行裁剪,实现了基于变权重稀疏约束的网络模型自动裁剪,进而,可以降低裁剪后的网络模型对计算资源的需求,提高依据裁剪后的网络模型执行智能任务的实时性。
在一些实施例中,步骤S120中,得到的第二网络模型满足预设停止规则,可以包括:
迭代过程中,相邻第二网络模型各层的通道数的差值满足预设停止规则。
示例性的,考虑到当在同一训练过程中,对当前网络模型进行等权重稀疏约束的训练轮数达到一定轮数时,训练后的网络模型的稀疏程度的变化会逐渐减少,即训练后的网络模型的稀疏程度会逐渐趋于稳定,按照上述方式得到的第二网络模型的结构会趋于稳定,即迭代过程中相邻两次迭代得到的第二网络模型(即相邻第二网络模型)各层的通道数的差值变化幅度不会过大。在该情况下,基于得到的第二网络模型进行裁后模型(上述第二裁后模型)的确定,可以尽可能地保证在进行网络模型裁剪时,被裁剪掉的部分为重要性较低的部分,优化裁剪后的网络模型结构,并可以尽可能地减少稀疏约束训练的工作量。
示例性的,可以依据迭代过程中,相邻第二网络模型各层的通道数的差值是否满足预设停止规则,来确定迭代过程中得到的第二网络模型是否满足预设停止规则,并在相邻第二网络模型各层的通道数的差值满足预设停止规则,确定得到的第二网络模型满足预设停止规则。
在一个示例中,相邻第二网络模型各层的通道数的差值满足预设停止规则,包括:
连续N个第二网络模型中:
相邻第二网络模型各层的通道数的差值的平均值小于第一预设阈值;
或,
相邻第二网络模型各层的通道数的差值的绝对值的平均值小于第二预设阈值;
或,
相邻第二网络模型各层的通道数的差值的平方的平均值小于第三预设阈值;
其中,N≥2。
示例性的,为了提高第二网络模型满足预设停止规则判定的准确性,可以依据迭代过过程中得到的连续N(N≥2)个第二网络模型中,相邻第二网络模型各层的通道数的差值,进行第二网络模型满足是否满足预设停止规则的判定,并当连续N个第二网络模型中,相邻第二网络模型各层的通道数的差值均满足预设停止规则时,确定第二网络模型满足预设停止规则。
示例性的,当连续N个第二网络模型中,任意相邻第二网络模型各层的通道数的差值不满足预设停止规则时,可以确定第二网络模型不满足预设停止规则。
示例性的,考虑到以第二网络模型单个层的通道数在迭代过程中的变化来确定第二网络模型是否满足预设停止规则的稳定性较差,可能会出现误判,影响后续网络模型裁剪的效果。
因而,为了提高第二网络模型是否满足预设停止规则的判定的准确性,可以综合考虑迭代过程中,相邻第二网络模型各层的通道数的差值。
作为一种示例,对于相邻两个第二网络模型,可以分别确定该两个第二网络模型中各层的通道数的差值。
举例来说,假设第二网络模型共有N1层,相邻两个第二网络模型为第二网络模型a和第二网络模型b,第二网络模型a的第i层(1≤i≤N1)的通道数为Nia,第二网络模型b的第i层(1≤i≤N1)的通道数为Nib,则可以分别确定该两个第二网络模型中各层的通道数的差值,即:Nia-Nib,或,Nib-Nia。
当确定了该两个第二网络模型中各层的通道数的差值时,可以确定该两个第二网络模型中各层的通道数的差值的平均值,并比较该平均值与预设阈值(本文中称为第一预设阈值),当该平均值小于第一预设阈值时,确定相邻第二网络模型各层的通道数的差值满足预设停止规则。
作为另一种示例,考虑到相邻两个网络模型各层的通道数的差值可能存在正值或负值,若直接以差值的平均值作为满足预设停止规则判定的依据,则可能会在同时存在较大的正值差值和较大的负值差值的情况下,仍然判定为满足预设停止规则,因此,为了进一步提高判定的准确性,可以对相邻两个网络模型各层的通道数的差值进行取正处理。
示例性的,可以依据相邻第二网络模型各层的通道数的差值的绝对值的平均值,或,相邻第二网络模型各层的通道数的差值的平方的平均值,作为满足预设停止规则判定的依据。
举例来说,假设第二网络模型共有N1层,相邻两个第二网络模型为第二网络模型a和第二网络模型b,第二网络模型a的第i层(1≤i≤N1)的通道数为Nia,第二网络模型b的第i层(1≤i≤N1)的通道数为Nib,则可以分别确定该两个第二网络模型中各层的通道数的差值的绝对值,即:|Nia-Nib|,并确定各层的通道数的差值的绝对值的平均值。
举例来说,假设第二网络模型共有N1层,相邻两个第二网络模型为第二网络模型a和第二网络模型b,第二网络模型a的第i层(1≤i≤N1)的通道数为Nia,第二网络模型b的第i层(1≤i≤N1)的通道数为Nib,则可以分别确定该两个第二网络模型中各层的通道数的差值的平方,即:(Nia-Nib)2,并确定各层的通道数的差值的平方的平均值。
示例性的,可以比较相邻第二网络模型各层的通道数的差值的绝对值的平均值与预设阈值(本文中称为第二预设阈值),当相邻第二网络模型各层的通道数的差值的绝对值的平均值小于第二预设阈值时,确定相邻第二网络模型各层的通道数的差值满足预设停止规则。
或者,可以比较相邻第二网络模型各层的通道数的差值的平方的平均值与预设阈值(本文中称为第三预设阈值),当相邻第二网络模型各层的通道数的差值的平方的平均值小于第二预设阈值时,确定相邻第二网络模型各层的通道数的差值满足预设停止规则。
在一个示例中,步骤S130中,依据预设裁后计算量,以及迭代过程中得到的第二网络模型,确定第二裁后模型,可以包括:
依据连续N个第二网络模型,确定目标第二网络模型;
依据预设裁后计算量,以及所述目标第二网络模型,确定确定第二裁后模型。
示例性的,可以将该连续N个第二网络模型中,任一第二网络模型确定为目标第二网络模型。
例如,可以将该连续第N个第二网络模型中,第一个第二网络模型,或最后一个第二网络模型,确定为目标第二网络模型。
示例性的,当确定了目标第二网络模型时,可以依据预设裁后计算量,以及目标第二网络模型,确定第二裁后模型。
作为一种示例,上述依据预设裁后计算量,以及目标第二网络模型,确定确定第二裁后模型,可以包括:
依据预设裁后计算量,对目标第二网络模型进行均匀裁剪,得到第二裁后模型。
示例性的,当确定了目标第二网络模型时,可以依据预设裁后计算量,对目标第二网络模型进行均匀裁剪,使裁后模型的计算量与预设裁后计算量一致,得到第二裁后模型。
为了使本领域技术人员能够更好地理解本申请实施例提供的技术方案,下面结合具体实例对本申请实施例提供的技术方案进行说明。
考虑到传统变权重稀疏约束方案需要人工设定各层的裁剪比例,无法实现自动裁剪,本申请实施例提供一种网络计算量缩放的方法给出裁后模型结构,再基于此裁后模型结构对原始网络模型进行变权重稀疏约束训练,实现基于变权重稀疏约束方案的网络模型自动裁剪。
请参见图2,在该实施例中,模型优化方案实现流程可以如图2所示,其可以包括结构选择部分和约束裁剪部分。
示例性的,结构选择部分可以由结构选择模块基于网络计算量缩放的方法确定裁后网络模型的结构(即上述第二裁后模型)。
约束裁剪部分可以由约束裁剪模块基于变权重稀疏约束方案实现,依据确定的裁后网络模型的结构,进行网络模型裁剪,实现网络模型参数重构。
示例性的,结构选择部分的实现流程(基于网络计算量缩放的流程)如下:
1.1、对当前网络模型进行稀疏约束训练,在经过固定的轮数(如2万轮)的稀疏训练之后,使用预设的阈值裁对当前网络模型进行裁剪,得到一个裁后模型(即上述第一裁后模型)。
示例性的,由于模型不同层之间存在差异,各层稀疏的速度不会相同,因此,依据预设阈值对稀疏后的模型进行裁剪时,各层裁剪比例不同。
1.2、对1.1中所得裁后模型(即上述第一裁后模型)的所有层进行等比例的计算量扩充,使得模型计算量恢复到裁前模型的计算量(即与原始网络模型的计算量一致),并对扩充后的网络模型进行非稀疏约束训练。
示例性的,对第一裁后模型进行计算量扩充时,可以随机初始化扩充部分(即新增通道)的权重。
示例性的,通过不断迭代1.1和1.2,直至得到的第二网络模型满足预设停止规则,可以得到一个和原模型计算量一致,但是各层计算量分布不同的模型M1(即上述目标第二网络模型)。
1.3、依据预设裁后计算量,对模型M1的所有层进行均匀裁剪,得到裁后模型结构(即上述第二裁后模型)。
示例性的,使用不同的均匀裁剪比例,可获得不同计算量的裁后模型。
相应地,可以依据裁前计算量(即目标第二网络模型的计算量)与预设裁后计算量,确定对应的均匀裁剪比例,并依据该均匀裁剪比例,对模型M1的所有层进行均匀裁剪,得到第二裁后模型。
示例性的,当确定了各层的裁剪比例时,可以按照图2所示约束裁剪部分的流程进行网络模型裁剪,即依据1.3中得到的裁后模型(即第二裁后模型)对原始网络模型进行变权重稀疏约束训练(如基于Group Lasso(分组最小角回归算法)的变权重稀疏约束训练)、网络模型离线裁剪以及裁后网络模型调优(如Finetuning(微调))。
可见,本申请实施例提供的模型优化方案,不需要采用神经网络搜索方法,使用稀疏约束算法,根据各层的稀疏速度,自动选择合适的裁后模型结构。在约束裁剪模块,按照结构选择模块输出的裁后模型结构进行精确稀疏,稀疏掉那些需要裁剪的部分,对不需要裁剪的部分进行保护,实现了基于变权重稀疏约束的网络模型自动裁剪,进而,可以降低裁剪后的网络模型对计算资源的需求,提高依据裁剪后的网络模型执行智能任务的实时性。
以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述:
请参见图3,为本申请实施例提供的一种模型优化装置的结构示意图,如图3所示,该模型优化装置可以包括:
预训练单元310,用于对当前网络模型进行预设轮数的稀疏约束训练,并依据预设阈值对训练后的第一网络模型进行裁剪,得到第一裁后模型;对所述第一裁后模型的各层进行等比例扩充,以使扩充后的网络模型的计算量与原始网络模型的计算量一致,并对所述扩充后的网络模型进行非稀疏约束训练,得到训练后的第二网络模型;迭代执行上述操作,直至得到的第二网络模型满足预设停止规则时,确定迭代完成;其中,所述预设停止规则包括第二网络模型各层的通道数随着迭代次数的增加的变化幅度不超过预设取值范围;迭代过程中,第一次执行上述操作时,所述当前网络模型为所述原始网络模型,非第一次执行上述操作时,所述当前网络模型为上一次得到的第二网络模型;
确定单元320,用于依据预设裁后计算量,以及迭代过程中得到的第二网络模型,确定第二裁后模型;
处理单元330,用于依据所述第二裁后模型,对所述原始网络模型进行变权重稀疏约束训练,得到所述原始网络模型对应的稀疏模型,并对所述稀疏模型进行离线裁剪。
在一些实施例中,所述得到的第二网络模型满足预设停止规则,包括:
迭代过程中,相邻第二网络模型各层的通道数的差值满足预设停止规则。
在一些实施例中,所述相邻第二网络模型各层的通道数的差值满足预设停止规则,包括:
连续N个第二网络模型中:
相邻第二网络模型各层的通道数的差值的平均值小于第一预设阈值;
或,
相邻第二网络模型各层的通道数的差值的绝对值的平均值小于第二预设阈值;
或,
相邻第二网络模型各层的通道数的差值的平方的平均值小于第三预设阈值;
其中,N≥2。
在一些实施例中,所述确定单元320依据预设裁后计算量,以及迭代过程中得到的第二网络模型,确定第二裁后模型,包括:
依据所述连续N个第二网络模型,确定目标第二网络模型;
依据所述预设裁后计算量,以及所述目标第二网络模型,确定第二裁后模型。
在一些实施例中,所述确定单元320依据所述预设裁后计算量,以及所述目标第二网络模型,确定确定第二裁后模型,包括:
依据所述预设裁后计算量,对所述目标第二网络模型进行均匀裁剪,得到所述第二裁后模型。
请参见图4,为本申请实施例提供的一种电子设备的硬件结构示意图。该电子设备可包括处理器401、存储有机器可执行指令的存储器402。处理器401与存储器402可经由系统总线403通信。并且,通过读取并执行存储器402中与模型优化控制逻辑对应的机器可执行指令,处理器401可执行上文描述的模型优化方法。
本文中提到的存储器402可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
在一些实施例中,还提供了一种机器可读存储介质,如图4中的存储器402,该机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现上文描述的模型优化方法。例如,所述机器可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (12)
1.一种模型优化方法,其特征在于,包括:
对当前网络模型进行预设轮数的稀疏约束训练,并依据预设阈值对训练后的第一网络模型进行裁剪,得到第一裁后模型;
对所述第一裁后模型的各层进行等比例扩充,以使扩充后的网络模型的计算量与原始网络模型的计算量一致,并对所述扩充后的网络模型进行非稀疏约束训练,得到训练后的第二网络模型;
迭代执行上述操作,直至得到的第二网络模型满足预设停止规则时,确定迭代完成;其中,所述预设停止规则包括第二网络模型各层的通道数随着迭代次数的增加的变化幅度不超过预设取值范围;迭代过程中,第一次执行上述操作时,所述当前网络模型为所述原始网络模型,非第一次执行上述操作时,所述当前网络模型为上一次得到的第二网络模型;
依据预设裁后计算量,以及迭代过程中得到的第二网络模型,确定第二裁后模型;
依据所述第二裁后模型,对所述原始网络模型进行变权重稀疏约束训练,得到所述原始网络模型对应的稀疏模型,并对所述稀疏模型进行离线裁剪。
2.根据权利要求1所述的方法,其特征在于,所述得到的第二网络模型满足预设停止规则,包括:
迭代过程中,相邻第二网络模型各层的通道数的差值满足预设停止规则。
3.根据权利要求2所述的方法,其特征在于,所述相邻第二网络模型各层的通道数的差值满足预设停止规则,包括:
连续N个第二网络模型中:
相邻第二网络模型各层的通道数的差值的平均值小于第一预设阈值;
或,
相邻第二网络模型各层的通道数的差值的绝对值的平均值小于第二预设阈值;
或,
相邻第二网络模型各层的通道数的差值的平方的平均值小于第三预设阈值;
其中,N≥2。
4.根据权利要求3所述的方法,其特征在于,所述依据预设裁后计算量,以及迭代过程中得到的第二网络模型,确定第二裁后模型,包括:
依据所述连续N个第二网络模型,确定目标第二网络模型;
依据所述预设裁后计算量,以及所述目标第二网络模型,确定第二裁后模型。
5.根据权利要求4所述的方法,其特征在于,所述依据所述预设裁后计算量,以及所述目标第二网络模型,确定确定第二裁后模型,包括:
依据所述预设裁后计算量,对所述目标第二网络模型进行均匀裁剪,得到所述第二裁后模型。
6.一种模型优化装置,其特征在于,包括:
预训练单元,用于对当前网络模型进行预设轮数的稀疏约束训练,并依据预设阈值对训练后的第一网络模型进行裁剪,得到第一裁后模型;对所述第一裁后模型的各层进行等比例扩充,以使扩充后的网络模型的计算量与原始网络模型的计算量一致,并对所述扩充后的网络模型进行非稀疏约束训练,得到训练后的第二网络模型;迭代执行上述操作,直至得到的第二网络模型满足预设停止规则时,确定迭代完成;其中,所述预设停止规则包括第二网络模型各层的通道数随着迭代次数的增加的变化幅度不超过预设取值范围;迭代过程中,第一次执行上述操作时,所述当前网络模型为所述原始网络模型,非第一次执行上述操作时,所述当前网络模型为上一次得到的第二网络模型;
确定单元,用于依据预设裁后计算量,以及迭代过程中得到的第二网络模型,确定第二裁后模型;
处理单元,用于依据所述第二裁后模型,对所述原始网络模型进行变权重稀疏约束训练,得到所述原始网络模型对应的稀疏模型,并对所述稀疏模型进行离线裁剪。
7.根据权利要求6所述的装置,其特征在于,所述得到的第二网络模型满足预设停止规则,包括:
迭代过程中,相邻第二网络模型各层的通道数的差值满足预设停止规则。
8.根据权利要求7所述的装置,其特征在于,所述相邻第二网络模型各层的通道数的差值满足预设停止规则,包括:
连续N个第二网络模型中:
相邻第二网络模型各层的通道数的差值的平均值小于第一预设阈值;
或,
相邻第二网络模型各层的通道数的差值的绝对值的平均值小于第二预设阈值;
或,
相邻第二网络模型各层的通道数的差值的平方的平均值小于第三预设阈值;
其中,N≥2。
9.根据权利要求8所述的装置,其特征在于,所述确定单元依据预设裁后计算量,以及迭代过程中得到的第二网络模型,确定第二裁后模型,包括:
依据所述连续N个第二网络模型,确定目标第二网络模型;
依据所述预设裁后计算量,以及所述目标第二网络模型,确定第二裁后模型。
10.根据权利要求9所述的装置,其特征在于,所述确定单元依据所述预设裁后计算量,以及所述目标第二网络模型,确定确定第二裁后模型,包括:
依据所述预设裁后计算量,对所述目标第二网络模型进行均匀裁剪,得到所述第二裁后模型。
11.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器用于执行机器可执行指令,以实现如权利要求1-5任一项所述的方法。
12.一种机器可读存储介质,其特征在于,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110859734.5A CN113554169B (zh) | 2021-07-28 | 2021-07-28 | 模型优化方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110859734.5A CN113554169B (zh) | 2021-07-28 | 2021-07-28 | 模型优化方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113554169A true CN113554169A (zh) | 2021-10-26 |
CN113554169B CN113554169B (zh) | 2023-10-27 |
Family
ID=78133136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110859734.5A Active CN113554169B (zh) | 2021-07-28 | 2021-07-28 | 模型优化方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113554169B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114298277A (zh) * | 2021-12-28 | 2022-04-08 | 四川大学 | 一种基于层稀疏化的分布式深度学习训练方法及系统 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109598340A (zh) * | 2018-11-15 | 2019-04-09 | 北京知道创宇信息技术有限公司 | 卷积神经网络的裁剪方法、装置及存储介质 |
US20190385059A1 (en) * | 2018-05-23 | 2019-12-19 | Tusimple, Inc. | Method and Apparatus for Training Neural Network and Computer Server |
US20200175362A1 (en) * | 2018-11-30 | 2020-06-04 | Samsung Electronics Co., Ltd. | Multi-task based lifelong learning |
CN111382832A (zh) * | 2018-12-29 | 2020-07-07 | 佳能株式会社 | 多层神经网络模型的训练和应用方法、装置及存储介质 |
CN111967583A (zh) * | 2020-08-13 | 2020-11-20 | 北京嘀嘀无限科技发展有限公司 | 压缩神经网络的方法、装置、设备和介质 |
CN112001477A (zh) * | 2020-06-19 | 2020-11-27 | 南京理工大学 | 一种基于深度学习的目标检测YOLOv3的模型优化算法 |
CN112052951A (zh) * | 2020-08-31 | 2020-12-08 | 北京中科慧眼科技有限公司 | 一种剪枝神经网络方法、系统、设备及可读存储介质 |
US20200387782A1 (en) * | 2019-06-07 | 2020-12-10 | Tata Consultancy Services Limited | Sparsity constraints and knowledge distillation based learning of sparser and compressed neural networks |
CN112396179A (zh) * | 2020-11-20 | 2021-02-23 | 浙江工业大学 | 一种基于通道梯度剪枝的柔性深度学习网络模型压缩方法 |
CN112861996A (zh) * | 2021-03-15 | 2021-05-28 | 北京智芯微电子科技有限公司 | 深度神经网络模型压缩方法及装置、电子设备、存储介质 |
CN112966818A (zh) * | 2021-02-25 | 2021-06-15 | 苏州臻迪智能科技有限公司 | 一种定向引导模型剪枝方法、系统、设备及存储介质 |
CN112990420A (zh) * | 2019-12-02 | 2021-06-18 | 北京华航无线电测量研究所 | 一种用于卷积神经网络模型的剪枝方法 |
WO2021129570A1 (zh) * | 2019-12-25 | 2021-07-01 | 神思电子技术股份有限公司 | 一种基于网络激活与稀疏化的网络裁剪优化方法 |
-
2021
- 2021-07-28 CN CN202110859734.5A patent/CN113554169B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190385059A1 (en) * | 2018-05-23 | 2019-12-19 | Tusimple, Inc. | Method and Apparatus for Training Neural Network and Computer Server |
CN109598340A (zh) * | 2018-11-15 | 2019-04-09 | 北京知道创宇信息技术有限公司 | 卷积神经网络的裁剪方法、装置及存储介质 |
US20200175362A1 (en) * | 2018-11-30 | 2020-06-04 | Samsung Electronics Co., Ltd. | Multi-task based lifelong learning |
CN111382832A (zh) * | 2018-12-29 | 2020-07-07 | 佳能株式会社 | 多层神经网络模型的训练和应用方法、装置及存储介质 |
US20200387782A1 (en) * | 2019-06-07 | 2020-12-10 | Tata Consultancy Services Limited | Sparsity constraints and knowledge distillation based learning of sparser and compressed neural networks |
CN112990420A (zh) * | 2019-12-02 | 2021-06-18 | 北京华航无线电测量研究所 | 一种用于卷积神经网络模型的剪枝方法 |
WO2021129570A1 (zh) * | 2019-12-25 | 2021-07-01 | 神思电子技术股份有限公司 | 一种基于网络激活与稀疏化的网络裁剪优化方法 |
CN112001477A (zh) * | 2020-06-19 | 2020-11-27 | 南京理工大学 | 一种基于深度学习的目标检测YOLOv3的模型优化算法 |
CN111967583A (zh) * | 2020-08-13 | 2020-11-20 | 北京嘀嘀无限科技发展有限公司 | 压缩神经网络的方法、装置、设备和介质 |
CN112052951A (zh) * | 2020-08-31 | 2020-12-08 | 北京中科慧眼科技有限公司 | 一种剪枝神经网络方法、系统、设备及可读存储介质 |
CN112396179A (zh) * | 2020-11-20 | 2021-02-23 | 浙江工业大学 | 一种基于通道梯度剪枝的柔性深度学习网络模型压缩方法 |
CN112966818A (zh) * | 2021-02-25 | 2021-06-15 | 苏州臻迪智能科技有限公司 | 一种定向引导模型剪枝方法、系统、设备及存储介质 |
CN112861996A (zh) * | 2021-03-15 | 2021-05-28 | 北京智芯微电子科技有限公司 | 深度神经网络模型压缩方法及装置、电子设备、存储介质 |
Non-Patent Citations (2)
Title |
---|
彭冬亮;王天兴;: "基于GoogLeNet模型的剪枝算法", 控制与决策, no. 06 * |
邢安昊;张鹏远;潘接林;颜永红;: "基于SVD的DNN裁剪方法和重训练", 清华大学学报(自然科学版), no. 07 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114298277A (zh) * | 2021-12-28 | 2022-04-08 | 四川大学 | 一种基于层稀疏化的分布式深度学习训练方法及系统 |
CN114298277B (zh) * | 2021-12-28 | 2023-09-12 | 四川大学 | 一种基于层稀疏化的分布式深度学习训练方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113554169B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210382445A1 (en) | Control sequence generation system and methods | |
CN110462639B (zh) | 信息处理设备、信息处理方法及计算机可读存储介质 | |
KR20210030063A (ko) | 준지도 학습을 기반으로 한 이미지 분류를 위한 적대적 이미지 생성 모델 구축 시스템 및 방법 | |
CN109919313B (zh) | 一种梯度传输的方法及分布式训练系统 | |
JP2023514172A (ja) | 連続学習サーバーを利用してクライアントのイメージを分類するクラシファイアを連続学習する方法及びこれを利用した連続学習サーバー | |
US11645512B2 (en) | Memory layouts and conversion to improve neural network inference performance | |
CN111860789A (zh) | 模型训练方法、终端及存储介质 | |
CN113408711A (zh) | 一种基于lstm神经网络的船舶运动极短期预报方法及系统 | |
CN113554169A (zh) | 模型优化方法、装置、电子设备及可读存储介质 | |
CN116542296A (zh) | 基于联邦学习的模型训练方法、装置及电子设备 | |
KR102432809B1 (ko) | 자원 효율적 추론을 위한 인공 신경망 장치 | |
Tembine | Mean field stochastic games: Convergence, Q/H-learning and optimality | |
Kordos | Data selection for neural networks | |
IL297848A (en) | Drift adjustment to neutralize changes in drift coefficients for analog boosters | |
CN111027693A (zh) | 一种基于去权重剪枝的神经网络压缩方法及系统 | |
CN111178416A (zh) | 参数调整方法和装置 | |
CN110610231A (zh) | 一种信息处理方法、电子设备和存储介质 | |
US20220284261A1 (en) | Training-support-based machine learning classification and regression augmentation | |
CN117413281A (zh) | 用于神经网络的数据感知模型修剪 | |
CN113537490A (zh) | 一种神经网络裁剪方法及电子设备 | |
JP7360595B2 (ja) | 情報処理装置 | |
Sarkar et al. | An incremental pruning strategy for fast training of CNN models | |
CN113537377B (zh) | 网络模型裁剪方法、装置、电子设备及可读存储介质 | |
US20230289563A1 (en) | Multi-node neural network constructed from pre-trained small networks | |
CN113240087B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |