一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种神经网络的生成方法、装置、计算机设备及存储介质与流程

2022-06-11 14:08:15 来源:中国专利 TAG:


1.本公开涉及深度学习技术领域,具体而言,涉及一种神经网络的生成方法、装置、计算机设备及存储介质。


背景技术:

2.在深度学习领域中,大规模的神经网络通常具有复杂的网络结构、较大的网络规模,同时拥有良好的性能和泛化能力,在图像分类的问题中,可以更快速的提取和分析大量的图像信息,输出精度也较高。而小规模的神经网络,由于网络规模较小,提取特征的能力有限,导致了其性能和泛化能力都比较弱,面对大量的图像时,图像分析速度慢,图像分类的结果的精度不理想。为了提升图像分类的精度,往往是将用于图像分类的神经网络的规模设计得更大更深。然而,由于实际应用中的计算资源的限制,这样的大规模神经网络难以被部署到实际场景中,例如在嵌入式设备中,其计算资源无法支撑大规模神经网络的运算过程,因此,知识蒸馏方法被提出并常常用于将大规模神经网络作为教师神经网络,利用教师神经网络指导规模较小的学生神经网络的训练,从而达到提升规模较小的学生神经网络训练精度的目的。当前利用教师神经网络指导学生神经网络训练,得到用于图像分类的目标神经网络的过程,所需硬件开销和时间开销较大。


技术实现要素:

3.本公开实施例至少提供一种神经网络的生成方法、装置、计算机设备及存储介质
4.第一方面,本公开实施例提供了一种神经网络的生成方法,包括:
5.利用教师神经网络对图像数据进行分类处理,得到第一图像分类结果,以及,利用学生神经网络对所述图像数据进行分类处理,得到第二图像分类结果;
6.基于所述第一图像分类结果、以及所述第二图像分类结果,确定第一损失;所述第一损失用于表征所述第一图像分类结果的第一分布特征、和所述第二图像分类结果的第二分布特征之间的差异性;
7.基于所述第一损失,对所述学生神经网络的网络参数进行调整,得到用于图像分类的目标神经网络。
8.一种可选的实施方式中,所述第一图像分类结果包括:所述图像数据在所述教师神经网络能够预测的多个第一预设分类中,属于每个第一预设分类的第一概率;所述第二图像分类结果包括:所述图像数据在所述学生神经网络能够预测的多个第二预设分类中,属于每个第二预设分类的第二概率。
9.一种可选的实施方式中,所述第一损失包括:分类间损失、和/或分类内损失;
10.在所述第一损失包括分类间损失的情况下,所述第一分布特征包括第一概率分布特征,所述第二分布特征包括第二概率分布特征;所述分类间损失表征所述第一概率分布特征和所述第二概率分布特征之间的差异;其中,所述第一概率分布特征包括:所述教师神经网络确定的单个图像数据属于每个所述第一预设分类的第一概率在所述多个第一预设
分类中的分布特征;所述第二概率分布特征包括:所述学生网络确定的所述单个图像数据属于每个所述第二预设分类的第二概率在所述多个第二预设分类中的分布特征;
11.在所述第一损失包括分类内损失的情况下,第一分布特征包括第三概率分布特征,所述第二分布特征包括第四概率分布特征;所述分类内损失表征第三概率分布特征和第四概率分布特征之间的差异;其中,所述第三概率分布特征包括:针对每一个第一预设分类,所述教师神经网络确定的多个图像数据属于该第一预设分类的第一概率的分布特征;所述第四概率分布特征包括:针对每一个第一预设分类,所述学生网络确定的所述多个图像数据属于与该第一预设分类对应的第二预设分类的第二概率的分布特征。
12.一种可选的实施方式中,所述基于所述第一图像分类结果、以及所述第二图像分类结果,确定第一损失,包括:
13.在所述第一损失包括分类间损失的情况下,针对多个图像数据中的每个图像数据,基于该图像数据与多个所述第一预设分类分别对应的第一概率、以及与多个所述第二预设分类分别对应的第二概率,确定该图像数据对应于多个第一预设分类的第一概率分布特征与对应于多个第二预设分类的第二概率分布特征之间的第一相似度或第一差异度;
14.基于多个图像数据分别对应的第一相似度或第一差异度,确定所述分类间损失。
15.一种可选的实施方式中,所述基于所述第一图像分类结果、以及所述第二图像分类结果,确定第一损失,还包括:
16.在所述第一损失包括分类内损失的情况下,针对多个第二预设分类中的每个第二预设分类,基于多个所述图像数据分别属于与该第二预设分类对应的第一预设分类的第一概率、以及属于该第二预设分类的第二概率,确定多个图像数据对应于所述对应的第一预设分类的第三概率分布特征、与对应于所述第二预设分类的第四概率分布特征的第二相似度或第二差异度;
17.基于多个所述第二预设分类分别对应的第二相似度或第二差异度,确定所述分类内损失。
18.一种可选的实施方式中,所述相似度,包括:皮尔逊相关系数、和/或余弦相似度。
19.一种可选的实施方式中,还包括:
20.基于所述第二图像分类结果、以及所述图像数据的标注信息,确定所述学生神经网络的第二损失;
21.所述基于所述第一损失,对所述学生神经网络的网络参数进行调整,得到目标神经网络,包括:
22.基于所述第一损失和所述第二损失,对所述学生神经网络的网络参数进行调整,得到目标神经网络。
23.一种可选的实施方式中,所述基于所述第一损失和所述第二损失,对所述学生神经网络的网络参数进行调整,得到目标神经网络,所述方法还包括:
24.基于所述第一损失和所述第二损失进行加权,确定所述学生神经网络的总训练损失;
25.基于所述总训练损失,对所述学生神经网络的网络参数进行调整,得到所述目标神经网络。
26.一种可选的实施方式中,所述利用待训练的学生神经网络对所述图像数据进行分
类处理,得到第二图像分类结果,包括:
27.在多个迭代周期中的每个迭代周期执行下述过程:
28.确定当前迭代周期的第一神经网络;其中,所述当前迭代周期的待训练神经网络包括:原始的学生神经网络、或者,前一迭代周期得到的第二神经网络;利用当前迭代周期的第一神经网络,对所述图像数据进行分类处理,得到所述图像数据在当前迭代周期的第二图像分类结果;
29.所述基于所述第一图像分类结果、以及所述第二图像分类结果,确定第一损失,包括:
30.基于所述第一图像分类结果、以及所述图像数据在当前迭代周期的第二图像分类结果,确定当前迭代周期的第一损失;
31.所述基于所述第一损失,对所述学生神经网络的网络参数进行调整,得到目标神经网络,包括:
32.响应于所述当前迭代周期的第一损失满足预设迭代停止条件,将所述当前迭代周期的第一神经网络确定为所述目标神经网络;
33.响应于所述当前迭代周期的第一损失未满足预设迭代停止条件,对所述当前迭代周期的第一神经网络的网络参数进行调整,得到当前迭代周期的第二神经网络,并进入下一迭代周期。
34.第二方面,本公开实施例还提供一种神经网络生成装置,包括:
35.图像分类模块,用于利用教师神经网络对图像数据进行分类处理,得到第一图像分类结果,以及,利用学生神经网络对所述图像数据进行分类处理,得到第二图像分类结果;
36.特征分析模块,用于基于所述第一图像分类结果、以及所述第二图像分类结果,确定第一损失;所述第一损失用于表征所述第一图像分类结果的第一分布特征、和所述第二图像分类结果的第二分布特征之间的差异性;
37.目标生成模块,用于基于所述第一损失,对所述学生神经网络的网络参数进行调整,得到用于图像分类的目标神经网络。
38.一种可选的实施方式中,所述第一图像分类结果包括:
39.所述图像数据在所述教师神经网络能够预测的多个第一预设分类中,属于每个第一预设分类的第一概率;所述第二图像分类结果包括:所述图像数据在所述学生神经网络能够预测的多个第二预设分类中,属于每个第二预设分类的第二概率。
40.一种可选的实施方式中,所述第一损失包括:分类间损失、和/或分类内损失;
41.在所述第一损失包括分类间损失的情况下,所述第一分布特征包括第一概率分布特征,所述第二分布特征包括第二概率分布特征;所述分类间损失表征所述第一概率分布特征和所述第二概率分布特征之间的差异;其中,所述第一概率分布特征包括:所述教师神经网络确定的单个图像数据属于每个所述第一预设分类的第一概率在所述多个第一预设分类中的分布特征;所述第二概率分布特征包括:所述学生网络确定的所述单个图像数据属于每个所述第二预设分类的第二概率在所述多个第一预设分类中的分布特征;
42.在所述第一损失包括分类内损失的情况下,第一分布特征包括第三概率分布特征,所述第二分布特征包括第四概率分布特征;所述分类内损失表征第三概率分布特征和
第四概率分布特征之间的差异;其中,所述第三概率分布特征包括:针对每一个第一预设分类,所述教师神经网络确定的多个图像数据属于该第一预设分类的第一概率的分布特征;所述第四概率分布特征包括:针对每一个第一预设分类,所述学生网络确定的所述多个图像数据属于与该第一预设分类对应的第二预设分类的第二概率的分布特征。
43.一种可选的实施方式中,所述特征分析模块还用于:
44.在所述第一损失包括分类间损失的情况下,针对多个图像数据中的每个图像数据,基于该图像数据与多个所述第一预设分类分别对应的第一概率、以及与多个所述第二预设分类分别对应的第二概率,确定该图像数据对应于多个第一预设分类的第一概率分布特征与对应于多个第二预设分类的第二概率分布特征之间的第一相似度或第一差异度;
45.基于多个图像数据分别对应的第一相似度或第一差异度,确定所述分类间损失。
46.一种可选的实施方式中,所述特征分析模块还用于:
47.在所述第一损失包括分类内损失的情况下,针对多个第二预设分类中的每个第二预设分类,基于多个所述图像数据分别属于与该第二预设分类对应的第一预设分类的第一概率、以及属于该第二预设分类的第二概率,确定多个图像数据对应于所述对应的第一预设分类的第三概率分布特征、与对应于所述第二预设分类的第四概率分布特征的第二相似度或第二差异度;
48.基于多个所述第二预设分类分别对应的第二相似度或第二差异度,确定所述分类内损失。
49.一种可选的实施方式中,所述相似度,包括:皮尔逊相关系数、和/或余弦相似度。
50.一种可选的实施方式中,所述目标生成模块还用于:
51.基于所述第二图像分类结果、以及所述图像数据的标注信息,确定所述学生神经网络的第二损失;
52.所述基于所述第一损失,对所述学生神经网络的网络参数进行调整,得到目标神经网络,包括:
53.基于所述第一损失和所述第二损失,对所述学生神经网络的网络参数进行调整,得到目标神经网络。
54.一种可选的实施方式中,所述目标生成模块还用于:
55.基于所述第一损失和所述第二损失进行加权,确定所述学生神经网络的总训练损失;
56.基于所述总训练损失,对所述学生神经网络的网络参数进行调整,得到所述目标神经网络。
57.一种可选的实施方式中,所述利用待训练的学生神经网络对所述图像数据进行分类处理,得到第二图像分类结果包括:
58.确定当前迭代周期的第一神经网络;其中,所述当前迭代周期的待训练神经网络包括:原始的学生神经网络、或者,前一迭代周期得到的第二神经网络;利用当前迭代周期的第一神经网络,对所述图像数据进行分类处理,得到所述图像数据在当前迭代周期的第二图像分类结果;
59.所述特征分析模块,在基于所述第一图像分类结果、以及所述第二图像分类结果,确定第一损失时,用于:
60.基于所述第一图像分类结果、以及所述图像数据在当前迭代周期的第二图像分类结果,确定当前迭代周期的第一损失;
61.所述目标生成模块,在基于所述第一损失,对所述学生神经网络的网络参数进行调整,得到目标神经网络时,用于:
62.响应于所述当前迭代周期的第一损失满足预设迭代停止条件,将所述当前迭代周期的第一神经网络确定为所述目标神经网络;
63.响应于所述当前迭代周期的第一损失未满足预设迭代停止条件,对所述当前迭代周期的第一神经网络的网络参数进行调整,得到当前迭代周期的第二神经网络,并进入下一迭代周期。
64.第三方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
65.第四方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
66.本公开实施例提供的神经网络的方法、装置、计算机设备及存储介质,基于教师神经网络对图像数据的第一图像分类结果、以及学生神经网络对图像数据的第二图像分类结果,确定第一损失,然后利用第一损失对学生神经网络的网络参数进行调整,得到目标神经网络,在该过程中,第一损失用于表征第一图像分类结果的第一分布特征、和所述第二图像分类结果的第二分布特征之间的差异性,该差异性能够反映第一图像分类结果、第二图像分类结果的内在分布特性,因此在将知识从教师神经网络传递给学生神经网络时,是将教师神经网络对数据进行分类处理的结果的内在分布特性传递给学生神经网络,而并非是让学生神经网络精确匹配教师神经网络对图像数据的分类处理结果,对学生神经网络的训练过程能够更容易达到这一目的,因此对学生神经网络的训练难度较小,降低对学生神经网络训练时所需要的时间开销和硬件开销,并且训练完成后的学生网络能够达到与教师网络相似的图像分类性能。
67.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
68.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
69.图1示出了本公开实施例所提供的一种神经网络的生成方法的流程图;
70.图2示出了本公开实施例所提供的神经网络的生成方法中,生成过程的示例图;
71.图3示出了本公开实施例所提供的神经网络的生成方法中,迭代过程的流程图;
72.图4示出了本公开实施例所提供的一种神经网络生成装置的示意图;
73.图5示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
74.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
75.经研究发现,知识蒸馏方法被提出并常常用于将教师神经网络学习到的知识对学生神经网络进行训练,教师神经网络学习能力强,可以将学到的知识迁移给学习能力较弱的学生神经网络,从而达到提升学生神经网络训练精度的目的。在相关技术中,通过信息增益(kullback

leibler,kl)散度匹配教师模型和学生模型之间对模型能够对图像数据进行分类时,属于多个图像分类结果的概率。而kl散度是一种精确匹配概率值的方法,该方法的应用,会使得学生神经网络的对图像数据的分类结果,尽可能的接近教师神经网络的对图像数据的分类结果。但由于学生神经网络和教师神经网络之间的结构差异巨大,导致学生神经网络对图像数据的分类结果在接近教师神经网络的对图像数据的分类结果的过程较为困难,需要更多的时间开销和硬件开销,才能够达到训练的目的。
76.基于上述研究,本公开提供了一种神经网络的生成方法,在对学生神经网络进行训练,得到用于图像分类的目标神经网络时,是将教师神经网络对图像数据进行分类处理的分类结果的内在分布特性传递给学生神经网络,而并非是让学生神经网络精确匹配教师神经网络对图像数据的分类处理结果,对学生神经网络的训练过程能够更容易达到这一目的,因此对学生神经网络的训练难度较小,降低对学生神经网络训练时所需要的时间开销和硬件开销,并且训练完成后的学生网络能够达到与教师网络相似的图像分类性能。
77.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
78.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
79.为便于对本实施例进行理解,首先对本公开实施例所公开的一种神经网络的生成方法进行详细介绍,本公开实施例所提供的神经网络的生成方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(user equipment,ue)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(personal digital assistant,pda)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该神经网络的生成方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。下面对本公开实施例提供的神经网络的生成方法加以说明。
80.参见图1所示,为本公开实施例提供的神经网络的生成方法的流程图,所述方法包括步骤s101~s103,其中:
81.s101:利用预先训练好的教师神经网络对图像数据进行分类处理,得到第一图像分类结果,以及,利用待训练的学生神经网络对所述图像数据进行分类处理,得到第二图像分类结果;
82.s102:基于所述第一图像分类结果、以及所述第二图像分类结果,确定第一损失;所述第一损失用于表征所述第一图像分类结果的第一分布特征、和所述第二图像分类结果的第二分布特征之间的差异性;
83.s103:基于所述第一损失,对所述学生神经网络的网络参数进行调整,得到用于图像分类的目标神经网络。
84.本公开实施例在神经网络生成的过程中,是基于教师神经网络对图像数据的第一图像分类结果、以及学生神经网络对图像数据的第二图像分类结果,确定第一损失,然后利用第一损失对学生神经网络的网络参数进行调整,得到目标神经网络,在该过程中,第一损失用于表征第一图像分类结果的第一分布特征、和所述第二图像分类结果的第二分布特征之间的差异性,该差异性能够反映第一图像分类结果、第二图像分类结果的内在分布特性,因此在将知识从教师神经网络传递给学生神经网络时,是将教师神经网络对数据进行分类处理的结果的内在分布特性传递给学生神经网络,而并非是让学生神经网络精确匹配教师神经网络对图像数据的分类处理结果,对学生神经网络的训练过程能够更容易达到这一目的,因此对学生神经网络的训练难度较小,降低对学生神经网络训练时所需要的时间开销和硬件开销,并且训练完成后的学生网络能够达到与教师网络相似的图像分类性能。
85.下面针对上述s101~s103分别加以详细说明。
86.针对上述s101,图像数据类型可以为与场景类型相关或与所包含的内容相关的数据类型,例如反映车舱内环境的图像,人脸图像等等。图像分类处理是指对图像所包含的局部或总体色彩、风格、场景、内容对象等中的至少一个进行分类的处理,例如包括对图像中的对象或像素点的分类处理。
87.教师神经网络是预先训练的神经网络,其能够对数据进行至少两种分类的预测处理,预测得到数据在至少两种分类下,属于每一种分类的概率。教师神经网络的功能可以根据需求来确定,例如,若需求为对图像中的对象进行分类处理,则教师网络能够对图像进行分类处理,得到图像属于多个不同分类中每个分类的概率;若需求为对人脸图像进行关键点检测分类处理,则教师网络能够对人脸图像进行关键点检测,得到图像中各个像素点属于某个人脸关键点的概率。
88.学生神经网络是与教师神经网络具有相同功能、但结构和体积均不同的神经网络,其能够对数据进行分类与教师神经网络相同的预测分类处理,预测得到数据至少两种分类下,属于每一种分类的概率。
89.在对待训练的学生神经网络进行训练,得到目标神经网络之前,可以先利用图像数据对教师神经网络进行训练,得到预先训练好的教师神经网络。在利用教师神经网络指导学生神经网络训练的过程中,教师神经网络的网络参数不再发生变化。第一图像分类结果包括:所述图像数据在所述教师神经网络能够预测的多个第一预设分类中,属于每个分类的第一概率;所述第二图像分类结果包括:所述图像数据在所述学生神经网络能够预测
的多个第二预设分类中,属于每个分类的第一概率。
90.其中,多个第一预设分类和多个第二预设分类可以完全相同,或者,多个第二预设分类可以是多个第一预设分类的子集。
91.本公开实施例所述的分类,包括第一预设分类和第二预设分类,在下文中,所提到的分类,若其与教师神经网络对应,即为第一预设分类;若其与学生神经网络对应,即为第二预设分类。
92.第一概率表征图像数据属于多个分类中第一预设分类或者第二预设分类的概率,可以用百分比数值表示概率的大小,示例性的,教师神经网络和学生神经网络能够预测的预设分类包括:分类a、分类b、分类c、分类d以及分类e共五种分类,则第一图像分类结果包括:图像数据p分别属于分类a、分类b、分类c、分类d以及分类e的第一概率。第二图像分类结果包括:图像数据p分别属于分类a、分类b、分类c、分类d以及分类e的第二概率。
93.如图2所示的示例中,图像数据包括p1、p2、以及p3,且神经网络能够识别的分类包括:分类a、分类b、分类c、分类d以及分类e。
94.所得到p1、p2、以及p3分别对应的第一结果数据和第二结果数据如图2所示。例如,对于图像数据p1而言,利用教师神经网络对其进行分类处理后,得到p1在a~e五个分类下的第一概率分别为:0.4、0.1、0.2、0.2、和0.1。利用学生神经网络对其进行分类处理,得到p1在a~e五个分类下的第而概率分别为:0.5、0.1、0.1、0.2、和0.1。
95.针对上述s102,第一损失包括:分类间损失、和/或分类内损失,下述a~b分别对分类间损失、以及分类内损失进行描述:
96.a:在第一损失包括分类间损失的情况下,第一分布特征包括第一概率分布特征,第二分布特征包括第二概率分布特征;分类间损失表征第一概率分布特征和第二概率分布特征之间的差异;其中,第一概率分布特征包括:教师神经网络确定的单个图像数据属于每个第一预设分类的第一概率在多个第一预设分类中的分布特征;第二概率分布特征包括:学生网络确定的该单个图像数据属于每个第二预设分类的第二概率在多个第二预设分类中的分布特征。
97.此处,第一概率分布特征,例如包括:图像数据在多个分类下分别对应的第一概率,按照从大到小的顺序排序后得到的排序结果所表现的特征。
98.第二概率分布特征,例如包括:图像数据在多个分类下分别对应的第二概率,按照从大到小的顺序排序后得到的排序结果所表现的特征。
99.响应于所述第一损失包括所述分类间损失,在基于所述第一图像分类结果、以及所述第二图像分类结果,确定第一损失时,例如可以采用下述方式:
100.针对多个图像数据中的每个图像数据,基于该图像数据与多个第一预设分类分别对应的第一概率、以及与多个第二预设分类分别对应的第二概率,确定该图像数据对应于多个第一预设分类的第一概率分布特征与对应于多个第二预设分类的第二概率分布特征之间的第一相似度或第一差异度;
101.基于多个图像数据分别对应的第一相似度或第一差异度,确定分类间损失。
102.在具体实施中,所述相似度,包括:皮尔逊相关系数、和/或余弦相似度。
103.差异度可以采用距离、或者采用与相似度具有负相关关系的数学方法计算,可选地,差异度=1-相似度。
104.示例性的,在预测过程中,本方法仅考虑教师神经网络与学生神经网络之间的关系,如下述式(1)所述:
[0105][0106]
其中,a表示多个图像数据中的每个图像数据与多个分类分别对应的第一概率构成的第一预测向量;b表示多个图像数据中的每个图像数据与多个分类分别对应的第二概率构成的第二预测向量。φ表示对a的映射;ψ表示对b的映射。
[0107]
对于任意图像数据的第一预测向量a和第二预测向量b,若a=b,则d(a,b)=0,表示,当且仅当教师神经网络与学生神经网络输出完全一致时,损失最小,但是实际学生神经网络与教师神经网络之间的差异可能相当大,因此,在本公开实施例中,不一定要求a和b完全相同,而是得到a和b输出的第一相似度,映射φ和ψ应该是等同的,并且不影响基于a和b最终确定图像数据所述分类的输出结果,因此,对上述式(1)进行正线性变换得到下述式(2):
[0108]
d(m1a n1,m2b n2)=d(a,b)
ꢀꢀꢀ
(2)
[0109]
其中,m1、m2、n1、n2为常数,其中m1
×
m2》0。实际上,为了满足式(2)的性质,本公开实施例可以采用皮尔逊相关系数表征教师神经网络输出与学生神经网络输出的第一相似度,如下述式(3)所述:
[0110]dp
(a,b):=1-ρ
p
(a,b)
ꢀꢀꢀ
(3)
[0111]
以ρ
p
(a,b)表示教师神经网络输出与学生神经网络输出之间的皮尔逊相关系数为例,其中,该皮尔逊相关系数的绝对值越大,相关性越强,也即相关系数越接近于1或-1,相关性越强,相关系数越接近于0,相关性越弱。相关性越强,则表征a和b之间的第一相似度越大,差异度越小。相关性越弱,则表征a和b之间的第一相似度越小,差异度越大。
[0112]
若利用皮尔逊相关系数确定相似度,则相似度满足下述式(4):
[0113][0114]
其中,cov(a,b)表示由第一图像分类结果构成的第一预测向量a与第二图像分类结果构成的第二预测向量b之间的协方差,std(a)表示第一预测向量a的标准差;std(b)表示第二预测向量b的标准差。c表示分类的数量;ai表示第i个分类对应的第一概率;表示第一预测向量a中各个第一概率的均值;bi表示第i个分类对应的第二概率;表示第二预测向量b中各个第二概率的均值。
[0115]
通过这种方式,可以更具体的定义教师神经网络输出与学生神经网络输出之间的第一相似度。
[0116]
在基于多个图像数据分别对应的第一相似度,确定分类间损失时,分类间损失例如满足下述式(5):
[0117][0118]
其中,b表示图像数据的数量,表示教师神经网络与学生神经网络
对第i个图像数据对应的第一图像分类结果以及第二图像分类结果之间的第一差异度。此处,等价于上述式(4)中的a,等价于上述式(4)中的b。
[0119]
b:在第一损失包括分类内损失的情况下,第一分布特征包括第三概率分布特征,第二分布特征包括第四概率分布特征;分类内损失表征第三概率分布特征和第四概率分布特征之间的差异;其中,第三概率分布特征包括:针对每个第一预设分类,教师神经网络确定的多个图像数据属于该第一预设分类的第一概率的分布特征;第四概率分布特征包括:针对每个第一预设分类,学生网络确定的多个图像数据属于与该第一预设分类对应的第二预设分类的第二概率的分布特征。
[0120]
此处,第三概率分布特征,例如包括:每个分类在多个图像数据下分别对应的第一概率,按照从大到小的顺序排序后得到的排序结果所表现的特征。
[0121]
第四概率分布特征,例如包括:每个分类在多个图像数据下分别对应的第二概率,按照从大到小的顺序排序后得到的排序结果所表现的特征。
[0122]
响应于第一损失包括分类内损失,在基于第一图像分类结果、以及第二图像分类结果,确定第一损失时,例如可以采用下述方式:
[0123]
针对多个第二预设分类中的每个第二预设分类,基于多个图像数据分别属于与该第二预设分类对应的第一预设分类的第一概率、以及属于该第二预设分类的第二概率,确定多个图像数据对应于对应的第一预设分类的第三概率分布特征、与对应于第二预设分类的第四概率分布特征的第二相似度或第二差异度;
[0124]
基于多个第二预设分类分别对应的第二相似度或第二差异度,确定分类内损失。
[0125]
其中,针对每个分类,不同样本的预测分数也可能是存在相关性的,示例性的,假设有三个图像样本,包含“飞机”、“狗”和“猫”。关于“猫”类的预测结果中,“飞机”的概率值应最小,“狗”的概率值适中,“猫”的概率值最高,通过提取教师神经网络与学生神经网络对分类内预测结果输出的第二相似度,确定分类内损失。
[0126]
具体的,表示分类内损失,如式(6)公式所示:
[0127][0128]
其中,c表示分类数量,表示教师神经网络与学生神经网络对第j个分类对应的第一图像分类结果以及第二图像分类结果之间的第二差异度。
[0129]
针对s103,在基于第一损失,对学生神经网络的网络参数进行调整时,例如可以基于第一损失进行梯度下降并回传,确定学生神经网络中各个网络层的梯度信息,然后利用该梯度信息确定学生神经网络中各个网络层的网络参数的调整量并进行调整。
[0130]
在本公开另一实施例中,除第一损失外,还可以基于所述第二图像分类结果、以及所述图像数据的标注信息,确定所述学生神经网络的第二损失;
[0131]
其中,第二损失表示为分类损失,用于表征学生神经网络对图像数据输出的第二图像分类结果与图像数据标注的真实值之间的误差。
[0132]
在基于第一损失,对学生神经网络的网络参数进行调整,得到目标神经网络,包
括:基于第一损失和第二损失,对学生神经网络的网络参数进行调整,得到目标神经网络,包括:
[0133]
基于第一损失和第二损失,确定学生神经网络的总训练损失;基于总训练损失,对学生神经网络的网络参数进行调整,得到目标神经网络。
[0134]
其中,对第一损失和第二损失进行加权,确定学生神经网络的总训练损失;
[0135]
基于总训练损失,对所述学生神经网络的网络参数进行调整,得到目标神经网络。
[0136]
示例性的,在第一损失包括分类间损失和分类内损失的情况下,训练总损失例如满足下述式(7):
[0137][0138]
总训练损失由第二损失分类间损失以及分类内损失组成,其中α、β、γ为平衡损失的权重系数。
[0139]
可以预见的,总训练损失也可以只由分类间损失或者分类内损失中的任一种损失加上分类损失得到,具体根据实际应用决定。
[0140]
参见图3所示,本公开提供一个具体的神经网络生成示例,包括:
[0141]
s301:利用预先训练好的教师神经网络对图像数据进行分类处理,得到第一图像分类结果。
[0142]
s302:在多个迭代周期中的每个迭代周期执行下述过程:
[0143]
s3021:确定当前迭代周期的第一神经网络;其中,当前迭代周期的待训练神经网络包括:原始的学生神经网络、或者,前一迭代周期得到的第二神经网络;其中,响应于当前迭代周期为首个迭代周期,第一神经网络包括原始的学生神经网络;响应于当前迭代周期为非首个迭代周期,第一神经网网络包括前一迭代周期得到的第二神经网络。
[0144]
s3022:利用当前迭代周期的第一神经网络,对图像数据进行分类处理,得到图像数据在当前迭代周期的第二图像分类结果;
[0145]
s3023:基于第一图像分类结果、以及图像数据在当前迭代周期的第二图像分类结果,确定当前迭代周期的第一损失;
[0146]
s3024:判断当前迭代周期的第一损失是否满足预设迭代停止条件。如果否,则跳转至s3025;如果是,则跳转至303。
[0147]
此处,迭代停止条件例如包括:迭代周期达到预设迭代周期数阈值;第一损失小于预设的第一损失阈值;基于第一损失确定的总损失是否小于预设的第二损失阈值等。具体可以根据实际的训练需求来确定。
[0148]
s3025:对当前迭代周期的第一神经网络的网络参数进行调整,得到当前迭代周期的第二神经网络,并进入下一迭代周期,跳转至s3021;
[0149]
s303:将当前迭代周期的第一神经网络确定为目标神经网络。
[0150]
针对上述过程,在一个具体实施例中,如图2所示,原始学生神经网络与教师神经网络分别对三组图像数据进行分类处理,教师神经网络输出第一图像分类结果、原始学生神经网络输出当前迭代周期的第二图像分类结果。
[0151]
其中,分类处理结果可以用数值矩阵的形式表示,矩阵的行数表示图像数据的数量p1、p2和p3,矩阵的列数表示每个样本分别对应的预测分类a、分类b、分类c、分类d和分类
e,可以预见的,矩阵的行列表示的信息也可以是,行数表示每个样本分别对应的预测分类,列数表示图像数据的数量,在此不做限制。
[0152]
以分类间损失为例,提取第一图像分类结果输出的数值矩阵中的第一行数据,表示第一个图像数据对应的五个分类的预测结果,分别为0.4、0.1、0.2、0.2、0.1。这里,数值表示的是对各个分类预测结果的预测分数,分数越高,表示预测结果与分类属性越相似,根据预测结果,得到第一图像分类结果输出的数值矩阵中的第一行数据对应的概率分布特征;提取第二图像分类结果输出的数值矩阵中的第一行数据,表示图像数据p1对应的五个分类的预测结果,分别为0.5、0.1、0.1、0.2、0.1。根据预测结果,得到第二图像分类结果输出的数值矩阵中的第一行数据对应的概率分布特征。
[0153]
根据概率分布特征可以做出如下分析:第一图像分类结果认为,针对第一数据样本的分类a的预测分数最高,分类c和分类d的预测分数其次,分类b和分类e的预测分数最低;第二图像分类结果认为,针对第一数据样本的分类a的预测分数最高,分类d的预测分数其次,分类b、分类c和分类e的预测分数最低。
[0154]
根据教师神经网络和学生神经网络分别对同一图像数据的不同分类预测结果的特征分布,用上述式(5)计算得出分类间损失。
[0155]
以分类内损失为例,提取第一图像分类结果输出的数值矩阵中的第五列数据,表示3个图像数据对应的一个分类的预测结果,分别为0.1、0.2、0.4;提取第二图像分类结果输出的数值矩阵中的第五列数据,表示3个图像数据对应的一个分类的预测结果,分别为0.1、0.1、0.3。
[0156]
根据概率分布特征可以做出如下分析:第一图像分类结果认为,针对分类e的数据样本p1的预测分数最低,数据样本p2的预测分数其次,数据样本p3的预测分数最高;原始学生神经网络预测的结果认为,针对分类e的数据样本p1和数据样本p2的预测分数最低,数据样本p3的预测分数最高。
[0157]
根据教师神经网络和学生神经网络分别对同一类别的不同数据样本预测结果的特征分布,用上述式(6)计算得出分类内损失。
[0158]
根据分类间损失和分类内损失,得到第一损失,确定当前学生神经网络根据第一损失匹配教师神经网络的输出是否满足知识蒸馏要求的精度,若满足则停止训练,将满足条件的当前学生神经网络确定为目标神经网络;若不满足则对当前学生神经网络进行调整,得到第二学生神经网络,并进入下一个迭代周期。
[0159]
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
[0160]
基于同一发明构思,本公开实施例中还提供了与神经网络的生成方法对应的神经网络生成装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述神经网络的生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0161]
参照图4所示,为本公开实施例提供的一种神经网络生成装置的示意图,所述装置包括:图像分类模块41、特征分析模块42、目标生成模块43;其中,
[0162]
图像分类模块41,用于利用教师神经网络对图像数据进行分类处理,得到第一图像分类结果,以及,利用学生神经网络对所述图像数据进行分类处理,得到第二图像分类结
果;
[0163]
特征分析模块42,用于基于所述第一图像分类结果、以及所述第二图像分类结果,确定第一损失;所述第一损失用于表征所述第一图像分类结果的第一分布特征、和所述第二图像分类结果的第二分布特征之间的差异性;
[0164]
目标生成模块43,用于基于所述第一损失,对所述学生神经网络的网络参数进行调整,得到用于图像分类的目标神经网络。
[0165]
一种可选的实施方式中,所述第一图像分类结果包括:所述图像数据在所述教师神经网络能够预测的多个第一预设分类中,属于每个第一预设分类的第一概率;所述第二图像分类结果包括:所述图像数据在所述学生神经网络能够预测的多个第二预设分类中,属于每个第二预设分类的第二概率。
[0166]
一种可选的实施方式中,所述第一损失包括:分类间损失、和/或分类内损失;
[0167]
在所述第一损失包括分类间损失的情况下,所述第一分布特征包括第一概率分布特征,所述第二分布特征包括第二概率分布特征;所述分类间损失表征所述第一概率分布特征和所述第二概率分布特征之间的差异;其中,所述第一概率分布特征包括:所述教师神经网络确定的单个图像数据属于每个所述第一预设分类的第一概率在所述多个第一预设分类中的分布特征;所述第二概率分布特征包括:所述学生网络确定的所述单个图像数据属于每个所述第二预设分类的第二概率在所述多个第二预设分类中的分布特征;
[0168]
在所述第一损失包括分类内损失的情况下,第一分布特征包括第三概率分布特征,所述第二分布特征包括第四概率分布特征;所述分类内损失表征第三概率分布特征和第四概率分布特征之间的差异;其中,所述第三概率分布特征包括:针对每一个第一预设分类,所述教师神经网络确定的多个图像数据属于该第一预设分类的第一概率的分布特征;针对每一个第一预设分类,所述第四概率分布特征包括:所述学生网络确定的所述多个图像数据属于与该第一预设分类对应的第二预设分类的第二概率的分布特征。
[0169]
一种可选的实施方式中,所述特征分析模块42还用于:
[0170]
在所述第一损失包括分类间损失的情况下,针对多个图像数据中的每个图像数据,基于该图像数据与多个所述第一预设分类分别对应的第一概率、以及与多个所述第二预设分类分别对应的第二概率,确定该图像数据对应于多个第一预设分类的第一概率分布特征与对应于多个第二预设分类的第二概率分布特征之间的第一相似度或第一差异度;
[0171]
基于多个图像数据分别对应的第一相似度或第一差异度,确定所述分类间损失。
[0172]
一种可选的实施方式中,所述特征分析模块42还用于:
[0173]
在所述第一损失包括分类内损失的情况下,针对多个第二预设分类中的每个第二预设分类,基于多个所述图像数据分别属于与该第二预设分类对应的第一预设分类的第一概率、以及属于该第二预设分类的第二概率,确定多个图像数据对应于所述对应的第一预设分类的第三概率分布特征、与对应于所述第二预设分类的第四概率分布特征的第二相似度或第二差异度;
[0174]
基于多个所述第二预设分类分别对应的第二相似度或第二差异度,确定所述分类内损失。
[0175]
一种可选的实施方式中,所述相似度,包括:皮尔逊相关系数、和/或余弦相似度。
[0176]
一种可选的实施方式中,所述目标生成模块43还用于:
[0177]
基于所述第二图像分类结果、以及所述图像数据的标注信息,确定所述学生神经网络的第二损失;
[0178]
所述基于所述第一损失,对所述学生神经网络的网络参数进行调整,得到目标神经网络,包括:
[0179]
基于所述第一损失和所述第二损失,对所述学生神经网络的网络参数进行调整,得到目标神经网络。
[0180]
一种可选的实施方式中,所述目标生成模块43还用于:
[0181]
基于所述第一损失和所述第二损失进行加权,确定所述学生神经网络的总训练损失;
[0182]
基于所述总训练损失,对所述学生神经网络的网络参数进行调整,得到所述目标神经网络。
[0183]
一种可选的实施方式中,所述利用待训练的学生神经网络对所述图像数据进行分类处理,得到第二图像分类结果包括:
[0184]
确定当前迭代周期的第一神经网络;其中,所述当前迭代周期的待训练神经网络包括:原始的学生神经网络、或者,前一迭代周期得到的第二神经网络;利用当前迭代周期的第一神经网络,对所述图像数据进行分类处理,得到所述图像数据在当前迭代周期的第二图像分类结果;
[0185]
所述特征分析模块42,在基于所述第一图像分类结果、以及所述第二图像分类结果,确定第一损失时,用于:,
[0186]
基于所述第一图像分类结果、以及所述图像数据在当前迭代周期的第二图像分类结果,确定当前迭代周期的第一损失;
[0187]
所述目标生成模块43,在基于所述第一损失,对所述学生神经网络的网络参数进行调整,得到目标神经网络时,用于:
[0188]
响应于所述当前迭代周期的第一损失满足预设迭代停止条件,将所述当前迭代周期的第一神经网络确定为所述目标神经网络;
[0189]
响应于所述当前迭代周期的第一损失未满足预设迭代停止条件,对所述当前迭代周期的第一神经网络的网络参数进行调整,得到当前迭代周期的第二神经网络,并进入下一迭代周期。
[0190]
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
[0191]
本公开实施例还提供了一种计算机设备,如图5所示,为本公开实施例提供的计算机设备结构示意图,包括:
[0192]
处理器51和存储器52;所述存储器52存储有处理器51可执行的机器可读指令,处理器51用于执行存储器52中存储的机器可读指令,所述机器可读指令被处理器51执行时,处理器51执行下述步骤:
[0193]
利用预先训练好的教师神经网络对图像数据进行分类处理,得到第一图像分类结果,以及,利用待训练的学生神经网络对所述图像数据进行分类处理,得到第二图像分类结果;
[0194]
基于所述第一图像分类结果、以及所述第二图像分类结果,确定第一损失;所述第
一损失用于表征所述第一图像分类结果的第一分布特征、和所述第二图像分类结果的第二分布特征之间的差异性;
[0195]
基于所述第一损失,对所述学生神经网络的网络参数进行调整,得到用于图像分类的目标神经网络。
[0196]
上述存储器52包括内存521和外部存储器522;这里的内存521也称内存储器,用于暂时存放处理器51中的运算数据,以及与硬盘等外部存储器522交换的数据,处理器51通过内存521与外部存储器522进行数据交换。
[0197]
上述指令的具体执行过程可以参考本公开实施例中所述的神经网络的生成方法的步骤,此处不再赘述。
[0198]
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的神经网络的生成方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
[0199]
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的神经网络的生成方法的步骤,具体可参见上述方法实施例,在此不再赘述。
[0200]
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
[0201]
本公开涉及增强现实领域,通过获取现实环境中的目标对象的图像信息,进而借助各类视觉相关算法实现对目标对象的相关特征、状态及属性进行检测或识别处理,从而得到与具体应用匹配的虚拟与现实相结合的ar效果。示例性的,目标对象可涉及与人体相关的脸部、肢体、手势、动作等,或者与物体相关的标识物、标志物,或者与场馆或场所相关的沙盘、展示区域或展示物品等。视觉相关算法可涉及视觉定位、slam、三维重建、图像注册、背景分割、对象的关键点提取及跟踪、对象的位姿或深度检测等。具体应用不仅可以涉及跟真实场景或物品相关的导览、导航、讲解、重建、虚拟效果叠加展示等交互场景,还可以涉及与人相关的特效处理,比如妆容美化、肢体美化、特效展示、虚拟模型展示等交互场景。可通过卷积神经网络,实现对目标对象的相关特征、状态及属性进行检测或识别处理。上述卷积神经网络是基于深度学习框架进行模型训练而得到的网络模型。
[0202]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0203]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0204]
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0205]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0206]
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献