伪标签生成模型训练方法、装置及伪标签生成方法及装置与流程

文档序号:14749054发布日期:2018-06-22 09:54阅读:430来源:国知局

本发明涉及深度学习技术领域,具体而言,涉及一种伪标签生成模型训练方法、装置及伪标签生成方法及装置。



背景技术:

迁移学习可以利用已知领域中有标签的训练样本(可称为源域数据) 训练分类模型来对目标领域的数据(可称为目标域数据)进行标定,而并不要求源域数据和目标域数据具有相同的数据分布。迁移学习实际上是通过找寻待标定数据和已知标签数据之间的联系,例如采用核函数的方式将源域和目标域数据映射到同一空间中,在该空间下源域数据和目标域数据拥有相同的分布,从而可以利用该空间表示的有标签的源域样本数据训练分类器来对目标领域进行标定。

已有的迁移学习方法中,存在一种利用伪标签指导目标域数据分类的网络模型。当前一般利用初始卷积神经网络(Convolutional Neural Network,CNN)生成伪标签。这种方法中,如果要生成质量较高的伪标签,则需要目标域标注数据的数据量较大;如果目标域标注数据的数据量过少,则会造成生成的伪标签质量不高的问题,进而利用少量目标域数据引导迁移学习难度较大。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种伪标签生成模型训练方法、装置及伪标签生成方法及装置,能够利用少量带有标签的目标域数据间接指导源域向目标域迁移,既利用了带标签的目标域数据,又有效提取了未标记标签的目标域的特征,从而能够充分利用较少的目标域标注数据,生成质量较高的伪标签。

第一方面,本发明实施例提供了一种伪标签生成模型训练方法,该方法包括:

获取带有标签的源域数据、不带标签的第一目标域数据以及带有标签的第二目标域数据;

使用第一辅助神经网络对第一目标域数据进行特征学习,获取在第一辅助神经网络中指定特征提取层的第一特征向量,并且使用第二辅助神经网络对第二目标域数据进行特征学习,获取第二辅助神经网络中指定特征提取层的第二特征向量;

根据所述第一特征向量以及第二特征向量计算第一域混淆损失;

使用目标神经网络对所述源域数据进行特征学习,获取所述目标神经网络中指定特征提取层提取的源域特征向量;并将目标神经网络输出的特征向量输入至目标分类器得到第一分类结果;

根据所述第一特征向量和所述源域特征向量计算第二域混淆损失;

根据所述第一域混淆损失对所述第一辅助神经网络进行本轮训练;以及根据所述第二域混淆损失,以及所述第一分类结果,对所述目标神经网络进行本轮训练;以及根据所述第一分类结果,对所述目标分类器进行本轮训练;

经过对所述目标神经网络和所述目标分类器进行多轮训练,得到伪标签生成模型。

第二方面,本发明实施例还提供一种伪标签生成方法,该方法包括:

获取待分类数据;

将所述待分类数据输入至通过本发明实施例所述的伪标签生成模型训练方法得到的伪标签生成模型,得到所述待分类数据的分类结果;

将所述待分类数据的分类结果作为所述待分类数据的伪标签。

第三方面,本发明实施例还提供一种伪标签生成模型训练装置,包括:获取模块,用于获取带有标签的源域数据、不带标签的第一目标域数据以及带有标签的第二目标域数据;

第一处理模块,用于使用第一辅助神经网络对第一目标域数据进行特征学习,获取在第一辅助神经网络中指定特征提取层的第一特征向量;

第二处理模块,用于使用第二辅助神经网络对第二目标域数据进行特征学习,获取第二辅助神经网络中指定特征提取层的第二特征向量;

第一计算模块,用于根据所述第一特征向量以及第二特征向量计算第一域混淆损失;

第三处理模块,用于使用目标神经网络对所述源域数据进行特征学习,获取所述目标神经网络中指定特征提取层提取的源域特征向量;并将目标神经网络输出的特征向量输入至目标分类器得到第一分类结果;

第二计算模块,用于根据所述第一特征向量和所述源域特征向量计算第二域混淆损失;

第一训练模块,用于根据所述第一域混淆损失对所述第一辅助神经网络进行本轮训练;以及根据所述第二域混淆损失,以及所述第一分类结果,对所述目标神经网络进行本轮训练;以及根据所述第一分类结果,对所述目标分类器进行本轮训练;经过对所述目标神经网络和所述目标分类器进行多轮训练,得到伪标签生成模型。

第四方面,本发明实施例还提供一种伪标签生成装置,包括:

待分类数据获取模块,用于获取待分类数据。

伪标签生成模块,用于将所述待分类数据输入至本发明实施例提供的伪标签生成模型训练方法得到的伪标签生成模型,得到所述待分类数据的分类结果;将所述待分类数据的分类结果作为所述待分类数据的伪标签。

本发明实施例中,在对伪标签生成模型训练的时候,使用第一辅助神经网络中指定特征提取层提取第一目标域数据的第一特征向量,使用第二辅助神经网络中指定特征提取层提取第二目标域数据的第二特征向量,然后根据第一特征向量以及第二特征向量计算第一域混淆损失,并根据第一域混淆损失对第一辅助神经网络进行本轮训练,使得第一辅助神经网络的训练受到第二目标域数据的影响;同时,使用目标神经网络中指定特征提取层提取源域数据的目标特征向量,然后根据第一特征向量以及目标特征向量计算第二域混淆损失,并根据第二域混淆损失对目标神经网络进行本轮训练,使得目标神经网络的训练受到第一目标域数据的直接影响,同时受到第二目标域数据的间接影响,从而在对目标域训练的过程中,能够使得带有标签的第二目标域数据间接指导源域向目标域迁移,既利用了带标签的目标域数据,又有效提取了未标记标签的目标域的特征,从而能够充分利用较少的目标域标注数据,生成质量较高的伪标签。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例所提供的一种伪标签生成模型训练方法的流程图;

图2示出了本发明实施例所提供的另一种伪标签生成模型训练方法的流程图;

图3示出了本发明实施例所提供的一种伪标签生成方法的流程图;

图4示出了本发明实施例所提供的一种伪标签生成模型训练装置的结构示意图;

图5示出了本发明实施例所提供伪标签生成装置的结构示意图。

图6示出了本发明实施例所提供的一种计算机设备的结构示意图。

具体实施方式

迁移学习中的伪标签,是指在使用带有标签的源域数据和未携带标签的目标域数据对迁移神经网络进行训练后,使用训练好的迁移神经网络对目标域数据进行分类所得到的目标域数据的标签;由于所生成的标签并不是完全准确的,因此被称为伪标签。目前的伪标签生成方法存在伪标签准确性较差的问题。基于此,本发明提供的一种伪标签生成模型训练方法、装置及伪标签生成方法及装置,能够利用少量带有标签的目标域数据间接指导源域向目标域迁移,既利用了带标签的目标域数据,又有效提取了未标记标签的目标域的特征,从而能够充分利用较少的目标域标注数据,生成质量较高的伪标签。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种伪标签生成模型训练方法进行详细介绍。

参见图1所示,本发明实施例所提供的为标签生成模型训练方法,具体包括:

S101:获取带有标签的源域数据、不带标签的第一目标域数据以及带有标签的第二目标域数据。

在具体实现的时候,源域数据为带有标签的数据,第一目标域数据为不带有标签的数据,第二目标域数据为带有标签的数据。第一目标域数据和第二目标域数据是属于同一类的数据,两者共称为目标域数据。源域数据和目标域数据具有一定的共性,又有一定的差异性。

可以认为源域数据作为训练样本数量充足,而现实需求需要对具有预设特征的目标域数据进行分类,而具有预设特征的第二目标域数据作为训练样本数量不足,或者训练过程中困难较大,那么,需要通过迁移学习,在对源域数据学习的过程中,同时学习预设特征,从而将预设特征与源域数据特征融合;同时,还需要通过迁移学习,在对源域数据学习的过程中,同时学习到源域数据与目标域数据之间的差异特征,从而将预设特征、源域数据与目标域数据的差异特征均和源域数据特征融合,充分学习目标域特征空间,对目标域数据的分类更加的准确,因而也能够得到更加准确的伪标签。

此处,源域数据以及目标域数据可以是图像、视频、语言等可以采用神经网络学系后进行分类的数据。

例如当源域数据和目标域数据均为图像数据时,源域数据可以为质量较好的图像,如使用分辨率较高的图像获取设备在均匀光照条件下,所获得的面部无遮挡物的清晰人脸图像。源图像中的人脸可以是多种角度的人脸图像,例如人脸正视图像、侧视图像、斜视图像、仰视图像、俯视图像等。

第一目标域数据和第二目标域数据均为具有预设特征的图像,如图像质量较差的图像,可以是用分辨率较低的图像获取设备在非均匀的多种不同光照条件下所获取的不清晰的人脸图像。目标图像中的人脸也可以是多种角度的人脸图像。

又例如,当源域数据和目标域数据均为语言数据时,源域数据为法语词汇,目标域数据为西班牙语词汇,由于法语和西班牙语同属于拉丁语系,因此两者之间具有部分共同的特征;但两者属于两种不同的语言,因此又具有一定的差异。要通过具有标签的法语词汇,对没有标签的西班牙语词汇进行学习,可以对部分西班牙语词汇进行标签标注,形成具有标签的第二目标域数据;不带有标签的其它西班牙语词汇作为没有标签的第一目标域数据;带有标签的法语作为源数据。

又例如,源域数据和目标域数据为语言数据时,要对某些词汇或者话术进行情感分析;源域数据为已经标注了情感标签的词汇,第一目标域数据是未标注情感标签的话术;第二目标域数据为标注了情感标签的话术。

S102:使用第一辅助神经网络对第一目标域数据进行特征学习,获取在第一辅助神经网络中指定特征提取层的第一特征向量。

S103:使用第二辅助神经网络对第二目标域数据进行特征学习,获取第二辅助神经网络中指定特征提取层的第二特征向量。

在具体实现的时候,第一辅助神经网络和第二辅助神经网络可以采用卷积神经网络(Convolutional Neural Network,CNN)来分别获取第一目标域数据的特征向量和第二目标域数据的特征向量。

此处,第一辅助神经网络和第二辅助神经网络可以是具有相同结构的神经网络,也即,第一辅助神经网络和第二辅助神经网络的特征提取层的层数相同,层号对应的特征提取层的作用也是相同的。这是由于,结构相同的神经网络,层号对应的特征提取层所提取出的特征向量的维度通常是相同的,方便后续的计算。

第一辅助神经网络和第二辅助神经网络中的指定特征提取层,通常也是层号一致的预设数量的层特征提取层。例如在由七层特征提取层构成的神经网络中,第一辅助神经网络中层号为5、6、7的三层特征提取层作为第一辅助神经网络中的指定特征提取层;第二辅助神经网络中层号为5、6、 7的三层特征提取层作为第二辅助神经网络中的指定特征提取层。

在一种实施方式中,将每个神经网络(第一辅助神经网络、第二辅助神经网络以及目标神经网络)末端预设数量的特征提取层作为指定特征提取层。此处,需要注意的是,神经网络中的前三层提取的特征通常为通用特征,在第4-5层才会稍有差异,因此,通常不会选择层号为1、2、3的特征提取层作为指定特征提取层。

使用第一辅助神经网络对第一目标域数据进行特征学习,针对每一个第一目标数据(例如一个图片),每一层特征提取层均能获得一个第一特征向量,所获取的第一特征向量的数量与第一辅助神经网络中指定特征提取层的数量是一致的,也即,指定特征提取层有几层,则第一特征向量就有几个。同样的,使用第二辅助神经网络对第二目标域数据进行特征学习,所获取的第二特征向量的数量与第二辅助神经网络中指定特征提取层的层数一致。

S104:根据第一特征向量以及第二特征向量计算第一域混淆损失。

在具体实现的时候,第一域混淆损失可以采用下述步骤获得:

将从第一辅助神经网络的各个特征提取层提取的第一特征向量进行拼接,形成第一拼接向量,以及将从第二辅助神经网络的各个特征提取层提取的第二特征向量进行拼接,形成第二拼接向量。根据第一拼接向量以及第二拼接向量,计算第一域混淆损失。

此处,第一辅助神经网络的各个特征提取层提取的第一特征向量可能是不同维度的特征向量,因此在将其进行拼接的时候通常是横向拼接。例如,假如第一辅助神经网络的指定特征提取层分别为第一辅助神经网络中层号为5、6以及7的特征提取层,其中层号为5的特征提取层所提取的第一特征向量为1*128,层号为6的特征提取层提取的第一特征向量为1*256,层号为7的特征向量提取的第一特征向量为1*512,则将三个第一特征向量拼接所形成的第一拼接向量为1*(128+256+512),也即,1*896,或者纵向拼接,通过对不同特征提取层提取的第一特征向量进行维度统一,本例中假设统一成512维,那么得到的第一拼接向量可以为矩阵。

具体地,第一拼接向量Ds满足下述公式(1):

其中,dl表示层号为l的特征提取层所提取的第一特征向量;α表示衰减因子,其中,衰减因子为大于零且小于1的数;i表示特征提取层的层数;σ为激活函数,用于将特征向量中的特征值归一化。

第二特征向量在拼接形成第二拼接向量的情况与上述类似,因此不再赘述。

第二拼接向量Dt满足下述公式(2):

其中,dl′表示层号为l的特征提取层所提取的第一特征向量;α表示衰减因子,其中,衰减因子为大于零且小于1的数;i表示特征提取层的层数;σ为激活函数,用于将特征向量中的特征值归一化。

则第二域混淆损失LDT满足公式(3):

这里,Xs表示第一目标域数据的集合;xs表示第一目标域数据集合中的数据;Xt表示第二目标域数据的集合;xt表示第二目标域数据集合中的数据;E(·)表示期望。

S105:使用目标神经网络对源域数据进行特征学习,获取目标神经网络中指定特征提取层提取的源域特征向量。

S106:将目标神经网络输出的特征向量输入至目标分类器得到第一分类结果;

在具体实现的时候,源域数据携带有标签,该标签用于指示源域数据中各个数据的分类结果。在将源域数据输入至目标神经网络后,目标神经网络能够对源域数据进行有监督的学习。

目标神经网络是要训练得到的伪标签生成模型中的一部分,在使用目标神经网络对源域数据进行特征学习后,能够从指定特征提取层提取的源域特征向量。此处的指定特征提取层与上述S102中的指定特征提取层是类似的,这里不再赘述。目标神经网络的结构与第一辅助神经网络以及第二辅助神经网络的结构相同,指定特征提取层的层号也相同,因此从指定特征提取层提取的源域特征向量的维度也相同。

当指定特征提取层为位于每个神经网络末端预设数量的特征提取层时,目标神经网络中最后一层所输出的源域特征向量就是目标神经网络输出的特征向量。

目标神经网络连接有目标分类器。目标分类器也是要训练得到的伪标签生成模型中的一部分,其与目标神经网络共同构成伪标签生成模型。因此在对目标神经网络训练的同时,也要对目标分类器进行训练,因此要将目标网络输出的特征向量输入至目标分类器,得到第一分类结果,然后根据第一分类结果对目标神经网络和目标分类器进行参数调整。

需要注意的是,上述S102和S103并无执行的先后顺序。

S107:根据第一特征向量和源域特征向量计算第二域混淆损失。

此处,可以采用下述步骤计算第二域混淆损失:

将从第一辅助神经网络的各个特征提取层提取的第一特征向量进行拼接,形成第一拼接向量,以及将从目标神经网络的各个特征提取层提取的源域特征向量进行拼接,形成目标拼接向量;根据第一拼接向量以及目标拼接向量,计算第二域混淆损失。

第二域混淆损失的具体计算方法与第一域混淆损失的计算类似,在此不再赘述。

S108:根据第一域混淆损失对第一辅助神经网络进行本轮训练;以及根据第二域混淆损失,以及第一分类结果,对目标神经网络进行本轮训练;以及根据第一分类结果,对目标分类器进行本轮训练。

在具体实现的时候,

其一,根据第一域混淆损失对第一辅助神经网络进行本轮训练的具体过程具体包括:

执行如下域混淆损失比对操作,直至第一域混淆损失不大于预设的第一混淆损失阈值。

其中,该域混淆损失比对操作包括:将第一域混淆损失与预设的第一混淆损失阈值进行比对;如果第一域混淆损失大于预设的第一混淆损失阈值,则调整第一辅助神经网络的参数。

此处,第一域混淆损失用来表征第一辅助神经网络在训练过程中受到第二目标域数据影响的程度。使得第一域混淆损失不大于预设的第一混淆损失阈值,是要在第一辅助神经网络受到第二目标域数据中的特征的影响,但这个影响被限制在一定的范围内。因此设置了第一混淆损失阈值,对第一域混淆损失进行限制。

其二:根据第二域混淆损失,以及第一分类结果,对目标神经网络进行本轮训练;以及根据第一分类结果,对目标分类器进行本轮训练的具体过程参见下述步骤:

执行如下域混淆损失比对操作以及第一分类损失确定操作,直至第二域混淆损失不大于预设的第二混淆损失阈值,以及第一分类损失不大于预设的第一分类损失阈值;

此处域混淆损失比对操作包括:将第二域混淆损失与预设的第二混淆损失阈值进行比对;如果第二域混淆损失大于预设的第二混淆损失阈值,则调整目标神经网络的参数。

此处,第二域混淆损失用来表征目标神经网络在训练过程中受到第一目标域数据影响的程度。使得第二域混淆损失不大于预设的第二混淆损失阈值,是要在目标神经网络受到第一目标域数据中的特征的影响,但这个影响被限制在一定的范围内。因此设置了第二混淆损失阈值,对第二域混淆损失进行限制。

第一分类损失确定操作包括:根据对源域数据的第一分类结果,以及源域数据的标签,计算第一分类损失;将第一分类损失与预设的第一分类损失阈值进行比对;如果第一分类损失大于预设的第一分类损失阈值,则调整目标神经网络的参数以及目标分类器的参数。

此处,用第一分类损失来表征目标神经网络在训练过程中受到第一目标域数据影响的程度。使得第一分类损失不大于预设的第一分类损失阈值,是要在目标神经网络受到第一目标域数据中的特征的影响,但这个影响被限制在一定的范围内,不能影响目标神经网络对源域数据进行分类的准确性。

一般地,第一分类损失可以为目标分类器对源域数据的特征向量进行分类的正确率,可以基于分类结果以及源域数据的标签计算得到。

S109:经过对目标神经网络和目标分类器进行多轮训练,得到伪标签生成模型。

在具体实现的时候,多轮训练,是指在每一轮的多次训练中为第一辅助神经网络、第二辅助神经网络以及目标神经网络所分别输入的第一目标域数据、第二目标域数据以及源域数据是不变的;而在不同轮的训练中,为第一辅助神经网络、第二辅助神经网络以及目标神经网络所分别输入的第一目标域数据、第二目标域数据以及源域数据是不同的。

除第一轮以外,其他轮训练中,所使用的初始第一辅助神经网络、第二辅助神经网络以及目标神经网络为上一轮训练完成时所得到的第一辅助神经网络、第二辅助神经网络以及目标神经网络。

本发明实施例所提供的伪标签生成模型训练方法中,在对伪标签生成模型训练的时候,使用第一辅助神经网络中指定特征提取层提取第一目标域数据的第一特征向量,使用第二辅助神经网络中指定特征提取层提取第二目标域数据的第二特征向量,然后根据第一特征向量以及第二特征向量计算第一域混淆损失,并根据第一域混淆损失对第一辅助神经网络进行本轮训练,使得第一辅助神经网络的训练受到第二目标域数据的影响;同时,使用目标神经网络中指定特征提取层提取源域数据的目标特征向量,然后根据第一特征向量以及目标特征向量计算第二域混淆损失,并根据第二域混淆损失对目标神经网络进行本轮训练,使得目标神经网络的训练受到第一目标域数据的直接影响,同时受到第二目标域数据的间接影响,从而在对目标域训练的过程中,能够使得带有标签的第二目标域数据间接指导源域向目标域迁移,既利用了带标签的目标域数据,又有效提取了未标记标签的目标域的特征,从而能够充分利用较少的目标域标注数据,生成质量较高的伪标签。

在本发明另一实施例中,要通过第二目标域数据影响第一辅助神经网络的训练。如果在这个过程中,第二辅助神经网络的参数一直不随着训练的过程发生调整,会造成训练结果不准确,且模型训练不易收敛。因此也要在对第一辅助神经网络进行训练的过程中,对第二辅助神经网络也进行训练。

对第二辅助神经网络进行训练主要包括以下两种中至少一种。

其一:根据第一特征向量以及第二特征向量计算第一域混淆损失之后,根据第一域混淆损失调整第二辅助神经网络在训练过程中的参数。

具体地,根据第一域混淆损失调整第二辅助神经网络的过程,与根据第一域混淆损失调整第一辅助神经网络的过程类似,包括:

执行如下域混淆损失比对操作,直至第一域混淆损失不大于预设的第三混淆损失阈值。

其中,该域混淆损失比对操作包括:将第一域混淆损失与预设的第三混淆损失阈值进行比对;如果第一域混淆损失大于预设的第三混淆损失阈值,则调整第二辅助神经网络的参数。

此处,第一域混淆损失用来表征第二辅助神经网络在训练过程中受到第一目标域数据影响的程度,也即目标神经网络在训练过程中间接受到第二目标域数据影响的程度。使得第一域混淆损失不大于预设的第三混淆损失阈值,是要在第二辅助神经网络受到第一目标域数据中的特征的影响,但这个影响被限制在一定的范围内,从而能够间接的将第二目标域数据对目标神经网络的影响限制在一定范围内。

其二,使用第二辅助神经网络对第二目标域数据进行特征学习之后,使用第二分类器对第二辅助神经网络输出的特征向量进行分类;根据第二分类器对第二辅助神经网络输出的特征向量进行分类的结果,调整第二辅助神经网络的在训练过程中的参数。

在具体实现的时候,由于第二目标域数据本身是携带有标签的,因此,第二辅助神经网络对第二目标域数据的学习本身是有监督的学习。因此为了对第二辅助神经网络进行训练,对第二辅助神经网络受到第一目标域数据的影响程度进行限制,则要将第二辅助神经网络输出的第二目标域数据的特征向量输入至第二分类器,使用第二分类器对第二辅助神经网络输出的特征向量进行分类,然后根据分类结果,调整第二辅助神经网络在训练过程中的参数。

具体地,根据第二分类器对第二辅助神经网络输出的特征向量进行分类的结果,调整第二辅助神经网络的在训练过程中的参数,具体包括:

执行如下第二分类损失确定操作,直至第二分类损失不大于预设的第二分类损失阈值;

第二分类损失确定操作包括:根据第二分类器对第二辅助神经网络输出的特征向量进行分类的结果,以及第二目标域数据的标签,计算第二分类损失;将第二分类损失与预设的第二分类损失阈值进行比对;如果第二分类损失大于预设的第二分类损失阈值,则调整第二辅助神经网络的参数以及第二分类器的参数。

此处,第二分类损失的计算方法与上述S106中第一分类损失的计算方法类似,在此不再赘述。

将第二分类损失与预设的第二分类损失阈值进行比对,使得第二分类损失不大于预设的第二分类损失阈值,使得第二辅助神经网络在对第二目标域数据进行分类的时候,分类的准确度被限制在一定的范围内,提高模型训练的准确度,加快模型训练的收敛。

在本发明另一实施例中,要通过第一目标域数据影响目标神经网络的训练。在对目标神经网络进行训练的过程中,也要不断的调整对第一辅助神经网络的参数,完成对第一辅助神经网络的训练。

对第一辅助神经网络进行训练主要包括以下两种中任意一种。

其一:在对目标神经网络进行训练的过程中,要通过第一目标域数据影响目标神经网络的训练。第二域混淆损失在影响目标神经网络的同时,也会影响第一辅助神经网络。因此,在根据第二域混淆损失调整目标神经网络参数的同时,也要使用第二域混淆损失调第一辅助神经网络的参数。

也即:根据第一特征向量和源域特征向量计算第二域混淆损失之后,根据第二域混淆损失,调整第一辅助神经网络在训练过程中的参数。

此处,根据第二域混淆损失调整第一辅助神经网络的过程,与根据第二域混淆损失调整目标助神经网络的过程类似,包括:

执行如下域混淆损失比对操作,直至第二域混淆损失不大于预设的第四混淆损失阈值。

其中,该域混淆损失比对操作包括:将第二域混淆损失与预设的第四混淆损失阈值进行比对;如果第二域混淆损失大于预设的第四混淆损失阈值,则调整第一辅助神经网络的参数。

第二域混淆损失的计算可以参见上述S202的描述,在此不再赘述。

此处,能够通过将第二域混淆损失与预设的第四混淆损失阈值进行比对,并在第二域混淆损失大于预设的第四混淆损失阈值时,调整第一辅助神经网络的参数,将第二域混淆损失做进一步的限制,在模型训练过程中加快收敛。

其二:使用第一辅助神经网络对第一目标域数据进行特征学习之后,使用第一分类器对第一辅助神经网络输出的特征向量进行分类;根据第一分类器对第一辅助神经网络输出的特征向量进行分类的结果,调整第一辅助神经网络的在训练过程中的参数。

在具体实现的时候,在对第一辅助神经网络进行训练的过程中,由于第一辅助神经网络实际上也是一个用于对第一目标域数据进行分类的神经网络,因此使用第一辅助神经网络对第一目标域数据进行特征学习之后,能够提取出第一目标域数据的特征向量。在对目标神经网络训练的过程中,第一目标域数据会影响目标神经网络的训练,使得目标神经网络在训练的时候能够更多的利用到第一目标域数据,为了实现对目标神经网络的训练,需要同时对第一辅助神经网络进行训练,形成训练过程中的约束条件,加快模型训练的收敛。

具体地,根据第一分类器对第一辅助神经网络输出的特征向量进行分类的结果,调整第一辅助神经网络的在训练过程,具体包括:执行如下交叉熵确定操作,直至交叉熵不大于预设的交叉熵阈值。

交叉熵损失确定操作包括:根据第一分类器对第一辅助神经网络输出的特征向量进行分类的结果,以及第一目标域数据和源域数据中每一类数据的相似度,计算第一辅助神经网络的交叉熵损失。在交叉熵损失不小于预设的交叉熵阈值时,调整第一辅助神经网络在训练过程中的参数。

在具体实现的时候,交叉熵损失用于表征第一辅助神经网络受到源域数据影响的程度。交叉熵损失越大,则第一辅助神经网络受到源域数据影像的程度越高。为了对第一辅助神经网络受到源域数据影像的程度进行限制,则要在计算出第一辅助神经网络的交叉熵损失时,与预设的交叉熵阈值进行比对。如果交叉熵损失不小于预设的交叉熵阈值,则调整第一辅助神经网络在训练过程中的参数,并使用参数调整后的第一辅助神经网络再次对第一目标域数据进行特征学习之后,所提取的新的第一目标域特征的特征向量,并再次执行交叉熵损失确定操作,直至交叉熵损失小于预设的交叉熵阈值。

交叉熵损失的计算过程如下述所示:

假设第一目标域数据为xt,源域数据为xs,相似度函数为其中该相似度函数用于计算第一目标域数据与源域数据中每一类数据的相似度。定义相似向量中第i个元素为源域数据与第一目标域数据中的第i个数据的相似度为则交叉熵定满足下述公式(4):

其中,τ为softmax函数的温度参数,H(·)为信息熵计算函数。

softmax函数为第一分类器中的一部分,用于对第一辅助神经网络输出的特征向量进行分类。τ在第一分类器对第一辅助神经网络输出的特征向量进行分类的过程中已知。σ为softmax函数输出的分类结果,也即第一分类器对第一辅助神经网络输出的特征向量进行分类的结果。

需要注意的是,上述对目标神经网络、目标分类器、第一辅助神经网络以及第二辅助神经网络的训练过程是同步进行的。

在本发明另一实施例中,还提供另外一种伪标签生成模型训练方法。参见图2所示,经过对目标神经网络和目标分类器进行多轮训练之后,得到伪标签生成模型之前,还包括:

S201:使用经过多轮训练的目标神经网络为第一目标域数据提取第三特征向量,并将第三特征向量输入经过多轮训练的目标分类器得到分类结果,将得到的分类结果作为第一目标域数据的临时标签。

在具体实现的时候,将第一目标数据输入至经过多轮训练的目标神经网络和目标分类器后,就能够为第一目标域数据进行初步的分类,得到第一目标域数据的伪标签。而这个伪标签还具有很大的误差。为了减小这个误差,要对经过多轮训练的目标神经网络和目标分类器进行进一步的迭代训练。

在迭代训练的时候,首先将第一目标域数据输入至目标神经网络,使用经过多轮训练的目标神经网络为第一目标域数据提取第三特征向量,并将第三特征向量输入经过多轮训练的目标分类器得到分类结果。这个分类结果就是使用多轮训练的目标神经网络和目标分类器为第一目标域数据提取的伪标签,将该伪标签作为第一目标域数据的临时标签,并将具有标签的源域数据和具有临时标签的第一目标域数据,共同作为源域数据,实现对目标神经网络的训练。

S202:将具有临时标签的第一目标域数据、源域数据输入至经过多轮训练的目标神经网络,使用经过多轮训练的目标神经网络对具有临时标签的第一目标域数据、源域数据进行特征学习,获取经过多轮训练的目标神经网络中指定特征提取层提取的第四特征向量。

S203:将第二目标域数据输入至经过多轮训练的第二辅助神经网络,使用经过多轮训练的第二辅助神经网络对第二目标域数据进行特征学习,获取经过多轮训练的第二辅助神经网络中指定特征提取层提取的第五特征向量。

此处,对经过多轮训练的目标神经网络和目标分类器进行进迭代训练的过程,是要通过将源域数据和第二目标域数据的进一步融合,使得经过多轮训练的目标神经网络更多的受到带有标签的第二目标域数据影响,从而能够更好的捕捉到第一目标域数据和第二目标域数据之间的共同特征,实现对第一目标域数据更准确的分类。

在对目标神经网络训练的过程中,也要同步对第二辅助神经网络进行多轮训练。由于第一目标域数据和第二目标域数据具有共同的特征,因此要进一步提高经过多轮训练的目标神经网络对第一目标域数据进行分类的准确性,就要进一步的让目标神经网络能够提取到第一目标域数据和第二目标域数据的共有特征,这些共有特征应当是第一目标域数据和源域数据的区别。

因此,将第一目标域数据作为源域数据的一部分,使用经过多轮训练的目标神经网络对第一目标域数据和源域数据进行特征提取,能够获得经过多轮训练的目标神经网络的指定特征提取层提取的第四特征向量。使用将经过多轮训练的第二辅助神经网络对第二目标域数据进行特征提取,能够获得第二辅助神经网络的指定特征提取层提取的第五特征向量。

S204:根据第四特征向量和第五特征向量计算第三域混淆损失;

此处,第三域混淆损失的计算方法与上述第一与混淆损失的计算方法类似,在此不再赘述。

S205:根据第三域混淆损失,调整目标神经网络在训练过程中的参数;根据经过多轮训练的目标分类器对经过多轮训练的目标神经网络输出的特征向量进行分类的结果,调整经过多轮训练的目标神经网络在训练过程中的参数,并调整经过多轮训练的目标分类器的参数。

此处,在根据第三域混淆损失,调整目标神经网络在训练过程中的参数的时候,要执行如下域混淆损失比对操作,直至第三域混淆损失不大于预设的第五混淆损失阈值;

此处的域混淆损失比对操作包括:

将第三域混淆损失与预设的第五混淆损失阈值进行比对;

如果第三域混淆损失大于预设的第五混淆损失阈值,则调整目标神经网络的参数。

据经过多轮训练的目标分类器对经过多轮训练的目标神经网络输出的特征向量进行分类的结果,调整经过多轮训练的目标神经网络在训练过程中的参数,并调整经过多轮训练的目标分类器的参数时,要执行下述第三分类损失确定操作,直至第三分类损失不大于预设的第三分类损失阈值;

该第三分类损失确定操作包括:

根据经过多轮训练的目标分类器对经过多轮训练的目标神经网络输出的特征向量进行分类的结果,以及源域数据的标签,计算第三分类损失;

将第三分类损失与预设的第三分类损失阈值进行比对;

如果第三分类损失大于预设的第三分类损失阈值,则调整经过多轮训练的目标神经网络的参数以及经过多轮训练的目标分类器的参数。

S206:对经过多轮训练的目标神经网络和经过多轮训练的目标分类器的再次进行多轮训练,得到伪标签生成模型。

在经过多轮的反复迭代后,当第一目标域的伪标签不再发生变化时,停止对目标神经网络和目标分类器的训练,并将此时所获得的目标神经网络和目标分类器作为伪标签生成模型。

另外,在该实施例中,在对经过多轮训练的目标神经网络和目标分类器进行迭代训练的过程中,也会对经过多轮训练的第二辅助神经网络进行同步训练。因此,在根据第四特征向量和第五特征向量计算第三域混淆损失之后,还根据第三域混淆损失调整经过多轮训练的第二辅助神经网络的参数。

具体地,要执行如下域混淆损失比对操作,直至第三域混淆损失不大于预设的第六混淆损失阈值;

此处的域混淆损失比对操作包括:

将第三域混淆损失与预设的第六混淆损失阈值进行比对;

如果第三域混淆损失大于预设的第六混淆损失阈值,则调整第一辅助神经网络的参数。

另外,在对经过多轮训练的第二辅助神经网络进行训练的时候,还会将第二辅助神经网络对第二目标域数据进行特征提取后,输出的特征向量输出给经过多轮训练的第二分类器;经过多轮训练的第二分类器对经过多轮训练的第二辅助神经网络输出的特征向量进行分类,然后根据经过多轮训练的第二分类器对胫骨多轮训练的第二辅助神经网络输出的特征向量进行分类的结果,调整经过多轮训练的第二辅助神经网络的参数,以及经过多轮训练的第二分类器的参数。

此处,可以执行下述第四分类损失确定操作,直至第四分类损失不大于预设的第四分类损失阈值;

该第四分类损失确定操作包括:

根据经过多轮训练的目标分类器对经过多轮训练的目标神经网络输出的特征向量进行分类的结果,以及源域数据的标签,计算第四分类损失;

将第四分类损失与预设的第四分类损失阈值进行比对;

如果第四分类损失大于预设的第四分类损失阈值,则调整经过多轮训练的目第二辅助神经网络的参数以及经过多轮训练的第一分类器的参数。

参见图3所示,本发明实施例还提供一种标签生成方法,该方法包括:

S301:获取待分类数据。

在具体实现的时候,待分类数据为第一目标域数据,或者与第一目标域数据具有相同特征的数据。

S302:将待分类数据输入至本发明实施例提供的伪标签生成模型训练方法得到的伪标签生成模型,得到待分类数据的分类结果;将待分类数据的分类结果作为待分类数据的伪标签。

使用本发明实施例提供的伪标签生成模型训练方法得到的伪标签生成模型,对待分类数据进行分类,能够得到待分类数据更加准确的伪标签。

基于同一发明构思,本发明实施例中还提供了与伪标签生成模型训练方法对应的伪标签生成模型训练装置,由于本发明实施例中的装置解决问题的原理与本发明实施例上述伪标签生成模型训练方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

本发明又一实施例还提供一种伪标签生成模型训练装置,参见图4所示,本发明实施例所提供的伪标签生成模型训练装置包括:

获取模块401,用于获取带有标签的源域数据、不带标签的第一目标域数据以及带有标签的第二目标域数据;

第一处理模块402,用于使用第一辅助神经网络对第一目标域数据进行特征学习,获取在第一辅助神经网络中指定特征提取层的第一特征向量;

第二处理模块403,用于使用第二辅助神经网络对第二目标域数据进行特征学习,获取第二辅助神经网络中指定特征提取层的第二特征向量;

第一计算模块404,用于根据第一特征向量以及第二特征向量计算第一域混淆损失;

第三处理模块405,用于使用目标神经网络对源域数据进行特征学习,获取目标神经网络中指定特征提取层提取的源域特征向量;并将目标神经网络输出的特征向量输入至目标分类器得到第一分类结果;

第二计算模块406,用于根据第一特征向量和源域特征向量计算第二域混淆损失;

第一训练模块407,用于根据第一域混淆损失对第一辅助神经网络进行本轮训练;以及根据第二域混淆损失,以及第一分类结果,对目标神经网络进行本轮训练;以及根据第一分类结果,对目标分类器进行本轮训练;经过对目标神经网络和目标分类器进行多轮训练,得到伪标签生成模型。

可选地,指定特征提取层包括位于每个神经网络末端预设数量的特征提取层;

第二计算模块具体用于:将从第一辅助神经网络的各个指定特征提取层提取的第一特征向量进行拼接,形成第一拼接向量,以及将从目标神经网络的各个指定特征提取层提取的源域特征向量进行拼接,形成目标拼接向量;

根据第一拼接向量以及目标拼接向量,计算第二域混淆损失。

可选地,第一训练模块,具体用于:执行如下域混淆损失比对操作以及第一分类损失确定操作,直至第二域混淆损失不大于预设的第二混淆损失阈值,以及第一分类损失不大于预设的第一分类损失阈值;

域混淆损失比对操作包括:

将第二域混淆损失与预设的第二混淆损失阈值进行比对;

如果第二域混淆损失大于预设的第二混淆损失阈值,则调整目标神经网络的参数;

第一分类损失确定操作包括:

根据对源域数据的第一分类结果,以及源域数据的标签,计算第一分类损失;

将第一分类损失与预设的第一分类损失阈值进行比对;

如果第一分类损失大于预设的第一分类损失阈值,则调整目标神经网络的参数以及目标分类器的参数。

可选地,还包括:第二训练模块,用于根据第一特征向量以及第二特征向量计算第一域混淆损失之后,根据第一域混淆损失调整第二辅助神经网络在训练过程中的参数。

可选地,还包括:第三训练模块,用于在根据第一特征向量和源域特征向量计算第二域混淆损失之后,根据第二域混淆损失,调整第一辅助神经网络在训练过程中的参数。

可选地,第二训练模块,还用于在使用第一辅助神经网络对第一目标域数据进行特征学习之后,使用第一分类器对第一辅助神经网络输出的特征向量进行分类;

根据第一分类器对第一辅助神经网络输出的特征向量进行分类的结果,调整第一辅助神经网络的在训练过程中的参数;

可选地,第三训练模块,还用于在使用第二辅助神经网络对第二目标域数据进行特征学习之后,使用第二分类器对第二辅助神经网络输出的特征向量进行分类;

根据第二分类器对第二辅助神经网络输出的特征向量进行分类的结果,调整第二辅助神经网络的在训练过程中的参数。

可选地,第二训练模块,具体用于使用下述步骤,根据第一分类器对第一辅助神经网络输出的特征向量进行分类的结果,调整第一辅助神经网络在训练过程中的参数:

执行如下交叉熵确定操作,直至交叉熵不大于预设的交叉熵阈值;

交叉熵损失确定操作包括:

根据第一分类器对第一辅助神经网络输出的特征向量进行分类的结果,以及第一目标域数据和源域数据中每一类数据的相似度,计算第一辅助神经网络的交叉熵损失;

在交叉熵损失不小于预设的交叉熵阈值时,调整第一辅助神经网络在训练过程中的参数。

可选地,第三训练模块,具体用于使用下述步骤,根据第二分类器对第二辅助神经网络输出的特征向量进行分类的结果,调整第二辅助神经网络的在训练过程中的参数:

执行如下第二分类损失确定操作,直至第二分类损失不大于预设的第二分类损失阈值;

第二分类损失确定操作包括:

根据第二分类器对第二辅助神经网络输出的特征向量进行分类的结果,以及第二目标域数据的标签,计算第二分类损失;

将第二分类损失与预设的第二分类损失阈值进行比对;

如果第二分类损失大于预设的第二分类损失阈值,则调整第二辅助神经网络的参数以及第二分类器的参数。

可选地,迭代训练模块,用于在经过对目标神经网络和目标分类器进行多轮训练之后,得到伪标签生成模型之前:

使用经过多轮训练的目标神经网络为第一目标域数据提取第三特征向量,并将第三特征向量输入经过多轮训练的目标分类器得到分类结果,将得到的分类结果作为第一目标域数据的临时标签;

将具有临时标签的第一目标域数据、源域数据输入至经过多轮训练的目标神经网络,使用经过多轮训练的目标神经网络对具有临时标签的第一目标域数据、源域数据进行特征学习,获取经过多轮训练的目标神经网络中指定特征提取层提取的第四特征向量;

将第二目标域数据输入至经过多轮训练的第二辅助神经网络,使用经过多轮训练的第二辅助神经网络对第二目标域数据进行特征学习,获取经过多轮训练的第二辅助神经网络中指定特征提取层提取的第五特征向量;

根据第四特征向量和第五特征向量计算第三域混淆损失;

根据第三域混淆损失,调整目标神经网络在训练过程中的参数;根据经过多轮训练的目标分类器对经过多轮训练的目标神经网络输出的特征向量进行分类的结果,调整经过多轮训练的目标神经网络在训练过程中的参数,并调整经过多轮训练的目标分类器的参数;

对经过多轮训练的目标神经网络和经过多轮训练的目标分类器的再次进行多轮训练,得到伪标签生成模型。

可选地,迭代训练模块,还用于根据第四特征向量和第五特征向量计算第三域混淆损失之后,根据第三域混淆损失调整经过多轮训练的第二辅助神经网络的参数;

使用经过多轮训练的第二辅助神经网络对第二目标域数据进行特征学习之后,还包括:

使用经过多轮训练的第二分类器对经过多轮训练的第二辅助神经网络输出的特征向量进行分类;

根据经过多轮训练的第二分类器对经过多轮训练的第二辅助神经网络输出的特征向量进行分类的结果,调整经过多轮训练的第二辅助神经网络的参数。

本发明实施例提供的伪标签生成模型训练装置中,在对伪标签生成模型训练的时候,使用第一辅助神经网络中指定特征提取层提取第一目标域数据的第一特征向量,使用第二辅助神经网络中指定特征提取层提取第二目标域数据的第二特征向量,然后根据第一特征向量以及第二特征向量计算第一域混淆损失,并根据第一域混淆损失对第一辅助神经网络进行本轮训练,使得第一辅助神经网络的训练受到第二目标域数据的影响;同时,使用目标神经网络中指定特征提取层提取源域数据的目标特征向量,然后根据第一特征向量以及目标特征向量计算第二域混淆损失,并根据第二域混淆损失对目标神经网络进行本轮训练,使得目标神经网络的训练受到第一目标域数据的直接影响,同时受到第二目标域数据的间接影响,从而在对目标域训练的过程中,能够使得带有标签的第二目标域数据间接指导源域向目标域迁移,既利用了带标签的目标域数据,又有效提取了未标记标签的目标域的特征,从而能够充分利用较少的目标域标注数据,生成质量较高的伪标签。

参见图5所示,本发明实施例还提供一种伪标签生成装置,包括:

待分类数据获取模块501,用于获取待分类数据。

伪标签生成模块502,用于将待分类数据输入至本发明实施例提供的伪标签生成模型训练方法得到的伪标签生成模型,得到待分类数据的分类结果;将待分类数据的分类结果作为待分类数据的伪标签。

对应于图1中的伪标签生成模型训练方法,本发明实施例还提供了一种计算机设备,如图6所示,该设备包括存储器1000、处理器2000及存储在该存储器1000上并可在该处理器2000上运行的计算机程序,其中,上述处理器2000执行上述计算机程序时实现上述伪标签生成模型训练方法的步骤。

具体地,上述存储器1000和处理器2000能够为通用的存储器和处理器,这里不做具体限定,当处理器2000运行存储器1000存储的计算机程序时,能够执行上述伪标签生成模型训练方法,从而解决利用少量目标域数据引导迁移学习难度较大的问题,进而达到利用少量带有标签的目标域数据间接指导源域向目标域迁移,既利用了带标签的目标域数据,又有效提取了未标记标签的目标域的特征,从而能够充分利用较少的目标域标注数据,生成质量较高的伪标签。

对应于图1中的分类模型训练方法,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述伪标签生成模型训练方法的步骤。

具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述伪标签生成模型训练方法,从而解决利用少量目标域数据引导迁移学习难度较大的问题,进而达到利用少量带有标签的目标域数据间接指导源域向目标域迁移,既利用了带标签的目标域数据,又有效提取了未标记标签的目标域的特征,从而能够充分利用较少的目标域标注数据,生成质量较高的伪标签。

本发明实施例所提供的伪标签生成模型训练方法、装置及伪标签生成方法及装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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