一种领域适应性网络的深度迁移学习方法与流程

文档序号:14266441阅读:306来源:国知局
一种领域适应性网络的深度迁移学习方法与流程

本发明涉及计算机数据分析技术领域,更具体地,涉及一种领域适应性网络的深度迁移学习方法。



背景技术:

互联网技术已经在生活中各个领域得到了广泛的应用,由于文本、图像、视频等非结构化数据增长速度越来越快,因此需要提出针对这些数据的分析方法和处理算法。通过各种信息渠道可以收集到大规模非结构化数据,但大部分数据中缺少标记等信息,这也就意味着常规的监督学习难以在这些数据中得以应用。

为了应对标记数据稀缺问题,推出了基于群体智慧的语义网络知识库,借助互联网用户这个近乎无限的知识资源,对一些重要领域的大规模数据进行标记和维护,如文本领域的维基百科、百度百科,图像领域的imagenet、flickr等。而另一方面有了新的思路:有效地挖掘富标记数据中有用的信息,迁移到弱标记甚至无标记的特定场景下,即迁移学习;迁移学习作为机器学习的重要前沿方向之一,目标是将源域的知识迁移到新的领域。

由于不同领域的数据不再符合机器学习的常规假设:独立同分布条件,所以迁移学习对机器学习泛化性能提出的要求更高。领域适应性网络(domainadaptationnetwork)是一种深度神经网络,其从原始问题(领域)学习到的模型可以很好的适应一个与之不同的目标问题(领域),领域适应性网络往往包括多层结构,而特征的迁移能力在领域适应性网络的中间层显著弱化,在领域适应性网络的上层严重降低;近年来迁移学习主要面临主要挑战是迁移学习过程中的可靠性,即难以同时保证领域适应性网络中各层的特征的迁移效果,特别是上层的特征的迁移效果,从而影响领域适应性网络迁移学习的效果。



技术实现要素:

为了克服上述问题或者至少部分地解决上述问题,本发明提供一种领域适应性网络的深度迁移学习方法。

根据本发明的一个方面,提供一种领域适应性网络的深度迁移学习方法,包括:确定第一概率分布与第二概率分布之间的分布差异,第一概率分布为源域的样本在领域适应性网络的任一任务相关层中的特征的概率分布,第二概率分布为目标域的样本在任一任务相关层中的特征的概率分布,任务相关层为领域适应性网络的上层,将第一概率分布与第二概率分布之间的分布差异作为任一任务相关层对应的分布差异;确定对源域和目标域中已标记的样本的分类错误率;确定对目标域的数据结构的错配度;根据每一任务相关层对应的分布差异,分类错误率和错配度,确定领域适应性网络的损失函数的值;基于损失函数的值,更新领域适应性网络的参数,以使领域适应性网络适配目标域。

其中,确定第一概率分布与第二概率分布之间的分布差异,包括:将源域和目标域中的样本输入到领域适应性网络,作正向传播,获取源域和目标域中的样本在任一任务相关层中的特征;根据源域的样本在任一任务相关层中的特征确定第一概率分布,根据目标域的样本在任一任务相关层中的特征确定第二概率分布;计算第一概率分布与第二概率分布之间的多核分布距离,将多核分布距离作为第一概率分布与第二概率分布之间的分布差异。

其中,计算第一概率分布与第二概率分布之间的多核分布距离,包括:选取含有优化参数的多个核函数作为源域和目标域的样本在任一任务相关层中的特征向可再生核希尔伯特空间映射的总核函数;基于总核函数构建第一概率分布与第二概率分布之间的分布距离函数;基于无偏估计法确定优化参数,以获得第一概率分布与第二概率分布之间的多核分布距离。

其中,确定对源域和目标域中已标记的样本的分类错误率,包括:将源域和目标域中已标记的样本输入到领域适应性网络,输出对源域和目标域中已标记的样本的预测结果;基于领域适应性网络对源域和目标域中已标记的样本的预测结果的条件概率确定分类错误率。

其中,确定对目标域的数据结构的错配度,包括:将目标域中未标记的样本输入到领域适应性网络,输出对目标域中未标记的样本的预测结果;根据领域适应性网络对源域和目标域中已标记的样本的预测结果的条件概率,并基于条件熵函数的低密度划分准则确定源域的分类模型对目标域的数据结构的错配度。

其中,基于损失函数的值,更新领域适应性网络的参数,包括:利用反向传播算法更新领域适应性网络的参数;基于更新参数后的领域适应性网络,重新确定更新参数后的损失函数的值,并判断更新参数前的损失函数的值与更新参数后的损失函数的值的差值是否大于预设值,若确定差值大于预设值,则利用反向传播算法重新更新领域适应性网络的参数,直至确定差值小于预设值。

本发明的另一方面,提供一种领域适应性网络的深度迁移学习装置,包括:至少一个处理器;以及与处理器通信连接的至少一个存储器,其中:存储器存储有可被处理器执行的程序指令,处理器调用程序指令以执行上述的方法。

本发明的又一方面,提供一种计算机程序产品,该计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,该计算机程序包括程序指令,当该程序指令被计算机执行时,使计算机执行上述的方法。

本发明的又一方面,提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机程序,该计算机程序使计算机执行上述的方法。

本发明提供的一种领域适应性网络的深度迁移学习方法,通过根据每一任务相关层对应的分布差异,分类错误率和错配度,确定领域适应性网络的损失函数的值,其中,任一任务相关层对应的分布差异为源域对应的该任一任务相关层中的特征的概率分布与目标域对应的该任一任务相关层中的特征的概率分布之间的分布差异;根据损失函数的值,更新领域适应性网络的参数,以使领域适应性网络适配目标域;从而在对领域适应性网络的深度迁移学习过程中,将源域和目标域分别对应的每一任务相关层中的特征的概率分布之间的分布差异作为领域适应性网络的损失函数的值的组成部分,在不同领域间同时匹配了深度网络的每一任务相关层,更好地修正边缘分布和条件分布在不同领域间的差异,保证了迁移学习的可靠性,最终保证领域适应性网络迁移学习的效果。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为根据本发明实施例的领域适应性网络的深度迁移学习方法的流程图;

图2为根据本发明实施例的领域适应性网络的结构图;

图3为根据本发明另一实施例的领域适应性网络的深度迁移学习方法的流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的一个实施例中,参考图1,提供一种领域适应性网络的深度迁移学习方法,包括:s11,确定第一概率分布与第二概率分布之间的分布差异,第一概率分布为源域的样本在领域适应性网络的任一任务相关层中的特征的概率分布,第二概率分布为目标域的样本在任一任务相关层中的特征的概率分布,任务相关层为领域适应性网络的上层,将第一概率分布与第二概率分布之间的分布差异作为任一任务相关层对应的分布差异;s12,确定对源域和目标域中已标记的样本的分类错误率;s13,确定对目标域的数据结构的错配度;s14,根据每一任务相关层对应的分布差异,分类错误率和错配度,确定领域适应性网络的损失函数的值;s15,基于损失函数的值,更新领域适应性网络的参数,以使领域适应性网络适配目标域。

具体的,在对领域适应性网络的训练过程中,将源域(即包含大量的标记数据的领域)的知识迁移到目标域(即缺少标记数据的领域)中,通常被称为迁移学习。对于领域适应性网络在传统意义上的训练,通常引入损失函数,损失函数度量的是预测值与真实值之间的差异;在领域适应性网络的深度迁移学习过程中,也可以引入一个损失函数,在度量预测值与真实值之间的差异的同时还需要能够度量迁移学习的效果。

然而,源域与目标域的数据服从不同的概率分布,仅将传统意义上的损失函数作为迁移学习过程中的损失函数,并不能使迁移学习达到很好的效果。

领域适应性网络往往包括多层结构,而特征的迁移能力在领域适应性网络的中间层显著弱化,在领域适应性网络的上层严重降低,领域适应性网络的中间层和上层,特别是上层是影响领域适应性网络迁移效果的主要因素;选择合适的任务相关层,将领域适应性网络的上层或者部分中间层作为任务相关层,将源域和目标域分别对应的每一任务相关层中的特征的概率分布之间的分布差异作为迁移学习过程中的损失函数的一部分,可以提高迁移学习的效果。

例如,选取在深度学习领域取得突破性进展的alexnet深度神经网络作为本实施例的领域适应性网络,如图2所示,该领域适应性网络包含一个输入层,并使用五个卷积层和两个全连接层作为特征层来提取图像特征,再用一个全连接层作为分类器层;其中,最后的三个全连接层是影响领域适应性网络迁移效果的主要因素,则将这三个全连接层作为任务相关层。

本实施例中,获取领域适应性网络对源域和目标域中已标记的样本的分类错误率,该分类错误率的是预测值与真实值之间的差异,相当于传统意义上的损失函数;获取源域和目标域分别对应的每一任务相关层中的特征的概率分布之间的分布差异;同时,领域适应性网络的内部结构对不同领域的数据结构的分类也有影响,将源域的分类模型对目标域的数据结构的错配度作为迁移学习过程中的损失函数的一部分,有利于提高领域适应性网络对目标域的数据的分类效果。

由分类错误率、源域和目标域分别对应的每一任务相关层中的特征的概率分布之间的分布差异和错配度,确定领域适应性网络的损失函数,并以此更新领域适应性网络的参数,能使领域适应性网络适配目标域,并可以达到很好的分类效果。

本实施例在对领域适应性网络的深度迁移学习过程中,将源域和目标域分别对应的每一任务相关层中的特征的概率分布之间的分布差异作为领域适应性网络的损失函数的值的组成部分,在不同领域间同时匹配了深度网络的每一任务相关层,更好地修正边缘分布和条件分布在不同领域间的差异,保证了迁移学习的可靠性,最终保证领域适应性网络迁移学习的效果。

基于以上实施例,确定第一概率分布与第二概率分布之间的分布差异,包括:将源域和目标域中的样本输入到领域适应性网络,作正向传播,获取源域和目标域中的样本在任一任务相关层中的特征;根据源域的样本在任一任务相关层中的特征确定第一概率分布,根据目标域的样本在任一任务相关层中的特征确定第二概率分布;计算第一概率分布与第二概率分布之间的多核分布距离,将多核分布距离作为第一概率分布与第二概率分布之间的分布差异。

具体的,由于特征的迁移能力在任务相关层严重降低,本实施例使用多核分布距离(multi-kerneldistributiondiscrepancy,简称为mk-dd)最小化准则进行跨领域分布匹配,以保证任务相关层的迁移能力。

多核分布距离定义为的核均值嵌入μ(p)和μ(q)在可再生希尔伯特空间hk中的欧氏距离的平方,其中,μ(p)和μ(q)分别是所选取的核k将特征的概率分布p,q映射到高维空间后的概率分布,即:

其中,xs是源域的样本,xt是目标域的样本,p是源域的样本在任务相关层中的特征的概率分布,q是目标域的样本在任务相关层中的特征的概率分布,是非线性特征映射。

源域的样本在任务相关层中的特征的概率分布可以通过向领域适应性网络输入源域的样本,获得对应的任务相关层中的特征,并根据任务相关层中的特征集合获得其概率分布;目标域的样本在任务相关层中的特征的概率分布可通过同样的方法获得。

在源域标记数据上对领域适应性网络进行微调,同时要求源域与目标域的数据分布在多个任务相关层中的特征表示下变得相似。这可以通过最小化定义在匹配层隐含特征上的多个任务相关层的mk-dd正则项来实现,形式化如下:

其中,是任务相关层的集合,ds是源域的数据集合,dt是目标域的数据集合。

本实施例使用多核方法并选择合适的核函数,核函数选择对dd的不同领域的样本检验效能有着重要影响,合适的核函数可以充分匹配不同阶次的统计量,可以更好的实现迁移学习。

基于以上实施例,计算第一概率分布与第二概率分布之间的多核分布距离,包括:选取含有优化参数的多个核函数作为源域和目标域的样本在任一任务相关层中的特征向可再生核希尔伯特空间映射的总核函数;基于总核函数构建第一概率分布与第二概率分布之间的分布距离函数;基于无偏估计法确定优化参数,以获得第一概率分布与第二概率分布之间的多核分布距离。

具体的,mk-dd的具体计算:为避免显式特征映射,需采用核技巧:

k(x,x')=<φ(x),φ(x')>;

的公式推导得到核函数的期望:

其中xs,x's是服从p的概率分布,xt,x't是服从q的概率分布,是核函数的集合,是x,x'在核k空间内积的均值。此式计算需要二次复杂度ο(n2),而深度网络往往需要在大规模数据集上做监督学习才能发挥优异的效果。为了有效训练深度网络,需要使用小批量随机梯度下降算法(sgd),但此算法的实现难度会由于需要对所有点对进行相似性求和而显著上升。为了解决这个问题,本实施例使用mk-dd的无偏估计,可在线性时间内计算

使用多核适配方法,通过最大化标准dd进行多核参数学习:由此可以得到各任务相关层的最优的多核优化参数{β},其中是估计方差,但由于迁移学习数据规模较小,难以得到协方差矩阵∑k的准确估计,所以在最大化标准dd时将∑k固定为单位矩阵可以取得更稳定的效果。

具体实现如下:

(1)随机打乱训练数据;

(2)通过最大化标准dd进行多核参数学习:将∑k固定为单位矩阵以取得更稳定的效果,为核函数的集合;

(3)记其顺序四元组则可以针对每个这样的四元组计算多核函数k得到其函数值:

此无偏估计可以在线性时间ο(n)内通过计算独立随机变量的期望完成mk-dd的计算。

基于以上实施例,确定对源域和目标域中已标记的样本的分类错误率,包括:将源域和目标域中已标记的样本输入到领域适应性网络,输出对源域和目标域中已标记的样本的预测结果;基于领域适应性网络对源域和目标域中已标记的样本的预测结果的条件概率确定分类错误率。

具体的,将源域和目标域中已标记的样本输入到领域适应性网络,输出对源域和目标域中已标记的样本的预测结果,将预测结果与源域和目标域中的对应的标记进行比较,获得分类错误率,分类错误率的具体表达式如下:

其中,na是已标记的样本的总数量,是领域适应性网络将样本预测为标记的条件概率,l(·,·)是交叉熵损失函数,定义为c是类别数,为定义在第l任务相关层的softmax函数,表示将样本预测为类别j的概率,是第i个样本在第l任务相关层中的特征,1{a=b}表示如果a=b,则该函数值取1,否则,该函数值取0。

基于以上实施例,确定对目标域的数据结构的错配度,包括:将目标域中未标记的样本输入到领域适应性网络,输出对目标域中未标记的样本的预测结果;根据领域适应性网络对源域和目标域中已标记的样本的预测结果的条件概率,并基于条件熵函数的低密度划分准则确定源域的分类模型对目标域的数据结构的错配度。

具体的,由基于熵函数的低密度划分准则度量源域分类模型对目标域数据结构的错配度,在目标域未标记数据du的类概率的条件熵函数e(du;f)为:

其中,nu是目标域未标记数据的总数量,是领域适应性网络将未标记样本预测为标记的条件概率,h(·)是条件熵函数,公式为:c是类别数,是将无标记样本预测为类别j的概率。

本实施例将源域的分类模型对目标域的数据结构的错配度引入到损失函数,在领域适应性网络中采用熵函数最小化原则实现目标域数据的低密度划分,通过最小化定义在目标域未标记数据du的类概率的条件熵函数e(du;f),能使领域适应性网络对目标域的数据具有更好的分类效果。

基于以上实施例,基于损失函数的值,更新领域适应性网络的参数,包括:利用反向传播算法更新领域适应性网络的参数;基于更新参数后的领域适应性网络,重新确定更新参数后的损失函数的值,并判断更新参数前的损失函数的值与更新参数后的损失函数的值的差值是否大于预设值,若确定差值大于预设值,则利用反向传播算法重新更新领域适应性网络的参数,直至确定差值小于预设值。

具体的,根据以上实施例获得的损失函数的表达式如下:

其中,na是源域和目标域中已标记数据的总数量,nu是目标域未标记数据的总数量,l(·,·)是交叉熵损失函数,是领域适应性网络将已标记样本预测为标记的条件概率,是领域适应性网络将未标记样本预测为标记的条件概率,h(·)是条件熵函数,是任务相关层的集合,ds是源域的数据集合,dt是目标域的数据集合,γ是错配度的平衡参数,λ是mk-dd的平衡参数。

如图3所示,将源域和目标域的数据输入到领域适应性网络后,得到损失函数的值,由于源域和目标域之间的差别,损失函数的值通常会比较大,则可利用反向传播算法重新更新领域适应性网络的参数,以减小损失函数的值;本实施例中,可重复使用反向传播算法重新更新领域适应性网络的参数,并在每次更新网络参数后重新确定损失函数的值,将重新确定的损失函数的值与前一次的损失函数的值作比较,其差值如果小于预设值,则表明损失函数的值收敛至满意的结果,则结束重复迭代过程,得到适配于目标域的深度适配网。

如图2所示,相当于在原领域适应性网络的任务相关层中添加了mk-dd函数层,基于mk-dd函数最小化的原则拉近源域与目标域在任务相关层中的特征之间的距离,以保证了迁移学习的可靠性。

作为本发明的又一实施例,提供一种领域适应性网络的深度迁移学习装置,包括:至少一个处理器;以及与处理器通信连接的至少一个存储器,其中:存储器存储有可被处理器执行的程序指令,处理器调用程序指令以执行上述各方法实施例所提供的方法,例如包括:确定第一概率分布与第二概率分布之间的分布差异,第一概率分布为源域的样本在领域适应性网络的任一任务相关层中的特征的概率分布,第二概率分布为目标域的样本在任一任务相关层中的特征的概率分布,任务相关层为领域适应性网络的上层,将第一概率分布与第二概率分布之间的分布差异作为任一任务相关层对应的分布差异;确定对源域和目标域中已标记的样本的分类错误率;确定对目标域的数据结构的错配度;根据每一任务相关层对应的分布差异,分类错误率和错配度,确定领域适应性网络的损失函数的值;基于损失函数的值,更新领域适应性网络的参数,以使领域适应性网络适配目标域。

作为本发明的又一个实施例,提供一种计算机程序产品,该计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,该计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:确定第一概率分布与第二概率分布之间的分布差异,第一概率分布为源域的样本在领域适应性网络的任一任务相关层中的特征的概率分布,第二概率分布为目标域的样本在任一任务相关层中的特征的概率分布,任务相关层为领域适应性网络的上层,将第一概率分布与第二概率分布之间的分布差异作为任一任务相关层对应的分布差异;确定对源域和目标域中已标记的样本的分类错误率;确定对目标域的数据结构的错配度;根据每一任务相关层对应的分布差异,分类错误率和错配度,确定领域适应性网络的损失函数的值;基于损失函数的值,更新领域适应性网络的参数,以使领域适应性网络适配目标域。

作为本发明的又一个实施例,提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机程序,该计算机程序使该计算机执行上述各方法实施例所提供的方法,例如包括:确定第一概率分布与第二概率分布之间的分布差异,第一概率分布为源域的样本在领域适应性网络的任一任务相关层中的特征的概率分布,第二概率分布为目标域的样本在任一任务相关层中的特征的概率分布,任务相关层为领域适应性网络的上层,将第一概率分布与第二概率分布之间的分布差异作为任一任务相关层对应的分布差异;确定对源域和目标域中已标记的样本的分类错误率;确定对目标域的数据结构的错配度;根据每一任务相关层对应的分布差异,分类错误率和错配度,确定领域适应性网络的损失函数的值;基于损失函数的值,更新领域适应性网络的参数,以使领域适应性网络适配目标域。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过计算机程序指令相关的硬件来完成,前述的计算机程序可以存储于一计算机可读取存储介质中,该计算机程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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