孙 昊 韩忠义 王 帆 尹义龙
(山东大学软件学院 济南 250000)(202215230@mail.sdu.edu.cn)
近年来,无监督域自适应成为一个备受关注、重要且有价值的问题,它可以解决现实世界中数据分布不同导致模型性能下降的问题.在机器学习中,大量的方法都是基于训练数据和测试数据属于独立同分布的假设,但在实际情况下它们的分布往往是相似但不同的.因此,在富有监督信息的训练数据上训练好的模型在面对实际测试数据时无法适应分布差异[1],导致模型的性能大幅度下降[2].在这种背景下,无监督域自适应(unsupervised domain adaptation)被提出来解决这类现实问题.
有标签的训练数据的分布被称作源域,没有标签的测试数据的分布被称作目标域,无监督域自适应研究的是如何把源域上学习到的知识转移到目标域上,解决模型由于分布偏移而在目标域数据上性能下降的问题[2].与传统监督学习相比,无监督域自适应不需要目标域监督信息,减免了手动给目标域标注标签这种耗时且昂贵的工作,也展现出了非常可观的应用价值,它将传统机器学习从有限的封闭环境向现实的开放环境发展,实现了机器学习的应用化和实用化,在自动驾驶、智慧医疗等方面发挥了重要的作用.例如在自动驾驶领域,车辆会面临不同时间、不同天气、不同城市等不断变化的环境,给模型做判断提高了难度.无监督域自适应增强了模型应对不同场景的适应力,保证了安全性,因此无监督域自适应已经成为机器学习领域一个非常热门的话题.
近年来,无监督域自适应引起了越来越多国内外研究者的关注,得到了较为深入的研究,取得了较大的发展.目前无监督域自适应问题的解决方法主要有4个方面:1)提取域不变特征[3-4].它考虑的是尽管源域和目标域分布不同,但存在可以用来判别样本类别的域不变的特征,神经网络通过提取域不变特征来实现知识从源域到目标域的转移.2)加权重采样[5-7].它的主要思想是通过给每个源域样本分配一个权重,使加权重采样后的源域和目标域尽可能相似,从而源域和目标域可以被近似地认为满足独立同分布,使模型可以在目标域上表现出很好的效果.3)基于对抗的方法[8-10].它的主流思想是训练一个域判别器,让特征提取器和域判别器形成对抗训练,使特征提取器尽可能提取域判别器无法区分的特征,从而提取到2个域的共同特征,实现知识迁移.4)基于伪标签(自训练)[3,11-12]的方法.用在源域样本上训练的分类器在目标域上标注伪标签,再通过不断给目标域伪标签提纯来增强伪标签的可信度,最终将伪标签视为模型预测的标签进行输出.
尽管已有的无监督域自适应方法取得了一定程度的效果提升,却仍存在一些问题有待解决,包括2个方面:1)如何获得更鲁棒的公共特征.在基于度量分布距离来进行特征对齐的方法中,如何合理准确地度量源域和目标域之间的差异,以便模型能够学习到更好的公共特征,是一个值得不断探索的问题.无论是基于核函数的MMD (maximum mean discrepancy )[13],JMMD[14],DAN(deep adaptation network )[15],基于均值和协方差矩阵的CORAL[16],Deep CORAL[17],基于能量和信息论的KL散度[18],还是H-divergence[19]和MDD(margin disparity discrepancy)[20],它们都关注于2个域之间的数据点的分布差异,但忽略了源域和目标域之间的结构相似性和拓扑信息.2)如何更有效地利用伪标签.基于伪标签的方法包括为每个样本分配标签的硬标签方法[21-23]和对每个样本分配一个向量的软标签[24]方法,它们都存在一个问题:由于存在分布偏移,根据高置信度来选取的目标域伪标签的可信性大大降低.由于目标域缺乏真实标签信息,无法利用监督学习的损失函数来纠正错误的伪标签,也无法得知模型迁移知识的能力.
在本文中,为了更准确地度量2个分布之间的距离以及更有效地利用伪标签来验证模型知识迁移的能力,本文提出了反向验证标签最优化传输方法BPLOT.BPLOT主要包含3个部分:1)最优化特征-拓扑传输.该部分从特征层面和拓扑结构层面来度量分布之间的距离.主要思想是融合利用瓦瑟斯坦距离(Wasserstein distance,WD)和格罗莫夫-瓦瑟斯坦距离(Gromov-Wasserstein distance,GWD).通过将WD和GWD的传输方案共享,在利用WD度量分布间特征距离的同时,利用GWD度量分布间拓扑信息的差异,从而最终计算距离更准确的反应分布差异.2)反向验证伪标签部分.该部分通过使用伪标签来验证模型知识迁移能力.其主要思想是将用目标域伪标签训练的分类器反向在源域进行验证,最小化分类器在源域数据上的损失.由于源域数据有真实标签,解决了无法验证模型知识迁移能力的问题.模型知识迁移能力越强,目标域分类器在源域上的表现越好.3)Tsallis熵部分.它既增强了模型在目标域上的分类信心,减小分类的不确定性,又保证了模型在训练过程中能够纠正分类错误的伪标记.其主要思想是通过Tsallis熵来对目标域分类输出进行正则化,动态调整对模型不确定性的惩罚力度,达到模型最优的效果.
本文的主要贡献可以总结为3点:
1)针对无监督域自适应问题,提出了基于反向伪标签最优化传输方法,该方法进一步提高了模型在目标域上的性能和鲁棒性.
2)从最优化运输的角度出发,考虑了特征距离和拓扑差异,更准确地计算了分布之间的距离,从而提取出更加鲁棒的公共特征;同时,通过反向验证伪标签,验证了模型知识迁移的能力,提高了伪标签质量,实现知识从源域向目标域的转移.
3)本文将BPLOT在多个无监督域自适应数据集上进行验证,结果显示其效果超过了基准方法.通过消融实验,对每个单独测试部分进行分析,也证明了本文提出的各个部分的有效性和合理性.
本节主要介绍了无监督域自适应、自训练学习、最优化传输的研究方法和研究进展.
目前,在所有无监督域自适应的方法中,学习域不变特征表示是一种非常重要的方法,本文的方法也属于这一种.域不变特征表示的学习主流方法有3种:
1)基于分布距离特征对齐的方法.其基本思想是计算两个分布之间的差异,显式地减少2个域之间的距离[4,14,25].基本方法是使用一种度量2个域之间差异性的计算方法,通过明确的公式计算出2个域之间的距离,然后通过调整特征提取器减小这个距离.已被广泛利用的有MMD[13],JointMMD[21],MDD[20]等距离,此外还有最近被应用于无监督域自适应的最优化传输算法.
2)基于对抗学习[26-28]的方法.其基本思想是在对抗的过程中学习2个域之间的不变特征,即用域判别器度量2个域之间的差异程度.其中意义重大的工作是DANN模型[29].其基本方法是训练一个二分类器作为域判别器,判断样本属于源域还是目标域.同时,也训练特征提取器,尽量使得特征提取器提取的特征无法被域判别器区分,从而形成对抗训练,使得域判别器和特征提取器对抗学习.最后提取器提取的特征就被认为是域不变特征.
3)基于半监督学习中伪标签(自训练)的方法用在源域数据上,训练的源域分类器给目标域数据标注伪标签,并不断修改提纯伪标签,且特征提取器不断学习提取域不变特征.
基于分布距离度量的特征对齐方法是无监督域自适应中非常基本的一种方法.其主要的思想是通过特征提取网络或者映射,将源域和目标域的样本从输入空间提取到特征空间或者映射到可再生核希伯尔特空间中,使2个分布中的样本在新空间中的分布变得相似,从而使得后面的分类器可以根据在源域上学习到的知识给目标域样本进行正确分类.
KMM (kernel mean matching )方法[24]是该方向中较早使用的方法之一.KMM提出了给每个源域的训练样本分配一个权重,使得分配权重后的源域分布近似于目标域分布,减少特征距离.后来, MMD距离[13]在KMM上继续发展,直接计算并最小化源域和目标域在核希伯尔特空间中的距离.DDC (deep domain confusion )方法[25]将MMD距离加入深度神经网络,对模型的自适应层进行调整;而DAN方法[12]则在DDC的基础上进一步发展,提出MK-MMD距离,将DDC中的MMD距离适应层从1层增加到了3层,并且计算MMD距离时使用了多个核函数.
除MMD距离外,文献[14]还通过对多个特征连同logit输出连续做乘法的方式计算JointMMD距离[21]来度量2个分布之间的距离,考虑特征的同时考虑了类别信息.MDD 距离[8]则是在距离度量方面提出新的理论,将评分函数和损失结合在了一起,进一步提升了模型的表现.但是文献[8,12-14,21,24-25]的方法都没有单独考虑2个分布之间的拓扑信息差异.BPLOT从最优化传输理论出发,利用了衡量特征差异的瓦瑟斯坦距离和衡量拓扑差异的格罗莫夫-瓦瑟斯坦距离来进行2个分布之间的特征对齐,实现了更好的效果,并通过实验证明了在度量分布差异时拓扑差异不可忽视.
近年来,半监督学习的方法被引入到无监督域自适应问题中.与传统的半监督学习相似,伪标签学习利用源域无标签数据Dsou训练一个源域分类器fsou,然后利用fsou在目标域数据Dtar上标注伪标签.模型通过利用源域的标签信息和目标域的伪标签信息进行训练,实现对目标域大量无标签数据的利用.
此外,文献[30]提出通过保持样本的流形结构来实现域自适应,即在保持流形结构的基础上,利用标签传播来预测目标域的伪标签.文献[31]通过逐渐增加目标域训练样本和不确定性的样本数量来逐步学习跨域关系,在无监督域自适应中提出了伪标签引导的对不确定性的探索.文献[32]提出了选择性伪标签(selective pseudo labeling,SPL),它基于监督局部投影不变性来学习域不变和域特殊特征,并通过选择伪标签来训练分类器.但文献[30-32]的方法都有一些问题,由于分布偏移,伪标签的可信度很低,比如在数据集VisDA-2017上,伪标签会朝某一些类偏移得很严重,导致伪标签完全不可信,而且这些方法存在理论上的不足.
本文认为,如果特征提取器训练得好,提取到了不变特征,使得伪标签准确,那么目标域伪标签训练的目标域分类器在源域数据上同样应该表现得很好.为了更有效利用伪标签,文献[3]提出了循环伪标签算法.BPLOT基于此方法做出改进,利用最优化特征-拓扑传输拉近分布距离,再将伪标签训练的目标域分类器反向在源域数据上测试,利用源域真实标签验证了模型知识迁移的能力,在多个数据集上达到了更好的效果.
瓦瑟斯坦距离也称推土机距离,是一种度量2个概率分布之间差异的距离度量,在机器学习相关任务上已经获得了广泛的应用.传统的最优化传输问题(Kantorovich问题)可以用瓦瑟斯坦距离来描述,但在高维情况下,直接应用瓦瑟斯坦距离可能会导致传输方案不规则.因此,文献[33]提出将传输约束条件放松,加入正则化,放松这种稀疏性来寻找更平滑的传输形式.文献[34]在开集域自适应中提出了联合最优传输,在利用源域的标签信息的同时,也利用目标域中未知类的鉴别表示,不仅使得类内更加紧致,也使得类间更加可分.此外,文献[35]采用结合加权最优传输的策略,减少了源域的决策边界上的样本所带来的负迁移影响.在图神经网络方向,文献[36]提出了混合瓦瑟斯坦(FGW)距离.FGW在图神经网络上度量结构化数据,例如分子模型、社会关系等,同时使用WD和GWD对图结构进行计算.
本文则将GWD拓展至无监督域自适应中.在计算瓦瑟斯坦距离和格罗莫夫-瓦瑟斯坦距离时,融合两者的传输方案,保证了相同的优化方向.通过最优化特征-拓扑传输,BPLOT更合理地拉近了源域和目标域,提取到更鲁棒的公共特征,在多个数据集中表现出更好的效果.
本文的任务是利用Dsou中的有标签数据和Dtar中的无标签数据训练f中的特征提取网络φ来提取Dsou和Dtar中的共同特征,也就是经过特征提取网络φ后,Dsou和Dtar的特征尽量相近,从而源域分类器θsou的知识可以转移到目标域分类器θtar上,使得目标域分类器θtar在目标域上的分类正确率接近源域分类器θsou的分类正确率.
BPLOT的目的在于有效利用伪标签来验证模型知识迁移能力和合理度量分布差异,其主要包含3个部分:1)最优化特征-拓扑传输,融合瓦瑟斯坦距离和格罗莫夫-瓦瑟斯坦距离,减小2个分布之间的特征距离和拓扑差异;2)反向验证伪标签部分,将目标域分类器在源域进行验证,增强特征提取器提取公共特征;3)使用Tsallis熵来调节对模型不确定性的惩罚力度,使得模型前期可以纠正错误伪标签,后期可以对预测有信心.BPLOT的整体框架如图1所示.
Fig.1 The calculation process of BPLOT model and optimal feature-topological transport图1 BPLOT模型和最优化特征-拓扑传输的计算流程
2.2.1 最优化特征-拓扑传输
源域和目标域的分布差异中,特征差异是现在大多数方法普遍考虑的差异点,但是受文献[37]的启发,源域和目标域分布不仅在特征层面存在差异,其拓扑信息之间的差异在对齐源域和目标域,促进特征提取器提取公共特征的工作中也发挥重要作用.在消融实验部分,本文也通过实验证明:源域和目标域之间的差异中,特征差异占主要部分,但是拓扑信息差异也发挥了重要的作用,是不可忽视的.但是现有的无监督域自适应中度量分布差异的方法都没有考虑源域和目标域之间的拓扑信息差异,导致模型在计算分布差异时仍然不够准确.BPLOT的最优化特征-拓扑传输部分的主要思想是用最优化传输理论显式地计算并减小2个分布之间的特征距离和拓扑差异,拉近分布之间的距离,使特征提取器可以提取到域不变特征.
BPLOT选择对最优化传输理论中的瓦瑟斯坦距离和格罗莫夫-瓦瑟斯坦距离进行融合利用以计算特征距离和拓扑差异.瓦瑟斯坦距离是最优化传输理论最先提出的距离度量,度量的是将一个分布传输成另一个分布所需要的最小代价.格罗莫夫-瓦瑟斯坦距离在图结构中用来计算2个图之间的相似程度,度量的是点与点之间连边的相似程度.在无监督域自适应问题中,分布内的拓扑信息差异和图之间的结构差异有相似性,因此BPLOT在度量分布差异时引入格罗莫夫-瓦瑟斯坦距离,用来匹配分布之间的拓扑差异.
2.2.2 瓦瑟斯坦距离度量特征距离
近年来,瓦瑟斯坦距离在域自适应方面获得了越来越多的关注,在跨域对齐方面有很好的表现.本文也用瓦瑟斯坦距离对齐2个域之间的特征距离.瓦瑟斯坦距离的定义为:
让µ∈Psou,ν∈Qtar代表了2个分布,Π(µ,ν)代表了所有的由µ和ν形成的联合分布,c(x,y)表示x到y的距离函数,具体可以用余弦距离来表示.2个分布µ,ν之间的距离可以表示为:
其中,T是联合分布空间中能使总代价最小的一个联合分布,同时也代表了传输计划,Ti,j表示从xi转移到yj的质量.DisW代表分布µ到分布ν的瓦瑟斯坦距离,是对2个分布之间每一对样本特征的传输代价的累加和,用来衡量特征距离.
在所有的可能的传输方案中找寻2个分布之间的最优传输方案是非常困难的[35],所以,最优化传输问题被转换为搜索能够使得2个分布之间点距离最小的联合概率测度T,其边缘分布分别为µ,ν.能够使得计算后的代价最小的联合分布就被称为传输方案,该传输方案对应的总代价就是瓦瑟斯坦距离.
但直接寻找这个最优的联合概率测度仍然是困难的,为了更方便计算出传输方案,引入熵正则化.熵正则化不仅可以作为防止模型过拟合的一个常见方法,还可以引导出一些性质来更好地解决问题,文献[38]提出通过概率耦合的熵对最优传输问题的表达进行正则化.引入正则化后新的问题变成了:
其中,C代表由式(1)中的c(,)组成的矩阵,T代表可能的传输方案,计算了T上的负熵,加入这种正则化项的目的有2个:一个是由于T0中大部分的元素很可能为0,因此可以通过增加它的熵来使得传输更加地平滑均匀,降低传输方案的稀疏性.最优传输方案T在分布之间的传输将会更加稠密.另一个是加入熵正则化后的结果是推导出了辛克霍恩-克诺普缩放矩阵[39]的方法从而快速高效计算求解最优化传输问题.
综上所述,本文通过利用辛克霍恩算法来计算瓦瑟斯坦距离,如算法1:
算法1.瓦瑟斯坦距离计算算法.
输出:转移方案T,瓦瑟斯坦距离DisW.
③ for k = 1,2,…,do; /*sinkhorn算法*/
⑤ end for
⑥T=diag(δ)Kdiag(σ) ;
⑧ returnT,DisW.
2.2.3 格罗莫夫-瓦瑟斯坦距离度量拓扑差异
不同但是相似于瓦瑟斯坦距离,本文通过格罗莫夫-瓦瑟斯坦距离衡量的是2个分布之间的拓扑信息差异.通过计算2个分布内2个点形成的边之间的最优传输距离,可以衡量2个分布中特征之间关系的差异性.通过最小化这个距离,可以对齐2个域之间的拓扑距离.格罗莫夫-瓦瑟斯坦距离的定义和瓦瑟斯坦距离的定义类似:
其中L(xi,yi,xi′,yi′)=‖c1(xi,xi′)-c2(yi,yi′)‖,作为损失函数,评估2个分布之间内部2个点(xi,xj) 和(yi,yj)连线的相似度作为衡量2个分布拓扑差异程度的依据.和是传输方案,i是样本索引.和瓦瑟斯j坦距离相似,在格罗莫夫-瓦瑟斯坦距离的设置中,c1(x,y)和c2(x,y)都是距离函数,使用余弦相似度来衡量域内2点的距离(边),域间作差得到每条边传输的距离代价.学习到的T′仍然代表传输方案.文献[40]认为格罗莫夫-瓦瑟斯坦距离实际上可以把点看成边,把边看成点,这样就和传统的瓦瑟斯坦距离相同.由于在计算传输方案时,依据的是2个分布之间内部边的距离,所以最后的总代价就衡量了2个分布之间的拓扑差异程度.
格罗莫夫-瓦瑟斯坦距离成功地应用在了包括无监督自然语言处理[41]、位于不同维度空间中的对象的生成学习[42]等方面.非凸优化方法已被证明在实践中成功地将格罗莫夫-瓦瑟斯坦距离用于机器学习问题,包括交替最小化[43]和熵正则化[44].
本文考虑格罗莫夫-瓦瑟斯坦距离的计算,格罗莫夫-瓦瑟斯坦距离是采用2个分布的内部点构成的边之间的相似程度作为距离代价,所以最后求得的总代价为边的传输总代价,从而衡量了2个分布之间的拓扑相似度而没有考虑特征的关系.针对格罗莫夫-瓦瑟斯坦距离的计算,文献[37]提出通过算法2中展示的方法,即通过利用瓦瑟斯坦距离的计算方法计算了格罗莫夫-瓦瑟斯坦距离.
算法2.格罗莫夫-瓦瑟斯坦距离计算算法
输出:转移方案T,格罗莫夫-瓦瑟斯坦距离DisGW.
③ fort= 1,2,…,do
⑤ 应用算法1计算转移方案T;
⑥ end for
⑧ returnT,DisGW.
瓦瑟斯坦距离和格罗莫夫-瓦瑟斯坦距离的计算关键是传输方案,如果分开计算,对源域和目标域分别进行特征传输和拓扑信息传输,会导致分布间的特征和拓扑信息分离,二者不统一.
如何将瓦瑟斯坦距离和格罗姆夫-瓦瑟斯坦距离融合计算,使求得的距离可以同时衡量特征,本工作受到了文献[37]所提方法的启发,使瓦瑟斯坦距离和格罗莫夫-瓦瑟斯坦距离共享传输方案T,如图1所示,不仅可以只计算1次传输方案,降低了计算复杂度,还可以更好地衡量2个分布之间的差异.用共享的传输方案T,计算出新的距离DisWGW使瓦瑟斯坦距离和格罗莫夫-瓦瑟斯坦距离能够更好地相互调节,传输方案T能够同时结合2个分布特征之间的关系和拓扑信息之间的关系.结合后的算法如算法3所示.
算法3.BPLOT计算方法
① forepoch= 0 toMaxIterdo:
② 将用不同α训练的不同目标域模型在源域验证,选出最好的α用作之后的训练;
④Ci,j=cos(xi,yj); /*计算2个分布之间的相似度*/
⑤ 将算法2中行④伪代价矩阵换为Cfused=λC+(1-λ)C′;
⑥ 将Cfused带入算法2计算T和DisWGW;
⑨ 计算出萨利斯熵lTsallis,Qˆ;
⑩φ←φ-η∇φ[ℓPˆ(θsou,φ)+ℓPˆ(θtar,φ)+ℓQˆ,Tsallis,α(θsou)+DisWGW]; /*更新特征提取器*/
⑪ θsou←θsou-η∇θsou[ℓPˆ(θsou,φ)+ℓQˆ,Tsallis,α(θsou)] ;/*更新源于分类器*/
⑫ end for
在显式地拉近2个分布之间的距离后,本文考虑如何进一步利用拉近的距离.受文献[3]提出的循环自训练方法的启发,不断循环验证源域分类器和目标域分类器,本文使用反向验证伪标签的方式来验证模型的知识迁移能力.
自训练学习会根据有监督信息的数据来训练一个分类器,并用分类器给没有监督信息的数据标注伪标签,将置信度大于某个阈值的伪标签作为该样本的真实标签,将样本加入训练,再一次训练分类器后继续在没有标签的样本上标注伪标签,并选择“可信的”加入作为样本真实标签加入训练,直到训练完成.
自训练学习的方法由于存在分布偏移而没有办法直接应用到无监督域自适应中,但是可以按照方法思路来简单获得第1次训练时的目标域伪标签,虽然因为分布偏移使得第1次目标域伪标签准确率不高,但是源域模型可以在后来的不断迭代中更新每个样本的伪标签使其更加可信.按照标准的自训练方法,利用源域的有标签数据,在源域上训练一个源域分类器,使得在源域上的错误率最小:
其中[i]是模型输出x属于第i类的概率.本文选取概率最高的类别作为目标域的伪标签.传统的伪标签方法会利用手动设置的置信度阈值,只保留置信度高于所设置的阈值的伪标签作为真实标签加入训练.后来文献[28]提出的方法加入了熵来根据置信度进行重新加权.然而,传统的伪标签方法存在分布偏移的问题,源域和目标域之间的分布差异会使得伪标签非常的不可信.概率最高的类别很有可能和其真实的类别并不相同,分布偏移越严重,这种可能性越大;而且使用设置阈值等方法,为了获得最好的阈值,通常会有非常昂贵的调试参数的代价,而且每次遇到新任务时都需要重新调整阈值.
为了解决文献[28]的这个问题,本文通过反向验证伪标签,提高目标域分类器在源域上的表现,可以逐步提高伪标签的质量和提高伪标签的可信程度,同时,本文提出的方法将所有伪标签加入训练,去掉了手动设置阈值环节,降低了成本.反向验证伪标签还可以在迭代中不断验证知识的迁移水平、隐式的对齐特征,逐步提高伪标签正确率.
本文考虑如果特征提取器提取到了域间不变特征,就使得知识可以从源域迁移到目标域,即利用源域数据训练的源域分类器能够在目标域数据上有非常好的表现.知识的迁移是双向的,知识很容易从源域迁移到目标域,那么自然也可以从目标域迁移到源域.所以,能够实现源域到目标域知识迁移的特征也能够实现目标域到源域的知识迁移,导致利用目标域伪标签数据训练的目标域分类器也能在源域上有很好的表现.验证源域到目标域知识迁移情况不可行的主要原因是目标域没有真实标签,而反向验证目标域到源域的知识迁移情况就解决了这个问题,因为源域数据是有标签的.
为了实现反向验证伪标签,进行隐式地域对齐,本文按照这个思路,在得到利用源域分类器在目标域数据上标注好的目标域伪标签后,在特征提取器的基础上训练一个目标域分类器,使得在伪标签上的错误率最小:
遵从反向验证伪标签的思路,本文希望通过将目标域分类器学习到的知识转移到源域上来训练特征提取网络,从而缩小2个分布在特征空间的差异,使得φ提取到的特征能够将源域的知识转移到目标域上.由于源域有监督信息,要使目标域分类器θtar在源域上的经验风险最小:
其中,y是样本i的真实标签,l()是交叉熵损失函数.总的来说,首先要最小化源域分类器在源域上的损失,然后得到伪标签后再最小化目标域分类器在源域上的损失,以此来调整特征提取器,从而实现反向验证伪标签,进行隐式地特征对齐,损失函数如式(9)所示.
在每一次迭代中,都用源域数据再次训练源域分类器,用源域分类器去给目标域数据标注伪标签,用目标域伪标签训练目标域分类器;然后反向在源域数据上验证目标域分类器的效果,从而验证知识从目标域转移到源域的能力.这个能力侧面反映了在训练的过程中模型将知识从源域转移到目标域的能力,以此进行特征提取器的调整,增强知识迁移的能力.
通过反向验证伪标签和最优化特征-拓扑传输分别隐式和显式拉近源域和目标域之间的距离后,为了使伪标签训练过程更加合理,便于模型调整错误的伪标签,相比于直接使用吉布斯熵,本文引入了Tsallis熵[45]来对目标域伪标签的自信程度进行约束.
首先介绍Tsallis熵,其定义为:
其中y∈RK是模型经过softmax层后的输出,α是熵指数,当α趋近于1时,Tsallis熵退化为吉布斯熵,当α =2时,Tsallis退化为基尼不纯度.由式(10)可见,较小的α对模型、对目标域数据的不确定性的惩罚程度更高,而较大的α则会允许模型对多个类的预测概率相似,也就是惩罚力度低.这种可变的惩罚力度在模型的训练过程中可以发挥很好的调整作用.如果在训练初期α就近似等于1,那么模型做出的错误分类可能永远也得不到改正,所以要在训练的过程中动态调整α的大小.在训练初期的时候,α设置得比较大,使模型可以容易改正错误的伪标签,在训练后期α会设置得比较小,使模型可以做出明确而不是模糊的预测.
对于如何动态选取最好的α,同样选择通过反向在源域验证的方法来寻找最合适的α,首先在训练源域分类器θsou时加入Tsallis熵来限制模型对目标域数据的不确定性:
其中,l(θ)是Tsallis熵损失,也就是式(10)中的Sα.约束的是θsou在目标域数据上的熵.用训练好的源域分类器θˆsou,α来给目标域的数据标注伪标签,方法仍然是选取置信度最高的预测类别作为样本的伪标签,继续用目标域伪标签训练一个目标域分类器,为了找到当前最合适的α,将目标域分类器根据不同的α大小在源域验证:
将α等距地分成11份[1.0,1.1,1.2,…,2.0],在其中选择出在源域损失最小的α作为接下来一段时间的训练所用的α,为了保证模型的训练效率,而且考虑到每次都重新计算α会对计算资源造成浪费,本文每隔几个epoch重新选择α,既保证了模型训练的效率,又保证了最合适的对模型不确定性的惩罚力度.
综上所述,本文的模型结合反向验证伪标签和最优化传输度量分布差异这2种方式,加以Tsallis熵正则项动态惩罚模型的不确定性.反向验证伪标签使得在分布偏移下不可信的伪标签得到了更好的利用,可以衡量模型知识迁移的能力,也能够显式计算2个分布之间的距离时同时考虑特征相似度和拓扑相似度,更好地度量了分布之间的相似的程度; 同时也动态调整模型信心的惩罚力度,既可以纠正错误伪标签,又可以提高最终模型的预测信心.最终的优化目标如式(13)所示.总算法流程如算法3所示.
为了验证本文提出的BPLOT方法的效果,本文在Office-31,Office-Home,VisDA-2017等数据集上进行实验,将BPLOT与现有的域自适应方法进行比较,并通过消融实验深入分析了BPLOT中每一部分的作用.
3.1.1 数据集
1)Office-31数据集包含了31个类的数据,根据数据来源不同分为了3个域,Amazon(A)、DSLR(D)和Webcam(W).这3个域可以组成6种源域-目标域组合.Amazon中每个类平均包含了90张图片,共计2 817张图片.这些图片是从网上商家的网站上获取的,是在干净的背景下以统一的比例拍摄的.DSLR包含498幅低噪声高分辨率(4 288×2 848)图像,每个类别有5个物品,每个物体平均从不同的视角拍摄3次.Webcam包含了795张显示出明显的噪声和颜色以及白平衡伪影的低分辨率(640×480)图像[46].
2)Office-Home数据集包含4个域,每个域由65个类别组成,可以组成12种迁移场景.这4个领域分别是:素描、绘画等形式的艺术形象Art(A-r);剪贴画图像Clipart(Cl);没有背景的物品图像Product(Pr);常规相机拍摄的现实世界中的物体图像Real-World(Rw).该数据集共包含15 500张图片[47].
3)VisDA-2017数据集是一个大型的无监督域自适应的数据集,包含2个域Synthetic和Real,分别是3D建模合成的图片和现实生活中的图片.该数据集包含了12个类别的超过20万张图片[48].
3.1.2 基准方法
本文比较了无监督域自适应中比较成功的工作:对比的基于特征对齐的方法:DAN[15]、DANN[29](对抗学习)、CDAN[28](考虑伪标签的信息)、MDD[20](利用Margin Theory来设计损失)、DSAN[49](基于LMMD在不同域上对齐域特定层激活的相关子域分布来学习传输网络).
对比的基于自训练的方法:使用了半监督学习中的FixMatch[50]并加入跨域对齐手段来减少分布偏移造成的伪标签准确率下降的问题.本文还测试了CST[3]作为单纯使用循环自训练方法进行对比,以及最新的利用类原型的工作PGLS[51]、利用可迁移的正则化和归一化的TRN[52].
3.1.3 实现条件
本文使用预训练好的ResNet-50作为特征提取器,使用交叉熵损失作为分类的损失函数.每个任务都会运行3次,并取正确率的平均值作为评价指标.本文在训练的工程中使用了SAM (sharpness-aware minimization)技巧[53]来帮助提高效果.部分实验结果采用其原论文中的结果.
表1报告了在Office-31数据集上的结果,本文提出的BPLOT方法在多个任务上都表现出了最好的效果,对一些比较困难的任务,如D-A,有了最高的提升.和距离度量中的方法对比,相比于基于MKMDD进行域特征对齐的DAN方法报告的平均80.4%的正确率,本文提出的BPLOT提高了9.3%的正确率,说明BPLOT中的反向验证伪标签和最优化理论衡量分布距离是成功的;和对抗学习中的方法相比,DANN[29]表现出了82.2%的正确率,BPLOT与之相比提高了7.5%的正确率,表明相比于对抗学习混淆域判别器,BPLOT中直接验证知识迁移能力的反向验证伪标签方法有更明显的作用,达到了更好的效果;和基于循环自训练的CST方法表现出的89.1%的正确率相比,BPLOT仍然提高了0.6%,表明尽管CST达到了很好的效果,但是BPLOT通过最优化传输理论实现了更准确地度量2个分布的距离并缩小了这个距离,使得最终的效果仍然有所提高.模型效果即使是与最新的工作TRN和PGLS相比,也同样有优势.
Table 1 Accurancy of Each Method Tested on All 6 Tasks in Office-31 Dataset表1 测试的各个方法在Office-31数据集上全部6个任务上的准确率%
表2报告了各个方法在Office-Home中12个任务上的结果.DAN等度量分布距离的方法由于没有考虑分布之间的拓扑差异,导致模型在目标域验证时准确率大幅度下降.DANN等基于对抗学习的方法在对抗训练的过程中为了混淆域判别器,会导致特征提取器提取的特征舍弃了部分目标域样本的类别信息,从而使模型在目标域样本上的分类准确率有所下降.FixMatch和CDAN+VAT+Entropy等方法没有明确的手段在训练的过程中测试伪标签的质量,导致最终效果不理想.CST方法使用循环自训练的方法来增强伪标签的质量,但缺少显式度量分布差异的方法,没有明确缩小2个分布之间距离,本文提出的BPLOT网络通过解决这2个问题,在12个任务中都表现出了更好的效果,并且平均准确率超过了所有对比的方法:相比于DANN报告的平均57.6%的准确率,BPLOT提高了15.4%的准确率,说明BPLOT对于伪标签的辅助性利用非常有效;相比于FixMatch报告的67.7%的准确率,BPLOT提高了6%的准确率,说明反向验证伪标签的方法比传统的伪标签利用方法更加出色,验证伪标签质量是成功的;相比于CST报告的73.0%的准确率,BPLOT提高了0.7%的准确率,达到了最高的准确率,说明同时度量特征距离和拓扑差异在显式地减小2个分布之间的距离方面发挥了作用,进一步提高了伪标签的准确率;而相比于最新的工作TRN和PGLS,更有4.2%和3.9%的提升.
Table 2 Accurancy of Each Method Tested on All Tasks in Office-Home Dataset表2 测试的各个方法在Office-Home数据集上全部任务上的准确率%
表3报告了本文测试的方法在VisDa-2017数据集上的结果.本文同样测试了传统的特征对齐方法,DANN,CDAN在遇到分布偏移时出现了不同程度的准确率下降;同样,本文对传统伪标签方法和伪标签加特征对齐的方法进行了对比测试,加入特征对齐的效果要优于加入伪标签的方法,证明了显式缩小域差异的合理性.本文提出的BPLOT进一步通过反向验证伪标签结合同时缩小2个分布的特征距离和拓扑差异的方法,达到了最好的效果.在ResNet-101的基础上和基于对抗学习的方法进行对比,DANN报告的准确率是79.5%,BPLOT提高了7.9个百分点,说明反向验证伪标签方法在存在合成图片和现实图片的分布偏移下仍然发挥作用,并表现出了比域判别器更好的效果,展示了BPLOT在现实中的实用价值;FixMatch等基于传统伪标签方法的准确率达到了79.5%,BPLOT与之相比仍提高了7.9个百分点,不仅少了手动调整阈值超参数的复杂,而且达到了更好的效果;MDD+FixMatch作为特征对齐与传统伪标签结合的方法,将准确率提高到了82.4%,而BPLOT通过反向验证伪标签和最优化传输理论来提纯伪标签并缩小2个分布之间的距离的方法更有效,实现了对伪标签更有效地利用和对2个分布之间的距离更好地度量,相比之将结果提高了5个百分点;CST基于循环自训练进行伪标签提纯,达到了86.5%的准确率,BPLOT通过最优化传输理论显式度量并缩小2个分布之间的特征距离和拓扑差异,将结果提高了0.9个百分点,证明BPLOT显式缩小2个分布的距离的有效性.
Table 3 Accurancy of Each Method Tested on VisDA-2017 Dataset表3 测试的各个方法在VisDA-2017数据集上的准确率
本文通过消融实验对BPLOT的每个部分单独进行分析,包括去掉反向验证伪标签部分、去掉最优化传输显式缩小域距离部分和去掉Tsallis熵部分.
3.3.1 去掉反向验证伪标签
以Office-Home中的Rw-Cl任务为例,可以从图2中看到,存在反向验证伪标签时,当超参数β在0.5~2.0之间变化时,模型在目标域上的准确率变化只有0.2%,即在β变化的过程中,模型效果表现稳定,反向验证伪标签部分对β不敏感,具有鲁棒性;而去掉反向验证伪标签,β= 0时,模型在目标域上的准确率只有61.4%,下降了1.3个百分点,证明了本文提出的反向验证伪标签的合理性和有效性,即该模块更有效地利用了伪标签,通过反向验证伪标签的方式,在训练的过程中可以度量伪标签质量、衡量模型知识迁移能力,以此指导模型训练,达到了更好的效果.
Fig.2 Accuracy for different β on Rw-Cl task in Office-Home dataset图2 在Office-Home数据集中Rw-Cl任务上对不同β的准确率
3.3.2 去掉瓦瑟斯坦距离+格罗莫夫-瓦瑟斯坦距离
针对瓦瑟斯坦距离+格罗莫夫-瓦瑟斯坦距离的消融实验,本文验证了2个部分.第1部分验证瓦瑟斯坦距离+格罗莫夫-瓦瑟斯坦距离,衡量2个分布之间差异的有效性是否能够有效显式地度量2个分布之间的距离,从而指导模型在训练过程中调整特征提取网络,缩小2个分布之间的距离,实现更好的特征对齐;2)验证瓦瑟斯坦距离和格罗莫夫-瓦瑟斯坦距离在共同发挥作用时各自的重要程度,即探究度量分布差异时,特征差异和拓扑差异的重要程度.具体的实现方式是通过调整瓦瑟斯坦距离和格罗莫夫-瓦瑟斯坦距离之间的权重参数,控制它们分别指导模型学习的能力,然后通过对比最终模型在目标域上的准确率来比较不同距离在缩小2个分布差异时的作用.
结果如表4所示,表4中最后一列表示BPLOT去掉了最优化特征-拓扑传输部分的结果.可以看到,在所有的迁移任务上,引入同时考虑特征距离和拓扑差异的最优化传输,模型的准确率均有所提高.在Office-Home的Ar-Pr任务上提高程度最大,提高了2个百分点的准确率.通过实验分析可以清楚地了解,引入瓦瑟斯坦距离和格罗莫夫-瓦瑟斯坦距离显式计算源域和目标域的差异程度,并调整特征网络减小距离,模型能够更有效地进行特征对齐,从而学习到更鲁棒的域不变特征,最终提升模型在目标域上的效果.去掉瓦瑟斯坦距离+格罗莫夫-瓦瑟斯坦距离这一部分后,仅依靠反向验证伪标签和Tsallis熵的方法,模型只能隐式地进行特征对齐,而没有显式距离计算来明确分布差异大小,导致模型的准确率下降.由此可见,BPLOT中的瓦瑟斯坦距离和格罗莫夫-瓦瑟斯坦距离同时把握特征距离和拓扑差异是合理的、有效的.
Table 4 Ablation Study Results on Optimal Feature-Topological Transport表4 关于最优化特征-拓扑传输的消融实验结果%
第2部分的结果如图3所示,λ是公式DisFGW=λDisW+(1-λ)DisGW中2个距离的权重参数.λ越大,代表衡量2个分布之间的特征距离的瓦瑟斯坦距离占比越高,即模型对2个分布之间的特征距离更感兴趣;λ越小,说明格罗莫夫-瓦瑟斯坦距离占比越高,模型对2个分布之间的拓扑相似程度更感兴趣.结果表明,λ在0.6~0.9变化时,模型的准确率随着λ的增大而上升:在Office-31数据集中A-W任务上,准确率从λ= 0.6时的92.3%上升到λ = 0.9时的94.8%;在VisDa-2017数据集上,准确率从λ= 0.6时的85.8%,上升到λ = 0.9时的87.4%.这符合本文的分析,之前度量分布之间的距离如MMD都只考虑了特征距离,对抗学习训练的域判别器依据的也只是样本在特征空间中的映射,说明特征相似程度在度量2个分布差异时起到至关重要的作用,如果在度量分布距离时特征距离占比太少,会导致无法成功进行特征对齐,模型也就很难学习到域不变的特征,导致模型的知识迁移能力下降.λ在0.9~0.99变化时,准确率随着λ的上升反而下降了,这同样符合本文的分析,当λ =0.9时特征距离对于度量2个分布的差异起到的效果已经到达了饱和,而分布差异是包括拓扑差异的.这时候随着λ的增大,模型继续增大对2个分布特征距离的关注程度,忽视2个分布之间的拓扑信息的差异,损失了2个分布之间部分的度量信息,导致无法更准确地进行特征对齐,模型的效果也会有所降低.当λ = 0.99时,在Office-31中A-W任务上准确率反而降低到了92.8%;而在VisDa-2017任务上模型的准确率同样下降了0.2个百分点,只有87.2%.
Fig.3 Accuracy of the BPLOT model with different λ values图3 不同λ值时BPLOT模型的准确率
通过在A-W和VisDA-2017这2个任务上的分析实验,证明了在度量2个分布之间的差异程度时,特征距离发挥至关重要的作用,在度量分布差异中起到了大部分的影响,但是只考虑特征距离是不够的.2个分布之间的差异程度应该也包括拓扑信息的差异,拓扑距离作为特征距离的补充,占比不高,但同样发挥着重要的作用,特征距离和拓扑差异的结合,才能够更好地度量分布的不同.
3.3.3 去掉Tsallis 熵
为了验证BPLOT中Tsallis熵的作用,本文通过在Office-Home数据集中Rw-Cl任务上设置Tsallis熵不同的权重来观察模型的结果.如图4所示可以看到,当权重WTsallis设置为0,去掉Tsallis熵后,模型出现了大幅度的准确率的下降.WTsallis不为0时,模型对参数不敏感,可以保持鲁棒性.这是因为去掉Tsallis熵后,去掉了模型在目标域的熵正则化,而Tsallis熵正则化对于伪标签的挑选起到了格外重要的作用.去掉了Tsallis熵正则化,导致模型对输出失去信心,类别的区分度较小.从区分度低的几个类别中选择概率略大的类别作为伪标签,出错的可能性大大增加,伪标签一旦错误,对模型会造成很大的负面影响.目标域分类器在源域上的表现和特征对齐的程度会失去相关性,从而无法以目标域分类器在源域样本的效果作为模型迁移知识能力的证明,导致错误地指引模型的训练方向,使得模型难以收敛至很好的效果.而加入Tsallis熵后,在训练初期,Tsallis熵对于softmax输出后的调整是温和的,允许2个类结果是相似的,保留出错后调整的可能,使模型在特征不断对齐的过程中能够将标注错误的伪标签进行调整.在训练后期,特征对齐的效果比较成熟,Tsallis熵对softmax的调整逐渐严格,使得模型对自己的输出有信心,降低由于模型摇摆不定的预测而导致的概率略低的类也很可能是正确的类,提高模型最终的效果.
Fig.4 Accuracy with different Tsallis entropy weights on Rw-Cl task in Office-Home图4 Office-Home中Rw-Cl上不同Tsallis熵权重下的准确率
通过本节的消融实验验证了BPLOT中反向验证伪标签部分、瓦瑟斯坦距离和格罗莫夫-瓦瑟斯坦距离、Tsallis熵的有效性和合理性,分析了其存在的原因,并以多个实验结果来支撑本文的分析,说明了这3个部分均对模型解决无监督域自适应问题起到了正面、积极的作用.
本节比较了BPLOT的计算效率.我们在Office-31数据集上进行实验并比较了BPLOT和CST的运行时间的差异,实验结果如表5所示.结果表明,虽然本文的方法技术较为复杂、优化目标较多,但各部分计算量并不多,完全可以承担实际运行中的计算.
Table 5 Running Time for Each Task on Office-31表5 Office-31上每个任务的运行时间
本文提出了一个解决无监督域自适应问题的基于反向验证伪标签和最优化传输网络BPLOT,同时从2个方面改进了无监督域自适应存在的不足:1)如何更有效利用伪标签,验证知识迁移的效果并指导训练.2)如何更准确度量2个分布之间的距离,同时考虑特征信息和拓扑信息.针对第1个方面,本文提出的BPLOT通过反向在源域数据上验证目标域伪标签训练的分类器,实现验证知识从目标域向源域的转迁能力,从侧面展示模型将知识从源域迁移到目标域的能力,解决目标域没有标签而没有办法验证源域到目标域的知识迁移的困难.针对第2个方面,本文提出的BPLOT通过同时利用瓦瑟斯坦距离和格罗莫夫-瓦瑟斯坦距离同步计算2个分布的特征距离和拓扑差异,从而更好地度量2个分布之间的差异程度.在3个公开的数据集Office-31,Office-Home和VisDA-2017上的实验结果验证了BPLOT的合理性和有效性,并通过对BPLOT多个部分进行消融实验验证了反向验证伪标签、最优化传输理论对齐分布的特征信息和拓扑信息、Tsallis熵的有效性.
本文提出的BPLOT中,选择通过瓦瑟斯坦距离和格罗莫夫-瓦瑟斯坦距离进行特征和拓扑信息的对齐,但在如何更好地度量2个分布之间的距离方面仍然有可探索的价值.仅从拓扑信息的角度考虑,格罗莫夫-瓦瑟斯坦距离从边相似度的角度衡量了2个分布之间的拓扑相似程度,但是拓扑信息不应该只包含边的相似程度信息,还包括边与边之间夹角的信息.在进行拓扑信息的差异度量过程中,同时考虑边的角度和边的长度差异可以更详细地对分布拓扑信息进行度量,这将是我们未来关注的一个方向.
同时,本文发现不管是在度量分布差异还是在验证伪标签质量方面,分布内样本的数量和质量起到了很关键的作用.如何获得更多更高质量的源域分布和目标域分布数据,也是进一步提高模型进行特征对齐效果、学习域不变特征的能力的关键.因此,数据增强也是值得探索的方向.在目标域分布和源域分布都是从整体的真实分布下采样得到的分布的假设下,通过数据增强可以还原数据的真实分布,模型可以直接在真实分布上进行训练,使得模型在目标域上有很好的表现,从而更好地解决无监督域自适应问题.
作者贡献声明:孙昊提出了算法思路并进行了实验;韩忠义负责改进方案并修改论文;王帆负责改进方案;尹义龙提出指导意见并修改论文.