迁移学习方法、装置、计算机设备和存储介质与流程

文档序号:15933937发布日期:2018-11-14 02:05阅读:213来源:国知局

本申请涉及到机器学习领域,特别是涉及到迁移学习方法、装置、计算机设备和存储介质。

背景技术

目前的深度学习框架下,需要大量的标注数据来训练模型,对数据进行标注的工作耗时长、成本高,耗费大量人力、物力和财力,即便如此,通过有限的标注数据训练得到的模型的泛化能力提升空间有限,只能实现同类型数据迁移,数据类型跨度大、区别大时,在新的数据集上的反馈效果将会大打折扣,这极大的限制了深度学习方法在业界的应用范围和推广速度。



技术实现要素:

本申请的主要目的为提供一种迁移学习方法,旨在解决有限标注数据导致训练模型的泛化能力较差的技术问题。

本申请提供了一种应用于迁移学习网络的迁移学习方法,迁移学习网络包括共用同一特征提取层的任务训练网络和域分类网络,任务训练网络还包括任务训练模型,域分类网络还包括域分类器,所述方法包括:

将指定任务的标注数据输入所述任务训练模型进行模型训练,以获取到特征提取层的第一参数;

锁定所述第一参数,将未标注数据和所述标注数据混合输入所述域分类网络,以获取到所述域分类器区分所述未标注数据和所述标注数据的第二参数;

锁定所述第二参数,所述域分类器联合所述任务训练模型共同训练所述特征提取层,以获取所述特征提取层不区分所述未标注数据和所述标注数据的第三参数;

基于所述第三参数,将所述特征提取层根据所述标注数据训练得到的训练结果迁移至所述未标注数据,对所述未标注数据进行识别。

优选地,所述锁定所述第二参数,所述域分类器联合所述任务训练模型共同训练所述特征提取层,以获取所述特征提取层不区分所述未标注数据和所述指定标注数据的第三参数的步骤,包括:

通过所述域分类器的交叉熵loss函数联合所述任务训练模型的交叉熵loss函数共同反传训练所述特征提取层,以获取所述特征提取层不区分所述未标注数据和所述指定标注数据的第三参数。

优选地,所述通过所述域分类器的交叉熵loss函数联合所述任务训练模型的交叉熵loss函数共同反传训练所述特征提取层,以获取所述特征提取层不区分所述未标注数据和所述指定标注数据的第三参数的步骤,包括:

修改所述域分类器的交叉熵loss函数,修改后的loss函数为:loss=-(log2p)2-[log(2-2p)]2,其中p为二分类数据中的某一分类的标定;

锁定所述第二参数,将修改后的所述域分类器的loss函数和所述任务训练模型的loss函数相加得到loss函数之和;

通过所述loss函数之和梯度反向传播训练所述特征提取层;

训练至所述loss函数之和达到预设值时,确定所述第三参数。

优选地,所述锁定所述第二参数,所述域分类器联合所述任务训练模型共同训练所述特征提取层,以获取所述特征提取层不区分所述未标注数据和所述指定标注数据的第三参数的步骤之后,包括:

优化训练过程中的学习率和梯度比例;

依次迭代所述第一参数、第二参数以及第三参数的训练过程指定次数,以获得所述迁移学习网络的所述特征提取层的优化参数以及所述域分类器的优化参数。

优选地,标注人脸图像数据为所述标注数据,指定种类动物的脸部数据为所述未标注数据,所述指定任务为人脸识别任务;所述依次迭代所述第一参数、第二参数以及第三参数的训练过程指定次数,以获得迁移学习网络的特征提取层的优化参数以及域分类器的优化参数的步骤之后,包括:

锁定所述迁移学习网络中所述特征提取层的优化参数、所述域分类器的优化参数参数以及所述人脸识别任务的识别模型参数,将所述标注人脸数据和未标注指定种类动物的数据混合输入所述迁移学习网络进行迁移学习;

输出所述指定种类动物的标注数据。

本申请还提供了一种迁移学习装置,迁移学习网络包括共用同一特征提取层的任务训练网络和域分类网络,任务训练网络还包括任务训练模型,域分类网络还包括域分类器,所述装置包括:

第一输入模块,用于将指定任务的标注数据输入所述任务训练模型,以获取到特征提取层的第一参数;

第二输入模块,用于锁定所述第一参数,将未标注数据和所述标注数据混合输入所述域分类网络,以获取到所述域分类器区分所述未标注数据和所述标注数据的第二参数;

训练模块,用于锁定所述第二参数,所述域分类器联合所述任务训练模型共同训练所述特征提取层,以获取所述特征提取层不区分所述未标注数据和所述标注数据的第三参数;

迁移模块,用于基于所述第三参数,将所述特征提取层根据所述标注数据训练得到的训练结果迁移至所述未标注数据,对所述未标注数据进行识别。

本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。

本申请通过开发从标注数据迁移到未标注数据的迁移学习网络,实现对未标注数据的有效识别,扩展数据标注,提高现有模型的泛化能力;通过迁移学习网络将已标注数据的特征提取方式迁移到未标注数据上,进行自动标注识别,提高标注数据的映射适用范围,使数据标注更方便、快捷、准确,迁移范围更广泛,使得更有利于模型的推广和普及应用;创建基于域分类训练网络和任务训练网络的迁移学习网络,对数据类型不作区分,扩大适用范围,实现从标注数据到未标注数据的有效迁移,为数据标注节省了大量的人力、物力和财力。

附图说明

图1本申请一实施例的迁移学习方法的流程示意图;

图2本申请一实施例的迁移学习装置的结构示意图;

图3本申请一实施例的训练模块的结构示意图;

图4本申请一实施例的训练单元的结构示意图;

图5本申请另一实施例的迁移学习装置的结构示意图;

图6本申请再一实施例的迁移学习装置的结构示意图;

图7本申请又一实施例的迁移学习装置的结构示意图;

图8本申请又一实施例的迁移学习装置的结构示意图;

图9本申请一实施例的计算机内部结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

参照图1,本申请一实施例的应用于迁移学习网络的迁移学习方法,迁移学习网络包括共用同一特征提取层的任务训练网络和域分类网络,任务训练网络还包括任务训练模型,域分类网络还包括域分类器,所述方法包括:

s1:将指定任务的标注数据输入任务训练模型进行模型训练,以获取到特征提取层的第一参数。

本步骤中的标注数据的种类和内容量依据指定任务的不同而不同,其中标注数据的内容量为几千张、几万张或十几万张的图片。本步骤的任务训练网络包括特征提取层mf和任务训练模型mt两部分。本实施例的mf主要接收图片输入,输出编码之后的图片,mf使用vgg-16(visualgeometrygroup,牛津大学的视觉几何研究组开发的卷积神经网络结构,16表示其深度)已经训练好的模型与权重参数来预测图片的类别,无需再训练神经网络权重参数,以提高特征提取的准确性并节约训练成本,进一步提高本实施例中迁移学习网络的迁移能力评估。vgg-16应用了两个卷积层,每个卷积层都是64个过滤器,2个卷积->pool(池化)->2个卷积->pool->3个卷积->pool->3个卷积->pool->3个卷积->pool->全连接->全连接->softmax(softmax是一个函数,主要应用就是多分类,softmax函数是sigmoid函数的扩展,sigmoid函数只能分两类,而softmax能分多类)。vgg-16的卷积层和池化层的过滤器设置如下:卷积核:3*3;步长:1;使用最大池化核:2*2;步长:2。还有一个需要注意的是卷积层的过滤器即卷积核的个数,是从64->128->256->512->512。随着每层输出矩阵长宽成倍的缩小,卷积核的个数成倍的增长。

本实施例的任务训练网络满足应用的第一步是训练任务训练模型,在训练过程中首先输入标注数据(此处为图像)进入任务训练模型,随后任务训练模型的输出或预测结果会与预期结果(即图像的标签)进行比较。任务训练模型每次完成对数据的迭代后,任务训练模型的权重会得到调整,以减少预测的误差率,即通过调整权重,使任务训练模型的预测结果与实际图像标签的匹配率可得到改善。当任务训练模型收敛时,任务训练模型的预测结果与实际图像标签的匹配率最佳。训练完毕后,任务训练模型可以用于推断,即对其读取的图像数据进行预测,输出:预测图片(包括类名,语义概念,预测概率等标注信息)。

本实施例中mt代表任务训练模型,本实施例中采取两层1024个节点的全连接层加一层softmax。本步骤通过标注数据正常反传训练mf和mt,mt训练收敛时,获得mf的最佳权重。通过将标注数据输入到mf的vgg-16卷积层和池化层进行监督训练,训练收敛时,mt对vgg-16的卷积层和池化层输出的特征向量具有良好的识别效果,此时的vgg-16的卷积层权重和池化层权重即mf的第一参数,此时表示mf输出的特征向量在特征识别任务上有较好的表现。

s2:锁定所述第一参数,将未标注数据和上述标注数据混合输入域分类网络,以获取到域分类器区分未标注数据和上述标注数据的第二参数。

本实施例中未标注数据为b数据(无详细标注信息),标注数据为a数据(具有详细标注信息)。本实施例的域分类网络包括特征提取层mf和二分类域分类器md两部分,md是一个域分类器,使用两层全连接层加一层softmax层实现,本实施例的迁移学习能力在于增加了域分类器md,本实施例的域分类网络和任务训练网络共用同一特征提取层mf。本步骤在训练二分类域分类网络时,锁定mf的第一参数,锁定即保持mf的参数不变,通过锁定mf的第一参数(即mf识别标注数据的权重参数),使得mf保持对a数据的特征向量识别效果最佳,然后将a数据和b数据随机混合后共同训练md,当二分类域分类网络训练收敛时,表示根据当前mf输出的特征向量,二分类域分类器md可将a数据和b数据进行最佳的有效区分。本步骤在训练过程中将a数据和b数据随机混合后随即输入二分类域分类网络,a数据和b数据同时训练md,训练收敛时记录对应二分类域分类器的权重参数,即第二参数,所以md在第二参数下对a数据和b数据区分效果最佳。

s3:锁定所述第二参数,所述域分类器联合所述任务训练模型共同训练所述特征提取层,以获取所述特征提取层不区分所述未标注数据和上述标注数据的第三参数。

本实施例的第三参数为mf不区分标注数据和未标注数据时的权重参数。通过锁定步骤s2中的md的第二参数,打开mf,md联合mt共同反传训练mf,以便mf输出的特征向量同时满足任务需求,且对a数据和b数据的不进行区分识别,以便实现在a数据上训练的模型可以在b数据上达到同样的效果,即在a数据上训练的模型同样可识别并提取b数据的特征,并输出b数据的特征向量。使得mf在标注数据a上训练的效果可以迁移到数据分布不同的b数据上,实际业务中b数据将会是新的业务数据,没有标注信息,但在业务b数据上达到一个接近a数据的业务指标效果,并且没有标注成本。

s4:基于所述第三参数,将所述特征提取层根据所述标注数据训练得到的训练结果迁移至所述未标注数据,对所述未标注数据进行识别。

本实施例可通过mf对a数据和b数据的不进行区分识别的作用,直接通过训练模型迁移到其他应用领域的无标注数据,提高训练模型的泛化能力,以便扩大训练模型的适用范围,进一步推广训练模型的推广和普及应用。本申请其他实施例也可通过mf对数据a和数据b的不进行区分识别的作用,将a数据的标注信息特征迁移到b数据上,使b数据成为与a数据具有相同或近似的数据分布规律的新业务标注信息,通过在未标注数据上实现自动标注识别,提高数据标注的便利性和实用性,使数据标注更方便、快捷、准确,迁移范围更广泛,使得更有利于模型的推广和普及应用,同时也为数据标注节省了大量的人力、物力和财力。

进一步地,步骤s3,包括:

s30:通过所述域分类器的交叉熵loss函数联合所述任务训练模型的交叉熵loss函数共同反传训练所述特征提取层,以获取所述特征提取层不区分所述未标注数据和所述指定标注数据的第三参数。

本实施例通过md的交叉熵loss函数联合mt的交叉熵loss函数共同反传训练mf,以便在训练mf的同时利用已经训练好的域分类器md的参数,达到最终mf的参数(即第三参数)可以对不同领域范围的标注数据和未标注数据不做任何区分的目的,即将对标注数据的特征识别效果同样也用于未标注数据上。

进一步地,上述步骤s30,包括:

s301:修改所述域分类器的交叉熵loss函数,修改后的loss函数为:loss=-(log2p)2-[log(2-2p)]2,其中p为二分类数据中的某一分类的标定。

本实施例中域分类器的原loss函数为:loss=-(logp)-[log(1-p)],其中p为二分类数据中的某一分类的标定,比如p为a数据的标定,原loss函数表示原特征提取层对二分类数据有较好的区分。本实施例为了让特征提取层mf对二分类数据不作区分,则md的交叉熵loss函数为-2*log0.5时梯度消散效果最佳,则a数据和b数据的区分效果最不好,达到特征提取层mf对二分类数据不作区分的效果,可实现特征提取层mf从a数据到b数据的迁移学习。为了满足上述的对a数据和b数据不作区分的最佳条件,将域分类器的原loss函数替换为:loss=-(log2p)2-[log(2-2p)]2,其中p为二分类数据中的某一分类的标定,则在模型的softmax输出为[0.5,0.5]时,达到修改后的loss函数的最小值,此时特征提取层mf对二分类数据不作任何区分。

s302:锁定所述第二参数,将修改后的所述域分类器的交叉熵loss函数和所述任务训练模型的交叉熵loss函数相加得到loss函数之和。

本实施例通过将修改后的域分类器的交叉熵loss函数和任务训练模型的交叉熵loss函数相加得到loss函数之和的方式,使md的交叉熵loss函数跟mt的交叉熵loss函数共同训练mf的参数,使得md的交叉熵loss函数跟mt的交叉熵loss函数对mf有相同的变化趋势的影响。当mf的softmax输出为[05,0.5]时达到训练收敛,loss函数达到最小值,以便在训练mf的同时利用已经训练好的域分类器md的参数,达到最终mf对不同领域范围的标注数据和未标注数据不做区分的目的。

s303:通过所述loss函数之和梯度反向传播训练所述特征提取层。

本实施例通过域分类器的loss函数和所述任务训练模型的loss函数相加得到loss函数之和,然后通过梯度反向传播训练所述特征提取层mf,当域分类器的loss函数和任务训练模型的loss函数均趋近于最小时,loss函数之和趋近于最小,达到优化目的。本步骤的训练目的是在训练任务模型的同时,利用已经训练好的域分类器的参数,使得最终mf对不同领域的标注数据和未标注数据不做区分,使mf在不同领域的标注数据和未标注数据间进行有效迁移。

s304:训练至所述loss函数之和达到预设值时,确定第三参数。

本步骤中的预设值为趋近于零的某一确定值,比如10-6,10-12等,以便loss函数之和达到趋近于零的趋势,此时域分类器md的输出结果为[0.5,0.5],表示特征提取层mf对不同领域的标注a数据和未标注b数据的区分效果最弱,或对a数据和b数据不作区分,训练到mf对不同领域的标注a数据和未标注b数据的区分效果最弱时,对应的mf的权重参数为第三参数。

本申请另一实施例中,步骤s3之后,包括:

s31:优化训练过程中的学习率和梯度比例。

本实施例中,为了达到最佳的迁移学习效果,将上述步骤s1、s2和s3多次迭代进行,不断调整学习率和梯度比例,来修正loss函数权重以实现迁移学习网络中mf、mt和md各部分的收敛。本实施例利用梯度下降的算法,通过迭代找到交叉熵函数的一个可行解或最优解。但是在利用梯度下降算法求解的过程中,由于维度之间的差异使得收敛的很慢,梯度下降算法每次迭代,都会受到学习率的影响。学习率的选择非常重要,如果学习率过大,会导致求解的过程不稳定,导致每次迭代可能不会减小代价函数的结果,甚至会超过局部最小值导致无法收敛。如果学习率太小,导致求解的速度太慢,达到收敛所需要迭代的次数就会非常高,不利于算法的求解。本实施例采用变换的学习率,当梯度大的时候,学习率也大,梯度小的时候,学习率也小,学习率采用与梯度正相关的关系,存在一个比例系数,采用固定的比例系数,得到的结果就是w(t+1)=w(t)-学习率*梯度变化率(w),可缓解求解问题,优化训练过程。本实施例从以下几个数值开始试验学习率的值,0.001,0.003,0.01,0.03,0.1,0.3,1,…。学习率初始值为0.001,不符合预期乘以3倍用0.003代替,不符合预期再用0.01替代,如此循环直至找到最合适的学习率。即在为梯度下降算法选择合适的学习率时,可以大致按3的倍数再按10的倍数来选取一系列学习率值,直到找到一个最小值,同时找到另一最大值。其中最大的学习率值,或者比最大值略小一些的学习率值就是最佳的学习率值。实验证明本实施例的学习率设置为0.1或者0.1附近时效果较佳。

s32:依次迭代所述第一参数、第二参数以及第三参数的训练过程指定次数,以获得上述迁移学习网络的特征提取层的优化参数以及域分类器的优化参数。

本实施例中为了进一步优化从a数据到b数据的迁移学习效果,通过上述梯度下降计算法不断调整学习率和梯度比例,以便通过多次迭代训练,逐步优化迁移学习网络的mf、mt和md各部分的参数,提高迁移学习效果。比如,经过一次步骤s1到步骤s3的训练,迁移学习网络从a数据到b数据的迁移学习效果,表示为对b数据的标注识别率为90%,经过多次迭代进行步骤s1到步骤s3的训练后,迁移学习网络从a数据到b数据的迁移学习效果,表示为对b数据的标注识别率为98%,或接近100%,大大提高了迁移学习网络的泛化能力。

进一步地,本申请再一实施例中,标注人脸图像数据为所述标注数据,指定种类动物的脸部数据为所述未标注数据,所述指定任务为人脸识别任务;步骤s32之后,包括:

s33:锁定迁移学习网络中特征提取层的优化参数、域分类器的优化参数以及人脸识别任务的识别模型参数,将所述标注人脸数据和未标注指定种类动物的数据混合输入所述迁移学习网络进行迁移学习。

本实施例为迁移学习网络的应用验证,本实施例通过从一领域的标注数据迁移到对另一领域的未标注数据完成标注识别为例。比如a数据为用于人脸识别的标注人脸图像数据,b数据为未标注的猪脸、猫脸或象脸等其他动物的脸部数据。比如,本实施例以从标注的人脸图像数据迁移至未标注的猪脸图像数据为例,通过标注人脸图像数据确定迁移学习网络的mf、mt和md各部分参数。将已确定的迁移学习网络的mf、mt和md各部分参数,用于从标注的人脸图像数据迁移至未标注的猪脸图像数据进行特征标注。

s34:输出指定种类动物标注数据。

本实施例通过将用于人脸识别的标注人脸图像a数据以及未标注的猪脸图像b数据,输入到上述优化好各参数的迁移学习网络中,迁移学习网络最后输出的猪脸数据的正确标注率高达99%,表明本申请的迁移学习网络实现了从标注数据到未标注数据的良好的迁移学习能力,为数据标注节省了大量的人力、物力和财力。本申请其他实施例也可通过迁移学习网络的直接跨领域迁移使用,使得迁移学习在已标注数据的领域和未标注数据的新业务领域达到相同或近似的识别效果,省却对未标注数据的标注工作。

进一步地,本实施例步骤s34之后,包括:

s35:将所述指定种类动物标注数据输入动物类别识别模型进行模型训练。

本步骤中的动物类别识别模型通过将上述通过迁移学习获得的标注信息后的猪脸图像b数据输入卷积神经网络训练得到能精准识别动物类别的识别模型,并可根据不同的识别目标进行选择和预先设置卷积神经网络的组成结构。举例地,本实施例的动物类别识别模型为我国地方猪种的分类,通过上述动物类别识别模型,有效识别现有养殖猪的分类信息,为养殖业提供有力的数据分析。我国地方猪种可分为华北、华南、华中、江海、西南、高原六大类型,每一个类型又有许多独特的猪种类型,原有通过人工标注数据的工作量极大,且容易出现误差,通过上述的迁移学习网络进行猪脸数据标注,大大提高了业务数据处理能力。

s36:将待分类猪脸图像输入动物类别识别模型,以获取动物类别识别模型中动物类别分类的输出数据。

本实施例通过将待分类猪脸数据输入上述动物类别识别模型,直接识别猪种种类,为养殖业、猪肉市场等领域提供有力的数据支持,提高生产率。

进一步地,步骤s36之后,还包括:

s37:将所述指定种类动物标注数据输入动物性别识别模型进行模型训练。

本实施例通过对数据标注工作后的应用详述,进一步说明通过迁移学习获得的标注数据的实际应用能力。本实施例通过将新获得标注的猪脸图像b数据用于母猪和公猪的性别识别模型的卷积神经网络结构进行训练,获得了对母猪和公猪的有效分类的性别识别模型。母猪和公猪的肉质不同,根据性别识别模型获取猪的性别信息,更有利于养殖业主根据对母猪和公猪的方便,实现在大批量种猪养殖过程中,区分养护饲料、养殖区域等,以便根据猪肉市场的需求,有效把控养殖过程。

s38:将待测猪脸图像输入动物性别识别模型,以获取动物性别模型中动物性别分类的输出数据。

本实施例通过迁移学习获得的猪脸标注数据对养猪用户提供更细致的区别,以便更针对性地细化养殖过程中的工作,包括饲料匹配、养殖时间管控等,使养殖业更科学化,更有数据可依。

本申请通过开发从标注数据迁移到未标注数据的迁移学习网络,实现对未标注数据的有效识别,扩展数据标注,提高现有模型的泛化能力;通过迁移学习网络将已标注数据的特征提取方式迁移到未标注数据上,进行自动标注识别,提高数据标注的适用范围,使数据标注更方便、快捷、准确,迁移范围更广泛,使得更有利于模型的推广和普及应用;创建基于域分类训练网络和任务训练网络的迁移学习网络,对数据类型不作区分,扩大适用范围,实现从标注数据到未标注数据的有效迁移,为数据标注节省了大量的人力、物力和财力。

参照图2,本申请还提供了一种迁移学习装置,迁移学习网络包括共用同一特征提取层的任务训练网络和域分类网络,任务训练网络还包括任务训练模型,域分类网络还包括域分类器,所述装置包括:

第一输入模块1,用于将指定任务的标注数据输入任务训练模型进行模型训练,以获取到特征提取层的第一参数。

本实施例中的标注数据的种类和内容量依据指定任务的不同而不同,其中标注数据的内容量为几千张、几万张或十几万张的图片。本实施例的任务训练网络包括特征提取层mf和任务训练模型mt两部分。本实施例的mf主要接收图片输入,输出编码之后的图片,mf使用vgg-16(visualgeometrygroup,牛津大学的视觉几何研究组开发的卷积神经网络结构,16表示其深度)已经训练好的模型与权重参数来预测图片的类别,无需再训练神经网络权重参数,以提高特征提取的准确性并节约训练成本,进一步提高本实施例中迁移学习网络的迁移能力评估。vgg-16应用了两个卷积层,每个卷积层都是64个过滤器,2个卷积->pool(池化)->2个卷积->pool->3个卷积->pool->3个卷积->pool->3个卷积->pool->全连接->全连接->softmax(softmax是一个函数,主要应用就是多分类,softmax函数是sigmoid函数的扩展,sigmoid函数只能分两类,而softmax能分多类)。vgg-16的卷积层和池化层的过滤器设置如下:卷积核:3*3;步长:1;使用最大池化核:2*2;步长:2。还有一个需要注意的是卷积层的过滤器即卷积核的个数,是从64->128->256->512->512。随着每层输出矩阵长宽成倍的缩小,卷积核的个数成倍的增长。

本实施例的任务训练网络满足应用的第一步是训练任务训练模型,在训练过程中首先输入标注数据(此处为图像)进入任务训练模型,随后任务训练模型的输出或预测结果会与预期结果(即图像的标签)进行比较。任务训练模型每次完成对数据的迭代后,任务训练模型的权重会得到调整,以减少预测的误差率,即通过调整权重,使任务训练模型的预测结果与实际图像标签的匹配率可得到改善。当任务训练模型收敛时,任务训练模型的预测结果与实际图像标签的匹配率最佳。训练完毕后,任务训练模型可以用于推断,即对其读取的图像数据进行预测,输出:预测图片(包括类名,语义概念,预测概率等标注信息)。

本实施例中mt代表任务训练模型,本实施例中采取两层1024个节点的全连接层加一层softmax。本实施例通过标注数据正常反传训练mf和mt,mt训练收敛时,获得mf的最佳权重。通过将标注数据输入到mf的vgg-16卷积层和池化层进行监督训练,训练收敛时,mt对vgg-16的卷积层和池化层输出的特征向量具有良好的识别效果,此时的vgg-16的卷积层权重和池化层权重即mf的第一参数,此时表示mf输出的特征向量在特征识别任务上有较好的表现。

第二输入模块2,用于锁定所述第一参数,将未标注数据和上述标注数据混合输入域分类网络,以获取到域分类器区分未标注数据和上述标注数据的第二参数。

本实施例中未标注数据为b数据(无详细标注信息),标注数据为a数据(具有详细标注信息)。本实施例的域分类网络包括特征提取层mf和二分类域分类器md两部分,md是一个域分类器,使用两层全连接层加一层softmax层实现,本实施例的迁移学习能力在于增加了域分类器md,本实施例的域分类网络和任务训练网络共用同一特征提取层mf。本实施例在训练二分类域分类网络时,锁定mf的第一参数,锁定即保持mf的参数不变,通过锁定mf的第一参数(即mf识别标注数据的权重参数),使得mf保持对a数据的特征向量识别效果最佳,然后将a数据和b数据随机混合后共同训练md,当二分类域分类网络训练收敛时,表示根据当前mf输出的特征向量,二分类域分类器md可将a数据和b数据进行最佳的有效区分。本实施例在训练过程中将a数据和b数据随机混合后随即输入二分类域分类网络,a数据和b数据同时训练md,训练收敛时记录对应二分类域分类器的权重参数,即第二参数,所以md在第二参数下对a数据和b数据区分效果最佳。

训练模块3,用于锁定所述第二参数,所述域分类器联合所述任务训练模型共同训练所述特征提取层,以获取所述特征提取层不区分所述未标注数据和上述标注数据的第三参数。

本实施例的第三参数为mf不区分标注数据和未标注数据时的权重参数。通过锁定实施例第二输入模块2中的md的第二参数,打开mf,md联合mt共同训练mf,以便mf输出的特征向量同时满足任务需求,且对a数据和b数据的不进行区分识别,以便实现在a数据上训练的模型可以在b数据上达到同样的效果,即在a数据上训练的模型同样可识别并提取b数据的特征,并输出b数据的特征向量。使得mf在标注数据a上训练的效果可以迁移到数据分布不同的b数据上,实际业务中b数据将会是新的业务数据,没有标注信息,但在业务b数据上达到一个接近a数据的业务指标效果,并且没有标注成本。

迁移模块4,用于基于所述第三参数,将所述特征提取层根据所述标注数据训练得到的训练结果迁移至所述未标注数据,对所述未标注数据进行识别。

本实施例可通过mf对a数据和b数据的不进行区分识别的作用,直接通过训练模型迁移到其他应用领域的无标注数据,提高训练模型的泛化能力,以便扩大训练模型的适用范围,进一步推广训练模型的推广和普及应用。本申请其他实施例也可通过mf对数据a和数据b的不进行区分识别的作用,将a数据的标注信息特征迁移到b数据上,使b数据成为与a数据具有相同或近似的数据分布规律的新业务标注信息,通过在未标注数据上实现自动标注识别,提高数据标注的便利性和实用性,使数据标注更方便、快捷、准确,迁移范围更广泛,使得更有利于模型的推广和普及应用,同时也为数据标注节省了大量的人力、物力和财力。

参照图3,本实施例的训练模块3,包括:

训练单元30:用于通过所述域分类器的交叉熵loss函数联合所述任务训练模型的交叉熵loss函数共同反传训练所述特征提取层,以获取所述特征提取层不区分所述未标注数据和所述指定标注数据的第三参数。

本实施例通过md的交叉熵loss函数联合mt的交叉熵loss函数共同反传训练mf,以便在训练mf的同时利用已经训练好的域分类器md的参数,达到最终mf的参数(即第三参数)可以对不同领域范围的标注数据和未标注数据不做任何区分的目的,即将对标注数据的特征识别效果同样也用于未标注数据上。

参照图4,本实施例的训练单元30,包括:

修改子单元301,用于修改所述域分类器的交叉熵loss函数,修改后的loss函数为:loss=-(log2p)2-[log(2-2p)]2,其中p为二分类数据中的某一分类的标定。

本实施例中域分类器的原loss函数为:loss=-(logp)-[log(1-p)],其中p为二分类数据中的某一分类的标定,比如p为a数据的标定,原loss函数表示原特征提取层对二分类数据有较好的区分。本实施例为了让特征提取层mf对二分类数据不作区分,则md的交叉熵loss函数为-2*log0.5时梯度消散效果最佳,则a数据和b数据的区分效果最不好,达到特征提取层mf对二分类数据不作区分的效果,可实现特征提取层mf从a数据到b数据的迁移学习。为了满足上述的对a数据和b数据不作区分的最佳条件,将域分类器的原loss函数替换为:loss=-(log2p)2-[log(2-2p)]2,其中p为二分类数据中的某一分类的标定,则在模型的softmax输出为[0.5,0.5]时,达到修改后的loss函数的最小值,此时特征提取层mf对二分类数据不作任何区分。

相加子单元302,用于锁定所述第二参数,将修改后的所述域分类器的交叉熵loss函数和所述任务训练模型的交叉熵loss函数相加得到loss函数之和。

本实施例通过将修改后的域分类器的交叉熵loss函数和任务训练模型的交叉熵loss函数相加得到loss函数之和的方式,使md的交叉熵loss函数跟mt的交叉熵loss函数共同训练mf的参数,使得md的交叉熵loss函数跟mt的交叉熵loss函数对mf有相同的变化趋势的影响。当mf的softmax输出为[05,0.5]时达到训练收敛,loss函数达到最小值,以便在训练mf的同时利用已经训练好的域分类器md的参数,达到最终mf对不同领域范围的标注数据和未标注数据不做区分的目的。

训练子单元303,用于通过所述loss函数之和梯度反向传播训练所述特征提取层。

本实施例通过域分类器的loss函数和所述任务训练模型的loss函数相加得到loss函数之和,然后通过梯度反向传播训练所述特征提取层mf,当域分类器的loss函数和任务训练模型的loss函数均趋近于最小时,loss函数之和趋近于最小,达到优化目的。本实施例的训练目的是在训练任务模型的同时,利用已经训练好的域分类器的参数,使得最终mf对不同领域的标注数据和未标注数据不做区分,使mf在不同领域的标注数据和未标注数据间进行有效迁移。

确定子单元304,用于训练至所述loss函数之和达到预设值时,确定第三参数。

本实施例中的预设值为趋近于零的某一确定值,比如10-6,10-12等,以便loss函数之和达到趋近于零的趋势,此时域分类器的md输出结果为[0.5,0.5],表示特征提取层mf对不同领域的标注a数据和未标注b数据的区分效果最弱,或对a数据和b数据不作区分,训练到mf对不同领域的标注a数据和未标注b数据的区分效果最弱时,对应的mf的权重参数为第三参数。

参照图5,本申请另一实施例的迁移学习装置,包括:

优化模块31,用于优化训练过程中的学习率和梯度比例。

本实施例中,为了达到最佳的迁移学习效果,将上述步骤s1、s2和s3多次迭代进行,不断调整学习率和梯度比例,来修正loss函数权重以实现迁移学习网络中mf、mt和md各部分的收敛。本实施例利用梯度下降的算法,通过迭代找到交叉熵函数的一个可行解或最优解。但是在利用梯度下降算法求解的过程中,由于维度之间的差异使得收敛的很慢,梯度下降算法每次迭代,都会受到学习率的影响。学习率的选择非常重要,如果学习率过大,会导致求解的过程不稳定,导致每次迭代可能不会减小代价函数的结果,甚至会超过局部最小值导致无法收敛。如果学习率太小,导致求解的速度太慢,达到收敛所需要迭代的次数就会非常高,不利于算法的求解。本实施例采用变换的学习率,当梯度大的时候,学习率也大,梯度小的时候,学习率也小,学习率采用与梯度正相关的关系,存在一个比例系数,采用固定的比例系数,得到的结果就是w(t+1)=w(t)-学习率*梯度变化率(w),可缓解求解问题,优化训练过程。本实施例从以下几个数值开始试验学习率的值,0.001,0.003,0.01,0.03,0.1,0.3,1,…。学习率初始值为0.001,不符合预期乘以3倍用0.003代替,不符合预期再用0.01替代,如此循环直至找到最合适的学习率。即在为梯度下降算法选择合适的学习率时,可以大致按3的倍数再按10的倍数来选取一系列学习率值,直到找到一个最小值,同时找到另一最大值。其中最大的学习率值,或者比最大值略小一些的学习率值就是最佳的学习率值。实验证明本实施例的学习率设置为0.1或者0.1附近时效果较佳。

迭代模块32,用于依次迭代所述第一参数、第二参数以及第三参数的训练过程指定次数,以获得上述迁移学习网络的特征提取层的优化参数以及域分类器优化参数。

本实施例中为了进一步优化从a数据到b数据的迁移学习效果,通过上述梯度下降计算法不断调整学习率和梯度比例,以便通过多次迭代训练,逐步优化迁移学习网络的mf、mt和md各部分的参数,提高迁移学习效果。比如,经过一次步骤s1到步骤s3的训练,迁移学习网络从a数据到b数据的迁移学习效果,表示为对b数据的标注识别率为90%,经过多次迭代进行步骤s1到步骤s3的训练后,迁移学习网络从a数据到b数据的迁移学习效果,表示为对b数据的标注识别率为98%,或接近100%,大大提高了迁移学习网络的泛化能力。

参照图6,本申请再一实施例的迁移学习装置,标注人脸图像数据为所述标注数据,指定种类动物的脸部数据为所述未标注数据,所述指定任务为人脸识别任务;包括:

迁移学习模块33,用于锁定迁移学习网络中特征提取层的优化参数、域分类器的优化参数以及人脸识别任务的识别模型参数,将所述标注人脸数据和未标注指定种类动物的数据混合输入所述迁移学习网络进行迁移学习。

本实施例为迁移学习网络的应用验证,本实施例通过从一领域的标注数据迁移到对另一领域的未标注数据完成标注识别为例。比如a数据为用于人脸识别的标注人脸图像数据,b数据为未标注的猪脸、猫脸或象脸等其他动物的脸部数据。比如,本实施例以从标注的人脸图像数据迁移至未标注的猪脸图像数据为例,通过标注人脸图像数据确定迁移学习网络的mf、mt和md各部分参数。将已确定的迁移学习网络的mf、mt和md各部分参数,用于从标注的人脸图像数据迁移至未标注的猪脸图像数据进行特征标注。

输出模块34,用于输出指定种类动物的标注数据。

本实施例通过将用于人脸识别的标注人脸图像a数据以及未标注的猪脸图像b数据,输入到上述优化好各参数的迁移学习网络中,迁移学习网络最后输出的猪脸数据的正确标注率高达99%,表明本申请的迁移学习网络实现了从标注数据到未标注数据的良好的迁移学习能力,为数据标注节省了大量的人力、物力和财力。本申请其他实施例也可通过迁移学习网络的直接跨领域迁移使用,使得迁移学习在已标注数据的领域和未标注数据的新业务领域达到相同或近似的识别效果,省却对未标注数据的标注工作。

参照图7,本申请又一实施例的迁移学习装置,还包括:

第三输入模块35,用于将所述指定种类动物标注数据输入动物类别识别模型进行模型训练。

本实施例中的动物类别识别模型通过将上述通过迁移学习获得的标注信息后的猪脸图像b数据输入卷积神经网络训练得到能精准识别动物类别的识别模型,并可根据不同的识别目标进行选择和预先设置卷积神经网络的组成结构。举例地,本实施例的动物类别识别模型为我国地方猪种的分类,通过上述动物类别识别模型,有效识别现有养殖猪的分类信息,为养殖业提供有力的数据分析。我国地方猪种可分为华北、华南、华中、江海、西南、高原六大类型,每一个类型又有许多独特的猪种类型,原有通过人工标注数据的工作量极大,且容易出现误差,通过上述的迁移学习网络进行猪脸数据标注,大大提高了业务数据处理能力。

第一获取模块36,用于将待分类猪脸图像输入动物类别识别模型,以获取动物类别识别模型中动物类别分类的输出数据。

本实施例通过将待分类猪脸数据输入上述动物类别识别模型,直接识别猪种种类,为养殖业、猪肉市场等领域提供有力的数据支持,提高生产率。

参照图8,本申请又一实施例的迁移学习装置,还包括:

第四输入模块37,用于将所述指定种类动物标注数据输入动物性别识别模型进行模型训练。

本实施例通过对数据标注工作后的应用详述,进一步说明通过迁移学习获得的标注数据的实际应用能力。本实施例通过将新获得标注的猪脸图像b数据用于母猪和公猪的性别识别模型的卷积神经网络结构进行训练,获得了对母猪和公猪的有效分类的性别识别模型。母猪和公猪的肉质不同,根据性别识别模型获取猪的性别信息,更有利于养殖业主根据对母猪和公猪的方便,实现在大批量种猪养殖过程中,区分养护饲料、养殖区域等,以便根据猪肉市场的需求,有效把控养殖过程。

第二获取模块38,用于将待测猪脸图像输入动物性别识别模型,以获取动物性别模型中动物性别分类的输出数据。

本实施例通过迁移学习获得的猪脸标注数据对养猪用户提供更细致的区别,以便更针对性地细化养殖过程中的工作,包括饲料匹配、养殖时间管控等,使养殖业更科学化,更有数据可依。

参照图9,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储迁移学习过程需要的所有数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现迁移学习方法。

上述处理器执行上述迁移学习方法,迁移学习网络包括共用同一特征提取层的任务训练网络和域分类网络,任务训练网络还包括任务训练模型,域分类网络还包括域分类器,步骤包括:将指定任务的标注数据输入所述任务训练模型进行模型训练,以获取到特征提取层的第一参数;锁定所述第一参数,将未标注数据和所述标注数据混合输入所述域分类网络,以获取到所述域分类器区分所述未标注数据和所述标注数据的第二参数;锁定所述第二参数,所述域分类器联合所述任务训练模型共同训练所述特征提取层,以获取所述特征提取层不区分所述未标注数据和所述标注数据的第三参数;基于所述第三参数,将所述特征提取层根据所述标注数据训练得到的训练结果迁移至所述未标注数据,对所述未标注数据进行识别。

上述计算机设备,通过开发从标注数据迁移到未标注数据的迁移学习网络,实现对未标注数据的有效识别,扩展数据标注,提高现有模型的泛化能力;通过迁移学习网络将已标注数据的特征提取方式迁移到未标注数据上,进行自动标注识别,提高数据标注的适用范围,使数据标注更方便、快捷、准确,迁移范围更广泛,使得更有利于模型的推广和普及应用;创建基于域分类训练网络和任务训练网络的迁移学习网络,对数据类型不作区分,扩大适用范围,实现从标注数据到未标注数据的有效迁移,为数据标注节省了大量的人力、物力和财力。

在一个实施例中,上述处理器锁定所述第二参数,所述域分类器联合所述任务训练模型共同训练所述特征提取层,以获取所述特征提取层不区分所述未标注数据和所述指定标注数据的第三参数的步骤,包括:通过所述域分类器的交叉熵loss函数联合所述任务训练模型的交叉熵loss函数共同反传训练所述特征提取层,以获取所述特征提取层不区分所述未标注数据和所述指定标注数据的第三参数。

在一个实施例中,上述处理器通过所述域分类器的交叉熵loss函数联合所述任务训练模型的交叉熵loss函数共同反传训练所述特征提取层,以获取所述特征提取层不区分所述未标注数据和所述指定标注数据的第三参数的步骤,包括:修改所述域分类器的交叉熵loss函数,修改后的loss函数为:loss=-(log2p)2-[log(2-2p)]2,其中p为二分类数据中的某一分类的标定;锁定所述第二参数,将修改后的所述域分类器的loss函数和所述任务训练模型的loss函数相加得到loss函数之和;通过所述loss函数之和梯度反向传播训练所述特征提取层;训练至所述loss函数之和达到预设值时,确定所述第三参数。

在一个实施例中,上述处理器锁定所述第二参数,所述域分类器联合所述任务训练模型共同训练所述特征提取层,以获取所述特征提取层不区分所述未标注数据和所述指定标注数据的第三参数的步骤之后,包括:优化训练过程中的学习率和梯度比例;依次迭代所述第一参数、第二参数以及第三参数的训练过程指定次数,以获得所述迁移学习网络的所述特征提取层的优化参数以及所述域分类器的优化参数。

在一个实施例中,上述处理器标注人脸图像数据为所述标注数据,指定种类动物的脸部数据为所述未标注数据,所述指定任务为人脸识别任务;所述依次迭代所述第一参数、第二参数以及第三参数的训练过程指定次数,以获得所述迁移学习网络的所述特征提取层的优化参数以及所述域分类器的优化参数的步骤之后,包括:锁定所述迁移学习网络中所述特征提取层的优化参数、所述域分类器的优化参数以及所述人脸识别任务的识别模型参数,将所述标注人脸数据和未标注指定种类动物的数据混合输入所述迁移学习网络进行迁移学习;输出所述指定种类动物的标注数据。

本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。

本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现迁移学习方法,迁移学习网络包括共用同一特征提取层的任务训练网络和域分类网络,任务训练网络还包括任务训练模型,域分类网络还包括域分类器,具体为:将指定任务的标注数据输入所述任务训练模型进行模型训练,以获取到特征提取层的第一参数;锁定所述第一参数,将未标注数据和所述标注数据混合输入所述域分类网络,以获取到所述域分类器区分所述未标注数据和所述标注数据的第二参数;锁定所述第二参数,所述域分类器联合所述任务训练模型共同训练所述特征提取层,以获取所述特征提取层不区分所述未标注数据和所述标注数据的第三参数;基于所述第三参数,将所述特征提取层根据所述标注数据训练得到的训练结果迁移至所述未标注数据,对所述未标注数据进行识别。

上述计算机可读存储介质,通过开发从标注数据迁移到未标注数据的迁移学习网络,实现对未标注数据的有效识别,扩展数据标注,提高现有模型的泛化能力;通过迁移学习网络将已标注数据的特征提取方式迁移到未标注数据上,进行自动标注识别,提高数据标注的适用范围,使数据标注更方便、快捷、准确,迁移范围更广泛,使得更有利于模型的推广和普及应用;创建基于域分类训练网络和任务训练网络的迁移学习网络,对数据类型不作区分,扩大适用范围,实现从标注数据到未标注数据的有效迁移,为数据标注节省了大量的人力、物力和财力。

在一个实施例中,上述处理器锁定所述第二参数,所述域分类器联合所述任务训练模型共同训练所述特征提取层,以获取所述特征提取层不区分所述未标注数据和所述指定标注数据的第三参数的步骤,包括:通过所述域分类器的交叉熵loss函数联合所述任务训练模型的交叉熵loss函数共同反传训练所述特征提取层,以获取所述特征提取层不区分所述未标注数据和所述指定标注数据的第三参数。

在一个实施例中,上述处理器通过所述域分类器的交叉熵loss函数联合所述任务训练模型的交叉熵loss函数共同反传训练所述特征提取层,以获取所述特征提取层不区分所述未标注数据和所述指定标注数据的第三参数的步骤,包括:修改所述域分类器的交叉熵loss函数,修改后的loss函数为:loss=-(log2p)2-[log(2-2p)]2,其中p为二分类数据中的某一分类的标定;锁定所述第二参数,将修改后的所述域分类器的loss函数和所述任务训练模型的loss函数相加得到loss函数之和;通过所述loss函数之和梯度反向传播训练所述特征提取层;训练至所述loss函数之和达到预设值时,确定所述第三参数。

在一个实施例中,上述处理器锁定所述第二参数,所述域分类器联合所述任务训练模型共同训练所述特征提取层,以获取所述特征提取层不区分所述未标注数据和所述指定标注数据的第三参数的步骤之后,包括:优化训练过程中的学习率和梯度比例;依次迭代所述第一参数、第二参数以及第三参数的训练过程指定次数,以获得所述迁移学习网络的所述特征提取层的优化参数以及所述域分类器的优化参数。

在一个实施例中,上述处理器标注人脸图像数据为所述标注数据,指定种类动物的脸部数据为所述未标注数据,所述指定任务为人脸识别任务;所述依次迭代所述第一参数、第二参数以及第三参数的训练过程指定次数,以获得所述迁移学习网络的所述特征提取层的优化参数以及所述域分类器的优化参数的步骤之后,包括:锁定所述迁移学习网络中所述特征提取层的优化参数、所述域分类器的优化参数以及所述人脸识别任务的识别模型参数,将所述标注人脸数据和未标注指定种类动物的数据混合输入所述迁移学习网络进行迁移学习;输出所述指定种类动物的标注数据。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

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