网络获取及图像处理方法和装置、电子设备、存储介质与流程

文档序号:16680354发布日期:2019-01-19 00:22阅读:108来源:国知局
网络获取及图像处理方法和装置、电子设备、存储介质与流程

本申请涉及计算机视觉技术,尤其是一种网络获取方法及图像处理方法和装置、电子设备、存储介质。



背景技术:

网络修剪,是通过一些辅助手段来帮助我们寻找出深度学习模型中,无用的,或者重要性不高的参数,然后从模型中取出。网络修剪的目的是为了将大型的深度学习模型,修剪到比较合适的模型尺寸和运算量,让深度学习模型,在计算资源有限的平台上实际部署成为可能。



技术实现要素:

本申请实施例提供的一种网络获取技术。

根据本申请实施例的一个方面,提供了一种网络获取方法,包括:

基于样本数据训练第一神经网络,获得第二神经网络;

基于所述第二神经网络中的多个网络单元,确定所述多个网络单元中每个网络单元的强度参数,其中,所述强度参数用于表示所述网络单元的连接重要性;

基于所述多个网络单元中每个网络单元的强度参数,去除所述第二神经网络中的至少一个网络单元,获得目标神经网络。

可选地,在本发明上述任一方法实施例中,所述第二神经网络包括多个网络块,所述网络块包括批归一化层和卷积层,所述网络单元包括所述卷积层中的至少一个卷积核。

可选地,在本发明上述任一方法实施例中,所述基于所述第二神经网络中的多个网络单元,确定所述多个网络单元中每个网络单元的强度参数,包括:

基于所述网络单元所属网络块中的批归一化层的重构参数和所述网络单元中至少一个卷积核的范数,确定所述网络单元的强度参数,其中,所述卷积核是基于所述卷积核的范数和所述卷积核的方向确定的。

可选地,在本发明上述任一方法实施例中,所述基于样本数据训练第一神经网络,获得第二神经网络,包括:

基于所述第一神经网络的多个网络单元当前的强度参数,确定强度损失;

基于所述强度损失和所述样本数据,调整所述第一神经网络的网络参数,得到第二神经网络。

可选地,在本发明上述任一方法实施例中,所述基于所述强度损失和所述样本数据,调整所述第一神经网络的网络参数,得到第二神经网络,包括:

将样本数据输入所述第一神经网络,获得预测结果;

基于所述预测结果,确定任务损失;

基于所述任务损失和所述强度损失调整所述第一神经网络的网络参数,得到第二神经网络。

可选地,在本发明上述任一方法实施例中,所述基于所述任务损失和所述强度损失调整所述第一神经网络的网络参数,得到第二神经网络,包括:

基于所述强度损失和所述任务损失进行加权求和,获得网络损失;

基于所述网络损失调整所述第一神经网络的网络参数,得到第二神经网络。

可选地,在本发明上述任一方法实施例中,所述基于所述网络损失,调整所述第一神经网络的网络参数,得到第二神经网络,包括:

基于所述网络损失,调整所述第一神经网络中的多个网络单元中至少一个网络单元的强度参数,得到第二神经网络。

可选地,在本发明上述任一方法实施例中,所述基于所述多个网络单元中每个网络单元的强度参数,去除所述第二神经网络中的至少一个网络单元,获得目标神经网络,包括:

去除所述第二神经网络的多个网络单元中强度参数小于或等于预设阈值的网络单元,获得目标神经网络。

可选地,在本发明上述任一方法实施例中,所述基于所述多个网络单元中每个网络单元的强度参数,去除所述第二神经网络中的至少一个网络单元,获得目标神经网络,包括:

基于所述多个网络单元中每个网络单元的强度参数,去除所述第二神经网络中的至少一个网络单元,获得第三神经网络;

对所述第三神经网络的网络参数进行微调,得到目标神经网络。

根据本申请实施例的另一个方面,提供的一种图像处理方法,包括:

获取待处理图像;

利用目标神经网络对所述待处理图像进行处理,其中,所述目标神经网络是通过如上任一项所述的网络获取方法得到的。

根据本申请实施例的又一个方面,提供的一种网络获取装置,包括:

网络训练单元,用于基于样本数据训练第一神经网络,获得第二神经网络;

强度参数单元,用于基于所述第二神经网络中的多个网络单元,确定所述多个网络单元中每个网络单元的强度参数,其中,所述强度参数用于表示所述网络单元的连接重要性;

网络剪枝单元,用于基于所述多个网络单元中每个网络单元的强度参数,去除所述第二神经网络中的至少一个网络单元,获得目标神经网络。

可选地,在本发明上述任一装置实施例中,所述第二神经网络包括多个网络块,所述网络块包括批归一化层和卷积层,所述网络单元包括所述卷积层中的至少一个卷积核。

可选地,在本发明上述任一装置实施例中,所述强度参数单元,具体用于基于所述网络单元所属网络块中的批归一化层的重构参数和所述网络单元中至少一个卷积核的范数,确定所述网络单元的强度参数,其中,所述卷积核是基于所述卷积核的范数和所述卷积核的方向确定的。

可选地,在本发明上述任一装置实施例中,所述网络训练单元,包括:

强度损失模块,用于基于所述第一神经网络的多个网络单元当前的强度参数,确定强度损失;

参数调整模块,用于基于所述强度损失和所述样本数据,调整所述第一神经网络的网络参数,得到第二神经网络。

可选地,在本发明上述任一装置实施例中,所述参数调整模块,具体用于将样本数据输入所述第一神经网络,获得预测结果;基于所述预测结果,确定任务损失;基于所述任务损失和所述强度损失调整所述第一神经网络的网络参数,得到第二神经网络。

可选地,在本发明上述任一装置实施例中,所述参数调整模块在基于所述任务损失和所述强度损失调整所述第一神经网络的网络参数,得到第二神经网络时,用于基于所述强度损失和所述任务损失进行加权求和,获得网络损失;基于所述网络损失调整所述第一神经网络的网络参数,得到第二神经网络。

可选地,在本发明上述任一装置实施例中,所述参数调整模块在基于所述网络损失,调整所述第一神经网络的网络参数,得到第二神经网络时,具体用于基于所述网络损失,调整所述第一神经网络中的多个网络单元中至少一个网络单元的强度参数,得到第二神经网络。

可选地,在本发明上述任一装置实施例中,所述网络剪枝单元,具体用于去除所述第二神经网络的多个网络单元中强度参数小于或等于预设阈值的网络单元,获得目标神经网络。

可选地,在本发明上述任一装置实施例中,所述网络剪枝单元,具体用于基于所述多个网络单元中每个网络单元的强度参数,去除所述第二神经网络中的至少一个网络单元,获得第三神经网络;对所述第三神经网络的网络参数进行微调,得到目标神经网络。

根据本申请实施例的还一个方面,提供的一种图像处理装置,包括:

图像获取单元,用于获取待处理图像;

图像处理单元,用于利用目标神经网络对所述待处理图像进行处理,其中,所述目标神经网络是通过如上任一项所述的网络获取方法得到的。

根据本申请实施例的再一个方面,提供的一种电子设备,包括处理器,所述处理器包括如上任意一项所述的网络获取装置或如上所述的图像处理装置。

根据本申请实施例的另一个方面,提供的一种电子设备,其特征在于,包括:存储器,用于存储可执行指令;

以及处理器,用于与所述存储器通信以执行所述可执行指令从而完成如上任意一项所述网络获取方法或如上所述图像处理方法的操作。

根据本申请实施例的又一个方面,提供的一种计算机可读存储介质,用于存储计算机可读取的指令,所述指令被执行时执行如上任意一项所述网络获取方法或如上所述图像处理方法的操作。

根据本申请实施例的还一个方面,提供的一种计算机程序产品,包括计算机可读代码,其特征在于,当所述计算机可读代码在设备上运行时,所述设备中的处理器执行用于实现如上任意一项所述网络获取方法或如上所述图像处理方法的指令。

根据本申请实施例的再一个方面,提供的另一种计算机程序产品,用于存储计算机可读指令,所述指令被执行时使得计算机执行上述任一可能的实现方式中所述网络获取方法或所述图像处理方法的操作。

在一个可选实施方式中,所述计算机程序产品具体为计算机存储介质,在另一个可选实施方式中,所述计算机程序产品具体为软件产品,例如sdk等。

根据本申请实施例还提供了另一种网络获取及图像处理方法和装置、电子设备、计算机存储介质、计算机程序产品,其中,基于样本数据训练第一神经网络,获得第二神经网络;基于第二神经网络中的多个网络单元,确定多个网络单元中每个网络单元的强度参数,其中,强度参数用于表示网络单元的连接重要性;基于多个网络单元中每个网络单元的强度参数,去除第二神经网络中的至少一个网络单元,获得目标神经网络。

基于本申请上述实施例提供的一种网络获取方法及图像处理方法和装置、电子设备、存储介质,基于样本数据训练第一神经网络,获得第二神经网络;基于第二神经网络中的多个网络单元,确定多个网络单元中每个网络单元的强度参数,其中,强度参数用于表示网络单元的连接重要性;基于多个网络单元中每个网络单元的强度参数,去除第二神经网络中的至少一个网络单元,获得目标神经网络,通过强度参数衡量网络单元连接的重要性并进行剪枝处理,与通过经验人为设定网络剪枝的指标相比,有利于提高目标神经网络的性能。

下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。

附图说明

构成说明书的一部分的附图描述了本申请的实施例,并且连同描述一起用于解释本申请的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本申请,其中:

图1为本申请实施例提供的网络获取方法的示意性流程图。

图2为本申请实施例提供的网络获取方法中训练第一神经网络的一个可选示例的流程示意图。

图3为本申请实施例提供的网络获取方法中训练第一神经网络的另一个可选示例的流程示意图。

图4为本申请实施例提供的网络获取方法又一个可选示例的结构示意图。

图5为本申请实施例提供的网络获取装置的一个结构示意图。

图6为本申请实施例提供的图像处理方法的示意性流程图。

图7为本申请实施例提供的图像处理装置的一个结构示意图。

图8为适于用来实现本申请实施例的终端设备或服务器的电子设备的结构示意图。

具体实施方式

现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

图1为本申请实施例提供的网络获取方法的示意性流程图。该方法可以由任意模型训练设备执行,例如终端设备、服务器、移动设备等等,本申请实施例对此不做限定。如图1所示,本申请实施例方法包括:

步骤110,基于样本数据训练第一神经网络,获得第二神经网络。

可选地,在一些可选实施方式中第一神经网络和第二神经网络在结构上基本相同,基于样本数据对第一神经网络进行训练,通过对第一神经网络中网络参数的调整,获得第二神经网络。其中,可以基于监督方式训练第一神经网络,此时,样本数据具有标注信息;或者,基于无监督方式训练第一神经网络,本申请实施例对训练第一神经网络的具体实现不做限定。

步骤120,基于第二神经网络中的多个网络单元,确定多个网络单元中每个网络单元的强度参数。

其中,强度参数用于表示网络单元的连接重要性。

本申请实施例提出网络单元的强度参数来衡量网络单元的重要性,该强度参数可以有效的表示卷积层滤波器中的网络单元的重要性,其中,卷积层滤波器中可能包括一个或多个卷积核。

可选地,网络单元可以包括至少一个卷积核,例如:为了达到较为精细的网络剪枝效果,可以将网络单元设置为一个卷积核,即每个卷积核具有对应的强度参数,用于表示该卷积核的连接重要性,或者,网络单元包括多个卷积核或者进一步包括其他功能模块,本申请实施例对此不做限定。

在一些可选实施例中,为了使得强度参数能够衡量对应的网络单元的连接重要性,并且减小第二神经网络在经过剪枝后的性能下降幅度,可以基于网络单元包括的卷积核的参数获得网络单元的强度参数。可选地,卷积核的参数包括为卷积核的模长和方向,此时,作为一个可选示例,基于卷积核的模长确定强度参数,例如,将卷积核的模长作为卷积核的强度参数,但本申请实施例对强度参数的确定方式不作限定。

在确定了网络单元的强度参数之后,可以基于网络单元的强度参数,确定网络单元和/或网络单元所属的卷积层的输出。

步骤130,基于多个网络单元中每个网络单元的强度参数,去除第二神经网络中的至少一个网络单元,获得目标神经网络。

可选地,由于强度参数表示网络单元的连接重要性,因此,基于强度参数可以获得第二神经网络中每个网络单元的连接重要性,而将连接重要性较低的至少一个网络单元去除,对第二神经网络的网络性能的影响较小,即目标神经网络可以实现与第二神经网络相近的性能。

基于本申请上述实施例提供的网络获取方法,基于样本数据训练第一神经网络,获得第二神经网络;基于第二神经网络中的多个网络单元,确定多个网络单元中每个网络单元的强度参数,其中,强度参数用于表示网络单元的连接重要性;基于多个网络单元中每个网络单元的强度参数,去除第二神经网络中的至少一个网络单元,获得目标神经网络,通过强度参数衡量网络单元连接的重要性并进行剪枝处理,与通过经验人为设定网络剪枝的指标相比,有利于提高目标神经网络的性能。

在一个或多个可选的实施例中,第二神经网络包括多个网络块,网络块包括批归一化层和卷积层。

本申请实施例中的神经网络可以是实现任意数据处理任务的神经网络。神经网络包括至少一个网络块,每个网络块中可以包括至少一个网络层,该网络层可以为神经网络的实现功能的主要部分,例如卷积层、池化层、隐层、感知层、激活层、批归一化层等等,本申请实施例对此不做限定。作为一个可选例子,神经网络中的网络块中包括批归一化层和卷积层,当然,该网络块中还可以包括其他网络层,本申请实施例不限于此。

这样,通过缩减网络块中网络单元的数量,减少网络块之间的连接数量,使网络结构减小,从而适用于有限处理能力的设备。

可选地,步骤120包括:

基于网络单元所属网络块中的批归一化层的重构参数和网络单元中至少一个卷积核的范数,确定网络单元的强度参数。

其中,卷积核是基于卷积核的范数和卷积核的方向确定的。

可选地,假设神经网络的第i层的输出包含c个特征通道(这里假设每个特征通道对应一个卷积核)。第i+1个卷积运算具有k个滤波器,每个滤波器包括c个卷积核,这c个卷积核一对一的被分配至对应的输入特征通道。该卷积运算生成k个输出特征通道。作为一个例子,可以基于公式(1)确定第i+1个卷积运算的第k个滤波器的输出特征:

其中,f表示激活函数,表示第i+1层的输出特征中的第k个特征通道的特征;表示第i层的输出特征中的第c个特征通道的特征,其中c的取值为1到c。表示第k个滤波器中的第c个卷积核,为偏移量,*表示矩阵乘法。

本申请实施例提出的方法在非线性映射之前的每个卷积层之后执行批量归一化。特别地,批归一化(bn,batchnormalization)层使用小批量统计来归一化激活分布。假设xin和xout是bn层的输入和输出,b表示小批量数据样本。作为一个可选例子,bn层通过以下公式(2)执行归一化:

其中,μb和σb是在b包括的x的所有元素上计算的平均值和标准偏差值,归一化激活是通过包括缩放参数(重构参数)γ和偏移参数β的仿射变换得到的。

本申请实施例中提出的强度参数可以基于神经网络的原有参数得到。首先,将bn层中的信道缩放因子固定为1。其次,将每个卷积核k参数化为范数(norm)r和方向结合上述公式(1)和公式(2),可将公式(1)进行以下变形:

其中,sk,c即为强度参数,强度参数可表示为以下公式(6):

s=γ·r(6)

其中,r卷积核重新参数化的范数,γ为批归一化层的重构参数(缩放参数)。

经过上述公式(3)、(4)和(5),可以得知添加强度参数之后的神经网络与添加强度参数前的神经网络具有相同的能力。其中,可选地,本申请实施例中的网络块包含“bn-f-conv”。

通过上述实施例中将强度参数确定为卷积核的范数和批归一化层中的重构参数的乘积,此时,为了保证在卷积处理过程中,网络性能不发生变化,将原卷积核中的参数拆分为更新参数与范数的乘积,即,如上述公式(4)所示,将每个单独的卷积核k重新参数化为范数(norm)r和方向将v作为更新参数,获得替换后的卷积核。

图2为本申请实施例提供的网络获取方法中训练第一神经网络的一个可选示例的流程示意图。如图2所示在一个或多个可选的实施例中,基于样本数据训练第一神经网络,获得第二神经网络可以包括:

步骤202,基于第一神经网络的多个网络单元当前的强度参数,确定强度损失。

步骤204,基于强度损失和样本数据,调整第一神经网络的网络参数,得到第二神经网络。

本申请实施例中,由于第一神经网络中包括普通神经网络不包括的强度参数,因此,除了基于网络层(卷积层、批归一化层等)获得的损失,还通过强度参数获得强度损失,以提高对强度参数的训练的准确性。

可选地,可以对强度参数执行l1正则化,获得强度损失。

l1正则化会使参数稀疏化,在机器学习的loss函数中,通常会添加一些正则化(正则化与一些贝叶斯先验本质上是一致的,比如l2正则化与高斯先验是一致的、l1正则化与拉普拉斯先验是一致的等等,在这里就不展开讨论)来降低模型的结构风险,这样可以使降低模型复杂度、防止参数过大等。

图3为本申请实施例提供的网络获取方法中训练第一神经网络的另一个可选示例的流程示意图。如图3所示在一个或多个可选的实施例中,基于样本数据训练第一神经网络,获得第二神经网络可以包括:

步骤302,基于第一神经网络的多个网络单元当前的强度参数,确定强度损失。

步骤304,将样本数据输入第一神经网络,获得预测结果。

步骤306,基于预测结果,确定任务损失。

可选地,样本数据具有标注结果,基于预测结果和标注结果即可确定任务损失。

步骤308,基于任务损失和强度损失调整第一神经网络的网络参数,得到第二神经网络。

本申请实施例对于增加了强度参数的第一神经网络的训练与其他网络训练类似,都可以基于样本数据获得对应的损失,再通过反向梯度等方法,对网络中的参数进行调整;而由于强度参数可以获得强度损失,本申请实施例结合任务损失和强度损失调整第一神经网络的网络参数,在加快训练速度的同时,提高了对强度参数的调整精度。

可选地,本申请实施例中步骤308可以包括:

基于强度损失和任务损失进行加权求和,获得网络损失;

基于网络损失调整第一神经网络的网络参数,得到第二神经网络。

为了实现结合强度损失和任务损失对第一神经网络进行训练,需要对强度损失和任务损失进行求和,可选地,对强度损失和任务损失加权求和,具体的权值可由强度损失和任务损失的重要性确定,重要性越高,权值越大;通过加权求和获得网络损失,基于网络损失,调整第一神经网络中的多个网络单元中至少一个网络单元的强度参数,得到第二神经网络,可选地,还基于网络损失调整第一神经网络中网络块中的其他网络参数,如:卷积核参数和批归一化层中的参数等,通过结合强度损失,提高了网络训练的速度。

在一个或多个可选的实施例中,步骤130包括:

去除第二神经网络的多个网络单元中强度参数小于或等于预设阈值的网络单元,获得目标神经网络。

本申请实施例通过强度参数表示对应网络单元连接的重要性,当强度参数小于或等于预设阈值时,通过该强度参数对应的网络单元获得的特征中有用特征的比例较低,说明该网络单元在卷积层中的重要性较低,此时,将该网络单元删除,对卷积层的处理精度影响较小,实现了目标神经网络的性能与第二神经网络的性能相近。

在一个或多个可选的实施例中,步骤130包括:

基于多个网络单元中每个网络单元的强度参数,去除第二神经网络中的至少一个网络单元,获得第三神经网络;

对第三神经网络的网络参数进行微调,得到目标神经网络。

本申请实施例中将第二神经网络中部分卷积核删除后,将导致第二神经网络的结构发生变化,此时,删除部分卷积核的第二神经网络中的网络参数仍保持为基于第一神经网络训练得到第二神经网络的过程得到的网络参数,但由于结构发生了改变,这些网络参数不一定适合当前剪枝后的网络,因此,需要结合样本数据对剪枝后的第二神经网络进行参数微调(finetune),以使获得的目标神经网络对于当前数据任务能够实现较好的性能。

参数微调(finetune)是在已训练好的模型参数的基础上,加上具体任务数据进行特定的微调,以训练新的模型。因为训练好的网络模型权重已经平滑,不希望太快扭曲(distort)网络模型权重,通常finetune过程中采用较小的学习率。

图4为本申请实施例提供的网络获取方法又一个可选示例的结构示意图。如图4所示,x1,x2,x3表示第i层输出特征,y1,y2表示第i+1层输出特征,本申请实施例通过增加强度参数(synapticstrength),来表示网络单元(本申请实施例中每个网络单元包括一个卷积核)的连接重要性,本申请实施例中第i+1层包括两个卷积层,每个卷积层在剪枝之前包括3个卷积核,每个卷积核对应一个强度参数,包括6个强度参数,通过训练,获得每个强度参数,如图中表格所示,x1y1对应的强度参数数值为0.0,x1y2对应的强度参数数值为0.2,x2y1对应的强度参数数值为0.0,x2y2对应的强度参数数值为0.5,x3y1对应的强度参数数值为0.4,x3y2对应的强度参数数值为0.0;当设定阈值为0.1时,可确定至少有3个强度参数对于卷积运算的精度是没有影响或具有较小影响的,因此,删除该强度参数对应的卷积核,对网络精度的影响较小,删除后即得到图4中右侧所示的结构。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

图5为本申请实施例提供的网络获取装置的一个结构示意图。该实施例的装置可用于实现本申请上述各方法实施例。如图5所示,该实施例的装置包括:

网络训练单元51,用于基于样本数据训练第一神经网络,获得第二神经网络。

强度参数单元52,用于基于第二神经网络中的多个网络单元,确定多个网络单元中每个网络单元的强度参数。

其中,强度参数用于表示网络单元的连接重要性。

网络剪枝单元53,用于基于多个网络单元中每个网络单元的强度参数,去除第二神经网络中的至少一个网络单元,获得目标神经网络。

基于本申请上述实施例提供的网络获取中值,通过强度参数衡量网络单元连接的重要性并进行剪枝处理,与通过经验人为设定网络剪枝的指标相比,有利于提高目标神经网络的性能。

在一个或多个可选的实施例中,第二神经网络包括多个网络块,网络块包括批归一化层和卷积层,网络单元包括卷积层中的至少一个卷积核。

本申请实施例中的神经网络可以是实现任意数据处理任务的神经网络。神经网络包括至少一个网络块,每个网络块中可以包括至少一个网络层,该网络层可以为神经网络的实现功能的主要部分,例如卷积层、池化层、隐层、感知层、激活层、批归一化层等等,本申请实施例对此不做限定。作为一个可选例子,神经网络中的网络块中包括批归一化层和卷积层,当然,该网络块中还可以包括其他网络层,本申请实施例不限于此。

这样,通过缩减网络块中网络单元的数量,减少网络块之间的连接数量,使网络结构减小,从而适用于有限处理能力的设备。

可选地,强度参数单元52,具体用于基于网络单元所属网络块中的批归一化层的重构参数和网络单元中至少一个卷积核的范数,确定网络单元的强度参数,其中,卷积核是基于卷积核的范数和卷积核的方向确定的。

在一个或多个可选的实施例中,网络训练单元51,包括:

强度损失模块,用于基于第一神经网络的多个网络单元当前的强度参数,确定强度损失;

参数调整模块,用于基于强度损失和样本数据,调整第一神经网络的网络参数,得到第二神经网络。

本申请实施例中,由于第一神经网络中包括普通神经网络不包括的强度参数,因此,除了基于网络层(卷积层、批归一化层等)获得的损失,还通过强度参数获得强度损失,以提高对强度参数的训练的准确性。

可选地,可以对强度参数执行l1正则化,获得强度损失。

可选地,参数调整模块,具体用于将样本数据输入第一神经网络,获得预测结果;基于预测结果,确定任务损失;基于任务损失和强度损失调整第一神经网络的网络参数,得到第二神经网络。

可选地,参数调整模块在基于任务损失和强度损失调整第一神经网络的网络参数,得到第二神经网络时,用于基于强度损失和任务损失进行加权求和,获得网络损失;基于网络损失调整第一神经网络的网络参数,得到第二神经网络。

可选地,参数调整模块在基于网络损失,调整第一神经网络的网络参数,得到第二神经网络时,具体用于基于网络损失,调整第一神经网络中的多个网络单元中至少一个网络单元的强度参数,得到第二神经网络。

在一个或多个可选的实施例中,网络剪枝单元53,具体用于去除第二神经网络的多个网络单元中强度参数小于或等于预设阈值的网络单元,获得目标神经网络。

本申请实施例通过强度参数表示对应网络单元连接的重要性,当强度参数小于或等于预设阈值时,通过该强度参数对应的网络单元获得的特征中有用特征的比例较低,说明该网络单元在卷积层中的重要性较低,此时,将该网络单元删除,对卷积层的处理精度影响较小,实现了目标神经网络的性能与第二神经网络的性能相近。

在一个或多个可选的实施例中,网络剪枝单元53,具体用于基于多个网络单元中每个网络单元的强度参数,去除第二神经网络中的至少一个网络单元,获得第三神经网络;对第三神经网络的网络参数进行微调,得到目标神经网络。

本申请实施例中将第二神经网络中部分卷积核删除后,将导致第二神经网络的结构发生变化,此时,删除部分卷积核的第二神经网络中的网络参数仍保持为基于第一神经网络训练得到第二神经网络的过程得到的网络参数,但由于结构发生了改变,这些网络参数不一定适合当前剪枝后的网络,因此,需要结合样本数据对剪枝后的第二神经网络进行参数微调(finetune),以使获得的目标神经网络对于当前数据任务能够实现较好的性能。

图6为本申请实施例提供的图像处理方法的示意性流程图。该方法可以由任意模型设备执行,例如终端设备、服务器、移动设备等等,本申请实施例对此不做限定。本实施方法包括:

步骤610,获取待处理图像。

步骤620,将待处理图像输入到目标神经网络进行处理,得到图像处理结果。

其中,目标神经网络是利用上述任一实施例提供的网络获取方法训练得到的。

本实施中的图像处理方法可以在任意网络中实现,由于经过上述网络获取方法得到的目标神经网络具备网络结构小、参数量少的特点,同时保证了很高的性能,因此,本申请实施例中的图像处理方法可以应用到移动端等空间和运算能力有限的设备中,降低了图像处理对硬件的要求。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

图7为本申请实施例提供的图像处理装置的一个结构示意图。该实施例的装置可用于实现本申请上述各方法实施例。如图7所示,该实施例的装置包括:

图像获取单元701,用于获取待处理图像。

图像处理单元702,用于将待处理图像输入到目标神经网络进行处理,得到图像处理结果。

其中,目标神经网络是利用上述任一实施例提供的网络获取方法训练得到的。

本实施中的图像处理装置,由于经过上述网络获取方法得到的目标神经网络具备运算量、参数量少的特点,同时保证了很高的性能,因此,本申请实施例中的图像处理装置可以应用到移动端等空间和运算能力有限的设备中,降低了图像处理对硬件的要求。

根据本申请实施例的另一个方面,提供的一种电子设备,包括处理器,该处理器包括如上任意一实施例的网络获取装置或上述实施例提供的图像处理装置。

根据本申请实施例的另一个方面,提供的一种电子设备,包括:存储器,用于存储可执行指令;

以及处理器,用于与存储器通信以执行可执行指令从而完成如上任意一实施例网络获取方法或上述实施例提供的图像处理方法的操作。

根据本申请实施例的另一个方面,提供的一种计算机可读存储介质,用于存储计算机可读取的指令,指令被执行时执行如上任意一实施例网络获取方法或上述实施例提供的图像处理方法的操作。

根据本申请实施例的另一个方面,提供的一种计算机程序产品,包括计算机可读代码,当计算机可读代码在设备上运行时,设备中的处理器执行用于实现如上任意一实施例网络获取方法或上述实施例提供的图像处理方法的指令。

根据本申请实施例的再一个方面,提供的另一种计算机程序产品,用于存储计算机可读指令,指令被执行时使得计算机执行上述任一可能的实现方式中的网络获取方法或上述实施例提供的图像处理方法的操作。

该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选例子中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选例子中,计算机程序产品具体体现为软件产品,例如软件开发包(softwaredevelopmentkit,sdk)等等。

根据本申请实施例还提供了网络获取及图像处理方法和装置、电子设备、计算机存储介质、计算机程序产品,其中,基于样本数据训练第一神经网络,获得第二神经网络;基于第二神经网络中的多个网络单元,确定多个网络单元中每个网络单元的强度参数,其中,强度参数用于表示网络单元的连接重要性;基于多个网络单元中每个网络单元的强度参数,去除第二神经网络中的至少一个网络单元,获得目标神经网络。

在一些实施例中,该网络获取指示或图像处理指示可以具体为调用指令,第一装置可以通过调用的方式指示第二装置执行网络获取或图像处理,相应地,响应于接收到调用指令,第二装置可以执行上述网络获取方法或图像处理方法中的任意实施例中的步骤和/或流程。

应理解,本申请实施例中的“第一”、“第二”等术语仅仅是为了区分,而不应理解成对本申请实施例的限定。

还应理解,在本申请中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。

还应理解,对于本申请中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。

还应理解,本申请对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。

本申请实施例还提供了一种电子设备,例如可以是移动终端、个人计算机(pc)、平板电脑、服务器等。下面参考图8,其示出了适于用来实现本申请实施例的终端设备或服务器的电子设备800的结构示意图:如图8所示,电子设备800包括一个或多个处理器、通信部等,所述一个或多个处理器例如:一个或多个中央处理单元(cpu)801,和/或一个或多个图像处理器(gpu)813等,处理器可以根据存储在只读存储器(rom)802中的可执行指令或者从存储部分808加载到随机访问存储器(ram)803中的可执行指令而执行各种适当的动作和处理。通信部812可包括但不限于网卡,所述网卡可包括但不限于ib(infiniband)网卡。

处理器可与只读存储器802和/或随机访问存储器803中通信以执行可执行指令,通过总线804与通信部812相连、并经通信部812与其他目标设备通信,从而完成本申请实施例提供的任一项方法对应的操作,例如,基于样本数据训练第一神经网络,获得第二神经网络;基于第二神经网络中的多个网络单元,确定多个网络单元中每个网络单元的强度参数,其中,强度参数用于表示网络单元的连接重要性;基于多个网络单元中每个网络单元的强度参数,去除第二神经网络中的至少一个网络单元,获得目标神经网络。

此外,在ram803中,还可存储有装置操作所需的各种程序和数据。cpu801、rom802以及ram803通过总线804彼此相连。在有ram803的情况下,rom802为可选模块。ram803存储可执行指令,或在运行时向rom802中写入可执行指令,可执行指令使中央处理单元801执行上述通信方法对应的操作。输入/输出(i/o)接口805也连接至总线804。通信部812可以集成设置,也可以设置为具有多个子模块(例如多个ib网卡),并在总线链接上。

以下部件连接至i/o接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至i/o接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。

需要说明的,如图8所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图8的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如gpu813和cpu801可分离设置或者可将gpu813集成在cpu801上,通信部可分离设置,也可集成设置在cpu801或gpu813上,等等。这些可替换的实施方式均落入本申请公开的保护范围。

特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本申请实施例提供的方法步骤对应的指令,例如,基于样本数据训练第一神经网络,获得第二神经网络;基于第二神经网络中的多个网络单元,确定多个网络单元中每个网络单元的强度参数,其中,强度参数用于表示网络单元的连接重要性;基于多个网络单元中每个网络单元的强度参数,去除第二神经网络中的至少一个网络单元,获得目标神经网络。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(cpu)801执行时,执行本申请的方法中限定的上述功能的操作。

可能以许多方式来实现本申请的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本申请的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本申请的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本申请实施为记录在记录介质中的程序,这些程序包括用于实现根据本申请的方法的机器可读指令。因而,本申请还覆盖存储用于执行根据本申请的方法的程序的记录介质。

本申请的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本申请限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本申请的原理和实际应用,并且使本领域的普通技术人员能够理解本申请从而设计适于特定用途的带有各种修改的各种实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1