CN113537490A - 一种神经网络裁剪方法及电子设备 - Google Patents
一种神经网络裁剪方法及电子设备 Download PDFInfo
- Publication number
- CN113537490A CN113537490A CN202110791790.XA CN202110791790A CN113537490A CN 113537490 A CN113537490 A CN 113537490A CN 202110791790 A CN202110791790 A CN 202110791790A CN 113537490 A CN113537490 A CN 113537490A
- Authority
- CN
- China
- Prior art keywords
- mask
- parameters
- target
- neural network
- layer
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 101
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000000873 masking effect Effects 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 28
- 238000013527 convolutional neural network Methods 0.000 claims description 6
- 238000009966 trimming Methods 0.000 claims 1
- 238000012549 training Methods 0.000 description 32
- 238000004590 computer program Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 7
- 238000013138 pruning Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 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是本申请根据一实施例示出的一种神经网络剪裁方法的流程图。
图2是本申请根据一实施例示出的神经网络的示意图。
图3是本申请根据另一实施例示出的神经网络的示意图。
图4是本申请根据另一实施例示出的sigmoid函数的示意图。
图5是本申请根据另一实施例示出的一种神经网络剪裁方法的流程图。
图6是本申请根据另一实施例示出的神经网络的示意图。
图7是本申请根据另一实施例示出的一种神经网络剪裁方法的流程图。
图8是本申请根据一实施例示出的一种电子设备的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
接下来对本申请实施例进行详细说明。
神经网络普遍应用于人工智能领域,利用神经网络可以执行各种任务,如图像分类、语音识别、人脸识别等。神经网络由神经元相互连接构成,通常包括输入层、隐藏层和输出层。神经网络需要大量参数来保证任务执行结果的准确率,使得训练神经网络时需要优化大量的参数,进行大量的运算,这对于算力有限的设备来说运算负荷较大,无法运行。
为了让算力较低的设备上也能运行神经网络,需要在不会明显降低神经网络预测准确率的前提下,对神经网络进行剪裁,以减少参数量和运算量。针对神经网络的剪裁,在相关技术中,可以对重要性较低的通道进行剪裁,那么这就涉及到度量每个通道重要性的任务。在相关技术中,往往会将网络的参数学习和通道重要性的学习作为网络训练的目标,根据训练结果裁剪重要性低的通道。如此,在训练神经网络时,需要同时关注网络准确率(参数学习的目标)和网络稀疏度(通道重要性学习的目标)。如上所述,网络准确率需要大量参数来保证,这增加网络的复杂度,而网络稀疏性则又希望网络尽量轻量化。因此这两个优化目标会相互影响,一方面影响网络的收敛,另一方面训练后的神经网络准确率不高。
为此,本申请提出了一种神经网络剪裁方法,包括如图1所示的步骤:
步骤110:在经预训练的第一神经网络中添加掩码层,得到第二神经网络;所述掩码层用于连接所述神经网络中的目标网络层以及紧邻所述目标网络层的下一网络层,所述掩码层包括掩码参数,一个掩码参数用于度量所述目标网络层中的一个通道的重要性;
步骤120:确定所述第二神经网络中的掩码层的损失,基于所述损失调整所述掩码参数,得到目标参数;
步骤130:根据各个目标参数的取值,从各个目标参数对应的通道中确定待剪裁通道,并对所述待剪裁通道进行裁剪。
本申请提出了一种全新的神经网络剪裁方法,首先将神经网络进行以优化网络参数为目标的预训练,得到准确率高于预设阈值的第一神经网络。在训练好的第一神经网络中添加掩码层,其中,掩码层包括掩码参数,掩码参数用于度量目标网络层中通道的重要性。基于掩码层的损失调整掩码参数以得到目标参数,是掩码层的训练过程,即通道重要性的学习过程。在预训练后得到准确率较高的第一神经网络,在准确率较高的神经网络的基础上再进行掩码层训练,在训练掩码层时,不会改变网络参数。如此,便把参数学习和通道重要性学习分开在不同的训练阶段中执行。两个训练阶段以不同目标来优化调整网络,从而避免了在同一训练阶段中两个目标相互影响的问题。在得到目标参数后,根据目标参数的取值确定待剪裁通道,并对待剪裁通道进行剪裁,以实现网络的轻量化。由此实现了在保证网络准确率的基础上轻量化网络的目的。
第一神经网络中所添加的掩码层用于连接神经网络中的目标网络层以及紧邻目标网络层的下一网络层。在一些实施例中,目标网络层可以是conv层(卷积层)和bn层(批标准化层)合并后的网络层,即conv-bn合并层。掩码层包括若干个掩码参数,掩码参数的数量与目标网络层的通道数一致。一个掩码参数用于度量目标网络层中一个通道的重要性。如图2所示,网络层1包括通道A、B、C,掩码层包括掩码参数M1、M2、M3。其中掩码参数M1用于度量通道A的重要性,掩码参数M2用于度量通道B的重要性,掩码参数M3用于度量通道C的重要性。
在一些实施例中,掩码参数可以包括第一掩码参数和第二掩码参数。其中,第一掩码参数对应的通道为待剪裁通道;第二掩码参数对应的通道为无需进行剪裁的通道。例如,第一掩码参数可以是0,第二掩码参数可以是1。如此,步骤120基于所述损失调整所述掩码参数,得到目标参数可以包括:基于损失调整掩码参数,将目标参数调整为第一掩码参数或第二掩码参数中的其中一者。
在一些实施例中,掩码参数还可以基于目标函数确定,其中,目标函数包括输入参数。步骤120基于所述损失调整所述掩码参数,得到目标参数可以包括:基于损失调整输入参数,基于调整后的输入参数确定目标参数。例如,目标函数可以是Mask=x,其中,Mask为掩码参数,x为输入参数。当然目标函数还可以是其他函数,本申请在此不做限定。掩码层的损失可以是L1损失,即掩码参数绝对值之和,也可以是L2损失,即掩码参数的平方和。通过最小化损失,可以调整输入参数x,基于调整后的输入参数x,通过目标函数可以输出目标参数。
通过目标函数确定掩码参数,可以根据掩码参数的大小度量对应通道的重要性。掩码参数越大,对应通道的重要性就越高,为无需剪裁的通道,反之亦然。如图3所示,当经过掩码层训练后,确定掩码参数(目标参数)M1为0.3,M2为1.2,M3为1.4,则根据这三个掩码参数的大小,可以确定M1对应的通道A为待剪裁通道。掩码参数的大小可以表示对应通道的重要性,即对应通道对目标网络层输出(即紧邻目标网络层的下一层网络的输入)的贡献。在上述例子中,通过掩码层训练可以确定通道A重要性较低,即通道A相对于其他通道B、C对网络层1输出(即图2-3的网络层2)的贡献较小,因此可以剪裁掉。但实际上,由于掩码参数M1不为0,当剪裁掉通道A后,相比于剪裁前,网络层1的统计特征,如均值、方差等会改变。此外,网络层1的输出也会发生改变。那么在一些情况下,如果神经网络较深,网络层数较多时,每一个目标网络层的输出都产生这样的改变,那么随着网络的深入,这些改变会不断的传递和积累,最终导致整个神经网络的输出结果体现出较大的改变。即各目标网络层通道剪裁前后,神经网络的输出会产生较大的改变,那么整个神经网络的准确率断崖式下降。
为了解决直接剪裁掩码参数非0的通道导致网络准确率断崖式下降的问题,在一些实施例中,上述目标函数可以是sigmoid函数。如图4所示,sigmoid函数可以将负无穷到正无穷的输入参数x映射到0到1的值域内。且当输入参数x∈(-∞,-5)时,经过sigmoid函数输出的掩码参数逼近于0;当输入参数x∈(5,∞)时,经过sigmoid函数输出的掩码参数逼近于1;当输入参数x∈(-5,5)时,经过sigmoid函数输出的掩码参数分布在0-1之间。可见,输入参数x只有在-5到5区间内时,输出的掩码参数才会既不逼近于0或1。也就是说输出的掩码参数大概率逼近于0或1。如此,在经过掩码层训练后,掩码参数大概率要么逼近于0,要么逼近于1。对于掩码参数逼近于0的通道,不仅代表其对目标网络层输出的相对贡献小,而且代表其对目标网络层输出的绝对贡献也是小的,相当于在掩码层训练的过程中,已经将该通道对目标网络层输出的贡献减小到接近于0。因此,直接剪裁掉该通道不会对目标网络层的输出带来太大的改变,也不会导致整个神经网络的输出结果产生较大的改变,神经网络的准确率不会断崖式下降。
在一些实施例中,目标函数可以进一步设置为Mask=sigmoid(100*x),其中,Mask为掩码参数,x为输入参数。如此,当输入参数x∈(-∞,-0.05)时,经过sigmoid函数输出的掩码参数逼近于0;当输入参数x∈(0.05,∞)时,经过sigmoid函数输出的掩码参数逼近于1;当输入参数x∈(-0.05,0.05)时,经过sigmoid函数输出的掩码参数分布在0-1之间。一方面,进一步减小了掩码参数分布在0-1之间的概率(从原先的-5到5区间缩小到现在的-0.05到0.05区间)。另一方面,通过减小输入参数的取值,可以设置较小的学习率,避免训练时发生梯度爆炸的问题。在一些实施例中,学习率可以设置为0.01。
在一些实施例中,当目标参数为sigmoid函数时,掩码层的损失可以通过如图5所示的步骤获取:
步骤510:基于所述掩码参数之和获取损失;
步骤520:通过最小化所述损失,调整所述掩码参数。
由于通过sigmoid函数输出的掩码参数大概率逼近于0或1,因此,通过最小化掩码参数之和实际上是让尽量多的掩码参数逼近于0,以达到稀疏网络的目标。
通常来说,在神经网络的训练过程中,会随机初始化参数。如相关技术中,在同时训练网络参数和通道重要性参数时,会随机初始化网络参数和通道重要性参数。但在本申请提供的神经网络剪裁方法中,由于网络参数训练和掩码层训练是单独的两次训练。即在掩码层训练前该神经网络的网络参数就已经训练好,经过预训练的第一神经网络的准确率较高。在训练掩码层时,如果随机初始化掩码参数,那么初始化的掩码参数可能会逼近于0或1。对于掩码参数逼近于0的通道在首次迭代时对目标网络层的输出没有贡献,导致整个网络在首次迭代时准确率较低。因此在一些实施例中,可以设置基于输入参数的初始值确定的掩码参数大于第一参数阈值,使得在训练掩码层的首次迭代中,各网络通道对目标网络层的输出贡献不变,保持网络在首次迭代时准确率与第一神经网络准确率一致。例如,第一参数阈值可以是1。当目标参数为Mask=sigmoid(100*x)时,输入参数x的初始值可以设定为0.05。如此,初始的掩码参数逼近于1,使得网络在准确率较高的基础下开始掩码层的训练。同时,x=0.05靠近sigmoid函数输出的突变区域,当x减小0.1时,对应的掩码输出变为0,从而降低了掩码层的训练难度,加快掩码层训练。
实际上,掩码层训练以实现网络轻量化为目标,可以设置稀疏度作为训练的约束条件。所谓稀疏度是基于取值为0的掩码参数的个数,或掩码参数之和确定。取值为0的掩码参数的个数越多,掩码参数之和越小,网络越稀疏。为了达到约束条件,在训练初期可能错误地将一些重要通道的掩码参数调整为0,一些不重要的通道的掩码参数调整为1,使得网络虽然变稀疏了,但准确率也下降了。在满足约束条件后,随着多次迭代,重新调整各通道的掩码参数,使得网络的准确率增加。当网络的准确率达到预设的准确率阈值,或者前后两次迭代中网络的准确率差异小于预设的差异阈值时,停止掩码层训练。
此外,在一些实施例中,当确定了目标参数后,根据各个目标参数的取值确定待剪裁通道可以包括:按照预设的剪裁比例,根据各个目标参数的取值确定待剪裁通道,其中待剪裁通道对应的目标参数的取值小于其他通道对应的目标参数的取值。本领域技术人员可以按照实际需要设定剪裁比例,例如20%。在确定了目标参数后,即确定了各通道对应的掩码参数取值后,可以将所有掩码参数中取值排在后20%的掩码参数对应的通道作为待剪裁通道。
在剪裁待剪裁通道后,得到轻量化的神经网络。在一些实施例中,可以重新训练剪裁后的神经网络。例如,可以用预训练中所使用的训练集重新剪裁后的神经网络,微调网络参数,以提高剪裁后网络的准确率。
在一些实施例中,第一神经网络为卷积神经网络,卷积神经网络包括卷积核。在剪裁待剪裁通道时,包括对目标网络层的特征图的通道和卷积核的通道进行剪裁。如图6所示,网络层1包括通道A、B、C,该层包括卷积核1、2,每个卷积核均包括三个通道。其中,在卷积运算中,卷积核1的通道1-a和卷积核2的通道2-a对应于网络层1的通道A。当通过上述任一实施例的方法确定通道A为待剪裁通道时,对应地,卷积核1的通道1-a和卷积核2的通道2-a也相应地进行剪裁。
本申请提供的神经网络剪裁方法,通过在将训练后的第一神经网络中添加掩码层,并基于掩码层的损失调整掩码参数,以得到目标参数,然后根据目标参数的取值确定待剪裁通道,并对待剪裁通道进行剪裁,以实现网络的轻量化。剪裁后的神经网络在保持准确性同时减少了参数量和运算量少,使得在算力较低的设备中也能运行。
此外,本申请还提供了一种神经网络的剪裁方法,包括如图7所示的步骤:
步骤710:在经预训练的第一卷积神经网络中添加掩码层,得到第二卷积神经网络;所述掩码层包括掩码参数,所述掩码参数基于目标函数确定,所述目标函数包括输入参数;
其中,卷积神经网络包括卷积核。掩码层用于连接神经网络中的目标网络层以及紧邻目标网络层的下一网络层。一个掩码参数用于度量目标网络层中的一个通道的重要性。目标函数为Mask=sigmoid(100*x),其中Mask为掩码参数,x为输入参数。x的初始值设置为0.05。
步骤720:基于所述掩码参数之和获取损失;
步骤730:通过最小化所述损失,调整所述输入参数,基于调整后的输入参数确定目标参数;
步骤740:按照预设的裁剪比例,根据各个目标参数的取值确定待剪裁通道;
其中,待剪裁通道对应的目标参数的取值小于其他通道对应的目标参数的取值。
步骤750:对目标网络层的输入特征图和卷积核对应的通道进行剪裁;
步骤760:重新训练剪裁后的神经网络。
上述步骤的具体实现方式参见上文实施例,本申请在此不再赘述。
基于上述任意实施例所述的一种神经网络的剪裁方法,本申请还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可用于执行上述任意实施例所述的一种神经网络的剪裁方法。
基于上述任意实施例所述的一种神经网络的剪裁方法,本申请还提供了如图8所示的一种电子设备的结构示意图。如图8,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述任意实施例所述的一种神经网络的剪裁方法。
本申请还提供了一种计算机存储介质,存储介质存储有计算机程序,计算机程序被处理器执行时可用于执行上述任意实施例所述的一种神经网络的剪裁方法。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
Claims (10)
1.一种神经网络裁剪方法,其特征在于,所述方法包括:
在经预训练的第一神经网络中添加掩码层,得到第二神经网络;所述掩码层用于连接所述神经网络中的目标网络层以及紧邻所述目标网络层的下一网络层,所述掩码层包括掩码参数,一个掩码参数用于度量所述目标网络层中的一个通道的重要性;
确定所述第二神经网络中的掩码层的损失,基于所述损失调整所述掩码参数,得到目标参数;
根据各个目标参数的取值,从各个目标参数对应的通道中确定待剪裁通道,并对所述待剪裁通道进行裁剪。
2.根据权利要求1所述的方法,其特征在于,所述掩码参数包括第一掩码参数和第二掩码参数;所述基于所述损失调整所述掩码参数,得到目标参数,包括:
基于所述损失调整所述掩码参数,将所述目标参数调整为所述第一掩码参数或所述第二掩码参数中的其中一者,所述第一掩码参数对应的通道为待裁剪通道,所述第二掩码参数对应的通道为无需进行裁剪的通道。
3.根据权利要求1所述的方法,其特征在于,所述掩码参数基于目标函数确定,所述目标函数包括输入参数;所述基于所述损失调整所述掩码参数,得到目标参数,包括:
基于所述损失调整所述输入参数,基于调整后的输入参数确定所述目标参数。
4.根据权利要求3所述的方法,其特征在于,所述目标函数为sigmoid函数。
5.根据权利要求4所述的方法,其特征在于,确定所述第二神经网络中的掩码层的损失,包括步骤:
基于所述掩码参数之和获取损失;
通过最小化所述损失,调整所述掩码参数。
6.根据权利要求3所述的方法,其特征在于,基于所述输入参数的初始值确定的掩码参数大于第一参数阈值。
7.根据权利要求1所述的方法,其特征在于,所述根据各个目标参数的取值,从各个目标参数对应的通道中确定待剪裁通道,包括:
按照预设的裁剪比例,根据各个目标参数的取值确定所述待剪裁通道,其中,所述待剪裁通道对应的目标参数的取值小于其他通道对应的目标参数的取值。
8.根据权利要求1所述的方法,其特征在于,剪裁所述待剪裁通道后,所述方法还包括:
重新训练剪裁后的神经网络。
9.根据权利要求1所述的方法,其特征在于,第一神经网络为卷积神经网络,所述对所述待剪裁通道进行剪裁包括:
对所述目标网络层的特征图的通道和卷积核的通道进行剪裁。
10.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
在经预训练的第一神经网络中添加掩码层,得到第二神经网络;所述掩码层用于连接所述神经网络中的目标网络层以及紧邻所述目标网络层的下一网络层,所述掩码层包括掩码参数,一个掩码参数用于度量所述目标网络层中的一个通道的重要性;
确定所述第二神经网络中的掩码层的损失,基于所述损失调整所述掩码参数,得到目标参数;
根据各个目标参数的取值,从各个目标参数对应的通道中确定待剪裁通道,并对所述待剪裁通道进行裁剪。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110791790.XA CN113537490A (zh) | 2021-07-13 | 2021-07-13 | 一种神经网络裁剪方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110791790.XA CN113537490A (zh) | 2021-07-13 | 2021-07-13 | 一种神经网络裁剪方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113537490A true CN113537490A (zh) | 2021-10-22 |
Family
ID=78127776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110791790.XA Pending CN113537490A (zh) | 2021-07-13 | 2021-07-13 | 一种神经网络裁剪方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113537490A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117237788A (zh) * | 2023-11-14 | 2023-12-15 | 浙江大华技术股份有限公司 | 图像处理方法、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111126595A (zh) * | 2019-11-29 | 2020-05-08 | 苏州浪潮智能科技有限公司 | 一种神经网络的模型压缩的方法和设备 |
CN111667068A (zh) * | 2020-06-02 | 2020-09-15 | 清华大学 | 一种基于掩码的深度图卷积神经网络模型剪枝方法与系统 |
CN111967583A (zh) * | 2020-08-13 | 2020-11-20 | 北京嘀嘀无限科技发展有限公司 | 压缩神经网络的方法、装置、设备和介质 |
CN112396179A (zh) * | 2020-11-20 | 2021-02-23 | 浙江工业大学 | 一种基于通道梯度剪枝的柔性深度学习网络模型压缩方法 |
-
2021
- 2021-07-13 CN CN202110791790.XA patent/CN113537490A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111126595A (zh) * | 2019-11-29 | 2020-05-08 | 苏州浪潮智能科技有限公司 | 一种神经网络的模型压缩的方法和设备 |
CN111667068A (zh) * | 2020-06-02 | 2020-09-15 | 清华大学 | 一种基于掩码的深度图卷积神经网络模型剪枝方法与系统 |
CN111967583A (zh) * | 2020-08-13 | 2020-11-20 | 北京嘀嘀无限科技发展有限公司 | 压缩神经网络的方法、装置、设备和介质 |
CN112396179A (zh) * | 2020-11-20 | 2021-02-23 | 浙江工业大学 | 一种基于通道梯度剪枝的柔性深度学习网络模型压缩方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117237788A (zh) * | 2023-11-14 | 2023-12-15 | 浙江大华技术股份有限公司 | 图像处理方法、设备和存储介质 |
CN117237788B (zh) * | 2023-11-14 | 2024-03-01 | 浙江大华技术股份有限公司 | 图像处理方法、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021204272A1 (zh) | 基于隐私保护确定目标业务模型 | |
CN107729999A (zh) | 考虑矩阵相关性的深度神经网络压缩方法 | |
CN112581263A (zh) | 一种基于灰狼算法优化广义回归神经网络的信用评估方法 | |
US10353351B2 (en) | Machine learning system and motor control system having function of automatically adjusting parameter | |
CN110799995A (zh) | 数据识别器训练方法、数据识别器训练装置、程序及训练方法 | |
WO2019223250A1 (zh) | 一种确定剪枝阈值的方法及装置、模型剪枝方法及装置 | |
US11397894B2 (en) | Method and device for pruning a neural network | |
WO2021043294A1 (en) | Neural network pruning | |
US20200167966A1 (en) | Computer architecture for artificial image generation using auto-encoder | |
CN109740734B (zh) | 一种利用优化神经元空间排布的卷积神经网络的图像分类方法 | |
US20210073633A1 (en) | Neural network rank optimization device and optimization method | |
Gil et al. | Quantization-aware pruning criterion for industrial applications | |
CN112766496A (zh) | 基于强化学习的深度学习模型安全性保障压缩方法与装置 | |
CN110232352B (zh) | 一种用于人脸识别的多任务级联卷积神经网络模型的改进方法 | |
Malashin | Principle of least action in dynamically configured image analysis systems | |
CN113537490A (zh) | 一种神经网络裁剪方法及电子设备 | |
CN111353534A (zh) | 一种基于自适应分数阶梯度的图数据类别预测方法 | |
CN111797220A (zh) | 对话生成方法、装置、计算机设备和存储介质 | |
CN114830137A (zh) | 用于生成预测模型的方法和系统 | |
CN115170902B (zh) | 图像处理模型的训练方法 | |
CN110598737A (zh) | 一种深度学习模型的在线学习方法、装置、设备及介质 | |
de Brébisson et al. | The z-loss: a shift and scale invariant classification loss belonging to the spherical family | |
KR102409041B1 (ko) | 액터 크리틱 모델을 이용한 포트폴리오 자산배분 강화학습방법 | |
EP4109374A1 (en) | Data processing method and device | |
CN111522240B (zh) | 四旋翼飞行器mtmlp-arx模型、辨识方法、系统及存储介质 |
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 |