一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于黑盒多源域通用场景下的无监督域适应方法

2022-07-27 21:24:48 来源:中国专利 TAG:


1.本发明属于机器学习下的迁移学习技术领域,具体的说是涉及一种基于黑盒多源域通用场景下的无监督域适应方法。


背景技术:

2.大数据时代的来临使数据的产生速度不断加快,数据的体量发生了巨大增长,机器学习凭借强大的数据处理能力得到了越来越多的关注。数据的快速增多使得机器学习与深度学习可以依赖更多的数据,持续不断地训练和更新模型,模型的性能和适用性也越来越好,机器学习技术已经在许多实际应用中取得了巨大成功,但在某些现实场景中仍然存在一定的局限性;传统的机器学习需要利用足够多的有标记数据进行训练才能获得分类性能较好的模型,这就产生了机器学习领域的一个新问题,即如何利用有限的有标记数据获得一个较好的泛化模型,从而对无标记数据进行正确的预测。
3.迁移学习应运而生,迁移学习的含义是运用不同领域的数据之间存在的关联特性,将曾经在一个领域学得的信息用到一个全新的另一个不同的领域中去。两个领域之间的相似度越高,就越容易进行迁移,相反就越难进行迁移,容易起到反作用,产生负迁移的现象。迁移学习包括源域(source domain)和目标域(target domain)这两个领域,其中,源域是含有大量有标记数据的领域,是被迁移的对象,而目标域是只有无标记数据的域或者只有少量有标记数据的域,是需要对领域中的数据进行标签预测的数据域,是迁移知识的应用对象。在减小源域和目标域数据分布差异的同时,学习源域的知识结构或标记信息并将其运用到目标域,使得学习的模型能够对目标数据进行正确的预测,从而完成迁移学习,这种方法统称为无监督域适应学习,大致可以分为三类:基于距离的方法,基于对抗的方法和自训练的方法。
4.如今,数据隐私和传输安全是人们持续关注的问题。以前的域适应方法在适应期间必须访问源域数据,而源域数据可能出于隐私和安全性的考虑而变得不可访问。近年来,关于无源域数据无监督域适应的研究吸引了越来越多的关注,其域适应过程中只能使用源域模型。无源域数据无监督域适应通常通过最小化模型间的批量归一化(batch normalization)统计差异,生成与源域相关的样本或特征,或在源域模型的基础上通过自监督细化目标模型来进行学习。
5.尽管仅使用模型传输比直接数据传输具有更高的安全性,但它仍然会遭受攻击,导致隐私泄露。更安全的环境是新提出的黑箱域适应(black-box domain adaptation)。在黑箱域适应中,学习时只提供一个源域模型接口访问。当前的黑箱域适应通常采用单一源域接口,跨域共享标签空间。然而,在实际应用中可能有多个源,每个源域与目标域的关联程度不同。此外,域之间通常存在标签偏移(label shift)的问题,即源域和目标域的标签空间不完全相同,有各自的私有类别,增大了域适应过程中的难度。


技术实现要素:

6.为解决上述技术问题,本发明提供了一种基于黑盒多源域通用场景下的无监督域适应方法,通过对源域知识蒸馏、伪标签矫正和已知未知类别的判别,学习到源域和目标域间共享类的知识和目标域私有类的知识;目标域数据样本输入到多个源域模型接口中,查询得到多个伪标签,通过蒸馏损失,构建每个源域接口对应的蒸馏模型;同时使用聚类来矫正伪标签并计算聚类损失,根据伪标签第一和第二高的类别置信度之差,和阈值比较来判断样本是否属于目标域私有类别;最后总体损失最小化更新蒸馏模型。
7.为了达到上述目的,本发明是通过以下技术方案实现的:
8.本发明是一种基于黑盒多源域通用场景下的无监督域适应方法,包括如下步骤:
9.步骤1、每个目标域样本输入源域接口,得到伪标签,代表样本属于源域中每个类的概率,并与新建的蒸馏模型输出做交叉熵损失来初始化蒸馏模型;
10.步骤2、使用蒸馏模型,代替源域模型的作用,对每个源使用域注意权重,以寻求伪标签的最佳组合;
11.步骤3、将查询源接口的输出作为类别注意权重来抑制源域私有类的影响,结合步骤2中的域注意权重得到最终伪标签;
12.步骤4、对步骤3得到的最终预测伪标签,使用伪标签聚类进行矫正,提高伪标签的准确率;
13.步骤5、根据步骤4得到的矫正伪标签,计算它属于第一和第二高的类别概率之差,并和阈值比较大小,大于阈值说明结果对于概率最高的类别有信心,以此来判断样本是否属于目标域私有类别,属于私有类的自信息熵最大化,反之,最小化;
14.步骤6、整体损失计算梯度,反向传播,迭代更新网络参数直至损失收敛,对目标域数据样本进行预测得到预测标签,与目标域数据样本的真实标签比较,对于每一类计算出该类的平均分类准确率,再计算根据已知类和未知类准确率重新定义的h-score作为度量结果。
15.进一步的,在步骤1中构造了蒸馏损失,通过最小化蒸馏损失来更新蒸馏模型,得到近似化的源域模型,蒸馏损失定义如下:
[0016][0017]
其中n
t
代表目标域样本个数;l
ce
代表交叉熵损失;代表样本xi属于源域各类别的概率输出向量,j代表第j个源域接口;每个蒸馏模型hj由特征提取器gj和分类器fj组成;σ代表softmax函数。
[0018]
进一步的,步骤2中的域权重表示为ωj,j=1...n,与目标域越接近的源域,其对应蒸馏模型输出的伪标签权重越大。
[0019]
进一步的,步骤3通过目标域样本的预测分布对于已知类普遍置信度高这一特点,设计了一种注意力机制,来减少源域已知类的影响,定义如下:
[0020]
[0021]
其中:n
t
代表目标域样本个数,代表样本xi属于源域各类别的概率输出向量,j代表第j个源域接口;
[0022]
最终结合步骤2中的域权重得到最终目标域样本伪标签:
[0023][0024]
其中:n代表表源域中样本个数,ωj代表初始化蒸馏模型使用域权重,ψj代表注意力机制,j代表第j个源域接口,σ代表softmax函数,hj代表蒸馏模型,代表目标域样本。
[0025]
进一步的,最终结合的伪标签可能不准确,因为步骤4中采用一种聚类方法来进行标签的矫正,其中矫正后的标签分布定义为:
[0026][0027]
接着最小化原本伪标签和矫正标签之间的交叉熵损失,来使得模型输出靠近矫正后的标签分布,交叉熵损失定义如下:
[0028][0029]
其中:代表目标域样本预测属于第k类的概率,代表矫正后的预测属于第k类的概率,k代表类别个数;n
t
代表目标域样本个数,l
ce
代表交叉熵损失;pi代表最终目标域样本伪标签。
[0030]
进一步的,在步骤5中,对于属于已知类的目标域样本的自信息熵进行最小化,对于属于未知类的,进行最大化,信息熵定义如下:
[0031][0032]
其中:n
t
代表目标域样本个数,h(
·
)代表自信息熵,g(
·
)是一个判断函数,属于已知类的目标域样本判断为正,反之,为负,g(
·
)定义如下:
[0033][0034]
其中代表概率最高的类别输出,代表概率第二高的类别输出,τ和ρ都是阈值。
[0035]
进一步的,在步骤6中,h-score定义如下:
[0036][0037]
其中acc
in
和acc
out
分别代表已知类准确率和未知类准确率。
[0038]
本发明的有益效果是:本发明针对黑箱情况和多个源域、目标域之间标签分布不同的情况,模型学习到源域的蒸馏知识,所提出的注意力机制和判别型的信息熵也能更好的减小源域私有类对伪标签的影响,从而将源域中学到的共享类信息迁移到目标域,减少模型受数据私有类别的影响,相比于其他模型能达到更高的分类准确率,使得模型在这种更接近真实场景的情况下具有更好的泛化性能。
附图说明
[0039]
图1是本发明的流程图。
[0040]
图2是本发明网络模型总体架构图。
[0041]
图3是本发明与其他算法的结果比较图。
具体实施方式
[0042]
以下将以图式揭露本发明的实施方式,为明确说明起见,许多实务上的细节将在以下叙述中一并说明。然而,应了解到,这些实务上的细节不应用以限制本发明。也就是说,在本发明的部分实施方式中,这些实务上的细节是非必要的。
[0043]
本发明公开了一种基于黑盒多源域通用场景下的无监督域适应方法,该方法在不使用源数据与源模型情况下进行多领域间迁移,并对含有未知类的无标签目标数据进行分类。其主要由三个部分组成,多源域的蒸馏、多蒸馏模型的输出结合和判别已知类和未知类。首先通过每个源接口的输出,与其对应的蒸馏模型输出做损失,更新得到含有源接口知识的蒸馏模型。其次,对每个蒸馏模型引入类别自适应域注意机制,以寻求输出的最佳组合,其性能不低于单个最佳模型。其次,为了解决跨域标签偏移问题,在学习过程中通过自适应类注意机制抑制私有源类,同时在自适应过程中检测目标未知类样本,并与已知类样本分离。
[0044]
具体的,本发明是一种基于黑盒多源域通用场景下的无监督域适应方法,如图1所示,包括以下步骤:
[0045]
一、数据处理
[0046]
在模型训练前,将用户提供的图片数据通过改变大小、随机裁剪等预处理方式统一成网络模型输入所要求的格式,同时源域数据是带有标签的,目标域数据没有标签的。
[0047]
二、模型训练
[0048]
这个阶段大致可以分为两个过程,即蒸馏模型的初始化和蒸馏模型的训练。
[0049]
蒸馏模型是为了尽可能的学习到源域中的知识,具体为:构造交叉熵损失,最小化查询源域接口的输出和蒸馏模型的输出,得到近似源域模型;蒸馏损失定义如下:
[0050]
所述步骤1中的蒸馏损失定义为:
[0051][0052]
其中n
t
代表目标域样本个数,l
ce
代表交叉熵损失;代表样本xi属于源域各类别的概率输出向量,j代表第j个源域接口,每个蒸馏模型hj由特征提取器gj和分类器fj组成,σ代表softmax函数。
[0053]
蒸馏模型是训练阶段真正要使用的模型,模型架构如图2所示,使用初始化后的蒸馏模型作为目标域训练更新的模型,使用类别注意力机制和域权重注意力机制ωj,j=1...n,来抑制源域私有类的作用,同时给予帮助大的源域更大权重,两者与伪标签相乘得到最终的伪标签输出其中:n代表表源域中样本个数,ωj代表初始化蒸馏模型使用域权重,ψj代表注意力机制,j代表第j个源域接口,σ代表softmax函数,hj代表蒸馏模型,代表目标域样本。
[0054]
为了提高最终结合的伪标签的准确度,采用一种聚类方法来进行标签的矫正,其中矫正的标签分布定义为:
[0055][0056]
其中:代表目标域样本预测属于第k类的概率,代表矫正后的预测属于第k类的概率,k代表类别个数;n
t
代表目标域样本个数;
[0057]
接着最小化原伪标签和矫正后伪标签之间的交叉熵损失,来使得模型输出靠近矫正后的标签分布,交叉熵损失定义如下:
[0058][0059]
其中:n
t
代表目标域样本个数,l
ce
代表交叉熵损失;pi代表最终目标域样本伪标签。
[0060]
对于得到的矫正伪标签,需要进行判断属于已知类别还是未知类别。属于已知类的目标域样本的自信息熵进行最小化,属于未知类的,进行最大化,信息熵定义如下:
[0061][0062]
其中:n
t
代表目标域样本个数,h(
·
)代表自信息熵,g(
·
)是一个判断函数,属于已知类的目标域样本判断为正,反之,为负,g(
·
)定义如下:
[0063][0064]
其中代表概率最高的类别输出,代表概率第二高的类别输出,τ和ρ都是阈值。
[0065]
整体损失计算梯度,反向传播,迭代更新网络参数直至损失收敛,对目标域数据样本进行预测得到预测标签,与目标域数据样本的真实标签比较,对于每一类计算出该类的平均分类准确率,再计算根据已知类和未知类准确率重新定义的h-score,其中acc
in
和acc
out
分别代表已知类准确率和未知类准确率作为度量结果。
[0066]
下面以office-31数据集为例,说明本发明实施例方法的处理流程:
[0067]
源域有20个类,目标域有11个类,其中前10个类是共享类。源域数据是有标签的而目标域数据是没有标签的。其中任选2个域作为源域,剩下一个作为目标域。
[0068]
1.将源域数据样本和目标域数据样本都转成大小为256*256的、三通道的图片,并且进行中心裁剪;
[0069]
2.使用resnet模型作为源域预训练的模型,输入源域数据和对应的标签,利用模型输出的概率向量和真实标签计算交叉熵损失,更新预训练模型直至损失收敛,预训练完所有源域模型后,固定源域模型,当作接口,不再变化;
[0070]
3.将目标域数据样本输入到训练好的预训练模型中,按照标签类别,计算所有样本经过预训练模型输出的概率向量经过softmax之后的平均值作为这一类的输出向量;
[0071]
4.新建2个蒸馏模型,对应于源域接口的个数。对第3步中目标域数据的输出向量和目标域数据经过蒸馏模型的输出向量,使用损失来初始化蒸馏模型;
[0072]
5.目标域数据样本选取32个样本构成一组训练数据输入蒸馏模型得到对应的伪标签,使用类别注意力和域权重来改进蒸馏模型的输出伪标签,其中类别注意力通过伪标签得到,域权重初始为平均权重,之后通过网络反向传播进行更新;
[0073]
6.对步骤5中得到的伪标签进行聚类矫正,使用损失拉近矫正前后的标签空间;
[0074]
7.设置阈值τ为0.6,ρ为0.15,计算和阈值τ-ρ、τ ρ比较,判断样本属于未知类还是已知类,若为已知类最小化,反之,最大化。
[0075]
8.整体损失计算梯度,反向传播更新网络参数,目标域所有样本训练完一次后,计算目标域数据每一类的平均准确率和h-score,一共进行50轮训练,直至损失收敛。
[0076]
保存最优的目标域模型,使用测试样本,输出对目标域数据样本预测的标签。
[0077]
如图3所示,本方法称为um2b,由于没有相同场景的方法,所以对比了非黑箱场景下的多源域通用域适应方法。在office-31数据集下的3个迁移任务中相较以前的方法都达到了更高的h-score,三个任务的平均h-score上也是达到了最高值,相比于能使用源域数
据的dance,三个任务上的平均性能仅少2.4个百分点,相比之前的一些其他方法,本方法在性能上有了显著提高。
[0078]
以上所述仅为本发明的实施方式而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理的内所作的任何修改、等同替换、改进等,均应包括在本发明的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献