CN114418059A - 一种信息处理方法及装置 - Google Patents
一种信息处理方法及装置 Download PDFInfo
- Publication number
- CN114418059A CN114418059A CN202111567587.0A CN202111567587A CN114418059A CN 114418059 A CN114418059 A CN 114418059A CN 202111567587 A CN202111567587 A CN 202111567587A CN 114418059 A CN114418059 A CN 114418059A
- Authority
- CN
- China
- Prior art keywords
- channel
- model
- network layer
- pruning threshold
- pruning
- 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
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/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/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
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是本申请的一种装置的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
对生成类网络模型以及深度神经网络模型等一些模型,其可以用于处理图像,例如输入以及输出均为图像等,如此使得这些模型学习到的是图像中的各个角落的颜色分布以及细节样式等,进而使得这些模型中的网络参数之间的差异较小,例如,这些模型中的网络层中的通道之间的差异较小(通道包括矩阵或者向量等,如此可以理解为网络层中的矩阵或者向量相似/差异小)。
因此,如果是设置一个与基础模型无关的绝对值作为剪枝阈值来对基础模型中的网络参数进行剪枝,则往往很可能导致网络层中的通道被删减的过多,或者,网络层中的通道被删减的过少等。
例如,剪枝阈值设置地过小,导致根据剪枝阈值对基础模型剪枝后得到的剪枝后的模型中冗余的通道过多(删除的少)而影响剪枝效果,导致剪枝后的模型冗余。
或者,剪枝阈值设置的过大,导致根据剪枝阈值对基础模型剪枝后得到的剪枝后的模型中的有用的通道过少(被删除的通道过多)而影响剪枝后的模型对数据处理的效果(例如对数据处理的准确率等)。
另外,对于生成类网络模型以及深度神经网络模型等一些模型,其通常包括编码器和解码器,编码器用于提取特征,而提取的特征的好坏直接决定了解码器对图像的处理性能,因此设置一个与基础模型无关的绝对值作为剪枝阈值来对基础模型中的网络参数进行剪枝,会造成剪枝后的模型对数据处理的效果(性能)大幅下降。
鉴于此,本申请摒弃了使用一个与基础模型无关的绝对值来对基础模型剪枝的方式,而创新性地提出了根据基础模型中的网络层中的通道的实际情况针对性地设置剪枝阈值,例如,通过基础模型中的各个网络层中的各个通道分别对应的通道距离和,来确定用于对基础模型剪枝时使用的剪枝阈值,通道对应的通道距离和为通道与其所在的网络层中的其他每一个通道之间的距离的和值等,通过各个网络层中的各个通道分别对应的通道距离和支持在网络层中查找中位数的距离和,进而可以参考中位数的距离和来搜索剪枝阈值,以避免剪枝阈值过小或者过大。如此,可以避免“由于剪枝阈值过小而导致根据剪枝阈值对基础模型剪枝后得到的剪枝后的模型中冗余的通道过多而影响剪枝效果”的情况发生,也可以避免“由于剪枝阈值过大而导致根据剪枝阈值对基础模型剪枝后得到的剪枝后的模型中的有用的通道过少而影响剪枝后的模型对数据处理的效果”的情况发生。
也即,通过本申请的方式,根据基础模型中的通道的自身的数据来搜索剪枝阈值,可以提高剪枝效果(例如需要被删除的通道被删除而需要保留的通道被保留)降低了剪枝后的模型的冗余度,以及,可以提高剪枝后的模型处理数据的效果(保留了有用的通道以提高对数据处理的准确率等)。
另外,根据基础模型中的通道的自身的数据来搜索剪枝阈值,也可以间接地使得在不同的网络层中对通道的剪枝尺度不同。
其次,通过本申请,还可以借助基础模型对剪枝后的模型优化,得到目标模型,可以使得得到的目标模型处理数据的效果越接近基础模型处理数据的效果,以尽可能的降低由于剪枝对模型处理数据的效果带来的损失。
例如,在家装领域中,在家装设计场景中,有时候会根据家装图像的一些参数渲染家装图像(例如3D形式的家装渲染等),以给用户直观地展示家装图像。
有时候,也可能会对已渲染的家装图像进行逆渲染(例如3D形式的逆家装渲染等),得到家装图像的一些参数,如此可以根据参数进行家装检索等,例如家装的材质检索等。
在家装设计场景中,无论是渲染还是逆渲染,均可以使用模型,也即,可以使用模型进行渲染以及使用模型进行逆渲染。
但是,在使用模型进行渲染的过程中以及使用模型进行逆渲染的过程中由于需要使用模型,因此,耗费的系统资源(例如内存资源以及计算资源等)多,且耗费的时间也多。尤其是3D渲染以及3D逆渲染,耗费的系统资源以及时间是非常多的。
而对模型剪枝得到的剪枝后的模型的尺寸或者所占空间更小,运算速度更高以及系统资源消耗更少。如此,基于剪枝后的模型进行渲染可以降低渲染耗费的时间以及系统资源,以及,基于剪枝后的模型进行逆渲染可以降低逆渲染耗费的时间以及系统资源。
基于剪枝后的模型可以提高渲染的效率以及逆渲染的效率,尤其是很大程度提高3D渲染的效率以及3D逆渲染的效率等,进而提高家装设计效率。
具体地,参照图1,示出了本申请的一种信息处理方法的流程示意图,该方法包括:
在步骤S101中,获取基础模型。基础模型中包括多个网络层,各个网络层中包括多个通道。
模型可以包括神经网络模型等,网络层可以包括卷积层、池化层以及全连接层等。每一个网络层中包括多个通道,每一个通道可以为一个向量或者一个矩阵等。
一个网络中的有一些通道有时候比较相似,其在实现模型的功能时所起的作用类似,如此,为了在不严重影响模型实现其功能的效果的情况下对模型精简,可以对模型剪枝。
具体可以通过如下步骤S102~步骤S104的流程对基础模型剪枝。
在本申请一个实施例中,获取的基础模型可以包括逆渲染网络模型,用于根据图像逆渲染出图像的相关参数等。
在一个例子中,可以搭建自编码器结构的网络,然后对逆渲染图像数据集进行数据增强,然后将数据增强后的图像分批次输入到自编码器网络中进行正向传播,根据网络预测值与训练集的真实标签值构造损失函数,通过与预训练的预测结果构造feature loss(特征损失),使用优化器优化算法进行反向传播更新网络参数,经过多次迭代至损失收敛,从而得到基础模型。
在步骤S102中,对于基础模型中的任意一个网络层中的任意一个通道,获取该通道分别与该网络层中的除该通道以外的其他每一个通道之间的距离。将该通道分别与该网络层中的除该通道以外的其他每一个通道之间的距离求和,得到该通道对应的通道距离和。
对于基础模型中的任意一个网络层,该网络层中包括多个通道,通道可以为一个矩阵或者向量等。
对于该网络层中的任意一个通道,可以计算该通道分别与该网络层中的除该通道以外的其他每一个通道之间的距离。其中,在该网络层中的通道均为向量或者矩阵的情况下,在计算两个通道之间的距离时,可以计算两个向量中的相同位置的参数的差值的平方,将两个向量中的各个相同位置的参数的差值的平方求和,得到和值,在计算该和值的开方,作为两个通道之间的距离。然后将该通道分别与该网络层中的除该通道以外的其他每一个通道之间的距离求和,得到该通道对应的通道距离和。对于该网络层中的其他每一个通道,同样如此,从而得到该网络层中的各个通道分别对应的通道距离和。
在步骤S103中,根据各个网络层中的各个通道分别对应的通道距离和获取目标剪枝阈值。
在本申请中,可以获取剪枝阈值范围,然后根据各个网络层中的各个通道对应的通道距离和多次迭代以缩小剪枝阈值范围,在多次迭代之后得到的缩小后的剪枝阈值范围中筛选目标剪枝阈值。例如,在一个实施例中,本步骤可以通过如下流程实现,包括:
1031、获取筛选的第一剪枝阈值范围。
在本申请中,第一剪枝阈值范围可能是还未开始迭代(还未开始筛选剪枝阈值范围)之前获取的初始的剪枝阈值范围,也可能是在至少迭代一次(在初始的剪枝阈值范围的基础上至少筛选过一次剪枝阈值范围)之后获取的剪枝阈值范围。
在第一剪枝阈值范围是还未开始迭代(还未开始筛选剪枝阈值范围)之前获取的初始的剪枝阈值范围情况下,可以以数值0以及各个网络层中的各个通道分别对应的通道距离和中的最大的距离和分别作为左端点和右端点,来生成第一剪枝阈值范围。也即,第一剪枝阈值范围的左端点为数值0且右端点为各个网络层中的各个通道分别对应的通道距离和中的最大的距离和。
然而,发明人发现,需要选取的合适的目标剪枝阈值往往是根据各个网络层中的各个通道分别对应的通道距离和的中位数来确定的,如此,需要选取的合适的目标剪枝阈值往往不位于得到的第一剪枝阈值范围的靠前一部分和靠后一部分,因此,没必要从0至各个网络层中的各个通道分别对应的通道距离和中的最大的距离和之间的范围内开始搜索合适的目标剪枝阈值,否则会降低得到合适的目标剪枝阈值的效率。
因此,为了提高得到合适的目标剪枝阈值的效率,在第一剪枝阈值范围是还未开始迭代(还未开始筛选剪枝阈值范围)之前获取的初始的剪枝阈值范围情况下,可以获取各个网络层中的各个通道分别对应的通道距离和的平均值,然后可以根据该平均值以及预设系数范围获取第一剪枝阈值范围。
预设系数范围可以为包括数值1且位于数值1附近的较小的数值范围,例如,包括0.95~1.05或0.9~1.1等,本申请对此不加以限定。
如此,可以计算该平均值分别与预设系数范围的左端点以及右端点之间的乘积,得到两个数值,并根据这两个数值生成第一剪枝阈值范围,例如,生成的第一剪枝阈值范围的左端点和右端点分别为这两个数值。
虽然各个网络层中的各个通道分别对应的通道距离和的平均值有时候可能与各个网络层中的各个通道分别对应的通道距离和的中位数有区别,但是通过本实施例可以缩小第一剪枝阈值范围中的左端点与右端点之间的距离,以降低搜索合适的目标剪枝阈值的范围,从而可以提高得到合适的目标剪枝阈值的效率。
另外,在本申请另一实施例中,第一剪枝阈值范围是在至少迭代一次(在初始的剪枝阈值范围的基础上至少选过一次剪枝阈值范围)之后获取的剪枝阈值范围的情况下,可以在上一轮筛选的剪枝阈值范围(最近一次筛选出的剪枝阈值范围)中筛选多个不同的第一候选剪枝阈值。筛选顺序相邻的第一候选剪枝阈值之间具有第一阈值间隔。
例如,在已有的剪枝阈值范围中,从一个剪枝阈值开始,按照第一阈值间隔,依次筛选多个不同的第一候选剪枝阈值。
然后可以获取不同的第一候选剪枝阈值分别与各个网络层中的各个通道分别对应的通道距离和之间的差异。
例如,对于任意一个第一候选剪枝阈值以及对于任意一个网络层中的任意一个通道,可以计算该通道对应的通道距离和以及该第一候选剪枝阈值之间的差值的绝对值,得到该通道对应的绝对值,对于该网络层中的其他每一个通道,同样如此,从而得到该网络层中的各个通道分别对应的绝对值。再可以计算该网络层中的各个通道分别对应的绝对值之间的平均值,得到该网络层对应的平均值。然后可以计算基础模型中的各个网络层分别对应的平均值的和值,并作为该第一候选剪枝阈值与各个网络层中的各个通道分别对应的通道距离和之间的差异。
对于其他每一个第一候选剪枝阈值,同样如此,从而得到各个第一候选剪枝阈值分别与各个网络层中的各个通道分别对应的通道距离和之间的差异。
之后,可以在不同的第一候选剪枝阈值分别与各个网络层中的各个通道分别对应的通道距离和之间的差异中,确定第一局部最小差异范围,例如,按照第一候选剪枝阈值由小至大的顺序,各个第一候选剪枝阈值分别与各个网络层中的各个通道分别对应的通道距离和之间的差异往往是先变小再变大的,因此,各个第一候选剪枝阈值分别与各个网络层中的各个通道分别对应的通道距离和之间的差异中具有最小值,在最小值的前后确定一个包括最小值的第一局部最小差异范围,例如,在最小值的两侧分别选择一个距离最小值较近的两个差异,并组成第一局部最小差异范围。
之后,可以根据第一局部最小差异范围对应的候选剪枝阈值获取第一剪枝阈值范围。
例如,第一局部最小差异范围有左端点以及右端点,可以获取左端点对应的候选剪枝阈值以及后端点对应的候选剪枝阈值,根据左端点对应的候选剪枝阈值以及后端点对应的候选剪枝阈值生成第一剪枝阈值范围。例如,左端点对应的候选剪枝阈值为生成的第一剪枝阈值范围的左端点,右端点对应的候选剪枝阈值为生成的第一剪枝阈值范围的右端点。
1032、根据各个网络层中的各个通道分别对应的通道距离和在第一剪枝阈值范围中筛选第二剪枝阈值范围。
在本申请另一实施例中,可以在第一剪枝阈值范围(最近一次筛选出的剪枝阈值范围)中筛选多个不同的第二候选剪枝阈值。筛选顺序相邻的第二候选剪枝阈值之间具有第二阈值间隔。第二阈值间隔小于第一阈值间隔。
例如,在已有的第一剪枝阈值范围中,从一个剪枝阈值开始,按照第二阈值间隔,依次筛选多个不同的第二候选剪枝阈值。
然后可以获取不同的第二候选剪枝阈值分别与各个网络层中的各个通道分别对应的通道距离和之间的差异。
例如,对于任意一个第二候选剪枝阈值以及对于任意一个网络层中的任意一个通道,可以计算该通道对应的通道距离和以及该第二候选剪枝阈值之间的差值的绝对值,得到该通道对应的绝对值,对于该网络层中的其他每一个通道,同样如此,从而得到该网络层中的各个通道分别对应的绝对值。再可以计算该网络层中的各个通道分别对应的绝对值之间的平均值,得到该网络层对应的平均值。然后可以计算基础模型中的各个网络层分别对应的平均值的和值,并作为该第二候选剪枝阈值与各个网络层中的各个通道分别对应的通道距离和之间的差异。
对于其他每一个第二候选剪枝阈值,同样如此,从而得到各个第二候选剪枝阈值分别与各个网络层中的各个通道分别对应的通道距离和之间的差异。
之后,可以在不同的第二候选剪枝阈值分别与各个网络层中的各个通道分别对应的通道距离和之间的差异中,确定第二局部最小差异范围,例如,按照第二候选剪枝阈值由小至大的顺序,各个第一候选剪枝阈值分别与各个网络层中的各个通道分别对应的通道距离和之间的差异往往是先变小再变大的,因此,各个第二候选剪枝阈值分别与各个网络层中的各个通道分别对应的通道距离和之间的差异中具有最小值,在最小值的前后确定一个包括最小值的第二局部最小差异范围,例如,在最小值的两侧分别选择一个距离最小值较近的两个差异,并组成第二局部最小差异范围。
之后,可以根据第二局部最小差异范围对应的候选剪枝阈值获取第二剪枝阈值范围。
例如,第二局部最小差异范围有左端点以及右端点,可以获取左端点对应的候选剪枝阈值以及后端点对应的候选剪枝阈值,根据左端点对应的候选剪枝阈值以及后端点对应的候选剪枝阈值生成第二剪枝阈值范围。例如,左端点对应的候选剪枝阈值为生成的第二剪枝阈值范围的左端点,右端点对应的候选剪枝阈值为生成的第二剪枝阈值范围的右端点。
1033、在筛选剪枝阈值范围的筛选轮数达到预设轮数的情况下,根据最近一次筛选出的剪枝阈值范围获取目标剪枝阈值。
预设轮数可以是事先设置的,例如,3轮、4轮或者5轮等,本申请对此不加以限定。
其中,在根据最近一次筛选出的剪枝阈值范围获取目标剪枝阈值时,可以在最近一次筛选出的剪枝阈值范围中选择一个剪枝阈值,并作为目标剪枝阈值等。
在另一个实施例中,在筛选剪枝阈值范围的筛选轮数未达到预设轮数的情况下,可以返回执行步骤1031,其中,返回执行步骤1031时筛选的第二剪枝阈值范围可以为最近一次筛选出的剪枝阈值范围。
通过本实施例迭代的方式可以提高搜索目标剪枝阈值的效率。
在步骤S104中,根据各个网络层中的各个通道分别对应的通道距离和以及目标剪枝阈值,对各个网络层中的通道进行剪枝处理,得到剪枝后的模型。
其中,剪枝处理的目的是保留网络层中比较重要的通道,删除网络层中不重要的通道等,或者,删除网络层中的多个相似(例如作用相似等)的通道中的一部分通道而保留多个相似的通道中的一个或另一部分通道等。
例如,对于基础模型中的任意一个网络层中的任意一个通道,如果该网络层中的该通道对应的通道距离和小于目标剪枝阈值,则可以在该网络层中删除该通道,如果该网络层中的该通道对应的通道距离和大于或等于目标剪枝阈值,则可以在该网络层中保留该通道。对于基础模型中的其他每一个网络层中的其他每一个通道,同样如此,从而得到剪枝后的模型。
另外,在另一个实施例中,还可以设置安全剪枝阈值,若目标剪枝阈值小于或等于安全剪枝阈值,则可以根据各个网络层中的各个通道分别对应的通道距离和以及目标剪枝阈值,对各个网络层中的通道进行剪枝处理,得到剪枝后的模型。
若目标剪枝阈值大于安全剪枝阈值,则可以根据各个网络层中的各个通道分别对应的通道距离和以及安全剪枝阈值,对各个网络层中的通道进行剪枝处理,得到剪枝后的模型。
例如,对于基础模型中的任意一个网络层中的任意一个通道,如果该网络层中的该通道对应的通道距离和小于安全剪枝阈值,则可以在该网络层中删除该通道,如果该网络层中的该通道对应的通道距离和大于或等于安全剪枝阈值,则可以在该网络层中保留该通道。对于基础模型中的其他每一个网络层中的其他每一个通道,同样如此,从而得到剪枝后的模型。可以避免删除某一网络层中的过多的通道,进而避免影响网络层正常处理数据。
其中,安全剪枝阈值可以包括局部安全剪枝阈值,例如,每一个网络层可以均有局部安全剪枝阈值,不同的网络层的局部安全剪枝阈值相互可以独立,安全剪枝阈值也可以包括全局安全剪枝阈值,各个网络层可以共享同一个安全剪枝阈值等。
安全剪枝阈值可以为一个具体的数值(绝对数值),也可以是一种剪枝比例等,以使得在对网络层剪枝时,删除的通道的数量在网络层中包括的通道的总数量中所占的比例可以不超过剪枝比例,可以避免删除某一网络层中的过多的通道,进而避免影响这个网络层正常处理数据。
相比于基础模型,对基础模型剪枝得到的剪枝后的模型的尺寸或者所占空间更小,运算速度更高以及系统资源消耗更少,但是,由于基础模型中的网络层中的一些通道被删除了,因此,剪枝后的模型处理数据的效果降低了,例如,识别准确率降低了或者分类准确率降低了等。
因此,为了避免由于剪枝而导致对模型处理数据的效果影响过大,在得到剪枝后的模型之后,还可以对剪枝后的模型进行知识蒸馏,得到目标模型,以提高最终得到模型处理数据的效果,或者说,避免过大降低最终得到模型处理数据的效果等,或者说,以使得最终得到模型处理数据的效果更贴近基础模型。
其中,具体的知识蒸馏的方式可以参见之后的描述,在此不做详述。
在步骤S105中,对剪枝后的模型进行知识蒸馏,得到目标模型。
其中,知识蒸馏是为了将“大模型”中的“知识”提炼到“小模型”中。在知识蒸馏时,两个模型,即老师模型和学生模型。老师网络为“大模型”,学生模型为“小模型”,老师模型指导学生模型的训练,以使学生模型处理数据的效果能够贴近老师模型处理数据的效果。由于老师模型中包括的网络参数更多(通道未删减),其能拟合出输入数据的特征更多,且输出的输出结果的效果更好(例如准确率更高等)。如此,借助老师模型可以更好地优化学生模型。
在一个实施例中,可以以基础模型作为老师模型且以剪枝后的模型作为学生模型,基于老师模型对学生模型进行监督指导训练,得到目标模型。
例如,在训练过程中,可以对学生模型以及老师模型分别输入相同的输入数据,然后学生模型以及老师模型分别对输入数据处理,得到各自的输出结果,然后可以根据学生模型对输入数据处理得到的输出结果与输入数据对应的标注输出结果获取学生模型的第一损失值。根据学生模型对输入数据处理得到的输出结果与老师模型对输入数据处理得到的输出结果获取学生模型的第二损失值。根据第一损失值以及第二损失值获取学生网络的第三损失值。例如,将第一损失值与第二损失值加权求和,得到学生网络的第三损失值,然后根据第三损失值优化学生模型中的网络参数,通过一轮或者连续的多轮优化,可以得到目标模型。
其中,学生模型中的输出层可以为学生模型中的最后一层。老师模型中的输出层可以为老师模型中的最后一层。
其中,学生模型中的中间层不为学生模型中的最后一层。老师模型中的中间层不为老师模型中的最后一层。
通过本申请,在对学生模型优化时,不仅借助了与学生模型自身的输出的输出结果以及标注输出结果相关的损失值,还借助了与学生模型自身的输出的输出结果以及老师模型输出的输出结果相关的损失值,可以使得得到的目标模型处理数据的效果越接近老师模型处理数据的效果,以尽可能的降低由于剪枝对模型处理数据的效果带来的损失。
进一步地,在本申请另一实施例中,在根据学生模型对输入数据处理得到的输出结果与老师模型对输入数据处理得到的输出结果获取学生模型的第二损失值时,可以根据在学生模型对输入数据处理的情况下学生模型的输出层输出的输出结果与在老师模型对输入数据处理的情况下老师模型的输出层输出的输出结果获取学生模型的输出层损失值。以及,根据在学生模型对输入数据处理的情况下学生模型的中间层输出的输出结果与在老师模型对输入数据处理的情况下老师模型的中间层输出的输出结果获取学生模型的中间层损失值。老师模型中的中间层包括老师模型中的除输入层以及输出层以外的网络层。学生模型中的中间层包括学生模型中的除输入层以及输出层以外的网络层。根据输出层损失值与中间层损失值获取第二损失值。例如,将输出层损失值与中间层损失值加权求和,得到第二损失值。
其中,通过本实施例中,在对学生模型优化时,不仅借助了与学生模型的输出层输出的输出结果以及老师模型的输出层输出的输出结果的损失值,还借助了与学生模型的中间层输出的输出结果以及老师模型的中间层输出的输出结果的损失值,可以更精准地对学生模型中的各个中间层的网络参数优化,可以使得得到的目标模型处理数据的效果更进一步地接近老师模型处理数据的效果,以进一步地降低由于剪枝对模型处理数据的效果带来的损失。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作并不一定是本申请所必须的。
参照图2,示出了本申请的一种信息处理装置的结构框图,该装置具体可以包括如下模块:
第一获取模块11,用于获取基础模型;所述基础模型中包括多个网络层,各个网络层中包括多个通道;
第二获取模块12,用于对于所述基础模型中的任意一个网络层中的任意一个通道,获取所述通道分别与所述网络层中的除所述通道以外的其他每一个通道之间的距离;将所述通道分别与所述网络层中的除所述通道以外的其他每一个通道之间的距离求和,得到所述通道对应的通道距离和;
第三获取模块13,用于根据各个网络层中的各个通道分别对应的通道距离和获取目标剪枝阈值;
剪枝模块14,用于根据各个网络层中的各个通道分别对应的通道距离和以及所述目标剪枝阈值,对各个网络层中的通道进行剪枝处理,得到剪枝后的模型;
蒸馏模块15,用于对剪枝后的模型进行知识蒸馏,得到目标模型。
在一个可选的实现方式中,所述第三获取模块包括:
第一获取单元,用于获取筛选的第一剪枝阈值范围;
筛选单元,用于根据各个网络层中的各个通道分别对应的通道距离和在所述第一剪枝阈值范围中筛选第二剪枝阈值范围;
第二获取单元,用于在筛选剪枝阈值范围的筛选轮数达到预设轮数的情况下,根据最近一次筛选出的剪枝阈值范围获取所述目标剪枝阈值。
在一个可选的实现方式中,所述第一获取单元包括:
第一获取子单元,用于获取各个网络层中的各个通道分别对应的通道距离和的平均值;
第二获取子单元,用于根据所述平均值以及预设系数范围获取所述第一剪枝阈值范围。
在一个可选的实现方式中,所述第一获取单元包括:
第一筛选子单元,用于在上一轮筛选的剪枝阈值范围中筛选多个不同的第一候选剪枝阈值,筛选顺序相邻的第一候选剪枝阈值之间具有第一阈值间隔;
第三获取子单元,用于获取不同的第一候选剪枝阈值分别与各个网络层中的各个通道分别对应的通道距离和之间的差异;
第一确定子单元,用于在不同的第一候选剪枝阈值分别与各个网络层中的各个通道分别对应的通道距离和之间的差异中,确定第一局部最小差异范围;
第四获取子单元,用于根据第一局部最小差异范围对应的候选剪枝阈值获取第一剪枝阈值范围。
在一个可选的实现方式中,所述第三获取子单元具体用于:对于任意一个第一候选剪枝阈值以及任意一个网络层中的任意一个通道,计算所述通道对应的通道距离和以及所述第一候选剪枝阈值之间的差值的绝对值,得到所述通道对应的绝对值;计算所述网络层中的各个通道分别对应的绝对值之间的平均值,得到所述网络层对应的平均值;计算所述基础模型中的各个网络层分别对应的平均值的和值,并作所述第一候选剪枝阈值与各个网络层中的各个通道分别对应的通道距离和之间的差异。
在一个可选的实现方式中,所述筛选单元包括:
第二筛选子单元,用于在第一剪枝阈值范围中筛选多个不同的第二候选剪枝阈值,筛选顺序相邻的第二候选剪枝阈值之间具有第二阈值间隔;第二阈值间隔小于第一阈值间隔;
第五获取子单元,用于获取不同的第二候选剪枝阈值分别与各个网络层中的各个通道分别对应的通道距离和之间的差异;
第二确定子单元,用于在不同的第二候选剪枝阈值分别与各个网络层中的各个通道分别对应的通道距离和之间的差异中,确定第二局部最小差异范围;
第六获取子单元,用于根据第二局部最小差异范围对应的候选剪枝阈值获取第二剪枝阈值范围。
在一个可选的实现方式中,所述蒸馏模型包括:
蒸馏单元,用于以所述基础模型作为老师模型且以所述剪枝后的模型作为学生模型,基于所述老师模型对所述学生模型进行监督指导训练,得到所述目标模型。
在一个可选的实现方式中,所述蒸馏单元包括:
第七获取子单元,用于在训练过程中,根据所述学生模型对输入数据处理得到的输出结果与所述输入数据对应的标注输出结果获取所述学生模型的第一损失值;
第八获取子单元,用于根据所述学生模型对所述输入数据处理得到的输出结果与所述老师模型对所述输入数据处理得到的输出结果获取所述学生模型的第二损失值;
第九获取子单元,用于根据所述第一损失值以及所述第二损失值获取所述学生网络的第三损失值;
优化子单元,用于根据所述第三损失值优化所述学生模型中的网络参数,得到所述目标模型。
在一个可选的实现方式中,所述第八获取子单元具体用于:根据在所述学生模型对输入数据处理的情况下所述学生模型的输出层输出的输出结果与在所述老师模型对所述输入数据处理的情况下所述老师模型的输出层输出的输出结果获取所述学生模型的输出层损失值;以及,根据在所述学生模型对所述输入数据处理的情况下所述学生模型的中间层输出的输出结果与在所述老师模型对所述输入数据处理的情况下所述老师模型的中间层输出的输出结果获取所述学生模型的中间层损失值;老师模型中的中间层包括老师模型中的除输入层以及输出层以外的网络层;学生模型中的中间层包括学生模型中的除输入层以及输出层以外的网络层;根据所述输出层损失值与所述中间层损失值获取所述第二损失值。
在本申请中,获取基础模型。基础模型中包括多个网络层,各个网络层中包括多个通道。对于基础模型中的任意一个网络层中的任意一个通道,获取该通道分别与该网络层中的除该通道以外的其他每一个通道之间的距离。将该通道分别与该网络层中的除该通道以外的其他每一个通道之间的距离求和,得到该通道对应的通道距离和。根据各个网络层中的各个通道分别对应的通道距离和获取目标剪枝阈值。根据各个网络层中的各个通道分别对应的通道距离和以及目标剪枝阈值,对各个网络层中的通道进行剪枝处理,得到剪枝后的模型。对剪枝后的模型进行知识蒸馏,得到目标模型。
本申请摒弃了使用一个与基础模型无关的绝对值来对基础模型剪枝的方式,而创新性地提出了根据基础模型中的网络层中的通道的实际情况针对性地设置剪枝阈值,例如,通过基础模型中的各个网络层中的各个通道分别对应的通道距离和,来确定用于对基础模型剪枝时使用的剪枝阈值,通道对应的通道距离和为通道与其所在的网络层中的其他每一个通道之间的距离的和值等,通过各个网络层中的各个通道分别对应的通道距离和支持在网络层中查找中位数的距离和,进而可以参考中位数的距离和来搜索剪枝阈值,以避免剪枝阈值过小或者过大。如此,可以避免“由于剪枝阈值过小而导致根据剪枝阈值对基础模型剪枝后得到的剪枝后的模型中冗余的通道过多而影响剪枝效果”的情况发生,也可以避免“由于剪枝阈值过大而导致根据剪枝阈值对基础模型剪枝后得到的剪枝后的模型中的有用的通道过少而影响剪枝后的模型对数据处理的效果”的情况发生。
也即,通过本申请的方式,根据基础模型中的通道的自身的数据来搜索剪枝阈值,可以提高剪枝效果(例如需要被删除的通道被删除而需要保留的通道被保留)降低了剪枝后的模型的冗余度,以及,可以提高剪枝后的模型处理数据的效果(保留了有用的通道以提高对数据处理的准确率等)。
另外,根据基础模型中的通道的自身的数据来搜索剪枝阈值,也可以间接地使得在不同的网络层中对通道的剪枝尺度不同。
其次,通过本申请,还可以借助基础模型对剪枝后的模型优化,得到目标模型,可以使得得到的目标模型处理数据的效果越接近基础模型处理数据的效果,以尽可能的降低由于剪枝对模型处理数据的效果带来的损失。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本申请实施例中各方法步骤的指令(instructions)。
本申请实施例提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得电子设备执行如上述实施例中一个或多个所述的方法。本申请实施例中,所述电子设备包括服务器、网关、子设备等,子设备为物联网设备等设备。
本公开的实施例可被实现为使用任意适当的硬件,固件,软件,或及其任意组合进行想要的配置的装置,该装置可包括服务器(集群)、终端设备如IoT设备等电子设备。
图3示意性地示出了可被用于实现本申请中所述的各个实施例的示例性装置1300。
对于一个实施例,图3示出了示例性装置1300,该装置具有一个或多个处理器1302、被耦合到(一个或多个)处理器1302中的至少一个的控制模块(芯片组)1304、被耦合到控制模块1304的存储器1306、被耦合到控制模块1304的非易失性存储器(NVM)/存储设备1308、被耦合到控制模块1304的一个或多个输入/输出设备1310,和被耦合到控制模块1304的网络接口1312。
处理器1302可包括一个或多个单核或多核处理器,处理器1302可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,装置1300能够作为本申请实施例中所述网关等服务器设备。
在一些实施例中,装置1300可包括具有指令1314的一个或多个计算机可读介质(例如,存储器1306或NVM/存储设备1308)和与该一个或多个计算机可读介质相合并被配置为执行指令1314以实现模块从而执行本公开中所述的动作的一个或多个处理器1302。
对于一个实施例,控制模块1304可包括任意适当的接口控制器,以向(一个或多个)处理器1302中的至少一个和/或与控制模块1304通信的任意适当的设备或组件提供任意适当的接口。
控制模块1304可包括存储器控制器模块,以向存储器1306提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
存储器1306可被用于例如为装置1300加载和存储数据和/或指令1314。对于一个实施例,存储器1306可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,存储器1306可包括双倍数据速率四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,控制模块1304可包括一个或多个输入/输出控制器,以向NVM/存储设备1308及(一个或多个)输入/输出设备1310提供接口。
例如,NVM/存储设备1308可被用于存储数据和/或指令1314。NVM/存储设备1308可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备1308可包括在物理上作为装置1300被安装在其上的设备的一部分的存储资源,或者其可被该设备访问可不必作为该设备的一部分。例如,NVM/存储设备1308可通过网络经由(一个或多个)输入/输出设备1310进行访问。
(一个或多个)输入/输出设备1310可为装置1300提供接口以与任意其他适当的设备通信,输入/输出设备1310可以包括通信组件、拼音组件、传感器组件等。网络接口1312可为装置1300提供接口以通过一个或多个网络通信,装置1300可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如WiFi、2G、3G、4G、5G等,或它们的组合进行无线通信。
对于一个实施例,(一个或多个)处理器1302中的至少一个可与控制模块1304的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器1302中的至少一个可与控制模块1304的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器1302中的至少一个可与控制模块1304的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器1302中的至少一个可与控制模块1304的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,装置1300可以但不限于是:服务器、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备。在各个实施例中,装置1300可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,装置1300包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
本申请实施例提供了一种电子设备,包括:一个或多个处理器;和,其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如本申请中一个或多个所述的方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、和流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程信息处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程信息处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程信息处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程信息处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例和落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的信息处理方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种信息处理方法,其特征在于,所述方法包括:
获取基础模型;所述基础模型中包括多个网络层,各个网络层中包括多个通道;
对于所述基础模型中的任意一个网络层中的任意一个通道,获取所述通道分别与所述网络层中的除所述通道以外的其他每一个通道之间的距离;将所述通道分别与所述网络层中的除所述通道以外的其他每一个通道之间的距离求和,得到所述通道对应的通道距离和;
根据各个网络层中的各个通道分别对应的通道距离和获取目标剪枝阈值;
根据各个网络层中的各个通道分别对应的通道距离和以及所述目标剪枝阈值,对各个网络层中的通道进行剪枝处理,得到剪枝后的模型;
对剪枝后的模型进行知识蒸馏,得到目标模型。
2.根据权利要求1所述的方法,其特征在于,所述根据各个网络层中的各个通道分别对应的通道距离和获取目标剪枝阈值,包括:
获取筛选的第一剪枝阈值范围;
根据各个网络层中的各个通道分别对应的通道距离和在所述第一剪枝阈值范围中筛选第二剪枝阈值范围;
在筛选剪枝阈值范围的筛选轮数达到预设轮数的情况下,根据最近一次筛选出的剪枝阈值范围获取所述目标剪枝阈值。
3.根据权利要求2所述的方法,其特征在于,所述获取筛选的第一剪枝阈值范围,包括:
获取各个网络层中的各个通道分别对应的通道距离和的平均值;
根据所述平均值以及预设系数范围获取所述第一剪枝阈值范围。
4.根据权利要求2所述的方法,其特征在于,所述获取筛选的第一剪枝阈值范围,包括:
在上一轮筛选的剪枝阈值范围中筛选多个不同的第一候选剪枝阈值,筛选顺序相邻的第一候选剪枝阈值之间具有第一阈值间隔;
获取不同的第一候选剪枝阈值分别与各个网络层中的各个通道分别对应的通道距离和之间的差异;
在不同的第一候选剪枝阈值分别与各个网络层中的各个通道分别对应的通道距离和之间的差异中,确定第一局部最小差异范围;
根据第一局部最小差异范围对应的候选剪枝阈值获取第一剪枝阈值范围。
5.根据权利要求4所述的方法,其特征在于,所述获取不同的第一候选剪枝阈值分别与各个网络层中的各个通道分别对应的通道距离和之间的差异,包括:
对于任意一个第一候选剪枝阈值以及任意一个网络层中的任意一个通道,计算所述通道对应的通道距离和以及所述第一候选剪枝阈值之间的差值的绝对值,得到所述通道对应的绝对值;计算所述网络层中的各个通道分别对应的绝对值之间的平均值,得到所述网络层对应的平均值;
计算所述基础模型中的各个网络层分别对应的平均值的和值,并作所述第一候选剪枝阈值与各个网络层中的各个通道分别对应的通道距离和之间的差异。
6.根据权利要求4所述的方法,其特征在于,所述根据各个网络层中的各个通道分别对应的通道距离和在所述第一剪枝阈值范围中筛选第二剪枝阈值范围,包括:
在第一剪枝阈值范围中筛选多个不同的第二候选剪枝阈值,筛选顺序相邻的第二候选剪枝阈值之间具有第二阈值间隔;所述第二阈值间隔小于所述第一阈值间隔;
获取不同的第二候选剪枝阈值分别与各个网络层中的各个通道分别对应的通道距离和之间的差异;
在不同的第二候选剪枝阈值分别与各个网络层中的各个通道分别对应的通道距离和之间的差异中,确定第二局部最小差异范围;
根据第二局部最小差异范围对应的候选剪枝阈值获取第二剪枝阈值范围。
7.根据权利要求1所述的方法,其特征在于,所述对剪枝后的模型进行知识蒸馏,得到目标模型,包括:
以所述基础模型作为老师模型且以所述剪枝后的模型作为学生模型,基于所述老师模型对所述学生模型进行监督指导训练,得到所述目标模型。
8.根据权利要求7所述的方法,其特征在于,所述以所述基础模型作为老师模型且以所述剪枝后的模型作为学生模型,基于所述老师模型对所述学生模型进行监督指导训练,得到所述目标模型,包括:
在训练过程中,根据所述学生模型对输入数据处理得到的输出结果与所述输入数据对应的标注输出结果获取所述学生模型的第一损失值;
根据所述学生模型对所述输入数据处理得到的输出结果与所述老师模型对所述输入数据处理得到的输出结果获取所述学生模型的第二损失值;
根据所述第一损失值以及所述第二损失值获取所述学生网络的第三损失值;
根据所述第三损失值优化所述学生模型中的网络参数,得到所述目标模型。
9.根据权利要求8所述的方法,其特征在于,所述根据所述学生模型对所述输入数据处理得到的输出结果与所述老师模型对所述输入数据处理得到的输出结果获取所述学生模型的第二损失值,包括:
根据在所述学生模型对输入数据处理的情况下所述学生模型的输出层输出的输出结果与在所述老师模型对所述输入数据处理的情况下所述老师模型的输出层输出的输出结果获取所述学生模型的输出层损失值;
以及,根据在所述学生模型对所述输入数据处理的情况下所述学生模型的中间层输出的输出结果与在所述老师模型对所述输入数据处理的情况下所述老师模型的中间层输出的输出结果获取所述学生模型的中间层损失值;老师模型中的中间层包括老师模型中的除输入层以及输出层以外的网络层;学生模型中的中间层包括学生模型中的除输入层以及输出层以外的网络层;
根据所述输出层损失值与所述中间层损失值获取所述第二损失值。
10.一种信息处理装置,其特征在于,所述装置包括:
第一获取模块,用于获取基础模型;所述基础模型中包括多个网络层,各个网络层中包括多个通道;
第二获取模块,用于对于所述基础模型中的任意一个网络层中的任意一个通道,获取所述通道分别与所述网络层中的除所述通道以外的其他每一个通道之间的距离;将所述通道分别与所述网络层中的除所述通道以外的其他每一个通道之间的距离求和,得到所述通道对应的通道距离和;
第三获取模块,用于根据各个网络层中的各个通道分别对应的通道距离和获取目标剪枝阈值;
剪枝模块,用于根据各个网络层中的各个通道分别对应的通道距离和以及所述目标剪枝阈值,对各个网络层中的通道进行剪枝处理,得到剪枝后的模型;
蒸馏模块,用于对剪枝后的模型进行知识蒸馏,得到目标模型。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至9中任一项所述的方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111567587.0A CN114418059A (zh) | 2021-12-20 | 2021-12-20 | 一种信息处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111567587.0A CN114418059A (zh) | 2021-12-20 | 2021-12-20 | 一种信息处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114418059A true CN114418059A (zh) | 2022-04-29 |
Family
ID=81267988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111567587.0A Pending CN114418059A (zh) | 2021-12-20 | 2021-12-20 | 一种信息处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114418059A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114881227A (zh) * | 2022-05-13 | 2022-08-09 | 北京百度网讯科技有限公司 | 模型压缩方法、图像处理方法、装置和电子设备 |
-
2021
- 2021-12-20 CN CN202111567587.0A patent/CN114418059A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114881227A (zh) * | 2022-05-13 | 2022-08-09 | 北京百度网讯科技有限公司 | 模型压缩方法、图像处理方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110689109B (zh) | 神经网络方法和装置 | |
CN111144937B (zh) | 广告素材确定方法、装置、设备及存储介质 | |
US11144817B2 (en) | Device and method for determining convolutional neural network model for database | |
US20220076123A1 (en) | Neural network optimization method, electronic device and processor | |
CN109754359B (zh) | 一种应用于卷积神经网络的池化处理的方法及系统 | |
CN111406264A (zh) | 神经架构搜索 | |
CN107808394B (zh) | 一种基于卷积神经网络的图像处理方法及移动终端 | |
CN112966818A (zh) | 一种定向引导模型剪枝方法、系统、设备及存储介质 | |
CN113554178A (zh) | 优化梯度提升特征选择 | |
CN114072809A (zh) | 经由神经架构搜索的小且快速的视频处理网络 | |
CN114418059A (zh) | 一种信息处理方法及装置 | |
CN115438804A (zh) | 预测模型训练方法、装置、设备以及图像预测方法 | |
US20240005157A1 (en) | Methods and systems for unstructured pruning of a neural network | |
WO2017097118A1 (zh) | 文本分类的处理方法及装置 | |
CN114168318A (zh) | 存储释放模型的训练方法、存储释放方法及设备 | |
CN113569193A (zh) | 用于神经网络模型的矩阵向量运算方法、设备及存储介质 | |
CN111798263A (zh) | 一种交易趋势的预测方法和装置 | |
CN113344200B (zh) | 用于训练可分离卷积网络的方法、路侧设备及云控平台 | |
US20220383121A1 (en) | Dynamic activation sparsity in neural networks | |
CN117223005A (zh) | 加速器、计算机系统和方法 | |
CN112561050B (zh) | 一种神经网络模型训练方法及装置 | |
US20210012192A1 (en) | Arithmetic processing apparatus, control method, and non-transitory computer-readable recording medium having stored therein control program | |
CN113298083A (zh) | 一种数据处理方法及装置 | |
CN113221662A (zh) | 人脸识别模型的训练方法及装置、存储介质、终端 | |
CN107871162B (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 |