神经网络模型迁移方法和系统、电子设备、程序和介质与流程

文档序号:14836674发布日期:2018-06-30 12:42阅读:187来源:国知局
神经网络模型迁移方法和系统、电子设备、程序和介质与流程

本发明涉及数据处理技术,尤其是一神经网络模型迁移方法和系统、电子设备、程序和介质。



背景技术:

在当今的图像识别任务中的一个普遍共识是在样本数据足够、训练方法恰当、网络模型设计科学的条件下,所使用的网络模型越大、越复杂,往往能够得到越精确的识别结果。虽然网络模型越大、越复杂,识别结果越精确可靠,但是,由于体量庞大、计算复杂的问题,从而使得其在实际应用中会占用大量的存储和计算资源。



技术实现要素:

本发明实施例提供一种用于进行神经网络模型迁移的技术方案。

根据本发明实施例的一个方面,提供一种神经网络模型迁移方法,包括:

分别向训练好的第一神经网络模型和一待训练的第二神经网络模型输入相同的待处理对象;其中,所述第二神经网络模型的大小小于所述第一神经网络模型的大小;

获取第一差异和第二差异,其中,所述第一差异为第一神经网络模型的特征层提取的特征与第二神经网络模型的特征层提取的特征之间的差异,所述第二差异为第一神经网络模型的分类层输出的分类结果与第二神经网络模型的分类层输出的分类结果之间的差异;

根据所述第一差异和所述第二差异对所述第二神经网络模型进行网络训练,直至满足预设训练完成条件。

可选地,在本发明上述各方法实施例中,第二神经网络模型的大小小于第一神经网络模型的大小包括:

第二神经网络模型的参数量小于所述第一神经网络模型的参数量;和/或

第二神经网络模型的网络层数小于所述第一神经网络模型的网络层数。

可选地,在本发明上述各方法实施例中,所述第一差异为所述第一神经网络模型的最后一特征层提取的特征与所述第二神经网络模型的最后一特征层提取的特征之间的差异。

可选地,在本发明上述各方法实施例中,获取所述第一差异,包括:

获取所述第一神经网络模型的最后一特征层的特征,以及获取所述第二神经网络模型的最后一特征层提取的特征;

通过迁移代价函数层,获取所述第一神经网络模型的最后一特征层提取的特征与所述第二神经网络模型的最后一特征层提取的特征之间的迁移代价函数值,所述第一差异为所述迁移代价函数值。

可选地,在本发明上述各方法实施例中,所述第一神经网络模型的最后一特征层和所述第二神经网络模型的最后一特征层的维度相同。

可选地,在本发明上述各方法实施例中,所述第一神经网络模型的最后一特征层和所述第二神经网络模型的最后一特征层的维度不相同;

通过迁移代价函数层,获取所述第一神经网络模型的最后一特征层提取的特征与所述第二神经网络模型的最后一特征层提取的特征之间的迁移代价函数值,包括:

通过辅助全连接层将所述第二神经网络模型的最后一特征层提取的特征变换为与所述第一神经网络模型的最后一特征层提取的特征维度一致的特征;

通过迁移代价函数层,获取变换得到的特征与所述第一神经网络模型的最后一特征层提取的特征之间的迁移代价函数值。

可选地,在本发明上述各方法实施例中,获取所述第二差异,包括:

获取第一神经网络模型的分类层输出的分类结果与第二神经网络模型的分类层输出的分类结果之间的第二差异;以及确定所述第二神经网络模型的分类层输出的分类结果与所述待处理对象的标注分类结果之间的第三差异;

以所述第二差异和所述第三差异作为所述第二神经网络模型的分类代价函数值。

可选地,在本发明上述各方法实施例中,根据所述第一差异和所述第二差异对所述第二神经网络模型进行网络训练,包括:根据所述分类代价函数值调整所述第二神经网络模型中所述分类层及所述分类层以前各网络层的权重参数值,以及根据所述迁移代价函数值调整所述第二神经网络模型中最后一特征层及所述最后一特征层之前各网络层的权重参数值。

可选地,在本发明上述各方法实施例中,满足预设训练完成条件,包括以下任意一项或多项:

所述第一神经网络模型的特征层提取的特征与所述第二神经网络模型的特征层提取的特征之间的第一差异小于第一预设阈值;

所述第一神经网络模型的分类层输出的分类结果与所述第二神经网络模型的分类层输出的分类结果之间的第二差异小于第二预设阈值;

所述第二神经网络模型的训练次数达到预设次数。

根据本发明实施例的另一个方面,提供一种神经网络模型迁移系统,包括:训练好的第一神经网络模型和一待训练的第二神经网络模型;其中,所述第二神经网络模型的大小小于所述第一神经网络模型的大小;所述第一神经网络模型包括至少一个特征层、和分类层;所述第二神经网络模型包括至少一个特征层、和分类层;

所述第一神经网络模型,用于接收待处理对象;并输出所述第一神经网络模型的特征层提取的特征和分类层输出的分类结果;

所述第二神经网络模型,用于接收所述待处理对象;并输出所述第二神经网络模型的特征层提取的特征和分类层输出的分类结果;

获取模块,用于获取第一差异和第二差异,其中,所述第一差异为第一神经网络模型的特征层提取的特征与第二神经网络模型的特征层提取的特征之间的差异,所述第二差异为第一神经网络模型的分类层输出的分类结果与第二神经网络模型的分类层输出的分类结果之间的差异;

训练模块,用于根据所述第一差异和所述第二差异对所述第二神经网络模型进行网络训练,直至满足预设训练完成条件。

可选地,在本发明上述各系统实施例中,第二神经网络模型的大小小于第一神经网络模型的大小包括:

第二神经网络模型的参数量小于所述第一神经网络模型的参数量;和/或

第二神经网络模型的网络层数小于所述第一神经网络模型的网络层数。

可选地,在本发明上述各系统实施例中,所述第一差异为所述第一神经网络模型的最后一特征层提取的特征与所述第二神经网络模型的最后一特征层提取的特征之间的差异。

可选地,在本发明上述各系统实施例中,所述获取模块包括:

第一获取单元,用于获取所述第一神经网络模型的最后一特征层的特征,以及获取所述第二神经网络模型的最后一特征层提取的特征;

迁移代价函数层,用于获取所述第一神经网络模型的最后一特征层提取的特征与所述第二神经网络模型的最后一特征层提取的特征之间的迁移代价函数值,所述第一差异为所述迁移代价函数值。

可选地,在本发明上述各系统实施例中,所述第一神经网络模型的最后一特征层和所述第二神经网络模型的最后一特征层的维度相同。

可选地,在本发明上述各系统实施例中,所述第一神经网络模型的最后一特征层和所述第二神经网络模型的最后一特征层的维度不相同;

所述系统还包括:

辅助全连接层,用于将所述第二神经网络模型的最后一特征层提取的特征变换为与所述第一神经网络模型的最后一特征层提取的特征维度一致的特征;

所述迁移代价函数层,具体用于获取变换得到的特征与所述第一神经网络模型的最后一特征层提取的特征之间的迁移代价函数值。

可选地,在本发明上述各系统实施例中,所述获取模块还包括:

第二获取单元,用于获取第一神经网络模型的分类层输出的分类结果与第二神经网络模型的分类层输出的分类结果之间的第二差异;以及确定所述第二神经网络模型的分类层输出的分类结果与所述待处理对象的标注分类结果之间的第三差异;

第三获取单元,用于以所述第二差异和所述第三差异作为所述第二神经网络模型的分类代价函数值。

可选地,在本发明上述各系统实施例中,所述训练模块具体用于:根据所述分类代价函数值调整所述第二神经网络模型中所述分类层及所述分类层以前各网络层的权重参数值,以及根据所述迁移代价函数值调整所述第二神经网络模型中最后一特征层及所述最后一特征层之前各网络层的权重参数值。

可选地,在本发明上述各系统实施例中,满足预设训练完成条件,包括以下任意一项或多项:

所述第一神经网络模型的特征层提取的特征与所述第二神经网络模型的特征层提取的特征之间的第一差异小于第一预设阈值;

所述第一神经网络模型的分类层输出的分类结果与所述第二神经网络模型的分类层输出的分类结果之间的第二差异小于第二预设阈值;

所述第二神经网络模型的训练次数达到预设次数。

根据本发明实施例的又一个方面,提供一种电子设备,设置有本发明上述任一实施例所述的神经网络模型迁移系统。

根据本发明实施例的又一个方面,提供另一种电子设备,包括:

处理器和本发明上述任一实施例所述的神经网络模型迁移系统;

在处理器运行所述神经网络模型迁移系统时,本发明上述任一实施例所述的神经网络模型迁移系统中的单元被运行。

根据本发明实施例的又一个方面,提供一种电子设备,包括:处理器和存储器;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如本发明上述任一实施例所述的神经网络模型迁移方法对应的操作。

根据本发明实施例的又一个方面,提供一种计算机程序,包括计算机可读代码,当所述计算机可读代码在设备上运行时,所述设备中的处理器执行用于实现本发明上述任一实施例所述的神经网络模型迁移方法中各步骤的指令。

根据本发明实施例的再一个方面,提供一种计算机可读存储介质,用于存储计算机可读取的指令,所述指令被执行时实现本发明上述任一实施例所述的神经网络模型迁移方法中各步骤的操作。

基于本发明上述实施例提供的神经网络模型迁移方法和系统、电子设备、程序和介质,分别向训练好的第一神经网络模型和一待训练的第二神经网络模型输入相同的待处理对象;其中,第二神经网络模型的大小小于第一神经网络模型的大小;获取第一差异和第二差异,其中,第一差异为第一神经网络模型的特征层提取的特征与第二神经网络模型的特征层提取的特征之间的差异,第二差异为第一神经网络模型的分类层输出的分类结果与第二神经网络模型的分类层输出的分类结果之间的差异;根据第一差异和第二差异对第二神经网络模型进行网络训练,直至满足预设训练完成条件,从而实现了基于大神经网络模型(即:第一神经网络模型)对小神经网络模型(即:第二神经网络模型)在输出特征和分类能力上的共同监督,使得小神经网络模型输出的特征能够更好的用于人脸识别、图片聚类等更注重神经网络输出特征的任务的同时,也能取得较好的分类效果。相对于大神经网络模型而言,小神经网络模型在设备上运行时所占用的存储和计算资源要节省很多,采用本发明实施例记载的技术方案训练得到的小神经网络模型,可将大神经网络的输出特征和分类结果等方面的性能迁移到小神经网络模型中,可以使小神经网络模型在特征输出和分类结果上同时取得较好的性能表现,由此提升小神经网络模型的性能。

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

附图说明

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

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

图1为本发明神经网络模型迁移方法一个实施例的流程图。

图2为本发明神经网络模型迁移方法另一个实施例的流程图。

图3为基于本发明实施例训练得到的第二神经网络模型的一个示例性结构示意图。

图4为本发明神经网络模型迁移系统一个实施例的结构示意图。

图5为本发明神经网络模型迁移系统另一个实施例的结构示意图。

图6为本发明电子设备一个实施例的结构示意图。

具体实施方式

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

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

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

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

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

本发明实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统、服务器、终端设备一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

计算机系统、服务器、终端设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

图1为本发明神经网络模型迁移方法一个实施例的流程图。如图1所示,该实施例的神经网络模型迁移方法包括:

102,分别向训练好的第一神经网络模型和一待训练的第二神经网络模型输入相同的待处理对象。

其中,第二神经网络模型的大小小于第一神经网络模型的大小,例如可以是,第二神经网络模型的参数量小于第一神经网络模型的参数量;和/或,第二神经网络模型的网络层数(也称为:网络深度)小于第一神经网络模型的网络层数。因此,第一神经网络模型也可以称为大神经网络模型,可以选用高精度、高鲁棒性的神经网络模型作为本发明实施例的大神经网络模型,第二神经网络模型也可以称为小神经网络模型。

本发明各实施例中,神经网络模型例如可以是卷积神经网络(CNN)模型。

本发明各实施例中,待处理对象例如可以是需要进行处理(例如待分类、待识别等)的图像、语音、文本、音频、视频、音视频等任意对象。

104,获取第一差异和第二差异。

其中,第一差异为第一神经网络模型的特征层提取的特征与第二神经网络模型的特征层提取的特征之间的差异,第二差异为第一神经网络模型的分类层输出的分类结果与第二神经网络模型的分类层输出的分类结果之间的差异。

本发明各实施例中,第一神经网络模型可以包括至少一个特征层,第二神经网络模型可以包括至少一个特征层。本发明各实施例中的特征层例如可以是卷积层、池化层、全连接层等。

106,根据第一差异和第二差异对第二神经网络模型进行网络训练,直至满足预设训练完成条件。

在本发明各实施例中,对第二神经网络模型进行网络训练的训练方法可以有多种,例如,在其中一个具体示例中,可以采用梯度下降法对第二神经网络模型进行网络训练,调整第二神经网络模型的各网络层的权重参数值(即:网络参数值),该网络训练过程包括前向传播过程和反向传播过程。

基于本发明上述实施例提供的神经网络模型迁移方法,分别向训练好的第一神经网络模型和一待训练的第二神经网络模型输入相同的待处理对象;其中,第二神经网络模型的大小小于第一神经网络模型的大小;获取第一差异和第二差异,其中,第一差异为第一神经网络模型的特征层提取的特征与第二神经网络模型的特征层提取的特征之间的差异,第二差异为第一神经网络模型的分类层输出的分类结果与第二神经网络模型的分类层输出的分类结果之间的差异;根据第一差异和第二差异对第二神经网络模型进行网络训练,直至满足预设训练完成条件,从而实现了基于大神经网络模型(即:第一神经网络模型)对小神经网络模型(即:第二神经网络模型)在输出特征和分类能力上的共同监督,使得小神经网络模型输出的特征能够更好的用于人脸识别、图片聚类等更注重神经网络输出特征的任务的同时,也能取得较好的分类效果。相对于大神经网络模型而言,小神经网络模型在设备上运行时所占用的存储和计算资源要节省很多,采用本发明实施例记载的技术方案训练得到的小神经网络模型,可将大神经网络的输出特征和分类结果等方面的性能迁移到小神经网络模型中,可以使小神经网络模型在特征输出和分类结果上同时取得较好的性能表现,由此提升小神经网络模型的性能。

在本发明各神经网络模型迁移方法实施例的一个可选实施方式中,第一差异为第一神经网络模型的最后一特征层提取的特征与第二神经网络模型的最后一特征层提取的特征之间的差异。

则,在本发明神经网络模型迁移方法的另一实施例中,操作104中获取第一差异,可以包括:

获取第一神经网络模型的最后一特征层的特征,以及获取第二神经网络模型的最后一特征层提取的特征;

通过迁移代价函数层,获取第一神经网络模型的最后一特征层提取的特征与第二神经网络模型的最后一特征层提取的特征之间的迁移代价函数值,第一差异为迁移代价函数值。

示例性地,本发明各实施例中的迁移代价函数层实现的迁移代价函数例如可以是:欧式距离代价函数、余弦距离代价函数、马氏距离代价函数或曼哈顿距离代价函数等距离代价函数。

在其中一个可选示例中,第一神经网络模型的最后一特征层和第二神经网络模型的最后一特征层的维度相同。

在另一个可选示例中,第一神经网络模型的最后一特征层和第二神经网络模型的最后一特征层的维度不相同。则在该示例中,通过迁移代价函数层,获取第一神经网络模型的最后一特征层提取的特征与第二神经网络模型的最后一特征层提取的特征之间的迁移代价函数值,可以通过如下方式实现:

通过辅助全连接层将第二神经网络模型的最后一特征层提取的特征变换为与第一神经网络模型的最后一特征层提取的特征维度一致的特征;

通过迁移代价函数层,获取变换得到的特征与第一神经网络模型的最后一特征层提取的特征之间的迁移代价函数值。

其中的辅助全连接层,具体可以是一个矩阵,在第二神经网络模型网络训练的过程中,通过该辅助全连接层,可以将第二神经网络模型的最后一特征层提取的特征维度变换到第一神经网络模型的最后一特征层提取的特征维度,以便可以获取变换得到的特征与第一神经网络模型的最后一特征层提取的特征之间的迁移代价函数值。

则,在本发明神经网络模型迁移方法的另一实施例中,操作104中获取第二差异,可以包括:

获取第一神经网络模型的分类层输出的分类结果与第二神经网络模型的分类层输出的分类结果之间的第二差异;以及确定第二神经网络模型的分类层输出的分类结果与待处理对象的标注分类结果之间的第三差异;

以第二差异和第三差异作为第二神经网络模型的分类代价函数值。

本发明各实施例中的分类层,可以是对待处理对象(例如图片)进行分类后未对分类结果进行归一化处理的初步分类层,也可以是位于初步分类层上层相邻的对初步分类层输出的分类结果进行归一化处理的回归(softmax)层。

本发明各实施例中,可以通过分类代价函数层获取第二神经网络模型的分类层输出的分类结果与待处理对象的标注分类结果之间的第三差异。示例性地,分类代价函数层实现的分类代价函数例如可以是:softmax损失函数、交叉熵等各种熵函数、支持向量机(Support Vector Machine,SVM)代价函数等。

根据分类代价函数的定义,分类损失函数值越小,说明第二神经网络模型的分类结果越接近于第一神经网络模型;否则,分类损失函数值越大,说明第二神经网络模型的分类结果越偏离于第一神经网络模型。

在其中一个可选示例中,根据第一差异和第二差异对第二神经网络模型进行网络训练,可以通过如下方式实现:

根据分类代价函数值调整第二神经网络模型中分类层及该分类层以前各网络层的权重参数值,以及根据迁移代价函数值调整第二神经网络模型中最后一特征层及该最后一特征层之前各网络层的权重参数值,以使迁移代价函数值和/或分类代价函数值最小化。

其中,分类层以前各网络层,即沿前向传播方向该分类层以前的各网络层,例如各特征层;最后一特征层之前各网络层,即沿前向传播方向该最后一特征层之前的各网络层,例如该最后一特征层之前的各特征层。

在本发明各神经网络模型迁移方法实施例的一个可选实施方式中,满足预设训练完成条件,例如可以包括以下任意一项或多项:

第一神经网络模型的特征层提取的特征与第二神经网络模型的特征层提取的特征之间的第一差异小于第一预设阈值;

第一神经网络模型的分类层输出的分类结果与第二神经网络模型的分类层输出的分类结果之间的第二差异小于第二预设阈值;

第二神经网络模型的训练次数达到预设次数。

图2为本发明神经网络模型迁移方法另一个实施例的流程图。如图2所示,该实施例的神经网络模型迁移方法包括:

202,分别向训练好的第一神经网络模型和一待训练的第二神经网络模型输入相同的待处理对象。

其中,第二神经网络模型的大小小于第一神经网络模型的大小。

204,获取第一神经网络模型的最后一特征层的特征,以及获取第二神经网络模型的最后一特征层提取的特征。

206,通过迁移代价函数层,获取第一神经网络模型的最后一特征层提取的特征与第二神经网络模型的最后一特征层提取的特征之间的迁移代价函数值,第一差异为迁移代价函数值。

208,获取第一神经网络模型的分类层输出的分类结果与第二神经网络模型的分类层输出的分类结果之间的第二差异;以及确定第二神经网络模型的分类层输出的分类结果与待处理对象的标注分类结果之间的第三差异。

210,以第二差异和第三差异之和作为第二神经网络模型的分类代价函数值。

其中,操作204~206与操作208~210之间不存在执行顺序限制,二者可以同时执行,也可以以任意先后顺序执行。

212,根据分类代价函数值调整第二神经网络模型中分类层及该分类层以前各网络层的权重参数值,以及根据迁移代价函数值调整第二神经网络模型中最后一特征层及该最后一特征层之前各网络层的权重参数值,直至满足预设训练完成条件。

本发明实施例中,特征层用于实现对实体(例如某种类别的物体或是某个人的人脸)的编码,以该特征层输出的特征来表示这种实体。一个好的特征表达能够有效的使得在实体本质不变(例如人脸识别中的身份不变),但细节改变(例如人脸的表情、年龄改变)的时候保持特征不变。而当实体本质改变(例如人脸识别中人的身份改变)时,特征发生较大改变。而分类层则是基于特征层的特征输出准确分类得到实体类别,例如在人脸识别中识别出是哪一个人。

通过上述实施例中,实现了将第一神经网络模型在输出特征上的上的性能迁移到第二神经网络模型中,从而实现了第一神经网络模型对第二神经网络模型在输出特征和分类结果上的共同监督,使得第二神经网络模型输出的特征能够更好的用于人脸识别、图片聚类等更注重神经网络输出特征的任务的同时,及时在特征学习存在误差的前提下也能取得较好的分类效果。

在本发明上述各实施例的网络模型迁移方法中,可以在第二神经网络模型训练完成之后,去除用于进行神经网络训练的迁移代价函数层和辅助全连接层,从而获得训练好的第二神经网络模型。如图3所示,为基于本发明实施例训练得到的第二神经网络网络模型的一个示例性结构示意图。

在本发明上述各实施例的神经网络模型迁移方法中,在第二神经网络模型训练完成之后,如果需要改变待处理对象的分类类别或者进一步改善输出特征,可以根据需要重新向第二神经网络模型中加入迁移代价函数层、或进一步加入辅助全连接层,得到第二神经网络模型,通过本发明上述实施例记载的方式,通过对神经网络微调的标准流程对第二神经网络模型进行微调。例如,将用于区分猫狗鸟鱼的A分类器用于区分狮虎熊时,由于两个分类器在分类特点上述是有区别的,就需要通过微调来改善一下A分类器以获得用于区分狮虎熊的B分类器。

图4为本发明神经网络模型迁移系统一个实施例的结构示意图。该实施例的神经网络模型迁移系统可用于实现本发明上述各神经网络模型迁移方法实施例。如图4所示,该实施例的神经网络模型迁移系统包括:训练好的第一神经网络模型和一待训练的第二神经网络模型。其中,第二神经网络模型的大小小于第一神经网络模型的大小,例如,第二神经网络模型的参数量小于第一神经网络模型的参数量;和/或第二神经网络模型的网络层数小于第一神经网络模型的网络层数。第一神经网络模型包括至少一个特征层、和分类层,第二神经网络模型包括至少一个特征层、和分类层。

第一神经网络模型,用于接收待处理对象,并输出第一神经网络模型的特征层提取的特征和分类层输出的分类结果。

第二神经网络模型,用于接收待处理对象,并输出第二神经网络模型的特征层提取的特征和分类层输出的分类结果。

获取模块,用于获取第一差异和第二差异。其中,第一差异为第一神经网络模型的特征层提取的特征与第二神经网络模型的特征层提取的特征之间的差异,第二差异为第一神经网络模型的分类层输出的分类结果与第二神经网络模型的分类层输出的分类结果之间的差异。

训练模块,用于根据第一差异和第二差异对第二神经网络模型进行网络训练,直至满足预设训练完成条件。

在本发明各神经网络模型迁移系统实施例的一个可选实施方式中,满足预设训练完成条件,例如可以包括以下任意一项或多项:第一神经网络模型的特征层提取的特征与第二神经网络模型的特征层提取的特征之间的第一差异小于第一预设阈值;第一神经网络模型的分类层输出的分类结果与第二神经网络模型的分类层输出的分类结果之间的第二差异小于第二预设阈值;第二神经网络模型的训练次数达到预设次数。

基于本发明上述实施例提供的神经网络模型迁移系统,分别向训练好的第一神经网络模型和一待训练的第二神经网络模型输入相同的待处理对象;其中,第二神经网络模型的大小小于第一神经网络模型的大小;获取第一差异和第二差异,其中,第一差异为第一神经网络模型的特征层提取的特征与第二神经网络模型的特征层提取的特征之间的差异,第二差异为第一神经网络模型的分类层输出的分类结果与第二神经网络模型的分类层输出的分类结果之间的差异;根据第一差异和第二差异对第二神经网络模型进行网络训练,直至满足预设训练完成条件,从而实现了基于大神经网络模型(即:第一神经网络模型)对小神经网络模型(即:第二神经网络模型)在输出特征和分类能力上的共同监督,使得小神经网络模型输出的特征能够更好的用于人脸识别、图片聚类等更注重神经网络输出特征的任务的同时,也能取得较好的分类效果。相对于大神经网络模型而言,小神经网络模型在设备上运行时所占用的存储和计算资源要节省很多,采用本发明实施例记载的技术方案训练得到的小神经网络模型,可将大神经网络的输出特征和分类结果等方面的性能迁移到小神经网络模型中,可以使小神经网络模型在特征输出和分类结果上同时取得较好的性能表现,由此提升小神经网络模型的性能。

在本发明各神经网络模型迁移系统实施例的一个可选实施方式中,第一差异为第一神经网络模型的最后一特征层提取的特征与第二神经网络模型的最后一特征层提取的特征之间的差异。

图5为本发明神经网络模型迁移系统另一个实施例的结构示意图。如图5所示,与图4所示实施例相比,该实施例中,获取模块包括:第一获取单元和迁移代价函数层。其中:

第一获取单元,用于获取第一神经网络模型的最后一特征层的特征,以及获取第二神经网络模型的最后一特征层提取的特征;

迁移代价函数层,用于获取第一神经网络模型的最后一特征层提取的特征与第二神经网络模型的最后一特征层提取的特征之间的迁移代价函数值,第一差异为迁移代价函数值。示例性地,该迁移代价函数层实现的迁移代价函数例如可以是:欧式距离代价函数、余弦距离代价函数、马氏距离代价函数或曼哈顿距离代价函数等距离代价函数。

在本发明各神经网络模型迁移系统实施例的一个可选实施方式中,第一神经网络模型的最后一特征层和第二神经网络模型的最后一特征层的维度相同。

在本发明各神经网络模型迁移系统实施例的另一个可选实施方式中,第一神经网络模型的最后一特征层和第二神经网络模型的最后一特征层的维度不相同。相应地,再参见图5,该实施例的神经网络模型迁移系统还可以包括:辅助全连接层,用于将第二神经网络模型的最后一特征层提取的特征变换为与第一神经网络模型的最后一特征层提取的特征维度一致的特征。

相应地,该实施例中,迁移代价函数层具体用于获取变换得到的特征与第一神经网络模型的最后一特征层提取的特征之间的迁移代价函数值。

进一步地,再参见图5,在本发明神经网络模型迁移系统的又一个实施例中,获取模块还可以包括:第二获取单元和第三获取单元。其中:

第二获取单元,用于获取第一神经网络模型的分类层输出的分类结果与第二神经网络模型的分类层输出的分类结果之间的第二差异;以及确定第二神经网络模型的分类层输出的分类结果与待处理对象的标注分类结果之间的第三差异。

第三获取单元,用于以第二差异和第三差异作为第二神经网络模型的分类代价函数值。

在其中一个可选示例中,训练模块具体用于:根据分类代价函数值调整第二神经网络模型中分类层及分类层以前各网络层的权重参数值,以及根据迁移代价函数值调整第二神经网络模型中最后一特征层及最后一特征层之前各网络层的权重参数值。

在本发明各实施例的神经网络模型迁移系统中,迁移代价函数层和辅助全连接层,具体可以在第二神经网络模型训练完成之后被去除,从而获得训练好的第二神经网络模型。如图3所示,为基于本发明实施例训练得到的第二神经网络模块的一个示例性结构示意图,其中的迁移代价函数层和辅助全连接层已被去除。

需要说明的是,本发明各实施例仅示出了神经网络模型中与实现本发明网络模型迁移技术密切相关的网络层,并不表示神经网络模型仅包括发明实施例记载的网络层,本领域技术人员知悉,神经网络模型的结构根据实际需求还可以包括很多其他的网络层,例如,上采样层、下采样层、池化层等,其中,每种网络层可以是多个,各网络层之间的顺序也可以根据需求设置、调整,实际应用中神经网络模型的具体结构并不影响本发明实施例的应用。

另外,本发明实施例还提供了一种电子设备,设置有本发明上述任一实施例的神经网络模型迁移系统。

另外,本发明实施例还提供了另一种电子设备,包括:

处理器和本发明上述任一实施例的神经网络模型迁移系统;

在处理器运行上述神经网络模型迁移系统时,本发明上述任一实施例的神经网络模型迁移系统中的单元被运行。

另外,本发明实施例还提供了又一种电子设备,包括:处理器和存储器;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行本发明上述任一实施例的神经网络模型迁移方法对应的操作。

本发明实施例中的电子设备,例如可以是移动终端、个人计算机(PC)、平板电脑、服务器等。

图6为本发明电子设备一个实施例的结构示意图。如图6所示,用于实现本发明实施例的电子设备包括中央处理单元(CPU)或者图形处理单元(GPU),其可以根据存储在只读存储器(ROM)中的可执行指令或者从存储部分加载到随机访问存储器(RAM)中的可执行指令而执行各种适当的动作和处理。中央处理单元或者图形处理单元可与只读存储器和/或随机访问存储器中通信以执行可执行指令从而完成本发明实施例提供的神经网络模型迁移方法对应的操作,例如:分别向训练好的第一神经网络模型和一待训练的第二神经网络模型输入相同的待处理对象;其中,所述第二神经网络模型的大小小于所述第一神经网络模型的大小;获取第一差异和第二差异,其中,所述第一差异为第一神经网络模型的特征层提取的特征与第二神经网络模型的特征层提取的特征之间的差异,所述第二差异为第一神经网络模型的分类层输出的分类结果与第二神经网络模型的分类层输出的分类结果之间的差异;根据所述第一差异和所述第二差异对所述第二神经网络模型进行网络训练,直至满足预设训练完成条件。

此外,在RAM中,还可存储有系统操作所需的各种程序和数据。CPU、GPU、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。

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

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,所述程序代码可包括对应执行本发明实施例提供的任一项网络模型迁移方法步骤对应的指令,例如,分别向训练好的第一神经网络模型和一待训练的第二神经网络模型输入相同的待处理对象的指令;其中,所述第二神经网络模型的大小小于所述第一神经网络模型的大小;获取第一差异和第二差异的指令,其中,所述第一差异为第一神经网络模型的特征层提取的特征与第二神经网络模型的特征层提取的特征之间的差异,所述第二差异为第一神经网络模型的分类层输出的分类结果与第二神经网络模型的分类层输出的分类结果之间的差异;根据所述第一差异和所述第二差异对所述第二神经网络模型进行网络训练,直至满足预设训练完成条件的指令。该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)或图形处理单元(GPU)执行时,执行本发明的方法中限定的上述功能。

另外,本发明实施例还提供了一种计算机程序,包括计算机可读代码,当该计算机可读代码在设备上运行时,所述设备中的处理器执行用于实现本发明上述任一实施例的神经网络模型迁移方法中各步骤的指令。

另外,本发明实施例还提供了一种计算机可读存储介质,用于存储计算机可读取的指令,所述指令被执行时实现本发明上述任一实施例的神经网络模型迁移方法中各步骤的操作。

本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统、设备实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

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

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

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