CN111488986A - 一种模型压缩方法、图像处理方法以及装置 - Google Patents
一种模型压缩方法、图像处理方法以及装置 Download PDFInfo
- Publication number
- CN111488986A CN111488986A CN202010286175.9A CN202010286175A CN111488986A CN 111488986 A CN111488986 A CN 111488986A CN 202010286175 A CN202010286175 A CN 202010286175A CN 111488986 A CN111488986 A CN 111488986A
- Authority
- CN
- China
- Prior art keywords
- layer
- network layer
- model
- channel
- 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 97
- 230000006835 compression Effects 0.000 title claims abstract description 87
- 238000007906 compression Methods 0.000 title claims abstract description 87
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000013138 pruning Methods 0.000 claims abstract description 172
- 238000012545 processing Methods 0.000 claims abstract description 111
- 230000006870 function Effects 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 20
- 230000036961 partial effect Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 238000013528 artificial neural network Methods 0.000 abstract description 25
- 230000000694 effects Effects 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000003062 neural network model Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000008909 emotion recognition Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training 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
-
- 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/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Image Processing (AREA)
- Holo Graphy (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开提供了一种模型压缩方法、图像处理方法及装置,用于对待压缩模型中的多层网络层中的至少一层网络层进行通道剪枝处理;该方法包括:针对至少一层网络层中的任一层网络层,根据在对任一层网络层对应通道剪枝处理时的模型压缩进度,确定第一目标模型,并利用第一目标模型,获取样本图像的损失信息,以及第一目标模型中的任一层网络层的下一层网络层输出样本图像的第一特征数据;基于损失信息、以及第一特征数据,确定分类损失指导信息;基于分类损失指导信息,对任一层网络层执行通道剪枝处理。本公开在每次仅针对一层神经网络进行剪枝,且基于分类损失指导信息指导该层神经网络的通道剪枝处理,进而能够保证压缩效率,又能够兼顾压缩效果。
Description
技术领域
本公开涉及机器学习技术领域,具体而言,涉及一种模型压缩方法、图像处理方法以及装置。
背景技术
随着神经网络在各个领域的广泛应用,推动了一系列智能产品的落地。为了让神经网络具有更好的效果,神经网络的层数不断增加,每层神经网络中的参数也越来越多,例如图像处理神经网络中,为了提取到图像中更多的特征,每层神经网络往往需要通过数十个卷积核来对图像进行卷积处理。这造成基于神经网络的产品大多非常依赖良好的运行环境,造成神经网络模型的应用范围受到限制,例如无法实现嵌入式应用。为了实现神经网络模型的嵌入式应用,需要将神经网络模型的体积压缩到一定范围以下。
通道剪枝是当前一种常见的模型压缩方法,该方法通过在训练完模型后,去掉网络模型中权重较小的参数,以实现对神经网络模型的压缩。当前通过通道剪枝来压缩神经网络模型的方法存在效率和压缩效果无法兼顾的问题。
发明内容
本公开实施例至少提供一种模型压缩方法、图像处理方法以及装置。
第一方面,本公开实施例提供了一种模型压缩方法,用于对待压缩模型中的多层网络层中的至少一层网络层进行通道剪枝处理;包括:针对所述至少一层网络层中的任一层网络层,根据在对所述任一层网络层对应通道剪枝处理时的模型压缩进度,确定第一目标模型,并利用所述第一目标模型,获取样本图像的损失信息,以及所述第一目标模型中的所述任一层网络层的下一层网络层输出所述样本图像的第一特征数据;基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息;基于所述分类损失指导信息,对所述任一层网络层执行通道剪枝处理。
这样,根据在对所述任一层网络层对应通道剪枝处理时的模型压缩进度,确定第一目标模型,并利用所述第一目标模型,获取所述样本图像的损失信息,以及第一目标模型中的所述任一层网络层的下一层网络层输出所述样本图像的第一特征数据;然后基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息,并基于所述分类损失指导信息,对所述任一层网络层执行通道剪枝处理。从而能够在每次仅针对一层神经网络进行剪枝,且剪枝的时候基于分类损失指导信息指导该层神经网络的通道剪枝处理,避免在压缩完成后对模型的损失造成较大影响,进而能够保证压缩效率,又能够兼顾压缩效果。
一种可选的实施方式中,在对所述任一层网络层执行通道剪枝处理后,还包括:基于进行了剪枝处理后的所述任一层网络层,对所述任一层网络层的下一层网络层进行参数更新处理。
这样,在对第l层网络层进行了通道剪枝操作后,适应性的调整了第l+1层网络层的参数。
一种可选的实施方式中,所述基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息,包括:基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息以及特征重要性指导信息。
这样,利用了特征重要性指导信息来确定通道选择指示信息,并基于通道选择信息来对所述任一层网络层执行通道剪枝处理。使用特征重要性指导信息作为对第l层网络层进行通道剪枝时的指导,有效地避免了将不具备信息性的特征所造成的重构误差降到最低,这些信息将在对第l+1层网络层进行通道剪枝过程中被删除,因此可以获得合理的结果。
一种可选的实施方式中,基于所述损失信息、以及所述第一特征数据,确定特征重要性指导信息,包括:基于所述第一特征数据,以及预先确定调整参数,确定所述特征重要性指导信息。
这样,基于第一特征数据中各个元素的元素值的大小来确定特征重要性指导信息,针对某个通道而言,第一特征数据中各个元素的元素值越大,则认为该通道越重要;第一特征数据中各个元素的元素值越小,则认为该通道越不重要,进而基于该方式对通道进行调整,解决下一层特征消除问题,使得更合理的通道剪枝结果。
一种可选的实施方式中,针对所述任一层网络层为第一层进行通道剪枝处理的网络层的情况,所述第一目标模型为:所述待压缩模型;针对所述任一层网络层并非第一层进行通道剪枝处理的网络层的情况,所述第一目标模型包括:已经进行了通道剪枝处理的网络层,以及所述待压缩模型中其他未进行通道剪枝处理的网络层。
一种可选的实施方式中,所述利用所述第一目标模型,获取所述样本图像的损失信息,包括:利用所述第一目标模型,获取样本图像的分类预测结果;基于所述样本图像的分类损失预测结果、与所述样本图像对应的真实分类标签,以及预先确定的损失函数,获取所述样本图像的损失信息。
一种可选的实施方式中,所述基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息,包括:利用损失信息在所述第一目标模型中的反向传播,确定损失函数相对于所述第一特征数据的偏导数;将所述偏导数确定为所述分类损失指示信息。
一种可选的实施方式中,基于所述分类损失指导信息、以及所述样本图像的第二特征数据,确定通道选择指示信息;或者,基于特征重要性指导信息、以及所述样本图像的第二特征数据,确定通道选择指示信息;又或者,基于所述分类损失指导信息、特征重要性指导信息、以及所述样本图像的第二特征数据,确定通道选择指示信息;基于所述通道选择指示信息,调整所述任一网络层中的卷积核;其中,所述通道选择指示信息用于指示要保留的通道;所述样本图像的所述第二特征数据,为利用待压缩模型对所述样本图像进行处理时从所述任一层网络层的下一层网络层输出的特征数据。
一种可选的实施方式中,所述基于进行了剪枝处理后的所述任一层网络层,对所述任一层网络层的下一层网络层进行参数更新处理,基于进行了剪枝处理后的所述任一层网络,对所述任一层网络的下一层网络中的各个卷积核的进行通道调整;基于进行了剪枝处理后的所述任一层网络、以及进行了卷积核通道调整的所述下一层网络层,确定第二目标模型,并利用所述第二目标模型,获取所述第二目标模型中的所述进行了剪枝处理后的所述任一层网络层的下一层网络层输出所述样本图像的第三特征数据;以及利用待压缩模型对图像进行处理时的所述任一层网络层输出的第二特征数据,得到所述下一层层网络层的权重参数;基于所述权重参数,对所述下一层网络层的原始权重参数进行更新处理。
第二方面,公开实施例提供一种图像处理方法,包括:获取待处理图像;利用基于第一方面或第一方面任一项所确定的图像处理模型,对所述待处理图像执行图像处理任务。
第三方面,本公开实施例提供一种模型压缩装置,用于对待压缩模型中的多层网络层中的至少一层网络层进行通道剪枝处理;包括:获取模块,用于针对所述至少一层网络层中的任一层网络层,根据在对所述任一层网络层对应通道剪枝处理时的模型压缩进度,确定第一目标模型,并利用所述第一目标模型,获取样本图像的损失信息,以及所述第一目标模型中的所述任一层网络层的下一层网络层输出所述样本图像的第一特征数据;确定模块,用于基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息;剪枝模块,用于基于所述分类损失指导信息,对所述任一层网络层执行通道剪枝处理。
一种可选的实施方式中,还包括:更新模块,用于在对所述任一层网络层执行通道剪枝处理后,基于进行了剪枝处理后的所述任一层网络层,对所述任一层网络层的下一层网络层进行参数更新处理。
一种可选的实施方式中,所述确定模块,在基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息时,用于:基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息以及特征重要性指导信息。
一种可选的实施方式中,所述确定模块,在基于所述损失信息、以及所述第一特征数据,确定特征重要性指导信息时,用于:基于所述第一特征数据,以及预先确定调整参数,确定所述特征重要性指导信息。
一种可选的实施方式中,针对所述任一层网络层为第一层进行通道剪枝处理的网络层的情况,所述第一目标模型为:所述待压缩模型;针对所述任一层网络层并非第一层进行通道剪枝处理的网络层的情况,所述第一目标模型包括:已经进行了通道剪枝处理的网络层,以及所述待压缩模型中其他未进行通道剪枝处理的网络层。
一种可选的实施方式中,所述获取模块,在利用所述第一目标模型,获取样本图像的损失信息时,用于:利用所述第一目标模型,获取所述样本图像的分类预测结果;基于所述样本图像的分类损失预测结果、与所述样本图像对应的真实分类标签,以及预先确定的损失函数,获取所述样本图像的损失信息。
一种可选的实施方式中,所述确定模块,在基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息时,用于:利用损失信息在所述第一目标模型中的反向传播,确定损失函数相对于所述第一特征数据的偏导数;将所述偏导数确定为所述分类损失指示信息。
一种可选的实施方式中,所述剪枝模块,在基于所述分类损失指导信息,对所述任一层网络层执行通道剪枝处理时,用于:基于所述分类损失指导信息、以及所述样本图像的第二特征数据,确定通道选择指示信息;或者,基于特征重要性指导信息、以及所述样本图像的第二特征数据,确定通道选择指示信息;又或者,基于所述分类损失指导信息、特征重要性指导信息、以及所述样本图像的第二特征数据,确定通道选择指示信息;基于所述通道选择指示信息,调整所述任一网络层中的卷积核;其中,所述通道选择指示信息用于指示要保留的通道;所述样本图像的所述第二特征数据,为利用待压缩模型对所述样本图像进行处理时从所述任一层网络层的下一层网络层输出的特征数据。
一种可选的实施方式中,所述更新模块,在基于进行了剪枝处理后的所述任一层网络层,对所述任一层网络层的下一层网络层进行参数更新处理时,用于:基于进行了剪枝处理后的所述任一层网络,对所述任一层网络的下一层网络中的各个卷积核的进行通道调整;基于进行了剪枝处理后的所述任一层网络、以及进行了卷积核通道调整的所述下一层网络层,确定第二目标模型,并利用所述第二目标模型,获取所述第二目标模型中的所述进行了剪枝处理后的所述任一层网络层的下一层网络层输出所述样本图像的第三特征数据;以及利用待压缩模型对图像进行处理时的所述任一层网络层输出的第二特征数据,得到所述下一层层网络层的权重参数;基于所述权重参数,对所述下一层网络层的原始权重参数进行更新处理。
第四方面,本公开实施例还提供一种图像处理装置,包括:获取单元,用于获取待处理图像;处理单元,用于利用基于第一方面,或第一方面中任一项确定的图像处理模型,对待处理图像执行图像处理任务。
第五方面,本公开实施例还提供一种计算机设备,包括:相互连接的处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤,或者,所述机器可读指令被所述处理器执行时执行上述第二方面,或第二方面中任一种可能的实施方式中的步骤。
第六方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤,或者,该计算机程序被处理器运行时执行上述第二方面,或第二方面中任一种可能的实施方式中的步骤。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种模型压缩方法的流程图;
图2示出了本公开实施例所提供的一种模型压缩装置的示意图;
图3示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
经研究发现,对神经网络模型进行通道剪枝的方法,通常有两种,分别为通过最小化函数损失剪枝的方法和层接层的剪枝方法。然而,最小化损失函数的通道剪枝方法迭代地删除各个神经网络层通道,以使得最终的压缩模型的最终损失影响最小,也即,在每次迭代过程中,都会对所有的神经网络层进行处理;该方法对神经网络模型的压缩效果好;但是,为了评估各通道对最终损耗的影响,需要频繁执行微调过程,造成剪枝速度慢,效率低的问题。而对于层接层的剪枝方法,在对某一层神经网络层进行剪枝时,会通过最小化下一层神经网络层输出的特征数据的重构误差来选择要删除的通道并调整模型参数;由于该方法可以每次仅针对一层神经网络层进行剪枝操作,并且针对每层神经网络层的微调过程仅执行一次,因而剪枝速度快;但在对每层神经网络层的通道进行通道剪枝操作时,对通道的调整可能对神经网络模型在压缩完成后的损失造成较大影响,导致对通道的调整结果不够理想,导致最终的压缩效果较差。进而,当前对神经网络模型进行通道剪枝的方法,存在效率和压缩效果无法兼顾的问题。
另外,在对神经网络的第l层网络层进行通道剪枝操作之后,会对第l+1层网络层进行通道剪枝操作,进行通道剪枝作操作之后的第l层网络层的输出特征,将成为第l+1层网络层的输入;若在对第l+1层网络层进行通道剪枝操作的时候,删除了第l+1层网络层的输入特征中某些重构特征,这些重构特征是在对第l层网络层进行通道剪枝操作时重构得到的,这样意味着没有必要在对第l层网络层进行通道剪枝操作的时候重构这些在第l+1层网络层被删除的重构特征,这也就意味着,在对第l层网络层进行通道剪枝操作时,选择删除的某些通道是不准确的,进而会由于这种情况造成得到的压缩模型实际上并非是最优化的模型,其还有可能被优化的空间。该问题称为下一层特征消除问题。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
基于上述研究,本公开提供了一种模型压缩方法以及装置,用于对待压缩模型中的多层网络层中的至少一层网络层进行通道剪枝处理,并针对至少一层网络层中的任一层网络层,根据在对所述任一层网络层对应通道剪枝处理时的模型压缩进度,确定第一目标模型,并利用所述第一目标模型,获取所述样本图像的损失信息,以及第一目标模型中的所述任一层网络层的下一层网络层输出所述样本图像的第一特征数据;然后基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息,并基于所述分类损失指导信息,对所述任一层网络层执行通道剪枝处理。从而能够在每次仅针对一层神经网络进行剪枝的时候,基于分类损失指导信息指导该层神经网络的通道剪枝处理,避免在压缩完成后对模型的损失造成较大影响,进而能够保证压缩效率,又能够兼顾压缩效果。
下面将结合本公开中附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种模型压缩方法进行详细介绍,本公开实施例所提供的模型压缩方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该模型压缩方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
首先对网络层中通道的概念进行解释:针对任一层网络层,假如该网络层为卷积层;且输入至该卷积层的输入特征图维度为4*10*24,其中,4表示该输入特征图的通道数为4;10*24表示特征图在各个通道中的尺寸;通过64*4*3*3的卷积核对该输入特征图进行卷积处理,其中64表示卷积核的数量,每一个卷积核对应一个通道;4表示卷积核的通道数,3*3表示卷积核的尺寸。输出特征图为:64*10*24;对该层网络层进行通道剪枝处理,即为减少卷积核的数量,使得得到的输出特征图的通道数减少,进而降低卷积处理过程中的计算量、以及模型的体积。例如在对该层网络层进行通道剪枝处理时,减去该层网络层中的5个卷积核,则卷积核就会变成:59*4*3*3;最终,得到的输出特征图为:59*10*24。
下面对本公开实施例提供的模型压缩方法加以详细说明。
参见图1所示,为本公开实施例提供的模型压缩方法的流程图,该方法用于对待压缩模型中的多层网络层中的至少一层网络层进行通道剪枝处理;一种可能的实施方式中,若待压缩模型中包括L层网络层,可以将L层网络层中的任意m层网络层作为要进行通道剪枝处理的网络层。其中,m为大于0,小于L的正整数。
所述方法包括步骤S101~S103,其中:
S101:针对所述至少一层网络层中的任一层网络层,根据在对所述任一层网络层对应通道剪枝处理时的模型压缩进度,确定第一目标模型,并利用所述第一目标模型,获取所述样本图像的损失信息,以及所述第一目标模型中的所述任一层网络层的下一层网络层输出所述样本图像的第一特征数据。
S102:基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息。
S103:基于所述分类损失指导信息,对所述任一层网络层执行通道剪枝处理。
下面分别对上述S101~S103加以详细说明。
I:在上述S101中,模型压缩进度,用于指示当前进行剪枝处理的网络层在待压缩模型中的位置,以及在此之前,已经进行过通道剪枝处理的网络层在待压缩模型中的位置。
特别的,在对待压缩模型中的所有网络层均进行通道剪枝处理的时候,模型压缩进度,可以仅用于指示当前进行剪枝处理的网络层在待压缩模型中的位置。
假设任一层网络层为待压缩模型中的第l层网络层,在第l层网络层是待压缩模型中要进行通道剪枝处理的第1层网络层的情况下,则对应的第一目标模型包括:待压缩模型。
此时,在一种可能的情况下,l=1,也即,第l层网络层是待压缩模型中的第1层网络层;在第l层网络层之前不存在其他的网络层,要对第l层网络层进行通道剪枝处理,则第l层网络层即为待压缩模型中要进行通道剪枝处理的第1层网络层。此时,第一目标模型即为待压缩模型。
在另一种可能的情况下,l为大于1的正整数,例如l=5,也即第l层网络层是待压缩模型中的第5层网络层;在第l层网络层之前的第1层~第4层网络层均不需要进行通道剪枝处理,则第l层网络层也为待压缩模型中要进行通道剪枝处理的第1层网络层。在该种情况下,第一目标模型也为待压缩模型。
在第l层网络层并非待压缩模型中要进行通道剪枝处理的第1层网络层的情况下,则对应的第一目标模型包括:已经进行通道剪枝处理的网络层,以及待压缩模型中其他未进行通道剪枝处理的网络层。
例如,某待压缩模型中包括L层网络层,分别为a1~aL;其中,需要对其中的第1层a1、第3层a3、第5层a5共三层网络层进行通道剪枝处理。当l=5的情况下,由于已经完成了对a1的通道剪枝处理,得到进行了通道剪枝处理后的a1’;也已经完成了对a3的通道剪枝处理,得到进行通道剪枝处理后的a3’,此时第一目标模型包括:a1’、a2、a3’、以及a4~aL。
本申请实施例以待压缩模型中包括L层网络层,对待处理模型中的1~L-1层网络层进行通道剪枝处理为例进行说明。
在对第l层网络层进行通道剪枝处理时:
利用与第l层网络层对应的第一目标模型,获取样本图像的损失信息时,例如可以将样本图像输入至第一目标模型中,利用第一目标模型,获取样本图像的分类预测结果,然后基于所述样本图像的分类损失预测结果,以及与所述样本图像对应的真实分类标签,获取所述样本图像的损失信息。
在该示例中,第一目标模型的损失信息例如表示为如下公式(1):
C=Lc[N(Y;W),g] (1)
其中,C表示第l+1层网络层的输出特征为Y时,第一目标模型的分类损失函数;Lc表示交叉熵损失函数;g表示样本图像的真实分类标签。N表示在对第l层网络层进行通道剪枝处理时,第l+2层网络层至第L层网络层所映射成的函数;W为该函数的参数,Y即为该函数的输入。
进而,通过上述过程确定样本图像的损失信息。这里的损失信息,是在对第1~第l-1层网络层进行了通道剪枝处理后,由已经进行了通道剪枝处理的网络层和未进行通道剪枝处理的网络层构成的第一目标模型对样本图像进行分类时所得到的损失信息。
第一特征数据是从第一目标模型中的第l+1层网络层输出的特征数据。本公开实施例中,在确定了第一目标模型后,利用第一目标模型对样本图像进行图像处理,每一层网络层均能够得到表征样本图像的特征的特征数据;将第一目标模型中第l+1层网络层输出的特征数据确定为第一特征数据。
II:在上述S102中,分类损失指导信息,用于表征要进行通道剪枝处理的网络层中各个卷积核的重要性程度。
具体地,可以采用下述方式得到分类损失指示信息:利用损失信息的反向传播,确定损失函数相对于所述第一特征数据的偏导数;将所述偏导数确定为所述分类损失指示信息。
示例性的,例如分类损失指示信息α满足下述公式(2)
其中,C表示损失函数;yi表示在对第l层网络层进行通道剪枝处理后,第l+1层网络层在第i个通道输出的特征数据;表示在对第l层网络层进行通道剪枝处理前,第l+1层网络层在第i个通道输出的特征数据,也即,第一目标模型的第l+1层网络层在第i个通道输出的特征数据。
这里需要注意的是,由于在对第l层网络层进行通道剪枝处理的时候,是要不断的尝试减去第l层网络层中的某些通道,以形成多种剪枝方案,来最终拟合剪枝处理的结果,因此,在拟合剪枝处理的过程中,yi是一个变量;也即,不同的剪枝方案,会对应有不同的yi。表示使用分类损失函数对变量yi求偏导,其约束条件是指分类损失指示信息α的值为在yi=yi *的情况下,确定的。进而,该步骤表述为基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息。
III:在上述S103中,在确定了分类损失指导信息后,就能基于该分类损失指导信息对第l层网络层进行通道剪枝处理。
示例性的,可以采用下述方式对任一层网络层进行通道剪枝处理:
基于所述分类损失指导信息,所述样本图像的第二特征数据,确定通道选择指示信息;所述通道选择指示信息用于指示要保留的通道;所述样本图像的所述第二特征数据,为利用待压缩模型对所述样本图像进行处理时从所述任一层网络层的下一层网络层输出的特征数据;
基于所述通道选择指示信息,调整所述任一网络层中的卷积核。
在具体实施中,例如若对第l层网络层进行通道剪枝处理,则首先可以利用待压缩模型对样本图像进行处理时,得到待压缩模型的第l+1层网络层输出的样本图像的第二特征数据,然后基于分类损失指导信息以及该第二特征数据,确定通道指示选择信息。
示例性的,第i个通道指示选择信息β满足下述公式(3):
其中,cout表示第l+1层网络层的输出通道数;i表示输出特征的第i个通道。
α表示分类损失指示信息,其满足上述公式(2)。
是包含一组二进制通道选择指示符的向量中的一个元素,在该公式中,其与第l层网络层输出特征的一个输出通道对应,用于指示对应的输出通道是否需要被剪枝,在该向量中包括的元素的数量与第l+1层网络层的输入通道数,也即与第l层网络层的输出通道数相同。
其中,cin表示第l+1层网络层的输入通道数。其与第l层网络层的输出通道一一对应。
例如,当与第l层网络层中的某个输出通道对应的β为0时,指示对该输出通道进行剪枝,也即删除该输出通道,具体操作时为删除与该输出通道对应的卷积核;当与第l层网络层中的某个输出通道对应的β为1时,指示不对该输出通道进行剪枝,也即保留该通道,具体操作时为保留与该输出通道对应的卷积核。
yi表示在对第l层网络层进行通道剪枝处理后,第l+1层网络层输出的特征数据。这里需要注意的是,上述公式(3)为在基于所述分类损失指导信息,所述样本图像的第二特征数据,确定通道选择指示信息时的目标函数。这里的yi实际上是在拟合目标函数时,基于的β不同值所确定的,在对目标函数进行拟合的过程中,实际上并未对第l层网络层的卷积核进行调整。在基于该目标函数确定了β后,才会基于最终确定的β调整所述任一网络层中的卷积核。在拟合目标函数时,例如可以采用最小绝对收缩选择算子(Least absoluteshrinkage and selection operator,LASSO)算法来实现。
||β||0表示β的L0范数。B是指在对第l层网络层进行通道剪枝后,剩余通道的数量。
这里,B一般是预先确定的,其用于约束在对第l层网络层进行通道剪枝后,剩余的通道数量不能超出B。
在另一实施例中,由于求解上述公式(3)是一个非确定多项式(Non-Deterministic Polynomial Problems,NP)难题,可以将L0范数正则化放宽为L1范数正则化,并得出以下目标函数(4):
λ增加,会使得二进制通道选择指示符的向量中的0的数量增加,也即减去的通道的数量会增加;λ减小,会使得二进制通道选择指示符的向量中的1的数量增加,也即减去的通道的数量会减少;在求解目标函数的时候会不断尝试λ的取值;例如在某种剪枝方案下逐渐增加λ,直至满足约束条件||β||0≤B。
||β||1表示β的L1范数。其他参数如公式(3),在此不再赘述。
另外,考虑到各个通道中空间位置M的总和以及位置m的索引,上述公式(3)还可以表示成下述公式(5)的形式:
其中,表示待压缩模型的第l+1层网络层在第i个通道的第m个位置的输出特征;yi,m表示在对第l层网络层进行通道剪枝处理后,第l+1层网络层在第i个通道的第m个位置输出的特征数据。其他参数如公式(3),在此不再赘述。
在得到通道指示选择信息后,则基于该通道指示选择信息,调整第l层网络层的卷积核。具体地,如某一通道对应的通道指示选择信息的值为0,则删除与该通道对应的卷积核;若某一通道对应的通道指示选择信息的值为1,则保留与该通道对应的卷积核。
另外,为了解决本公开实施例中提出的下一层特征消除问题,本公开实施例还提供另一种基于损失信息、以及第一特征数据,确定分类损失指导信息的具体方法,包括:基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息以及特征重要性指导信息。
在该种情况下,基于所述分类损失指导信息,对所述任一层网络层执行通道剪枝处理包括:基于所述分类损失指导信息、基于特征重要性指导信息、以及所述样本图像的第二特征数据,确定通道选择指示信息;
基于所述通道选择指示信息,调整所述任一网络层中的卷积核;
这里,特征重要性指导信息用于指示特征数据中不同位置的元素值的重要性程度。示例性的,可以基于第一特征数据,以及预先确定的调整参数,确定特征重要性指导信息。
例如,特征重要性指导信息θ满足下述公式(6):
则此时,该第i个通道指示选择信息β满足下述公式(7):
其他参数与上述公式(3)类似,在此不再赘述。
类似的,将上述公式(7)中的L0范数正则化放宽为L1范数正则化后,可以得出下述目标函数(8):
另外,考虑到各个通道中空间位置M的总和以及位置m的索引,上述公式(7)还可以表示成下述公式(9)的形式:
其他参数与上述公式(5)类似,在此不再赘述。
另外,在本公开另一实施例中,也可以仅仅基于特征重要性知道信息来确定通道选择指示信息。
在该种情况下,例如可以基于特征重要性指导信息、以及所述样本图像的第二特征数据,确定通道选择指示信息;基于所述通道选择指示信息,调整所述任一网络层中的卷积核;
示例性的,目标函数可以表示为下述公式(10):
该目标函数可以等效地重写如下述公式(11):
其中,当对于大多数空间位置m来说,时,第i个通道更有可能在对第l层网络层进行通道剪枝时被删除。在这种情况下,可以使用的重构误差。另一方面,如果在对第l层网络层进行通道剪枝时第i个通道没有被删除,可以使用的重构误差。由于在相关技术中,对第l层网络层进行通道剪枝的结果是由许多因素决定的,包括空间位置m,输入的样本图像和待压缩模型的参数,因此很难预测是否在对第l层网络层进行通道剪枝时删除该通道,进而本申请实施例中采用来指导对第l层网络层的通道剪枝。
本公开另一实施例中,在基于所述分类损失指导信息,对所述任一层网络层执行通道剪枝处理后,还包括下述步骤S104:
S104:基于进行了剪枝处理后的所述任一层网络层,对所述任一层网络层的下一层网络层进行参数更新处理。
在具体实施中,例如任一层网络层为第l层网络层;则第l层网络层的下一层网络层为第l+1层网络层。例如可以采用下述方式对第l+1层网络层进行参数更新处理:
基于进行了剪枝处理后的第l层网络层,对所述第l+1层网络层中的各个卷积核的进行通道调整。
基于进行了剪枝处理后的第l层网络层、以及进行了卷积核通道调整的第l+1层网络层,确定第二目标模型;并利用所述第二目标模型,并利用所述第二目标模型,获取所述第二目标模型中的第l+1层网络层输出所述样本图像的第三特征数据;以及利用待压缩模型对图像进行处理时的所述任一层网络层输出的第二特征数据,得到第l+1层网络层的权重参数;基于所述权重参数,对第l+1层网络层的原始权重参数进行更新处理。
在具体实施中,由于要保持第l层网络层的输出通道和第l+1层网络层的输入通道数量的一致;当第l层网络层的输出通道数量发生变化时,就要调整第l+1层网络层的输入通道数量。
例如,第l层网络层的输出通道数量为6;某特征图在经过第l层网络层处理后,输出特征图维度为6*10*24,也即,其中,第l+1层网络层的输入通道数也为6;若第l+1层网络层中有64个6*3*3的卷积核;若删除第l层网络层中的1个输出通道,则特征图在经过删除了输出通道后的第l层网络层处理后,输出的特征图维度为5*10*24;在保证l+1层网络层的输出通道不变的情况下,需要对第l+1层网络层中的64个6*3*3的卷积核分别进行通道删除,最终第l+1层网络层中的64个卷积核的维度为:5*3*3。
其中,删除的卷积核的通道,与删除的第l层网络层的输出通道一致。
如第l层网络的输出通道分别为m1~m6;第l+1层网络层的卷积核的通道分别为m1’~m6’,若将第l层网络的输出通道m3删除,则对应的,要将第l+1层网络层的卷积核的通道m3’删除。
在对l+1层网络层的卷积核进行通道调整后,基于进行了剪枝处理后的第l层网络、以及进行了卷积核通道调整的第l+1层网络层,确定第二目标模型。
第一目标模型和第二目标模型的区别在于:第一目标模型中,第l层网络层是经过通道剪枝操作前的网络层,且第l+1层网络层也是待压缩模型中原始的第l+1层网络层;在第二目标模型中,第l层网络层是经过通道剪枝操作后的网络层,第l+1层网络层是进行了卷积核通道调整的第l+1层网络层。其具体构成可以参见上述实施例描述,在此不再赘述。
具体地,由于在第l层网络层中已经去除了某些通道对应的卷积核,第l+1层网络层的卷积核也进行了相应调整,因此还需要适应性的调整第l+1层网络层的参数。
具体地,在对第l层网络层执行了通道剪枝操作后,由于对第l层网络层影响较小的通道已经被删除,剩下的其他通道都是较为重要的通道,因此可以将第l层网络层中剩下的各个通道视为同等重要,进而,例如可以令并降低分类损失指示信息α,并通过解决具有固定通道选择指示信息的最小二乘优化问题来最小化重构误差也即,第l+1层网络层的权重参数W满足下述公式(12):
进而根据上述公式(12)得到第l+1层网络层的权重参数,并基于该权重参数对第l+1层网络层的权重参数进行更新处理。
示例:
输入待压缩模型Mu,其中Mu={W0,(1),W0,(1),...,W0,(L),Θ},
基于下述步骤输出压缩模型Mc,然后重新使用样本图像对其进行训练。
1:利用待压缩模型为样本图像提取第1层至第L层网络层中每层网络层分别对应的第二特征数据Y0,(1),Y0,(2),...,Y0,(L)。其中,表示在对第l层网络层进行通道剪枝处理时,第l+1层网络层对应的特征数据Y0,(l+1)中的第i个输出通道输出的特征数据;
2:设置Mc=Mu={W0,(1),W0,(2),...,W0,(L),Θ};
3:从l=1至L-1,执行下述步骤4~步骤9:
6、基于LASSO优化算法以及公式(7),获得第l层网络层的通道指示选择信息β(l)。
7、通过删除第k个卷积核来修剪第l层网络层中的通道,其中k是β(l)中所有βk (l)=0的索引,将删除了通道之后的第l层网络层对应的权重设为以及,基于β(l)调整第l+1层网络层中的各个卷积核的通道;
在执行完上述循环步骤之后,最终得到的压缩模型为:
在本公开另一实施例中,在基于上述步骤得到压缩模型后,还可以利用样本图像对压缩模型进行微调处理。例如可以利用压缩模型获得样本图像的分类结果,并基于分类结果,以及样本图像的分类标签,确定样本图像的分类损失;然后基于分类损失,微调压缩模型的参数。从而可以提高压缩后的模型的识别精度。
本公开根据在对所述任一层网络层对应通道剪枝处理时的模型压缩进度,确定第一目标模型,并利用所述第一目标模型,获取所述样本图像的损失信息,以及第一目标模型中的所述任一层网络层的下一层网络层输出所述样本图像的第一特征数据;然后基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息,并基于所述分类损失指导信息,对所述任一层网络层执行通道剪枝处理。从而能够在每次仅针对一层神经网络进行剪枝的时候,基于分类损失指导信息指导该层神经网络的通道剪枝处理,避免在压缩完成后对模型的损失造成较大影响,进而能够保证压缩效率,又能够兼顾压缩效果。
另外,本公开另一实施例还利用了特征重要性指导信息来确定通道选择指示信息,并基于通道选择信息来对所述任一层网络层执行通道剪枝处理。使用特征重要性指导信息作为对第l层网络层进行通道剪枝时的指导,有效地避免了将不具备信息性的特征所造成的重构误差降到最低,这些信息将在对第l+1层网络层进行通道剪枝过程中被删除,因此可以获得合理的结果。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与模型压缩方法对应的模型压缩装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述模型压缩方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
本公开实施例还提供一种图像处理方法,包括:获取待处理图像;利用基于本公开任一实施例所提供的模型压缩方法确定的图像处理模型,对待处理图像执行图像处理任务。本公开实施例所提供的图像处理方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该图像处理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
待处理图像可以通过计算机设备上设置的摄像装置直接采集得到,也可以通过通信方式从其他设备或存储装置上获取得到。
此处,图像处理任务例如包括:动作识别、人脸识别、人脸情绪识别、人脸关键点识别、活体识别中至少一种。
可以基于预定的图像处理任务,确定样本图像和与各张样本图像对应的标签;然后基于样本图像和各张样本图像对应的标签,训练得到待压缩模型,基于本公开任一实施例所提供的模型压缩方法对其进行压缩处理,得到压缩模型后,还可以再利用一些样本图像对压缩模型进行微调,得到最终的图像处理模型。
本公开实施例提供的图像处理方法,是利用基于本公开实施例提供的模型压缩方法确定的图像处理模型来执行图像处理任务。由于本公开实施例提供的模型压缩方法能够带来更好的压缩效果,也即,得到的压缩模型较之当前技术得到的压缩模型的模型规模更小,计算复杂度也更低,因此更适用于嵌入式设备进行图像处理。
参照图2所示,为本公开实施例提供的一种模型压缩装置的示意图,用于对待压缩模型中的多层网络层中的至少一层网络层进行通道剪枝处理;所述装置包括:获取模块21、确定模块22、剪枝模块23;其中,
获取模块21,用于针对所述至少一层网络层中的任一层网络层,根据在对所述任一层网络层对应通道剪枝处理时的模型压缩进度,确定第一目标模型,并利用所述第一目标模型,获取样本图像的损失信息,以及所述第一目标模型中的所述任一层网络层的下一层网络层输出所述样本图像的第一特征数据;
确定模块22,用于基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息;
剪枝模块23,用于基于所述分类损失指导信息,对所述任一层网络层执行通道剪枝处理。
本公开根据在对所述任一层网络层对应通道剪枝处理时的模型压缩进度,确定第一目标模型,并利用所述第一目标模型,获取所述样本图像的损失信息,以及第一目标模型中的所述任一层网络层的下一层网络层输出所述样本图像的第一特征数据;然后基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息,并基于所述分类损失指导信息,对所述任一层网络层执行通道剪枝处理。从而能够在每次仅针对一层神经网络进行剪枝的时候,基于分类损失指导信息指导该层神经网络的通道剪枝处理,避免在压缩完成后对模型的损失造成较大影响,进而能够保证压缩效率,又能够兼顾压缩效果。
一种可能的实施方式中,还包括:更新模块24,用于在对所述任一层网络层执行通道剪枝处理后,基于进行了剪枝处理后的所述任一层网络层,对所述任一层网络层的下一层网络层进行参数更新处理。
一种可能的实施方式中,所述确定模块22,在基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息时,用于:
基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息以及特征重要性指导信息。
一种可能的实施方式中,所述确定模块22,在基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息时,用于
基于所述第一特征数据,以及预先确定调整参数,确定所述特征重要性指导信息。
一种可能的实施方式中,针对所述任一层网络层为第一层进行通道剪枝处理的网络层的情况,所述第一目标模型为:所述待压缩模型;
针对所述任一层网络层并非第一层进行通道剪枝处理的网络层的情况,所述第一目标模型包括:已经进行了通道剪枝处理的网络层,以及所述待压缩模型中其他未进行通道剪枝处理的网络层。
一种可能的实施方式中,所述获取模块21,在利用所述第一目标模型,获取所述样本图像的损失信息时,用于:
利用所述第一目标模型,获取所述样本图像的分类预测结果;
基于所述样本图像的分类损失预测结果、与所述样本图像对应的真实分类标签,以及预先确定的损失函数,获取所述样本图像的损失信息。
一种可能的实施方式中,所述确定模块22,在基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息时,用于:
利用损失信息在所述第一目标模型中的反向传播,确定损失函数相对于所述第一特征数据的偏导数;
将所述偏导数确定为所述分类损失指示信息。
一种可能的实施方式中,所述剪枝模块23,在基于所述分类损失指导信息,对所述任一层网络层执行通道剪枝处理时,用于:
基于所述分类损失指导信息、以及所述样本图像的第二特征数据,确定通道选择指示信息;或者,基于特征重要性指导信息、以及所述样本图像的第二特征数据,确定通道选择指示信息;又或者,基于所述分类损失指导信息、特征重要性指导信息、以及所述样本图像的第二特征数据,确定通道选择指示信息;
基于所述通道选择指示信息,调整所述任一网络层中的卷积核;
其中,所述通道选择指示信息用于指示要保留的通道;所述样本图像的所述第二特征数据,为利用待压缩模型对所述样本图像进行处理时从所述任一层网络层的下一层网络层输出的特征数据。
一种可能的实施方式中,所述更新模块24,在基于进行了剪枝处理后的所述任一层网络层,对所述任一层网络层的下一层网络层进行参数更新处理时,用于:
基于进行了剪枝处理后的所述任一层网络,对所述任一层网络的下一层网络中的各个卷积核的进行通道调整;
基于进行了剪枝处理后的所述任一层网络、以及进行了卷积核通道调整的所述下一层网络层,确定第二目标模型,并利用所述第二目标模型,获取所述第二目标模型中的所述进行了剪枝处理后的所述任一层网络层的下一层网络层输出所述样本图像的第三特征数据;以及利用待压缩模型对图像进行处理时的所述任一层网络层输出的第二特征数据,得到所述下一层层网络层的权重参数;
基于所述权重参数,对所述下一层网络层的原始权重参数进行更新处理。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
另外,本公开实施例还提供一种图像处理装置,包括:获取单元和处理单元,获取单元用于获取待处理图像;处理单元用于利用本公开任一实施例所提供的模型压缩方法确定的图像处理模型,对待处理图像执行图像处理任务。
本公开实施例还提供了一种计算机设备30,如图3所示,为本公开实施例提供的计算机设备30结构示意图,包括:
相互连接的处理器31和存储器32,所述存储器32存储有所述处理器31可执行的机器可读指令,当计算机设备运行时,所述机器可读指令被所述处理器31执行时执行如本公开任一实施例提供的模型压缩方法的步骤。或利用本公开实施例提供的模型压缩方法确定的图像处理模型,对待处理图像执行图像处理任务。
本公开实施例所提供的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的模型压缩方法或图像处理方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (14)
1.一种模型压缩方法,其特征在于,用于对待压缩模型中的多层网络层中的至少一层网络层进行通道剪枝处理;包括:
针对所述至少一层网络层中的任一层网络层,根据在对所述任一层网络层对应通道剪枝处理时的模型压缩进度,确定第一目标模型,并利用所述第一目标模型,获取样本图像的损失信息,以及所述第一目标模型中的所述任一层网络层的下一层网络层输出所述样本图像的第一特征数据;
基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息;
基于所述分类损失指导信息,对所述任一层网络层执行通道剪枝处理。
2.根据权利要求1所述的模型压缩方法,其特征在于,在对所述任一层网络层执行通道剪枝处理后,还包括:
基于进行了剪枝处理后的所述任一层网络层,对所述任一层网络层的下一层网络层进行参数更新处理。
3.根据权利要求1或2所述的模型压缩方法,其特征在于,所述基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息,包括:
基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息以及特征重要性指导信息。
4.根据权利要求3所述的模型压缩方法,其特征在于,基于所述损失信息、以及所述第一特征数据,确定特征重要性指导信息,包括:
基于所述第一特征数据,以及预先确定调整参数,确定所述特征重要性指导信息。
5.根据权利要求1-4任一项所述的模型压缩方法,其特征在于,针对所述任一层网络层为第一层进行通道剪枝处理的网络层的情况,所述第一目标模型为:所述待压缩模型;
针对所述任一层网络层并非第一层进行通道剪枝处理的网络层的情况,所述第一目标模型包括:已经进行了通道剪枝处理的网络层,以及所述待压缩模型中其他未进行通道剪枝处理的网络层。
6.根据权利要求1-5任一项所述的模型压缩方法,其特征在于,所述利用所述第一目标模型,获取样本图像的损失信息,包括:
利用所述第一目标模型,获取所述样本图像的分类预测结果;
基于所述样本图像的分类损失预测结果、与所述样本图像对应的真实分类标签,以及预先确定的损失函数,获取所述样本图像的损失信息。
7.根据权利要求1-6任一项所述的模型压缩方法,其特征在于,所述基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息,包括:
利用损失信息在所述第一目标模型中的反向传播,确定损失函数相对于所述第一特征数据的偏导数;
将所述偏导数确定为所述分类损失指示信息。
8.根据权利要求1-7任一项所述的模型压缩方法,其特征在于,所述基于所述分类损失指导信息,对所述任一层网络层执行通道剪枝处理,包括:
基于所述分类损失指导信息、以及所述样本图像的第二特征数据,确定通道选择指示信息;或者,基于特征重要性指导信息、以及所述样本图像的第二特征数据,确定通道选择指示信息;又或者,基于所述分类损失指导信息、特征重要性指导信息、以及所述样本图像的第二特征数据,确定通道选择指示信息;
基于所述通道选择指示信息,调整所述任一网络层中的卷积核;
其中,所述通道选择指示信息用于指示要保留的通道;所述样本图像的所述第二特征数据,为利用待压缩模型对所述样本图像进行处理时从所述任一层网络层的下一层网络层输出的特征数据。
9.根据权利要求2-8任一项所述的模型压缩方法,其特征在于,所述基于进行了剪枝处理后的所述任一层网络层,对所述任一层网络层的下一层网络层进行参数更新处理,包括:
基于进行了剪枝处理后的所述任一层网络,对所述任一层网络的下一层网络中的各个卷积核进行通道调整;
基于进行了剪枝处理后的所述任一层网络、以及进行了卷积核通道调整的所述下一层网络层,确定第二目标模型,并利用所述第二目标模型,获取所述第二目标模型中的所述进行了剪枝处理后的所述任一层网络层的下一层网络层输出所述样本图像的第三特征数据;以及利用待压缩模型对图像进行处理时的所述任一层网络层输出的第二特征数据,得到所述下一层网络层的权重参数;
基于所述权重参数,对所述下一层的原始权重参数进行更新处理。
10.一种图像处理方法,其特征在于,包括:
获取待处理图像;
利用基于权利要求1-9任一项确定的图像处理模型,对所述待处理图像执行图像处理任务。
11.一种模型压缩装置,其特征在于,用于对待压缩模型中的多层网络层中的至少一层网络层进行通道剪枝处理;包括:
获取模块,用于针对所述至少一层网络层中的任一层网络层,根据在对所述任一层网络层对应通道剪枝处理时的模型压缩进度,确定第一目标模型,并利用所述第一目标模型,获取样本图像的损失信息,以及所述第一目标模型中的所述任一层网络层的下一层网络层输出所述样本图像的第一特征数据;
确定模块,用于基于所述损失信息、以及所述第一特征数据,确定分类损失指导信息;
剪枝模块,用于基于所述分类损失指导信息,对所述任一层网络层执行通道剪枝处理。
12.一种图像处理装置,其特征在于,该图像处理装置包括:
获取单元,用于获取待处理图像;
处理单元,用于利用基于权利要求1-9任一项确定的图像处理模型,对所述待处理图像执行图像处理任务。
13.一种计算机设备,其特征在于,包括:相互连接的处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述机器可读指令被所述处理器执行时执行如权利要求1至9任一所述的模型压缩方法的步骤,或者,所述机器可读指令被所述处理器执行时执行如权利要求10所述的图像处理方法的步骤。
14.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至9任意一项所述的模型压缩方法的步骤,或者,该计算机程序被处理器运行时执行如权利要求10所述的图像处理方法的步骤。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010286175.9A CN111488986B (zh) | 2020-04-13 | 2020-04-13 | 一种模型压缩方法、图像处理方法以及装置 |
PCT/CN2020/088252 WO2021208151A1 (zh) | 2020-04-13 | 2020-04-30 | 一种模型压缩方法、图像处理方法以及装置 |
JP2021525567A JP2022541359A (ja) | 2020-04-13 | 2020-04-30 | モデル圧縮方法、画像処理方法および装置 |
KR1020217013984A KR20210129031A (ko) | 2020-04-13 | 2020-04-30 | 모델 압축 방법, 이미지 처리 방법 및 장치 |
TW109121223A TWI768382B (zh) | 2020-04-13 | 2020-06-22 | 一種模型壓縮方法及圖像處理方法、電腦設備及儲存介質 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010286175.9A CN111488986B (zh) | 2020-04-13 | 2020-04-13 | 一种模型压缩方法、图像处理方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111488986A true CN111488986A (zh) | 2020-08-04 |
CN111488986B CN111488986B (zh) | 2023-06-27 |
Family
ID=71791551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010286175.9A Active CN111488986B (zh) | 2020-04-13 | 2020-04-13 | 一种模型压缩方法、图像处理方法以及装置 |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP2022541359A (zh) |
KR (1) | KR20210129031A (zh) |
CN (1) | CN111488986B (zh) |
TW (1) | TWI768382B (zh) |
WO (1) | WO2021208151A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112906870A (zh) * | 2021-03-17 | 2021-06-04 | 清华大学 | 一种基于小样本的网络模型压缩云端服务方法和装置 |
WO2021179631A1 (zh) * | 2020-09-23 | 2021-09-16 | 平安科技(深圳)有限公司 | 卷积神经网络模型压缩方法、装置、设备及存储介质 |
CN114692816A (zh) * | 2020-12-31 | 2022-07-01 | 华为技术有限公司 | 神经网络模型的处理方法和设备 |
CN116562346A (zh) * | 2023-07-07 | 2023-08-08 | 深圳大学 | 基于l0范数的人工神经网络模型压缩方法及装置 |
CN116644781A (zh) * | 2023-07-27 | 2023-08-25 | 美智纵横科技有限责任公司 | 模型压缩方法、数据处理方法、装置、存储介质及芯片 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114925821B (zh) * | 2022-01-05 | 2023-06-27 | 华为技术有限公司 | 一种神经网络模型的压缩方法及相关系统 |
CN114580632B (zh) * | 2022-03-07 | 2024-09-27 | 腾讯科技(深圳)有限公司 | 模型优化方法和装置、计算设备及存储介质 |
CN114819140A (zh) * | 2022-03-31 | 2022-07-29 | 支付宝(杭州)信息技术有限公司 | 模型剪枝方法、装置和计算机设备 |
CN114813299B (zh) * | 2022-05-10 | 2023-03-24 | 无锡市第五人民医院 | 一种药敏检测样品取样预处理混合装置 |
CN114913441B (zh) * | 2022-06-28 | 2024-04-16 | 湖南大学 | 通道剪枝方法、目标检测方法及遥感图像车辆检测方法 |
CN115063673B (zh) * | 2022-07-29 | 2022-11-15 | 阿里巴巴(中国)有限公司 | 模型压缩方法、图像处理方法、装置和云设备 |
CN115329952B (zh) * | 2022-10-12 | 2023-01-20 | 深圳比特微电子科技有限公司 | 一种模型压缩方法、装置和可读存储介质 |
CN115543945B (zh) * | 2022-11-29 | 2023-06-20 | 支付宝(杭州)信息技术有限公司 | 一种模型压缩的方法、装置、存储介质及电子设备 |
CN116189667B (zh) * | 2023-04-27 | 2023-08-01 | 摩尔线程智能科技(北京)有限责任公司 | 语音处理模型的量化压缩方法、装置、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108229533A (zh) * | 2017-11-22 | 2018-06-29 | 深圳市商汤科技有限公司 | 图像处理方法、模型剪枝方法、装置及设备 |
CN109671020A (zh) * | 2018-12-17 | 2019-04-23 | 北京旷视科技有限公司 | 图像处理方法、装置、电子设备和计算机存储介质 |
WO2019190340A1 (en) * | 2018-03-28 | 2019-10-03 | Intel Corporation | Channel pruning of a convolutional network based on gradient descent optimization |
CN110490323A (zh) * | 2019-08-20 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 网络模型压缩方法、装置、存储介质和计算机设备 |
CN110909861A (zh) * | 2018-09-17 | 2020-03-24 | 北京市商汤科技开发有限公司 | 神经网络优化方法及装置、电子设备和存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180260695A1 (en) * | 2017-03-07 | 2018-09-13 | Qualcomm Incorporated | Neural network compression via weak supervision |
US10936913B2 (en) * | 2018-03-20 | 2021-03-02 | The Regents Of The University Of Michigan | Automatic filter pruning technique for convolutional neural networks |
JP6951295B2 (ja) * | 2018-07-04 | 2021-10-20 | 株式会社東芝 | 学習方法、学習装置および画像認識システム |
CN110929839B (zh) * | 2018-09-20 | 2024-04-16 | 深圳市商汤科技有限公司 | 训练神经网络的方法和装置、电子设备和计算机存储介质 |
CN109858613B (zh) * | 2019-01-22 | 2021-02-19 | 鹏城实验室 | 一种深度神经网络的压缩方法、系统及终端设备 |
CN110443165B (zh) * | 2019-07-23 | 2022-04-29 | 北京迈格威科技有限公司 | 神经网络量化方法、图像识别方法、装置和计算机设备 |
CN110705708A (zh) * | 2019-10-10 | 2020-01-17 | 上海交通大学 | 卷积神经网络模型的压缩方法、装置及计算机存储介质 |
-
2020
- 2020-04-13 CN CN202010286175.9A patent/CN111488986B/zh active Active
- 2020-04-30 KR KR1020217013984A patent/KR20210129031A/ko not_active Application Discontinuation
- 2020-04-30 JP JP2021525567A patent/JP2022541359A/ja active Pending
- 2020-04-30 WO PCT/CN2020/088252 patent/WO2021208151A1/zh active Application Filing
- 2020-06-22 TW TW109121223A patent/TWI768382B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108229533A (zh) * | 2017-11-22 | 2018-06-29 | 深圳市商汤科技有限公司 | 图像处理方法、模型剪枝方法、装置及设备 |
WO2019190340A1 (en) * | 2018-03-28 | 2019-10-03 | Intel Corporation | Channel pruning of a convolutional network based on gradient descent optimization |
CN110909861A (zh) * | 2018-09-17 | 2020-03-24 | 北京市商汤科技开发有限公司 | 神经网络优化方法及装置、电子设备和存储介质 |
CN109671020A (zh) * | 2018-12-17 | 2019-04-23 | 北京旷视科技有限公司 | 图像处理方法、装置、电子设备和计算机存储介质 |
CN110490323A (zh) * | 2019-08-20 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 网络模型压缩方法、装置、存储介质和计算机设备 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021179631A1 (zh) * | 2020-09-23 | 2021-09-16 | 平安科技(深圳)有限公司 | 卷积神经网络模型压缩方法、装置、设备及存储介质 |
CN114692816A (zh) * | 2020-12-31 | 2022-07-01 | 华为技术有限公司 | 神经网络模型的处理方法和设备 |
CN114692816B (zh) * | 2020-12-31 | 2023-08-25 | 华为技术有限公司 | 神经网络模型的处理方法和设备 |
CN112906870A (zh) * | 2021-03-17 | 2021-06-04 | 清华大学 | 一种基于小样本的网络模型压缩云端服务方法和装置 |
CN112906870B (zh) * | 2021-03-17 | 2022-10-18 | 清华大学 | 一种基于小样本的网络模型压缩云端服务方法和装置 |
CN116562346A (zh) * | 2023-07-07 | 2023-08-08 | 深圳大学 | 基于l0范数的人工神经网络模型压缩方法及装置 |
CN116562346B (zh) * | 2023-07-07 | 2023-11-10 | 深圳大学 | 基于l0范数的人工神经网络模型压缩方法及装置 |
CN116644781A (zh) * | 2023-07-27 | 2023-08-25 | 美智纵横科技有限责任公司 | 模型压缩方法、数据处理方法、装置、存储介质及芯片 |
CN116644781B (zh) * | 2023-07-27 | 2023-09-29 | 美智纵横科技有限责任公司 | 模型压缩方法、数据处理方法、装置、存储介质及芯片 |
Also Published As
Publication number | Publication date |
---|---|
WO2021208151A1 (zh) | 2021-10-21 |
CN111488986B (zh) | 2023-06-27 |
TW202139071A (zh) | 2021-10-16 |
KR20210129031A (ko) | 2021-10-27 |
TWI768382B (zh) | 2022-06-21 |
JP2022541359A (ja) | 2022-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111488986A (zh) | 一种模型压缩方法、图像处理方法以及装置 | |
Zhou et al. | Bayesnas: A bayesian approach for neural architecture search | |
Sulam et al. | Multilayer convolutional sparse modeling: Pursuit and dictionary learning | |
CN108510067B (zh) | 基于工程化实现的卷积神经网络量化方法 | |
Lanza et al. | A generalized Krylov subspace method for \ell_p-\ell_q minimization | |
JP6998968B2 (ja) | ディープニューラルネットワークの実行方法、実行装置、学習方法、学習装置及びプログラム | |
US20200027012A1 (en) | Systems and methods for bayesian optimization using non-linear mapping of input | |
Peng et al. | Solving inverse problems via auto-encoders | |
CN114402596B (zh) | 神经网络模型解码方法、装置、系统和介质 | |
CN111598111A (zh) | 三维模型生成方法、装置、计算机设备及存储介质 | |
Li et al. | PENNI: Pruned kernel sharing for efficient CNN inference | |
CN111738435A (zh) | 一种基于移动设备的在线稀疏训练方法及系统 | |
CN116188878A (zh) | 基于神经网络结构微调的图像分类方法、装置和存储介质 | |
CN113554097B (zh) | 模型量化方法、装置、电子设备和存储介质 | |
CN114492754A (zh) | 神经网络生成、数据处理方法、装置、电子设备及介质 | |
CN115861472B (zh) | 一种图像重构方法、装置、设备及介质 | |
Zeng et al. | Slice-based online convolutional dictionary learning | |
CN115797477B (zh) | 用于轻量化部署的剪枝式图像压缩感知方法及系统 | |
Tang et al. | Training Compact DNNs with ℓ1/2 Regularization | |
CN116384471A (zh) | 模型剪枝方法、装置、计算机设备、存储介质和程序产品 | |
CN114065913A (zh) | 模型量化方法、装置及终端设备 | |
CN115222012A (zh) | 用于压缩神经网络的方法和装置 | |
Zhao et al. | U-net for satellite image segmentation: Improving the weather forecasting | |
WO2024124866A1 (en) | Data processing method and electronic device | |
CN113344181B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40025722 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |