首页 / 分类模型训练方法以及分类方法

分类模型训练方法以及分类方法无效专利 发明

技术领域

[0001] 本申请涉及深度学习技术领域,具体而言,涉及一种分类模型训练方法以及分类方法。

相关背景技术

[0002] 迁移学习可以利用已知领域中有标签的训练样本(可称为源域数据) 训练分类模型来对目标领域的数据(可称为目标域数据)进行标定,而并不要求源域数据和目标域数据具有相同的数据分布。迁移学习实际上是通过找寻待标定数据和已知标签数据之间的联系,例如采用核函数的方式将源域和目标域数据映射到同一空间中,在该空间下源域数据和目标域数据拥有相同的分布,从而可以利用该空间表示的有标签的源域样本数据训练分类器来对目标领域进行标定。
[0003] 已有的迁移学习方法中,通常使用源域数据和目标域数据训练同一神经网络,获得参数共享网络。该网络训练过程能够找出源域数据和目标域数据之间的共性,通常将源域数据和目标域数据映射在具有高可比性的高位空间,从而得到两个域的分布特征。这种训练方法虽然能够将源域数据和目标域数据之间的相同特征利用起来,却使源域和目标域之间的差异特征丢失严重,导致训练得到的分类模型在对目标域数据进行分类时存在一定的误差。

具体实施方式

[0036] 与现有技术不同,本申请利用同一神经网络为源域数据和目标域数据分别提取源域特征向量和目标域特征向量之后,将源域特征向量和目标域特征向量输入共有特征捕捉层,为源域数据捕捉源域共有特征向量,为目标域数据捕捉目标域共有特征向量,以及将源域特征向量和目标域特征向量输入差异特征捕捉层,为源域数据捕捉源域差异特征向量并为目标域数据捕捉目标域差异特征向量,然后基于所捕捉的源域共有特征向量、目标域共有特征向量、源域差异特征向量以及目标域差异特征向量对分类模型进行训练,所得到的分类模型,既能将源域数据和目标域数据之间的相同特征利用起来,又能将源域数据和目标域数据之间的差异特征利用起来,进而使用该分类模型对目标域数据进行分类的时候能够得到更加准确的分类结果。
[0037] 为便于对本实施例进行理解,首先对本申请实施例所公开的一种分类模型训练方法进行详细介绍,该方法用于对各种数据的分类模型的训练,所得的分类模型能够对对应数据进行分类。
[0038] 参见图1所示,本申请实施例所提供的分类模型训练方法包括:
[0039] S101:获取带有标签的源域数据以及不带标签的目标域数据。
[0040] 在具体实现的时候,源域数据为带有标签的数据,目标域数据为不带有标签的数据。源域数据和目标域数据具有一定的共性,又有一定的差异性。标签是对源域数据的分类结果的预先标注。
[0041] 源域数据和目标域数据可以是图像、视频、语言等可以采用神经网络学习进行分类的数据。
[0042] 例如当源域数据和目标域数据均为图像数据时,源域数据可以是已经确诊了病情的清晰的医学影像图片,在该清晰的医学影像图片所标注的病灶的位置以及疾病的名称即为源域数据的标签;目标域数据可以是未确诊病情的不清晰的医学影像图片。训练所得的分类模型,能够对未标注病灶位置和未确诊的疾病名称的不清晰医学影像图片进行分类,得到该不清晰医学影像图片中是否有病灶,且在医学影像图片中有病灶的前提下,确定病灶的位置。
[0043] 又例如,当源域数据和目标域数据均为语言数据时,源域数据为法语词汇,目标域数据为西班牙语词汇,由于法语和西班牙语同属于拉丁语系,因此两者之间具有部分共同的特征;但两者属于两种不同的语言,因此又具有一定的差异。使用能够识别的法语对西班牙语的特征进行学习,从而能够识别西班牙语。
[0044] 又例如,源域数据和目标域数据为语言数据时,要对某些词汇或者话术进行情感分析;源域数据为已经标注了情感标签的词汇,目标域数据是未标注情感标签的话术。
[0045] S102:将源域数据以及目标域数据输入同一神经网络,为源域数据提取源域特征向量,并为目标域数据提取目标域特征向量。
[0046] 在具体实现的时候,神经网络可以采用卷积神经网络(Convolutional Neural Network,CNN)来为源域数据提取源域特征向量,为目标域数据提取目标域特征向量。
[0047] 源域数据为携带有标签的数据,该标签用于指示源域数据的正确分类结果;目标域数据为不携带标签的数据。在将源域数据和目标域数据输入同一个神经网络后,该神经网络对源域数据以及目标域数据进行共享参数的特征学习。在这个过程中,由于神经网络对源域数据进行有监督学习,而对目标域数据进行无监督学习,在使用同一神经网络对源域数据和目标域数据进行共享参数的学习过程中,会不断调整神经网络中所使用的参数,从而在对神经网络训练的过程中,让神经网络的参数受到源域数据影响的同时,还会受到目标域数据的影响,进而使得神经网络在对源域数据和目标域数据进行特征学习后,对每个源域数据进行特征提取所得到的源域特征向量会受到目标域数据的干扰,使得为源域数据所提取的源域特征向量会具有部分目标域数据的特征;同样的,在对每个目标域数据进行特征提取所得到的目标域特征向量会受到源域数据的干扰,使得为目标域数据提取目标域向量会具有部分源域数据的特征,最终实现源域数据和目标域数据的域间混合。
[0048] S103:将源域特征向量和目标域特征向量输入共有特征捕捉层,并分别将捕捉的源域数据的源域共有特征向量和目标域数据的目标域共有特征向量输入第一分类器,得到源域数据的第一分类结果和目标域数据的第一分类结果。
[0049] 在具体实现的时候,由于要使得分类模型学习到源域数据和目标域数据的共有特征和差异特征,因此,需要在对分类模型进行训练的时候,使用两个训练分支来对源域数据和目标域数据的共有特征和差异特征分别进行捕捉。
[0050] 将源域特征向量和目标域特征向量输入共有特征捕捉层,采用如下方式捕捉源域数据的源域共有特征向量和目标域数据的目标域共有特征向量:
[0051] 步骤二一:将源域特征向量以及目标域特征向量输入至共有特征捕捉层,使用共有特征捕捉层提取源域共有特征向量和目标域共有特征向量。
[0052] 步骤二二:将源域共有特征向量和目标域共有特征向量进行梯度反向处理。
[0053] 步骤二三:将进行梯度反向处理的源域共有特征向量和目标域共有特征向量输入至第一域分类器;
[0054] 步骤二四:根据第一域分类器对源域共有特征向量和目标域共有特征向量分别表征的源域数据和目标域数据的域分类结果,对神经网络以及共有特征捕捉层的参数进行调整。
[0055] 在具体实现的时候,共有特征捕捉层可以为一全连接层,是在神经网络的基础上加设的一层特征汇聚层,能够将神经网络输出的特征进行维度变换。共有特征捕捉层在对当前源域特征向量进行处理后,能够得到当前源域特征向量对应的源域共有特征向量;共有特征层在当前目标域特征向量进行处理后,能够得到当前目标域特征向量对应的目标域共有特征向量。
[0056] 由于在使用源域数据和目标域数据对神经网络和共有特征捕捉层进行训练的过程,实际上是要将源域数据和目标域数据进行域混合的过程。使用神经网络和共有特征捕捉层对源域数据进行特征提取所获得的源域共有特征向量要受到目标域数据中特征的影响,也即,使得源域特征向量向目标域数据的特征接近;同时,使用神经网络和共有特征捕捉层对目标域数据进行特征提取所获取的目标域共有特征向量受到源域数据中特征的影响,也即,使得目标域共有特征向量向源域数据的特征接近。因此,为了实现对源域数据和目标域数据的域混合,在为目标域数据中的每个目标域数据提取目标域共有特征向量,并为源域数据中的每个源域数据提取源域共有特征向量后,要将目标域共有特征向量和源域共有特征向量进行梯度反向处理,然后将经过梯度反向处理的目标域共有特征向量和源域共有特征向量输入至第一域分类器,使用第一域分类器对目标域共有特征向量和源域共有特征向量进行域分类。
[0057] 域分类的结果正确,也即第一域分类器能够正确对源域共有特征向量和目标域共有特征向量进行正确分类的概率越大,则说明域混合的程度越小;域分类的结果错误的概率越大,也即域分类器对源域共有特征向量和目标域共有特征向量进行分类正确的概率越小,说明域混合的程度越大,因此,要基于第一域分类器对目标域共有特征向量和源域共有特征向量分别表征的源域数据和目标域数据进行分类的结果,对神经网络和共有特征捕捉层进行参数调整。
[0058] 具体地,根据第一域分类器对源域共有特征向量和目标域共有特征向量分别表征的源域数据和目标域数据的域分类结果,对神经网络以及共有特征捕捉层的参数进行调整,具体可以通过执行如下第一域分类损失确定操作来实现。该第一域分类损失确定操作包括:
[0059] 步骤三一:确定当前源域共有特征向量和目标域共有特征向量分别表征的源域数据和目标域数据的本次域分类的域分类损失。
[0060] 此处,通过域分类是损失来表征域混和的程度。源域数据的域分类损失,可以通过在基于源域共有特征向量和目标域共有特征向量对源域数据和目标域数据进行域分类的过程中,分类结果为被分到目标域中的源域数据的数量来表征。目标域数据的域分类损失可以通过在基于源域共有特征向量和目标域共有特征向量对源域数据和目标域数据进行域分类的过程中,分类结果为被分到源域中的目标域数据的数量来表征。在使用第一域分类器对源域共有特征向量以及目标域共有特征向量分别表征的源域数据和目标域数据进行域分类后,就能够获得域分类结果,然后按照域分类结果,以及源域数据和目标域数据正确的域归属,确定源域数据合目标域数据分别对应的域分类损失。
[0061] 步骤三二:针对最近预设次数的域分类损失之间的差别不小于预设差别阈值,生成第一反馈信息,并基于第一反馈信息对神经网络和共有特征捕捉层进行参数调整。
[0062] 此处,使用预设差别阈值来对域混合的程度进行约束。第一域分类器中预先存储有源域共有特征向量和目标域共有特征向量分别归属的域的分布,当最近预设次数的域分类损失之间的差别不小于预设差别阈值时,则认为域分类还未达到稳定的状态,也就是说,在某次域分类中,第一域分类器能正确区分源域共有特征向量和目标域共有特征向量分别所属的域,某次域分类中,域分类器又不能正确区分源域共有特征向量和目标域共有特征向量分别所属的域,域混合程度还不稳定,那么,需要对神经网络和共有特征捕捉层的参数进行调整,因此会生成域分类损失差别过大的第一反馈信息,并反馈给神经网络和共有特征捕捉层。神经网络和共有特征捕捉层在接收到该域分类损失差别过大的第一反馈信息后,分别对自身的参数进行调整,使得域分类的结果趋于稳定。
[0063] 步骤三三:基于调整后的参数,使用神经网络以及共有特征捕捉层为源域数据提取新的源域共有特征向量,并为目标域数据提取新的目标域共有特征向量,并执行域分类损失确定操作,直至差别大于预设差别阈值,完成基于第一域分类器对神经网络以及共有特征捕捉层的本轮训练。
[0064] 基于第一域分类器对神经网络的训练,是要根据第一域分类器的对源域共有特征向量和目标域共有特征向量的分类结果所确定的域分类损失维持在一定的值上,尽可能分不清楚目标域数据和源域数据到底是属于源域还是属于目标域,提取两者的共有特征。
[0065] 此处,需要注意的是,当最近预设次数的域分类损失之间的差别小于预设差别阈值时,也会生成域分类损失合适的反馈信息,并将之反馈给神经网络和共有特征捕捉层。神经网络和共有特征捕捉层在接收到该域分类损失合适的反馈信息后,还会对自身的参数进行幅度较小的调整,力求梯度下降到局部最优。
[0066] 此处,需要注意的是,也可以使用如下述图5对应的第二域分类损失确定操作类似的方法,来根据第一域分类器对源域共有特征向量和目标域共有特征向量分别表征的源域数据和目标域数据的域分类结果,对神经网络以及共有特征捕捉层的参数进行调整。
[0067] 该方法可以包括如下步骤:
[0068] 确定当前源域共有特征向量和目标域共有特征向量分别表征的源域数据和目标域数据的本次域分类的域分类损失;
[0069] 针对域分类结果错误的情况,生成第三反馈信息,并基于第三反馈信息对神经网络以及共有特征捕捉层进行参数调整;
[0070] 基于调整后的参数,使用神经网络和差异特征捕捉层为源域数据提取新的源域共有特征向量,并为目标域数据提取新的目标域共有特征向量,并执行该域分类损失确定操作。
[0071] 具体过程可参见下述步骤五一至步骤五三描述,在此不再赘述。
[0072] S104:将源域特征向量和目标域特征向量输入差异特征捕捉层,并分别将捕捉的源域数据的源域差异特征向量和目标域数据的目标域差异特征向量输入第二分类器,得到源域数据的第二分类结果和目标域数据的第二分类结果。
[0073] 在具体实现的时候,由于在对分类模型进行训练的时候,使用两个训练分支来对源域数据和目标域数据的共有特征和差异特征分别进行捕捉。上述S103作为对源域数据和目标域数据的共有特征进行捕捉的训练分支,本步骤为对源域数据和目标域数据的差异特征进行捕捉的训练分支。
[0074] 具体地,将源域特征向量和目标域特征向量输入差异特征捕捉层,采用如下方式捕捉源域数据的源域差异特征向量和目标域数据的目标域差异特征向量:
[0075] 步骤四一:将源域特征向量以及目标域特征向量输入差异特征捕捉层,使用差异特征捕捉层提取获取源域差异特征向量和目标域差异特征向量。
[0076] 步骤四二:将源域差异特征向量和目标域差异特征向量输入至第二域分类器;
[0077] 步骤四三:根据第二域分类器对源域差异特征向量和目标域差异特征向量分别表征的源域数据和目标域数据的域分类结果,对神经网络以及差异特征捕捉层的参数进行调整。
[0078] 在具体实现的时候,差异特征捕捉层为一全连接层,可以为在神经网络的基础上加设的一层特征汇聚层,能够将神经网络输出的特征进行维度变换。差异特征捕捉层在对当前源域特征向量进行处理后,能够得到当前源域特征向量对应的源域差异特征向量;差异特征层在当前目标域特征向量进行处理后,能够得到当前目标域特征向量对应的目标域差异特征向量。
[0079] 在不对源域特征向量和目标域特征向量进行梯度反向处理,而是将两者直接输入差异特征捕捉层,并将差异特征捕捉层分别输出的源域数据的源域差异特征向量和目标域数据的目标域差异特征向量输入至第二域分类器,使用第二域分类器对源域差异特征向量以及目标域差异特征向量分别表征的源域数据和目标域数据进行域分类,所得到的域分类损失越小,才能够尽可能区分出源域数据和目标域数据所属的域,使得神经网络以及差异特征捕捉层能够捕捉到源域数据和目标域数据之间的差异特征,拉远两者之间的距离。
[0080] 具体地,根据第二域分类器对源域差异特征向量和目标域差异特征向量分别表征的源域数据和目标域数据的域分类结果,对神经网络以及差异特征捕捉层的参数进行调整,具体可以通过执行如下第二域分类损失确定操作来实现。该第二域分类损失确定操作包括:
[0081] 步骤五一:确定当前源域差异特征向量和目标域差异特征向量分别表征的源域数据和目标域数据的本次域分类的域分类损失。
[0082] 此处,通过域分类损失来表征源域差异特征向量和目标域差异特征向量进行域混合的程度。此处的源域数据的域分类损失可以通过在基于源域差异特征向量和目标域差异特征向量对源域数据和目标域数据进行分类的过程中,分类结果为目标域数据的源域数据的数量来表征。目标域数据的域分类损失可以通过在基于源域差异特征向量和目标域差异特征向量对源域数据和目标域数据进行分类的过程中,分类结果为源域数据的目标域数据的数量来表征。在使用第二域分类器对源域差异特征向量以及目标域差异特征向量分别表征的源域数据和目标域数据进行域分类后,就能够获得域分类结果,然后按照域分类结果,确定源域数据和目标域数据分别对应的域分类损失。
[0083] 步骤五二:针对域分类结果错误的情况,生成第二反馈信息,并基于第二反馈信息对神经网络以及差异特征捕捉层进行参数调整。
[0084] 此处,由于要保证域分类结果的正确性,只有域分类结果是正确的,才会拉远源域数据和目标域数据之间的距离,也才能提取到源域数据和目标域数据之间的差异性数据,因此要在域分类结果错误的时候,生成第二反馈信息,并基于第二反馈信息对神经网络和差异特征捕捉层进行参数调整。
[0085] 步骤五三:基于调整后的参数,使用神经网络和差异特征捕捉层为源域数据提取新的源域差异特征向量,并为目标域数据提取新的目标域差异特征向量,并执行第二域分类损失确定操作。
[0086] 直至域分类结果正确,或者域分类结果的正确率达到预设的阈值。
[0087] 此处,需要注意的是,也可以使用如上述步骤三一至步骤三三对应的第一域分类损失确定操作类似的方法,来根据第二域分类器对源域差异特征向量和目标域差异特征向量分别表征的源域数据和目标域数据的域分类结果,对神经网络以及差异特征捕捉层的参数进行调整。
[0088] 该方法可以包括如下步骤:
[0089] 确定当前源域差异特征向量和目标域差异特征向量分别表征的源域数据和目标域数据的本次域分类的域分类损失;
[0090] 针对最近预设次数的域分类损失之间的差别不小于预设差别阈值,生成第四反馈信息,并基于第四反馈信息对神经网络、差异特征捕捉层进行参数调整;
[0091] 基于调整后的参数,使用神经网络以及差异特征捕捉层为源域数据提取新的源域差异特征向量,并为目标域数据提取新的目标域差异特征向量,并执行域分类损失确定操作,直至差别大于预设差别阈值,完成基于第二域分类器对神经网络以及差异特征捕捉层的本轮训练。
[0092] S105:基于目标域数据的第一分类结果与目标域数据的第二分类结果之间的比对结果,以及源域数据的第一分类结果与源域数据的第二分类结果之间的比对结果,对神经网络、共有特征捕捉层、以及第一分类器进行本轮训练。
[0093] 在具体实现的时候,在基于第一域分类器对神经网络以及共有特征捕捉层进行训练的同时,还会将共有特征捕捉层所提取的源域共有特征向量和目标域共有特征向量分别输入至第一分类器,得到源域数据的第一分类结果和目标域数据的第一分类结果。同时,在基于第二域分类器对神经网络以及差异特征捕捉层进行训练的同时,还会将差异特征捕捉层提取的源域差异特征向量和目标域差异特征向量分别输入至第二分类器,得到源域数据的第二分类结果和目标域数据的第二分类结果。
[0094] 下面以将源域共有特征向量输入至第一分类器,提取源域数据的第一分类结果为例对第一分类器和第二分类器的工作加以说明:
[0095] 在使用第一分类器对源域共有特征向量表征的源域数据进行分类的时候,通常会使用到分类函数,例如softmax分类函数。分类函数在将源域数据进行分类的时候,会得到该源域数据属于某个分类的概率,并将概率最大的分类作为输出的分类结果。
[0096] 使用第一分类器对目标域共有特征向量进行分类、使用第二分类器对源域差异特征向量进行分类、使用第二分类器对目标域差异特征向量进行分类的方法类似,在此不再赘述。
[0097] 本申请实施例还提供一种基于目标域数据的第一分类结果与目标域数据的第二分类结果之间的比对结果,以及源域数据的第一分类结果与源域数据的第二分类结果之间的比对结果,对神经网络、共有特征捕捉层、以及第一分类器进行本轮训练的具体步骤,包括:
[0098] 步骤六一:将目标域数据的第一分类结果以及目标域数据的第二分类结果之间的差值确定为第一概率损失。
[0099] 步骤六二:将源域数据的第一分类结果以及源域数据的第二分类结果之间的差值确定为第二概率损失;并
[0100] 步骤六三:根据第一概率损失以及第二概率损失,对神经网络、共有特征捕捉层以及第一分类器进行本轮训练。
[0101] 在具体实现的时候,由于使用分类器对数据进行分类处理所得到的分类结果,实际上是该数据属于某个分类的概率。源域数据的第一分类结果、源域数据的第二分类结果能够以概率的形式来体现使用第一分类器和第二分类器对源域数据进行分类的结果。目标域数据的第一分类结果和目标域数据的第二分类结果能够以概率的形式体现使用第一分类器和第二分类器对目标域数据进行分类的结果。
[0102] 当源域数据的第一分类结果和源域数据的第二分类结果之间的差异越大的时候,也即第一概率损失越大,说明两个分支中,共有特征捕捉层、差异特征捕捉层的参数的差异越大,第一分类器和第二分类器的参数的差异也越大,证明其所提取得到的源域数据共有特征向量和源域数据差异特征向量之间的差异也就越大,使得在对分类模型训练的过程中,引入的源域特征和目标域特征之间的差异特征也就越多。
[0103] 同时,又不能使得两者之间的差异没有限制的增大,要对其进行限制。因此,要使用目标域数据的第一分类结果和目标域数据的第二分类结果之间的差值作为第二概率损失,将第二概率损失限制在一定范围内。第二概率损失越小,说明两个分支中,共有特征捕捉层、差异特征捕捉层的参数的差异越小,证明其所提取得到的目标域共有特征向量和目标域差异特征向量之间的差异越小,使得在对分了模型训练的过程中,引入的源域特征和目标域特征之间的差异特征也就越少。
[0104] 上述两个分支同步训练,使得基于第一概率损失对神经网络、共有特征捕捉层、差异特征捕捉层、第一分类器和第二分类器的训练,和基于第二概率损失对神经网络、共有特征捕捉层、差异特征捕捉层、第一分类器和第二分类器的训练之间相互约束,使得分类模型受到源域数据和目标域数据之间的差异特征影响的程度被限制在一定的范围内,达到对共有特征和差异性特征利用之间的平衡。
[0105] 本申请实施例还提供一种根据第一概率损失以及第二概率损失,对神经网络、共有特征捕捉层以及第一分类器进行本轮训练的具体方法,包括:
[0106] 执行如下第一比对操作,直至第一概率损失小于预设的第一概率损失阈值;
[0107] 第一比对操作包括:
[0108] 将第一概率损失与预设的第一概率损失阈值进行比对;
[0109] 若第一概率损失不小于预设的第一概率损失阈值,则对神经网络、共有特征捕捉层、差异特征捕捉层、第一分类器和第二分类器的参数进行调整;
[0110] 执行如下第二比对操作,直至第二概率损失大于预设的第二概率损失阈值;
[0111] 第二比对操作包括:
[0112] 将第二概率损失与预设的第二概率损失阈值进行比对;
[0113] 若第二概率损失不大于预设的第二概率损失阈值,则对神经网络、共有特征捕捉层、差异特征捕捉层、第一分类器和第二分类器的参数进行调整。
[0114] 通过上述步骤,可以实现对神经网络、共有特征捕捉层、差异特征捕捉层、第一分垒砌、第二分类器的本轮训练。
[0115] 另外,在基于目标域数据的第一分类结果与目标域数据的第二分类结果之间的比对结果,以及源域数据的第一分类结果与源域数据的第二分类结果之间的比对结果,对神经网络、共有特征捕捉层、差异特征捕捉层、第一分类器以及第二分类器进行本轮训练的同时,还会使用源域数据的第一分类结果对神经网络、共有特征捕捉层以及第一分类器进行训练,以及使用源域数据的第二分类结果对神经网络、差异特征捕捉层以及第二分类器进行训练。
[0116] 具体地,在使用源域数据的第一分类结果对神经网络、共有特征捕捉层以及第一分类器进行训练的时候,是在将捕捉的源域数据的源域共有特征向量和目标域数据的目标域共有特征向量输入第一分类器之后执行。具体地,可以执行以下第一分类损失确定操作,来使用源域数据的第一分类结果对神经网络、共有特征捕捉层以及第一分类器进行训练。
[0117] 参见图2所示,第一分类损失确定操作包括:
[0118] S201:根据源域数据的第一分类结果,以及源域数据的标签,计算第一分类损失;
[0119] S202:将第一分类损失与预设的第一分类损失阈值进行比对;
[0120] S203:检测源域数据的第一分类损失是否不大于预设的第一分类损失阈值;如果否,则跳转至S204;如果是,则跳转至S206。
[0121] S204:调整神经网络的参数以及第二分类器的参数。
[0122] S205:基于调整后的参数,使用神经网络、共有特征捕捉层、以及第一分类器重新获得源域数据的第一分类结果;跳转至201。
[0123] S206:完成对神经网络的参数、共有特征捕捉层以及第一分类器的本轮训练。
[0124] 直至源域数据的第一分类损失不大于预设的第一分类损失阈值;
[0125] 此处,用第一分类损失来表征神经网络、共有特征提取层以及第一分类器在训练过程中受到目标域数据影响的程度。使得第一分类损失不大于预设的第一分类损失阈值,是要在神经网络受到目标域数据中的特征的影响,但这个影响被限制在一定的范围内,不能影响神经网络对源域数据进行分类的准确性。
[0126] 一般地,第一分类损失可以为第一分类器对源域数据的源域共有特征向量进行分类的正确率,可以基于第一分类器对源域数据的分类结果以及源域数据的标签计算得到。
[0127] 类似地,在使用源域数据的第二分类结果对神经网络、共有特征捕捉层以及第一分类器进行训练的时候,是在将捕捉的源域数据的源域差异特征向量和目标域数据的目标域差异特征向量输入第二分类器之后执行。
[0128] 具体地,可以通过执行以下第一分类损失确定操作,直至源域数据的第一分类损失不大于预设的第一分类损失阈值,来使用源域数据的第一分类结果对神经网络、共有特征捕捉层以及第一分类器进行训练。具体地,可以执行以下第二分类损失确定操作,来使用源域数据的第一分类结果对神经网络、共有特征捕捉层以及第一分类器进行训练。
[0129] 参见图3所示,第二分类损失确定操作包括:
[0130] S301:根据源域数据的第二分类结果,以及源域数据的标签,计算第二分类损失;
[0131] S302:将第二分类损失与预设的第二分类损失阈值进行比对;
[0132] S303:检测源域数据的第二分类损失是否不大于预设的第二分类损失阈值;如果否,则跳转至S304;如果是,则跳转至S306。
[0133] S304:调整神经网络的参数以及第二分类器的参数。
[0134] S305:基于调整后的参数,使用神经网络、差异特征捕捉层、以及第二分类器重新获得源域数据的第二分类结果;跳转至301。
[0135] S306:完成对神经网络的参数、差异特征捕捉层以及第二分类器的本轮训练。
[0136] 直至源域数据的第二分类损失不大于预设的第二分类损失阈值。
[0137] 第二分类损失的确定过程与第一分类损失的确定过程类似,在此不再赘述。
[0138] S106:经过对神经网络、共有特征捕捉层和第一分类器进行多轮训练,得到分类模型。
[0139] 在具体实现的时候,多轮训练,是指在每一轮的多次训练中为神经网络分别输入的源域数据和目标域数据目是不变的;而在不同轮的训练中,为神经网络和目标神经网络所输入的源域数据和目标域数据以是不同的。
[0140] 除第一轮以外,其他轮训练中,所使用的初始神经网络、共有特征提取层、差异特征提取层、第一分类器以及第二分类器为上一轮训练完成时所得到的神经网络、共有特征提取层、差异特征提取层、第一分类器以及二分类器,并最终将经过多轮训练的神经网络、共有特征捕捉层以及第一分类器作为所得到的分类模型。差异特征捕捉层以及第二分类器仅用于辅助分类模型的训练。
[0141] 本申请实施例所提供的分类模型训练方法中,在对分类模型进行训练的时候,利用神经网络提取源域数据的源域特征向量和目标域数据的目标域特征向量之后,能够基于源域特征向量和目标域特征向量,分别使用共有特征提取层和差异特征提取层,对源域数据和目标域数据进行共有特征的捕捉,和差异特征的捕捉,并使用分类器对进行共有特征捕捉和差异特征捕捉后生成的特征向量的分类结果,对分类模型进行训练,从而使得分类模型不仅能学习到源域数据和目标域数据的共有特征,还能够学习到源域数据和目标域数据的差异特征,从而将源域数据和目标域数据之间的共有特征和差异特征都利用起来,得到的分类模型能够对目标域数据进行更加准确的分类。
[0142] 另外,当目标域数据的数据量较少的时候,仅仅利用源域数据和目标域数据的共有特征对分类模型进行训练,从而指导对目标域数据的分类,目标域数据的缺乏会造成分类模型无法学习到目标域中足够的特征,同样会造成分类模型的不准确。本申请实施例在对分类模型进行训练的时候,当目标域数据的数据量较少的时候,分类模型在对源域数据和目标域数据的共有特征进行学习的时候,还会学习到源域数据和目标域数据的差异性特征,使得分类模型能够学习到目标域数据中更多的特征,从而对目标域数据能够进行更加准确的分类。
[0143] 参见图4所示,本申请实施例还提供一种分类方法,该方法包括:
[0144] S401:获取待分类数据;
[0145] S402:将待分类数据输入至通过本申请实施例提供的分类模型训练方法得到的分类模型中,得到待分类数据的分类结果;
[0146] 其中,分类模型包括:神经网络、共有特征捕捉层和第一分类器。
[0147] 此处,待分类数据为目标域数据,或者与目标域具有相同特征的数据。
[0148] 使用本申请实施例提供的分类模型训练方法所得到的分类模型,对待分类数据进行分类,能够得到更加准确的分类结果。
[0149] 基于同一申请构思,本申请实施例中还提供了与分类模型训练方法对应的分类模型训练装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述分类模型训练方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0150] 参见图5所示,本申请实施例提供的分类模型训练装置包括:
[0151] 获取模块10,用于获取带有标签的源域数据以及不带标签的目标域数据;
[0152] 第一处理模块20,用于将源域数据以及目标域数据输入同一神经网络,为源域数据提取源域特征向量,并为目标域数据提取目标域特征向量;
[0153] 第二处理模块30,用于将源域特征向量和目标域特征向量输入共有特征捕捉层,并分别将捕捉的源域数据的源域共有特征向量和目标域数据的目标域共有特征向量输入第一分类器,得到源域数据的第一分类结果和目标域数据的第一分类结果;以及,[0154] 第三处理模块40,用于将源域特征向量和目标域特征向量输入差异特征捕捉层,并分别将捕捉的源域数据的源域差异特征向量和目标域数据的目标域差异特征向量输入第二分类器,得到源域数据的第二分类结果和目标域数据的第二分类结果;
[0155] 训练模块50,用于基于目标域数据的第一分类结果与目标域数据的第二分类结果之间的比对结果,以及源域数据的第一分类结果与源域数据的第二分类结果之间的比对结果,对神经网络、共有特征捕捉层、以及第一分类器进行本轮训练;经过对神经网络、共有特征捕捉层、以及第一分类器进行多轮训练,得到分类模型。
[0156] 可选地,训练模块50,具体用于使用下述步骤对神经网络、共有特征捕捉层、以及第一分类器进行本轮训练:将目标域数据的第一分类结果以及目标域数据的第二分类结果之间的差值确定为第一概率损失;
[0157] 将源域数据的第一分类结果以及源域数据的第二分类结果之间的差值确定为第二概率损失;并
[0158] 根据第一概率损失以及第二概率损失,对神经网络、共有特征捕捉层以及第一分类器进行本轮训练。
[0159] 可选地,训练模块50,具体用于使用下述步骤根据第一概率损失以及第二概率损失,对神经网络、共有特征捕捉层以及第一分类器进行本轮训练:
[0160] 执行如下第一比对操作,直至第一概率损失小于预设的第一概率损失阈值;
[0161] 第一比对操作包括:
[0162] 将第一概率损失与预设的第一概率损失阈值进行比对;
[0163] 若第一概率损失不小于预设的第一概率损失阈值,则对神经网络、共有特征捕捉层、差异特征捕捉层、第一分类器和第二分类器的参数进行调整;
[0164] 执行如下第二比对操作,直至第二概率损失大于预设的第二概率损失阈值;
[0165] 第二比对操作包括:
[0166] 将第二概率损失与预设的第二概率损失阈值进行比对;
[0167] 若第二概率损失不大于预设的第二概率损失阈值,则对神经网络、共有特征捕捉层、差异特征捕捉层、第一分类器和第二分类器的参数进行调整。
[0168] 可选地,第二处理模块30,具体用于采用如下方式捕捉的源域数据的源域共有特征向量和目标域数据的目标域共有特征向量:
[0169] 将源域特征向量以及目标域特征向量输入至共有特征捕捉层,使用共有特征捕捉层提取源域共有特征向量和目标域共有特征向量;
[0170] 将源域共有特征向量和目标域共有特征向量进行梯度反向处理;
[0171] 将进行梯度反向处理的源域共有特征向量和目标域共有特征向量输入至第一域分类器;
[0172] 根据第一域分类器对源域共有特征向量和目标域共有特征向量分别表征的源域数据和目标域数据的域分类结果,对神经网络以及共有特征捕捉层的参数进行调整。
[0173] 可选地,第二处理模块30,具体用于使用下述步骤对神经网络以及共有特征捕捉层的参数进行调整:
[0174] 执行如下第一域分类损失确定操作:
[0175] 确定当前源域共有特征向量和目标域共有特征向量分别表征的源域数据和目标域数据的本次域分类的域分类损失;
[0176] 针对最近预设次数的域分类损失之间的差别不小于预设差别阈值,生成第一反馈信息,并基于第一反馈信息对神经网络、共有特征捕捉层进行参数调整;
[0177] 基于调整后的参数,使用神经网络以及共有特征捕捉层为源域数据提取新的源域共有特征向量,并为目标域数据提取新的目标域共有特征向量,并执行第一域分类损失确定操作,直至差别大于预设差别阈值,完成基于第一域分类器对神经网络以及共有特征捕捉层的本轮训练。
[0178] 可选地,第三处理模块40,具体用于采用下述步骤捕捉源域数据的源域差异特征向量和目标域数据的目标域差异特征向量:将源域特征向量以及目标域特征向量输入差异特征捕捉层,使用差异特征捕捉层提取获取源域差异特征向量和目标域差异特征向量;
[0179] 将源域差异特征向量和目标域差异特征向量输入至第二域分类器;
[0180] 根据第二域分类器对源域差异特征向量和目标域差异特征向量分别表征的源域数据和目标域数据的域分类结果,对神经网络以及差异特征捕捉层的参数进行调整。
[0181] 可选地,第三处理模块40,具体用于采用下述步骤对神经网络以及差异特征捕捉层的参数进行调整:
[0182] 执行如下第二域分类损失确定操作:
[0183] 确定当前源域差异特征向量和目标域差异特征向量分别表征的源域数据和目标域数据的本次域分类的域分类损失;
[0184] 针对域分类结果错误的情况,生成第二反馈信息,并基于第二反馈信息对神经网络以及差异特征捕捉层进行参数调整;
[0185] 基于调整后的参数,使用神经网络和差异特征捕捉层为源域数据提取新的源域差异特征向量,并为目标域数据提取新的目标域差异特征向量,并执行第二域分类损失确定操作。
[0186] 可选地,训练模块50,还用于在将捕捉的源域数据的源域共有特征向量和目标域数据的目标域共有特征向量输入第一分类器之后,执行以下第一分类损失确定操作,直至源域数据的第一分类损失不大于预设的第一分类损失阈值;
[0187] 第一分类损失确定操作包括:
[0188] 根据源域数据的第一分类结果,以及源域数据的标签,计算第一分类损失;将第一分类损失与预设的第一分类损失阈值进行比对;如果第一分类损失大于预设的第一分类损失阈值,则调整神经网络的参数、共有特征捕捉层以及第一分类器的参数;基于调整后的参数,使用神经网络、共有特征捕捉层、以及第一分类器重新获得源域数据的第一分类结果,并执行第一分类损失确定操作。
[0189] 可选地,训练模块50,还用于在将捕捉的源域数据的源域差异特征向量和目标域数据的目标域差异特征向量输入第二分类器之后,执行以下第二分类损失确定操作,直至源域数据的第二分类损失不大于预设的第二分类损失阈值;
[0190] 第二分类损失确定操作包括:
[0191] 根据源域数据的第二分类结果,以及源域数据的标签,计算第二分类损失;将第二分类损失与预设的第二分类损失阈值进行比对;如果第二分类损失大于预设的第二分类损失阈值,则调整神经网络的参数、差异特征捕捉层以及第二分类器的参数;基于调整后的参数,使用神经网络、差异特征捕捉层、以及第二分类器重新获得源域数据的第二分类结果,并执行第二分类损失确定操作。
[0192] 基于同一申请构思,本申请实施例中还提供了与分类方法对应的分类模装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述分类方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0193] 参见图6所示,本申请实施例提供的分类装置包括:
[0194] 待分类数据获取模块60,用于获取待分类数据;
[0195] 分类模块70,用于将待分类数据输入至通过本申请实施例所提供的分类模型训练方法得到的分类模型中,得到待分类数据的分类结果;
[0196] 其中,分类模型包括:神经网络、共有特征捕捉层和第一分类器。
[0197] 对应于图1中的分类模型训练方法,本申请实施例还提供了一种计算机设备,如图7所示,该设备包括存储器1000、处理器2000及存储在该存储器1000上并可在该处理器2000上运行的计算机程序,其中,上述处理器2000执行上述计算机程序时实现上述分类模型训练方法的步骤。
[0198] 具体地,上述存储器1000和处理器2000能够为通用的存储器和处理器,这里不做具体限定,当处理器2000运行存储器1000存储的计算机程序时,能够执行上述分类模型训练方法,从而解决在使用带有标签的源域数据和不带标签的目标域数据对分类模型进行训练的时候仅仅利用源域数据和目标域数据的共有特征导致的分类模型对目标域数据进行分类存在误差的问题,进而达到同时将源域数据和目标域数据的相同特征和差异特征利用起来,训练得到的分类模型能够对目标域数据进行更加准确的分类的效果。
[0199] 对应于图1中的分类模型训练方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述分类模型训练方法的步骤。
[0200] 具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述分类模型训练方法,从而解决在使用带有标签的源域数据和不带标签的目标域数据对分类模型进行训练的时候仅仅利用源域数据和目标域数据的共有特征导致的分类模型对目标域数据进行分类存在误差的问题,进而达到同时将源域数据和目标域数据的相同特征和差异特征利用起来,训练得到的分类模型能够对目标域数据进行更加准确的分类的效果。
[0201] 本申请实施例所提供的分类模型训练方法以及分类方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
[0202] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0203] 功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0204] 以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

当前第1页 第1页 第2页 第3页