Learning Likelihood Estimates for Open Set Domain Adaptation——学习笔记

Learning Likelihood Estimates for Open Set Domain Adaptation——学习笔记

tip

首先使用L-GM loss来增强源域样本特征,并在源域的样本上使用概率分布建模;之后使用反向传播的对抗性适应形成已知类别与未知类别的粗略边界;最后修改自适应特征范数(AFN)模型来提高目标域的性能。

ABSTRACT

首先作者引出开集域适应,即源域与目标域都只有一部分类别共享,而且还要考虑到目标域的未知类别带来的负迁移问题。所以如何从目标域中识别出属于未知类别的样本是任务的关键。

作者提出了一种新的方法:open distribution control adaptation network(OpenDCAN)。作者受 Out-of-Distribution Detection的启发,对源域的已知类别中样本的概率分布进行建模,来将概率分布中的未知类别区分开。作者使用开集域适应框架OpenBP来为已知类别与未知类别提供一个粗糙的决策边界。然后通过修改最近针对开放集设置提出的自适应特征范数算法来进一步提高性能。如果对源样本的概率分布进行建模,似然估计可以很容易地检测未知类别,而不需要源域中的任何未知样本来获得“未知”的概念。

1.INTRODUCTION

论文《Open Set Domain Adaptation》中提出open set的设定为源域与目标域都存在未知的类别,又被称为Double Open Set问题。但是在本文的设定中 ,源域中不存在属于未知类别的样本,这样任务就更具挑战性,因为在源域中没有未知的样本来获得“未知”的概念。为了解决这个问题,就需要将源域中的样本分布与目标域属于已知类别的样本分布对齐,并在缺失未知类别样本知识的情况下将属于未知类别的样本分离

但是在缺少未知类信息的情况下,将未知类从特征空间中的已知类中推开实际上是一个具有挑战性的方向。大多数现有方法使用分类器的预测作为目标样本的伪标签。但是当未知样本看起来与一些已知样本非常相似时,这可能会遇到问题。

作者在文章中提出OpenDCAN。作者首先使用了与OpenBP一样的对抗学习网络来生成源域训练样本的粗糙决策边界;之后作者使用最近提出的AFN(adaptive feature norm)模型来对开放集设置进行一些修改来提高目标域中的性能,即只选择预测属于已知类别的样本来扩大它们的特征范数,并使用实例级权重来减轻潜在的负迁移;最后作者引入一个大边缘高斯混合损失来控制源域中属于已知类别的样本的概率分布,未知类别的样本可以看作是分布外的样本。似然估计得分可以用来区分属于已知类别的样本和属于未知类别的样本,它用来衡量样本在多大程度上符合假设的分布(如图)。

image-20201030163256181

使用作者提出的方法后,两个域间共享类别中样本之间的距离被拉近,而未知类别中的样本不必被推离,使用作者提出的似然估计就可以很好地将已知类别中的样本与未知类别中地样本区分开来。

总而言之,作者提出了一个新的模块化框架,通过驱动已知类别中的样本在源域的分布和构造一个似然估计来有效区分未知类别中的样本。

2.RELATED WORK

Open Set Domain Adaptation.

开集域适应首先由Busto在论文《Open Set Domain Adaptation》中提出,论文中通过使用源域未知类别中样本的迭代分配过程学习跨域映射来解决域适应问题,但是收集多样和足够的未知来源样本来涵盖“未知”的全部概念是不太可能的。Saito等人提出了对抗训练网络OpenBP,并使用生成器来进行已知类别样本与未知类别样本的分类。Xu Han 等人将OpenBP与图翻译网络相结合,在特征空间与图片像素空间完成样本分布的对齐

本文作者的方法使用一种全新的思想来拒绝属于未知类别的样本,从而进行开放集域自适应,并且不需要源域中任何未知类别的样本来获得“未知”的概念。

3.METHOD

3.1 Problem Setting

我们拥有已标注的源域数据 D s = { ( x i s , y i s ) } i = 1 n s D_s=\{(x^s_i,y^s_i)\}^{n_s}_{i=1} Ds={(xis,yis)}i=1ns,未标注的目标域数据 D t = { x j t } j = 1 n t D_t=\{x^t_j\}^{n_t}_{j=1} Dt={xjt}j=1nt,源域的标签空间 C s C_s Cs是目标域标签空间 C t C_t Ct的子集,即 C s ⊂ C t C_s\subset C_t CsCt,而 C t / s C_{t/s} Ct/s表示目标域中的未知类别。任务的目标就是将目标域的样本分类为K+1类,其中K类表示两个域的共享类别,而第K+1类表示未知类别。

3.2 Overall Architecture

方法的模型框架由一个骨干编码器E、一个将图片样本转换到特定任务的特征空间的生成器G、一个K+1维的分类器C组成。

image-20201030202318660

在OpenDCAN中主要包括三个部分:

1.已知类分布建模 Known-class Distribution Modeling(KDM):为了分离未知的目标样本,KDM产生了更强的类内聚性和更大的类间可分性。它还显式地模拟已知类别样本的分布,以更好地区分未知的目标样本。

2.反向传播的对抗性适应 Adversarial adaptation by Back Propagation(ADBP):ADBP提供了一个粗略的决策边界来初始分离未知类,同时将目标域中的已知样本与源域中的样本对齐。

3.逐步特征范数对齐 Stepwise Feature Norm Alignment(SFNA) :基于阶梯式特征适应范数方法,它将两个域的特征范数适应到一个大范围的值,统一了闭集域适应与偏集域适应的计算==???==。我们通过使用实例级权重来减轻潜在的负迁移,使其适应开放集设置。

3.3 Known-class Distribution Modeling(KDM)

首先使用L-GM loss增强源域样本特征(更紧凑和可分离的特征)的辨别特性;其次对源域样本的分布进行建模。

作者最大想限度的利用模型的能力来驱动已标注的源域样本来生成GM分布特征,并更好地区分未知目标样本。其中的损失函数为:

image-20201030212416533

其中的 μ k \mu_k μk ∑ k \sum_k k分别表示特征空间中的均值与协方差。m进一步加宽了每对类质心之间的判定边界。m与样本到相应类别 d y i s d_{y^s_i} dyis特征均值的距离相对应: m = α d y i s m=\alpha d_{y^s_i} m=αdyis

为了明确地模拟已知类别的分布,L-GM损失引入了一个似然正则化项来控制训练特征的概率分布。我们对源样本采用正则化项:

image-20201031090002580

为了简化计算,作者只考虑了似然正则化在L-GM损失中的一种特殊情况,其中协方差矩阵 ∑ k \sum_k k被固定为单位矩阵,先验概率 p ( k ) = 1 / K p(k)=1/K p(k)=1/K。因此,L-GM损失可以用更简单的方法来表示

image-20201031090325640

似然项可以用来衡量训练样本在多大程度上符合假设的分布。在推理阶段,我们使用一种合理的方法将似然性估计为 s o f t m a x ( y ^ i t ) softmax(\hat{y}^t_i) softmax(y^it),范围从0到1,表示 x i t x^t_i xit和预测的类别 y ^ i t \hat{y}^t_i y^it之间的相似性。作者将阈值设置为 t 0 t_0 t0,如果可能性小于 t 0 t_0 t0,则输入的样本必然被分类为未知类别。

3.4 Adversarial adaptation by Back Propagation(ADBP)

作者使用对抗性的学习方法来初步将目标域的样本与源域的样本进行对齐或者将它们分类到未知类别中。

如同Saito在论文《Open Set Domain Adaptation by Backpropagation》中的方法,作者也使用分类器C训练输出 p ( y = K + 1 ∣ x t ) = t p(y=K+1|x_t)=t p(y=K+1xt)=t,其中t的值设置为0.5。而生成器G通过训练来欺骗分类器。作者使用二值交叉熵来计算损失 L a d v \mathcal{L}_{adv} Ladvimage-20201025201333063

并通过分类器C的参数来最小化该损失,使得 p ( y = K + 1 ∣ x t ) = t p(y=K+1|x_t)=t p(y=K+1xt)=t的输出接近t。这样,生成器就能够将目标域属于已知类别的样本与目标域属于未知类别的样本分为[0,t] 与[t,1]两种。因此,生成器可以首先选择目标样本与源域的样本对齐,还是应该作为未知类别中的样本被拒绝

对于源域的样本,作者使用交叉熵来完成分类任务。通过使用OpenBP中的梯度反转层,可以在反向传播训练中翻转梯度的符号,允许同时更新C和G的参数

则ADBP部分的总目标函数就是image-20201031093505103

ADBP提供了一个粗略的决策边界,以便在将目标域属于已知类别的样本与源域的样本进行对齐的同时,初步将目标域未知类别样本与已知类别样本分开。

3.5 Stepwise Feature Norm Alignment(SFNA)

在初步从模块中获得可分离特征粗略边界之后,作者基于自适应特征范数(AFN)模型进一步提高目标域中的性能。

目标域的退化主要来自它相对于源域的小得多的特征范数目标任务的范数较小意味着较少的信息特征,导致领域转移。AFN引入了逐步自适应特征范数(SAFN),以逐步鼓励模型学习两个领域中具有更大范数的特征,具体如下:

image-20201031094429593

其中 Δ r \Delta r Δr表示控制特征范数放大的剩余标量, θ 0 \theta_0 θ0 θ \theta θ分别表示在上次迭代与本次迭代中更新的模型参数; L d L_d Ld表示 L 2 L_2 L2范数。AFN在闭集域适应或者部分预适应中有较好的效果,但是在开集域适应中,如果目标域中的未知样本用于使特征范数适应大的值,它们可能会混淆网络

作者分两步修改特征范数自适应。 首先使用来自分类器的预测结果作为伪标签 y ^ i t \hat{y}^t_i y^it,并去除所有被识别为属于未知类别的目标样本。 其次,对于每一个目标域样本 x i t x^t_i xit,使用权重项 w i w_i wi来修正上述损失,权重项 w i w_i wi是基于预测的熵来计算的,它量化了预测的不确定性[13]。熵越小表示预测越有把握,对应的 w i w_i wi值应该越大。我们将权值定义为:

image-20201031095812827

其中 p k ( x i t ) p_k(x^t_i) pk(xit)是样本 x i t x^t_i xit被分类到第k类别的概率(由softmax函数计算),通过 l o g ( K + 1 ) log(K+1) log(K+1)来将归一化的熵限制到[0,1]中。

修改后的适应损失为:

image-20201031100101314

3.6 Objective for OpenDCAN

实验的总损失函数为:

image-20201031100148010

其中将 λ k \lambda_k λk值设置为0.5, λ s \lambda_s λs是从0.05衰减的动态值。

4.EXPERIMENTS

在office-31数据集与Digit数据集上展开实验,使用OpenBP与 Open-set OSVM、OSVM+MMD、OSVM+BP作为基线。

OSVM:如果目标样本预测概率低于任何类别的阈值,OSVM利用阈值概率将样本分类到未知类别中。OSVM在训练过程中不需要属于未知类别的样本,因此一般只使用源域的样本训练OSVM,在目标域样本上进行测试。