刘星宏 周 毅 周 涛 秦 杰
1 (东南大学计算机科学与工程学院 南京 211189)
2 (新一代人工智能技术与交叉应用教育部重点实验室(东南大学) 南京 211189)
3 (南京理工大学计算机科学与工程学院 南京 210094)
4 (南京航空航天大学计算机科学与技术学院 南京 210016)(xhoml158@gmail.com)
深度学习方法最吸引人的一点是:经过数百万个标注样本的训练[1-4],模型在与训练集独立同分布的新数据上可以获得出色的性能.然而,当它们被部署到与源域具有显著不同的域分布的目标域中时,其性能通常会急剧下降,这种不匹配的域分布称为域偏移.域偏移由各种视角、各种照明条件和不同传感器引起,但可以利用迁移学习方法[5-6]最小化域偏移.一种直观的方法是对目标域样本人工标注标签并对已经训练好的模型进行微调.然而,在目标域上标注大量标签是耗时且昂贵的.
为了解决这个问题,无监督领域自适应(unsupervised domain adaptation, UDA)方法[7-10]提出将标签知识从有标注的源域迁移到无标注的目标域,同时克服源域和目标域间的域偏移.无监督领域自适应的经典方案[8,11]是:利用领域硬标签,即将源域样本标记为1,将目标域样本标记为0,然后应用梯度反转层(gradient reverse layer, GRL)来最小化源域和目标域之间的边缘分布差异.在实际场景中,目标域中的部分样本可能不属于源域中的任何类别,即未知类(unknown class).开放集领域自适应[12-13](open-set domain adaptation, OSDA)提出:在无监督领域自适应的基础上,模型还需区分出那些不属于源域已知类别的未知类样本.在这种情形下,若强制性地将整个目标域与源域进行对齐,那么将不可避免地导致负迁移.我们观察到,直接采用领域硬标签进行开放集领域自适应将会对齐整个目标域与源域,导致未知类样本会被分类器错误地预测为源域和目标域共享的已知类(known class).
为了应对开放集领域自适应的额外挑战,我们提出了一种基于自步学习的新框架,其仅将目标域中的已知类与源域对齐,使模型学习域不变特征,并区分目标域中的已知类和未知类样本.自步学习(selfpaced learning)是一种训练机器学习模型的策略.这种策略的主要思想是模拟人类的学习过程,即在训练初期,模型只关注那些相对容易正确分类的样本;然后随着学习的深入,模型会逐渐开始处理更具挑战性的样本.自步学习模型在训练过程中可以自动从易到难,选择合适的样本进行学习.利用自步学习的优点在于:模型在训练初期主要关注易于学习的、噪声较低的样本,而在训练后期再处理那些更难、包含更多噪声的样本.这种方式可以使模型避免在训练初期就被噪声数据所迷惑.
为了将目标域中的已知类与源域对齐,我们提出了双重多分类器模块.一方面,双重多分类器可以引导模型仅对齐目标域的已知类,而不是将整个目标域与源域对齐,从而防止将整个目标域对齐到源域时出现负迁移.另一方面,利用未标记的目标域样本,双重多分类器可以根据不同训练阶段逐步调整阈值.为了学习目标域中的已知类特征,基于自步学习,我们提出了多准则跨域混合模块.多准则跨域混合模块混合带真实标签的源域样本和带伪标签的目标域样本以降低伪标签的噪声并使得模型具备学习域不变特征.在初始训练阶段,双重多分类器会计算出较高阈值,此时多准则跨域混合模块仅混合少量带伪标签的目标域样本.随着训练的进行,阈值逐渐调整到合适的值,从而允许模型利用更多具有伪标签的目标域样本.因此,模型可以从目标域中较简单的样本到较复杂的样本中逐渐学习得到域不变特征.此时,由于阈值的下降,增加了带有伪标签的目标域样本输入数量,增加了由伪标签带来的噪声,但由于模型的学习率已经相对较低,因此对模型性能的负面影响较小.进一步地,为了使模型满足开放场景中可信人工智能的需求,我们结合了各种标准,包括熵(entropy)、一致性(consistency)和置信度(confidence),从而能更精确地区分目标域中的已知类和未知类.我们认识到仅依靠置信度值不能准确区分已知类和未知类,因为置信度缺乏对不确定程度的区分能力.结合熵和置信度,二者相互补充,覆盖了平滑和非平滑类分布[11],还引入一致性,以修正置信度导致的预测错误[11].此外,我们期望模型可以自动计算合适的阈值,无需在测试过程中进行经验性调参从而使得模型在不同超参数及实验设定下拥有良好的鲁棒性以满足开放场景可信人工智能的要求.基于以上思想,本文提出了基于自步学习的开放集领域自适应(self-paced learning for open-set domain adaptation,SPLOSDA)模型.SPL-OSDA可以将目标域的已知类与源域对齐,学习域不变特征,并区分已知类和未知类样本.
本文的主要贡献包括3个方面:
1)为了有效地筛选从简单到复杂的目标域样本并避免领域硬标签引起的负迁移,提出了双重多分类器.双重多分类器用于匹配目标域与源域2个域之间的已知类而非将整个目标域与源域进行对齐.此外,双重多分类器会自动计算用于区分目标域中已知类和未知类的阈值.这种自调整阈值策略使得模型由较简单的样本到较复杂的样本中逐渐学习域不变特征.此外,本文方法无需在测试阶段进行经验性调参来找出区分已知类和未知类样本的最佳阈值.
2)引入了一种新颖的基于自步学习的方法,称为多准则跨域混合.该方法可以有效学习域不变特征并准确区分已知类和未知类.通过跨域混合,模型学习域不变特征的能力得到了显著增强.同时,这种方法还能最小化伪标签引起的噪声.与仅依靠置信度值相比,利用多准则有助于更好地区分已知类和未知类样本,使得模型能满足开放场景可信人工智能的要求.
3)在3个公开基准数据集上进行了全面的实验,比较了本文的方法与各种最先进的技术.本文模型始终表现出卓越的性能,说明其有效性;还对模型的各组件进行了深入分析,以便更好地理解它们对模型整体性能的贡献.
无监督领域自适应的目标是将源域的标签知识迁移到无标签的目标域上以减轻由于域差异而导致的性能下降.无监督领域自适应的数学本质是最小化联合分布偏移,这可以分为边缘分布偏移和条件分布偏移.Ben-David等人[14]在理论上证明了,通过减小边缘分布偏移并同时最小化在源域上的分类损失,可以实现无监督领域自适应的目标.Ganin等人[8]受到生成对抗网络(generative adversarial nets, GAN)[15]的启发,设计了一个对抗域模块来衡量域之间的差异,并引入了一个梯度反转层来最小化源域和目标域之间的边缘分布偏移.梯度反转层可以帮助模型学习域不变特征.Wu等人[16]指出,仅利用来自源域和目标域的有限样本进行学习不能保证潜在空间中的特征是域不变的.他们引入了跨域和跨类别混合的方法,以指导分类器在更连续的潜在空间中学习域不变特征.Xu等人[17]提出了一种基于像素和特征级别的跨域混合方法.该方法混合不同比例的源域样本和目标域样本,从而生成代表不同状态的各种特征.文献[16-17]在生成了更连续的潜在空间后最小化边缘分布偏移,以保证特征是域不变的.Long等人[18]认为,仅仅是减少边缘分布差异可能无法准确地对齐具有多模态分布的2个域.他们构建了一个具有条件鉴别器的模型来减少条件分布差异.Yu等人[10]指出,在实际应用中边缘分布和条件分布具有不同的重要性.他们提出了一个动态对抗因子来定量评估边缘和条件分布的相对重要性.与文献[8]相比,文献[10]提高了模型的性能.针对交通图像语义分割,文献[19]提出了通过采用优化上采样方法和focal loss的损失函数以改进交通图像中数据量较小的类别难以被正确分割的问题.文献[20]通过最大化模型中2个分类器的分类差异,并通过分类器和特征提取器间对抗学习的方式来最小化目标域和源域间的域差异.这些传统的无监督领域适应方法是针对封闭集领域自适应(closed-set domain adaptation,CSDA)任务设计的,不能直接应用于开放集领域自适应问题.
与封闭集领域自适应任务相比,开放集领域自适应的额外挑战是模型需要在没有目标域标签的情况下区分目标域的已知类和未知类.代表性的封闭集领域自适应学习范式是将源域和目标域样本分别标记为1和0,并设计了一个梯度反转层来减少2个域之间的边缘分布差异.然而,在开放集领域自适应场景中将整个目标域与源域匹配是不明智的,因为这会导致模型将未知类样本分类为已知类.Saito等人[13]设计了一个带有额外未知类的分类器,以区分目标域中的未知类别.他们提出了一种带经验性超参数的损失函数来训练分类器.Liu等人[21]采用了一种从粗到细的加权机制,逐步将目标域中的已知类和未知类分开.他们的方法允许在训练阶段对不同样本的重要性进行加权;他们还提出了开放度(openness)指标,用于衡量目标域中未知类的比例.Shermin等人[22]也有类似于文献[21]的想法.他们引入了一个补充分类器,用于为每个样本分配不同的权重.Luo等人[23]提出了一种使用图神经网络来抑制潜在条件移位的新方法.随后,他们采用对抗学习来最小化源域和目标域之间的差异.Pan等人[24]设计了一个称为SE-CC(self-ensembling with category-agnostic clusters)的模型.他们将所有未标记的目标域样本聚类以获取类别无关的聚类,这有助于揭示与目标域相关的特征空间结构.此外,他们还应用互信息来提高模型性能.Zhou等人[25]则提出了一种协作区域聚类和对齐方法(collaborative regional clustering and alignment method)来识别类别无关的共有局部特征.所有上述开放集领域自适应方法[13,21-25]都依靠模型在测试阶段产生的置信度来区分已知类和未知类,这在某些情况下并不十分可靠,特别是当目标域的开放度很大时.相比之下,我们提出了在更连续的潜在空间中学习域不变特征,并结合多个标准来精确分离已知/未知类的方法.
自步学习范式是许多有监督学习模型的核心,特别是带有噪声标签的模型[26-30].最近,一些研究将自适应学习与无监督领域适应相结合,例如PCDA[31]和SPCL[32].然而,PCDA是专门为封闭集领域自适应设计的,因此不适用于开放集领域自适应场景.另一方面,SPCL假设目标域样本均属于未知类别,这意味着目标域和源域类别之间没有重叠.这种假设也阻碍了SPCL在目标域和源域具有共享的已知类的开放集领域自适应场景中的应用.此外,Li等人[33]为部分领域自适应问题(partial domain adaptation,PDA)设计了自适应源类权重方案(adaptive source class weighting scheme),从而使得模型能在不同的训练阶段动态调整目标域样本的预测值.但部分领域自适应问题与开放集领域自适应问题不同在于:开放集领域自适应问题中目标域存在未知类样本;而部分领域自适应问题的目标域中并不存在未知类样本.因而文献[33]提出的CSDN模型也无法直接地应用到开放集领域自适应问题.
定义1.在传统的无监督领域自适应场景中,具有NS个样本的、有标签的源域以及具有NT个样本的、无标签的目标域其中源域的分布p与目标域的分布q显著不同.
定义2.定义源域类别集合为CS,目标域类别集合为CT,那么在开放集领域自适应场景中,我们有CSCT.即,源域类别集合是目标域类别集合的非空真子集.对于目标域的任一类别ct,若ctCS,则称其为已知类;反之,若ctCS,则称其为未知类.
定义3.开放集领域自适应问题的目标是通过领域自适应,将与源域样本存在域偏移的目标域已知类样本正确分类为CS中相对应的类别,同时还需将不属于CS的目标域样本正确分类为未知类别.
定义4.对于开放集领域自适应场景,我们定义开放度,其中|·|代表集合的势.
定义5.在领域自适应任务中,梯度反转层在前向传播过程中不改变输入数据,但在反向传播过程中会改变梯度的符号.在前向传播阶段,设xin为梯度反转层的输入,xout为输出,则有xout=xin;在反向传播阶段,设传入的梯度为,其中L是损失函数,则经过梯度反转层后输出的梯度为
图1(a)展示了SPL-OSDA的整体架构.SPL-OSDA包括双重多分类器模块和多准则跨域混合crossdomain mix-up with multiple criteria (CMMC)模块.双重多分类器模块由一个对抗学习分类器GC和一个辅助分类器Gaux组成.我们利用双重多分类器模块将目标域中的已知类与源域对齐,该模块还利用无标签的目标域样本生成阈值h并传递给多准则跨域混合模块.多准则跨域混合模块由m个分类器组成,我们将其标记为GM1~GMm.多准则跨域混合模块用于区分目标域中的已知类和未知类.基于自步学习,我们在多准则跨域混合模块中设计了跨域混合方法,以降低伪标签的噪声并使得模型在更连续的潜在空间中学习域不变特征.图2展示了多准则跨域混合模块中实现跨域混合的方式.其中是由GC预测的对于目标域样本的伪标签.若且其多准则系数≥h,则将目标域样本与源域样本进行像素级的跨域混合,λ是人为设定的超参数.
Fig.1 Illustration of SPL-OSDA and self-paced learning process图1 SPL-OSDA示意图及自步学习流程
Fig.2 Cross-domain mix-up method in CMMC module图2 CMMC模块中的跨域混合方法
为了将目标域中的已知类与源域对齐,我们设计了双重多分类器模块,从而计算样本属于已知类的概率.具体地说,该模块对于已知类的目标域样本和所有源域样本会输出较高的概率值,我们可以利用概率值精确地将目标域中的已知类和源域进行对齐.
传统的无监督封闭集领域自适应问题使用的通常是闭集域分类器,即为分类器设置|CS|个分类头.但在开放集领域自适应问题中,仅使用闭集域分类器会造成模型过度自信地(overconfidently)对未知类样本输出较高的概率值.因此,开放集领域自适应[13,21-22]的模型范式通常是为分类器设置|CS|+1个分类头,以避免模型过度自信地将未知类样本分类为已知类.基于上述思想,我们在双重多分类器模块中设计了分类器GC.具体来说,给定样本x,分类器GC输出一个|CS|+1维的概率向量GC(x),形式化的定义为:
第|CS|+1个元素代表由分类器GC输出的该样本x属于未知类的概率,其余的|CS|个元素代表由分类器GC输出的样本x属于各已知类别[1, 2, …, |CS|]的概率.属于已知类的目标域样本和所有源域样本会有较大的和较小的.我们使用softmax公式计算GC(x):
其中lGC是GC产生的logit向量.我们定义分类器GC在源域上的分类损失为:
其中LCE是标准的交叉熵损失函数.
给定样本x,辅助分类器Gaux输出一个|CS|维的概率向量Gaux(x),形式化的定义为:
式(4)中各元素代表由分类器Gaux输出的样本x属于各已知类别的概率.我们使用文献[34]中提出的leaky-softmax函数来计算Gaux(x),形式化的定义为:
其中lGaux是Gaux产生的logit向量.我们定义Gaux在源域上的分类损失
其中y′s是one-hot形式的样本xs的类别真实标签,维度为1×|CS|;LBCE是标准的二元交叉熵损失函数.二元交叉熵损失函数不仅适用于二分类任务,其同时也适用于单标签的多分类任务.例如,给定样本xs及类别标签ys= 0,若|CS| = 3,则有one-hot形式的类别标签y′s= (1,0,0).若概率向量Gaux(xs)=(0.5,0.4,0.05)(由于Gaux(xs)是使用leaky-softmax函数来计算概率向量的,因此概率向量中各元素值之和小于1),则二元交叉熵损失函数值
分类器GC和Gaux使用不同的分类损失函数是为了避免两者陷入同一鞍点.
我们结合GC和Gaux来计算给定样本x属于已知类的概率Pknown(x),其计算公式为:
我们利用Pknown(x)和GC将目标域中的已知类与源域进行对齐,损失函数为:
传统的无监督领域自适应是通过引入二元判别器实现领域间的对齐.但在开放集领域自适应问题中,使用二元判别器会对齐整个目标域和源域,从而使得模型无法在测试阶段区分出目标域中的已知类和未知类样本.开放集领域自适应模型[13,22]通常使用分类器输出的概率值、带权重的log函数与梯度反转层相结合作为对齐目标域已知类和源域的范式.因此,为了精确地将目标域中的已知类样本和源域进行对齐并避免由于对齐目标域未知类样本和源域带来的负迁移,我们设计了损失函数项.具体来看,对于目标域样本xt来说,当且仅当S1(xt)和S2(xt)都接近1,即GC和Gaux都认为xt是来自于已知类时,模型才会为xt赋以较大的权重Pknown(xt),从而使得模型找到目标域已知类样本并将其与源域对齐.反之,较小的Pknown(xt)对损失函数项的贡献较小,从而避免模型将目标域未知类样本与源域对齐.具体来说,当Pknown(xt)较大时,GC会利用梯度下降来降低的值;另一方面,由于梯度反转层的影响,特征提取器F会增大的值,从而使得F对抗性地学习目标域中的已知类和源域的域不变特征.对于源域样本xs来说,S1(xs)和S2(xs)会接近1但不等于1,从而使得1-Pknown(xs)接近0但不等于0.我们的研究发现:1)引入分类器Gaux可以使得模型更加精准地将目标域的已知类和源域对齐.2)式(8)等号右边的第2项(即基于源域样本的期望损失)可以避免模型过度自信地将目标域中的未知类样本分类为已知类.我们认为这是由于第2项会给源域样本特征带来微小的扰动,从而避免了将具有相似特征的未知类目标域样本与源域对齐.使用Nuclear-norm Wasserstein discrepancy[35]来训练Gaux以使其能区分源域和目标域样本.形式化的定义为:
双重多分类器模块的优化目标形式化地表示为:
在介绍如何计算阈值之前,考虑目标域中可能存在的3种情况:1)未知类样本的数量比已知类多得多.此时应当设置较高的阈值,以防止将大量未知类样本错误地被分类到已知类中.2)目标域包含许多已知类样本,而未知类样本很少.在这种情况下,应当设置较低的阈值,否则会将大量的已知类样本误分为未知类.3)已知类和未知类样本的数量接近.我们应当将阈值设置为情形1)和2)之间的中间值.
同时在阈值自调整时,还应考虑到自步学习训练过程的学习范式.自步学习的目标是使模型从简单到复杂的样本中逐渐学习目标域中已知类的特征.通过采用阈值自调整的方法,应当使阈值逐渐降低到合适的值,从而可以以阈值作为参考,逐步将带有伪标签的目标域已知类样本输入到模型中.由于在训练的初始阶段源域和目标域间存在较大的域偏移,因此阈值应当接近1.因此,只有一些与源域非常相似的、容易被模型区分出的目标域样本被用于自步学习.随着训练的进行,源域和目标域已知类将逐渐对齐,阈值将逐渐降低至一个合适的数值,从而更多的目标域样本被用于自步学习.
基于上述想法,提出了每次迭代中模型阈值自调整的计算公式:
其中i,j是随机抽取的目标域样本的序号.λ1∈[0.5,1.0]是人为设定的超参数,用于控制阈值的下降速度.当λ1接近0.5时,阈值下降更快;当λ1接近1.0时,阈值下降更慢.实验证明,本文的模型对超参数λ1不敏感,具有良好的鲁棒性.⊙代表点乘,用于防止阈值下降过快、过低而导致模型性能不稳定代表舍弃概率向量GC(xt)的第|CS|+1项元素,仅使用GC(xt)的前|CS|项元素进行向量间的加法和点乘.假设|CS|=2,有分别属于已知类别1和已知类别2的目标域样本和,其中与源域更为相似,较易被模型区分.在训练阶段前期和后期分别有和此时舍弃概率向量GC(xt)的第3项元素并使用式(13)的计算阈值,那么在训练阶段前期得到的阈值相较于后期得到的阈值更高.从而使得模型在训练前期会使用生成类别1的跨域混合样本,在训练后期会使用和生成类别1和2的跨域混合样本.
图3展示了在不同开放度的数据集上阈值h随训练阶段的变化情况.当开放度较高时,从目标域中随机抽取的2个样本属于未知类样本的概率较高,因此模型自调整的阈值较高;反之,当开放度较低时,模型自调整至较低的阈值.此外,在训练的初始阶段的阈值较高,从而避免了将目标域的未知类样本与源域样本跨域混合,有效地降低由伪标签带来的噪声.
Fig.3 Changes in threshold values across multiple datasets图3 阈值在多个数据集中的变化
为了降低带伪标签的目标域样本在自步学习中带来的噪音,设计了跨域混合样本xmix,并将其作为多准则跨域混合模块的输入.图1(b)展示了不同训练阶段的xmix的变化.一方面,将具有真实标签的源域样本和带有伪标签的目标域样本混合在一起而非使用整个目标域样本作为输入,可以最小化由伪标签引起的噪声.另一方面,在早期的训练阶段,当阈值较高时,由于仅有少量的目标域已知类样本可以使用,具有真实标签的源域样本提供了多样的样本特征.这种方法有效利用了源域和目标域样本的优势,保证了自步学习过程的平稳.
在多准则跨域混合模块中,我们设置了m个分类器,对于每个分类器GMk,其输出GMk(x)是|CS|维的概率向量,其形式化的定义为:
我们使用标准的softmax函数计算GMk(x),形式化的定义为:
如图2所示,若目标域样本xt的多准则系数ωt大于阈值h,则使用将这个带有伪标签的目标域样本与带有真实标签的源域样本跨域混合,从而获得xmix作为GMk以优化GMk.具体来说,GMk的损失函数定义为:
其中λ2是控制跨域样本混合比例的超参数,是由GC预测的关于样本xt的伪标签.
现有的开放集领域自适应大多数仅依赖于置信度以区分目标域的已知类和未知类,置信度即经过softmax函数归一化后的概率值.但仅考虑置信度并不是一个明智的选择,因为置信度缺乏对模型不确定程度的区分能力.图6的结果显示,仅依赖置信度的模型无法良好地识别目标域中的未知类样本,因此,为了满足开放场景可信人工智能的要求,有必要基于不同的准则来区分目标域中的已知类和未知类.受到文献[11]的启发,我们结合熵、一致性和置信度计算多准则系数ωt来区分目标域中的已知类和未知类.
使用多准则跨域混合中m个分类器GMk对每个目标域样本xt所输出的概率向量GMk(xt)计算熵ωent、一致性ωcons和置信度ωconf.形式化的定义为:
对于一个目标域样本xt来说,若其属于未知类,则ωent较大.反之,若xt属于已知类,则ωent较小.ωcons则表示m个分类器的一致性,其对于预测错误更加鲁棒,因为所有分类器都犯同样的错误的概率很低.这意味着即使一些分类器错误地预测了一个样本并将其预测到了同一个类中,其他分类器仍然可能提供正确的预测.因此,一致性可以弥补仅依赖置信度值可能导致的预测错误.结合ωent,ωcons和ωconf,我们可以计算出xt的多准则系数ωt,其形式化的定义为:
较小的ωt意味着xt有着更小的可能性来自于已知类.多准则跨域混合模块的优化目标是:
算法1.基于自步学习的开放集领域自适应算法.
输入:有标签源域DS,无标签目标域DT,特征提取器F,对抗学习分类器GC,辅助分类器Gaux和多准则跨域混合模块的m个分类器GM1~GMm;
输出:已学习的F,GC,Gaux和GM1~GMm.
预训练阶段
① fori =1 toMaxPreIterdo
② fork =1 tomdo
③ 采样一组源域样本{xs,ys}∈DS;
⑤ end for
⑥ 优化F和分类器GM1~GMm;
⑦ end for
训练阶段
⑧ fori =1 toMaxEpochesdo
⑨ forj =1 toIterPerEpochdo
⑩ 采样一组源域样本 (xs,ys)∈DS和一组目标域样本 (xt)∈DT;
⑮ 由式(10)(11)(12)优化F,GCandGaux;
⑯ end for
⑰ 由式(13)计算阈值h;
⑱ forj =1 toIterPerEpochdo
⑲ fork =1 tomdo
⑳ 采样一组源域样本 (xs,ys)∈DS和一组目标域样本(xt)∈DT;
㉑ 由式(16)进行跨域样本混合并计算EGMk;
㉒ end for
㉓ 由式(21)优化分类器GM1~GMm;
㉔ end for
㉕ end for
㉖ returnF,GC,GauxandGM1~GMm.
算法1概述了SPL-OSDA的训练过程,首先,需要使用源域样本对多准则跨域混合模块和特征提取器F进行预训练.预训练的目的是预热F和多准则跨域混合模块,以使得模型在训练阶段能更快速地收敛以及减少伪标签噪声的影响.在训练阶段,交替训练双重多分类器模块和多准则跨域混合模块.值得注意的是,我们在训练阶段训练多准则跨域混合模块时不会更新F的参数,因为我们希望在测试阶段中保持多准则跨域混合模块中分类器的输出多样性.
图4展示了SPL-OSDA在测试阶段的架构.在测试阶段,从SPL-OSDA中去除辅助分类器Gaux.同时使用无标签目标域样本以及式(13)来计算阈值h,而非手动设置.若ωt<h,则SPL-OSDA把目标域样本xt分类为未知类;反之,则将xt传递给GC,GC将进一步地将xt分类为某个特定的已知类.
Fig.4 Architecture of SPL-OSDA in the testing phase图4 测试阶段的SPL-OSDA架构
3.1.1 基准模型
将SPL-OSDA与其他方法进行比较:
1)开放集领域自适应方法:OSBP[13],DAMC[22],STA[21],PGL[23]和UADAL[36].
2)通用集领域自适应(universal domain adaptation,UniDA)方法:CMU[11],DCC[37]和OVANet[38].通用集领域自适应假设源域和目标域都有私有类,因此通用集领域自适应方法原生支持开放集领域自适应任务.
3)修改后的封闭集领域自适应方法DANN[8]被文献[39-40]修改后使其适用于开放集领域自适应场景;参考文献[39-40]中的修改方法使得MCD[20]和DALN[35]这2个模型能应用于开放集领域自适应场景中.
3.1.2 数据集
本文选择了3个基准数据集来评估本文模型,并将本文的方法与开放领域适应的最先进方法进行比较,并使用文献[39]和文献[40]提供的标签文件作为标签列表.
Office-31[41]是一个用于域适应的基准数据集,包含Amazon(A),DSLR(D)和Webcam(W)这3个领域中的31个物体类别.我们选择文件中按标签顺序排列的前10个类别作为已知类,剩余的21个类别作为目标域的未知类.文件中的标签顺序与字母顺序相同.
Office-Home[42]是一个用于计算机视觉域自适应的具有挑战性的数据集,其中包含艺术(art, Ar)、剪贴画(clipart, Cl)、产品(product, Pr)和真实世界(real world, Rw)这4个领域中的65个类别.本文遵循文献[22]的方法,将前10个类别构造为源域和目标域共享的已知类,将其余55个类别作为未知类.我们还使用标签顺序来排序类别.标签文件中的标签顺序与字母顺序不同.具体来说,前10个类别分别是钻头(drill)、出口标志(exit sign)、瓶子(bottle)、眼镜(glasses)、电脑(computer)、文件柜(file cabinet)、架子(shelf)、玩具(toys)、水槽(sink)和笔记本电脑(laptop).按照标签排序的优点是,即使已知类处于Office-Home数据集的按字母顺序排序的末尾,我们仍能使用其评估类别的模型性能.
VisDA-2017[43]专注于将合成图像适应到真实图像上,它涵盖了12个类别,分为2个域:合成(synthetic)和真实(real).按照标签顺序将6个类别划分为源域和目标域的已知类,将另外6个类别作为目标域的未知类.文件中的标签顺序与字母顺序相同.使用该数据集可以验证模型在大规模领域适应任务中的有效性.
3.1.3 评估指标
本文使用2个评价标准来评估不同模型的性能:OS和HOS[11,44].OS用于评估模型在|CS|+1个类别的准确率,包含模型在|CS|个已知类的准确率和1个总的未知类准确率.HOS是在|CS|个已知类上的平均准确率OS*与在1个总的未知类上的准确率Unk的调和平均数.形式化的定义为:
需要注意的是,与无监督领域自适应问题关注模型对于已知类分类的平均准确率OS*不同,开放集领域自适应更关注HOS得分.“高OS*、低Unk”导致较低的HOS是开放集领域自适应问题所期望避免的.
3.1.4 实现细节
为了公平对比,本文使用在ImageNet[45]预训练的ResNet-50作为所有模型的特征提取器.使用Nesterov momentum SGD作为SPL-OSDA的优化器,其中动量设置为0.9,衰减权重设置为5e - 4.遵循文献[11]的学习率衰减方式,使用(1+γ×i)-β的衰减因子,其中i表示当前的迭代次数,设置学习率衰减参数γ= 1e - 3和β= 0.75.此外,式(13)中的λ1= 0.5,式(16)中的λ2= 0.5.本文在多准则跨域混合模块中设置了5个分类器.对于Office-31和VisDA-2017数据集,批量大小设置为48;对于Office-Home数据集,批量大小设置为72.
表1展示了不同模型在Office-31和VisDA-2017数据集上的OS和HOS,表2展示了Office-Home数据集上的OS和HOS.
Table 1 OS and HOS on Office-31and VisDA-2017 Datasets表1 Office-31和VisDA-2017数据集上的OS和HOS%
表2(续)
Table 2 OS and HOS on Office-Home Dataset表2 Office-Home数据集上的OS 和HOS%
本文提出的方法SPL-OSDA在Office-31数据集上的OS和HOS均优于现有方法.这表明SPL-OSDA在面对较小的源域和目标域之间的域偏移时表现出色.此外,SPL-OSDA在Office-Home数据集上的HOS指标也超过了已有方法.这表明当我们处理更具有挑战性的开放集领域自适应任务时,即源域和目标域之间存在较大的域偏移时,SPL-OSDA能将源域和目标域的已知类特征精确对齐,从而使得模型在区分已知类和未知类的衡量指标HOS上与已有方法相对比取得较大的领先.我们注意到,SPL-OSDA在OS指标上的表现仍有提升空间,这将是我们未来工作的研究方向.
除了与PGL以外的现有方法相比较,本文模型在VisDA-2017数据集上的表现最好,显著提高了OS和HOS.PGL在VisDA-2017数据集上取得了较高的OS,但其HOS得分较低,这意味着PGL倾向于将大量的未知类样本分类为已知类.事实上,这与开放集领域自适应的目标相冲突.在VisDA-2017数据集上的结果表明,SPL-OSDA可以从合成图像中学习到语义信息,并将该信息迁移到在不同场景拍摄的真实图像.与Office-31和Office-Home数据集相比较,VisDA-2017数据集的图片更多、场景更复杂,因而其结果更具有说服力.此外,VisDA-2017数据集可以评估模型对于具有复杂场景图像的分类性能的鲁棒性.
1)已知类和未知类的区分.为了减少源域和目标域之间的边缘分布差异,Ganin等人[8]构建了一个对抗网络,使用领域硬标签来欺骗域鉴别器,然后将整个目标域与源域对齐.然而,这些针对封闭集领域自适应设计的学习范式在开放集领域自适应场景中会导致模型将目标域中的未知类样本特征与源域样本特征对齐,从而使得大量的未知类样本被模型分类为已知类.文献[11]提出为每个源域样本和目标域样本计算权重ωs和ωt以缓解领域硬标签的负面影响.图5展示了SPL-OSDA,CMU[11]和DAMC[22]这3个不同的模型针对Office-31数据集的D→W任务的t-SNE[46]特征可视化的示例.图6是SPL-OSDA,CMU和DAMC在Office-31数据集上D→W任务中的关于未知类样本的分类准确率.CMU-w/o-weight指移除CMU的域鉴别器模块的权重ωs和ωt.如图5(a)和图6所示,由于使用了领域硬标签将整个目标域和源域对齐,CMU在区分已知类和未知类方面的性能不佳,无法满足开放集领域自适应可信人工智能的需求.此外,如图6所展示的相较于无样本权重的版本,CMU的样本权重使得其模型性能不够稳定.正如图5(a)(c)和图6所示,SPL-OSDA在区分已知类和未知类方面的性能比使用领域硬标签的模型(即CMU)更好.与仅依赖置信度来区分已知/未知类的DAMC模型相比,SPL-OSDA在多准则跨域混合模块中结合了熵、一致性和置信度3个准则来区分已知类和未知类样本.通过比较图5(b)(c)和图6,可以得出结论:SPL-OSDA在区分已知/未知类方面的性能比DAMC更好,分类结果在不同迭代次数中表现更加稳定,因此SPL-OSDA相较于DAMC等仅依赖置信度进行分类的模型来说更加地可信.以上的结果表明,SPL-OSDA可以精确地识别目标域和源域的已知类样本特征,并将它们对齐,因此SPL-OSDA可以避免将目标域的未知类样本分类为已知类,从而满足开放场景可信人工智能的要求.
Fig.5 An example of feature visualization with t-SNE for the D→W task on Office-31 dataset图5 Office-31数据集中D→W 任务上使用t-SNE[46]进行的特征可视化示例
Fig.6 The unknown class accuracy of models for the D→W task图6 模型对于D→W任务的未知类分类准确率
2)模型在不同已知类数量|CS|下的性能.模型在不同数量的已知类|CS|对Office-31和Office-Home数据集上HOS的变化如图7所示.SPL-OSDA克服了OSBP和DAMC模型的缺点,在开放度较大时取得了良好的表现.此外,我们注意到一些模型,例如UADAL、OSBP、DAMC和STA等在|CS| = 5的D→W任务中表现不佳.这意味着当源域和目标域间的域偏移较小且开放度较大时,仅依靠置信度来区分已知类和未知类样本不是一个可靠的方法,无法满足可信人工智能的要求.具体来说,这些模型会错误地将未知类样本识别为已知类.当增大|CS|时,SPL-OSDA的表现也更好于大多数方法,这展现了SPL-OSDA在开放场景可信人工智能需求下的鲁棒性.此外,我们注意到,若开放度较小,则依赖置信度的模型可以在开放集领域自适应任务上获得良好的性能.但SPL-OSDA在较小的开放度的场景中也能取得良好的表现,这意味着SPL-OSDA在不同场景中的开放集领域自适应任务中更具有泛化性.对于大多数任务,CMU和DANN在不同的开放度上表现都不佳.这表明使用领域硬标签不利于开放集领域自适应.
Fig.7 HOS varies with |CS|图7 HOS在不同|CS|下的变化
3)消融实验.我们在Office-31, Office-Home和VisDA-2017这3个数据集上分别评估了SPL-OSDA不同组件的有效性.①GC-w/o-2nd-term表示移除式(8)等号右侧的第2项.② SPL-OSDA-w/o-Gaux表示去除掉双重多分类器中的辅助分类器Gaux,仅使用GC来计算式(8)中的样本权重来将目标域的已知类与源域进行对齐.此时,式(8)中的Pknown(x) =S1(x)而非Pknown(x) =S1(x)×S2(x).③ SPL-OSDA-w/o-CMMC表示去除掉SPL-OSDA中的多准则跨域混合模块.在这个设定下,使用GC的输出以预测目标域样本的类别,若则将这个样本分类为特定的已知类,否则将其分类为未知类.④ SPL-OSDA-w/o-CMMC-h与③相似,但是使用来预测样本属于特定已知类或是未知类,而非通过将置信度与阈值进行比较.⑤ SPL-OSDA-w/o-mixup表示在多准则跨域混合模块中不使用跨域样本混合方法进行自步学习,而仅仅采用源域样本作为多准则跨域混合模块的输入.这个设定可以评估通过跨域样本混合方法进行自步学习的有效性.表3和表4中呈现的结果展示了SPL-OSDA模型中各个模块的作用.其中,式(8)中等号右侧的第2项有助于模型区分目标域的已知类和未知类,即此项可以阻止模型过度自信地将未知类样本误分类为已知类.辅助分类器Gaux可以辅助模型计算更合适的Pknown(x),从而实现更精确的2个域之间的对齐.观察表3和表4中的SPL-OSDA-w/o-CMMC和SPL-OSDA-w/o-CMMC-h的结果可以发现:将熵、一致性和置信度相结合相较于仅依赖置信度来说更可靠,使得模型更能符合基于开放集领域自适应场景下可信人工智能的要求.SPL-OSDA-w/o-mixup的结果说明,通过引入跨域样本混合方法有助于模型在更连续的特征空间内学习域不变特征,特别是源域和目标域间存在显著域偏移时.
Table 3 OS and HOS on Office-31 and VisDA-2017 Datasets表3 Office-31和VisDA-2017数据集上的OS 和HOS %
4)超参数的鲁棒性.通过在Office-31数据集的A→D和D→W任务以及Office-Home数据集的Cl→Pr任务上调节超参数λ1和λ2以评估模型对于不同超参数的鲁棒性.如图8所示,与调整超参数相比较,手动调整阈值会显著地影响模型的性能,无法满足开放场景中可信人工智能的要求.与之相反地,本文模型对于不同的超参数λ1和λ2具有更为稳定的性能表现,使得其能满足开放场景中可信人工智能的要求.因此,SPL-OSDA无需仔细地、经验性地调整超参数或者是手动设置一个阈值.同时,还探索了多准则跨域混合模块中不同分类器数量m对于模型性能的影响.如表5所示,SPL-OSDA在不同的分类器数量m下仍能保持稳定的性能.以上结果说明了SPL-OSDA为开放集领域自适应的可信人工智能提供了保证.
Table 5 OS and HOS with Various m on Office-31 , Office-Home and VisDA-2017 Datasets表5 在Office-31, Office-Home和VisDA-2017 数据集上不同m 设定下的OS和HOS%
Fig.8 Sensitivity of hyperparameters λ1 and λ2图8 模型对于超参数λ1和λ2的敏感性
本文提出了一种新的面向开放集领域自适应的自适应学习框架SPL-OSDA.该框架包括2个关键模块:双重多分类器模块和多准则跨域混合模块.双重多分类器模块将目标域中的已知类与源域对齐,而非对齐整个目标域,同时其利用未标记的目标域样本为多准则跨域混合模块的自步学习计算合适的阈值.多准则跨域混合模块通过跨域样本混合最小化目标域伪标签的噪音,同时也帮助模型能进一步地学习到目标域中的已知类特征.本文模型结合了多个准则:熵、一致性和置信度以区分已知类和未知类,相较于仅依赖置信度的模型更鲁棒,使得SPLOSDA满足了开放场景中对于可信人工智能的需求.在3个开放集领域自适应数据集的基准测试中,SPLOSDA总体上取得了最优的表现,尤其是当开放度较大时.此外,SPL-OSDA对于超参数的变化不敏感,能提供稳定的性能.
在未来的工作中,我们将继续改进SPL-OSDA在Office-Home数据集上的OS得分,同时计划将其扩展到解决通用领域自适应场景中的任务.
作者贡献声明:刘星宏提出了方法思路和实验方案,并完成实验和撰写论文;周毅指导研究方案设计并修改论文;周涛和秦杰提出指导性意见并修改论文.