Improving Open Set Domain Adaptation Using Image-to-Image Translation学习笔记
abstract
文章通过在特征空间和像素空间对齐样本来解决开放集域自适应问题,其中在像素空间的对齐要将源图像本身变换到尽可能靠近目标域的另一个图像域。
方法分为两个模块:翻译与适应。其中翻译部分使用了CycleGAN模型,而适应部分使用了OpenBP模型,并使用变换后的源域样本与目标域未标注的样本进行训练。
1.INTRODUCTION
OpenBP使用一个共享的特征提取器将两个域的样本变换到同一潜在空间,并学习该潜在空间内未知类的决策边界。当源域和目标域差异较大时,这可能会遇到问题。
作者要探索的问题就是将源域的样本图像变换后使得使其尽可能靠近目标域是否会对目标域样本的分类有帮助。这一个经典的问题,被称为不成对的图像到图像的翻译,即在没有成对训练样本的情况下,将图像翻译成另一个领域的“风格”
。
于是,作者将图像到图像的翻译加入开放集域适应框架,提出 Open Set Translation and Adaptation Network (OSTAN)。框架首先使用 CycleGAN作为翻译模型,将源图像变换成接近目标域的图像域,减少了两个域之间的风格差异,并且能够更有效地进行潜在空间中的联合学习;之后使用OpenBP作为适应模型的框架,使用变换后的源域样本与目标域未标注的样本进行训练。源域样本像素级别的变换减轻了由领域风格差异引起的问题,并允许更高效地学习一个联合潜在空间。
2.OUR APPROACH
2.1Problem Statement and Notation
使用(S)表示源域,(T)表示目标域。源域由样本(x_sin mathbb{R}^{n imes m})以及样本对应的标签(Y_s in {1...K}^n)组成,其中K表示源域类别的个数,n表示源域样本的总数,m表示每个样本的维度。目标域由未标注的样本(x_T in mathbb{R}^{n' imes m}),(n')表示目标域样本的数量。开集域适应的任务就是学习一个模型将目标域中的样本分类到({1...K+1})中的一类,其中第K+1类为未知类别。
2.2 Framework Overview (OSTAN)
模型框架由翻译部分与适应部分组成。
翻译部分的目的是学习一种能够有效将源域图像翻译成目标图像的一种翻译模型。我们选择使用CycleGAN,是因为它在各种图到图的翻译应用中具有优越的性能。
具体来说,作者使用两个CycleGAN,(G_{S ightarrow T})将源域的图像翻译到目标域,(G_{T ightarrow S})将目标域的图像翻译到源域。这两个GAN网络都是使用带有分类器的经典GAN损失和cycle-consistent损失来训练的,以增强像素级的一致性。
适应部分使用类似OpenBP的模型架构,但使用翻译变换后的源域数据与目标域的未标注数据来进行训练。OpenBP的架构中使用一个特征提取器G来将图片数据变换到一个潜在空间,并使用一个分类器C来将潜在表示分类到已知类别与未知类别。
OSTAN的核心思想就是将源域的图片翻译到一个距离目标域较近的领域,以此来减小特征提取器学习两个域共同特征的困难。
![image-20201103194735856](https://gitee.com/Jason66661010/imagecloud/raw/master/img/20201103194747.png)
2.3 Translation Network
为了将源域的图片翻译变换到目标域,作者通过最小化损失(mathcal{L}_{GAN})来训练一个特征提取器(G_{S ightarrow T})和一个域分类器(D_T):
![image-20201103205550625](https://gitee.com/Jason66661010/imagecloud/raw/master/img/20201103205557.png)
提取器(G_{S ightarrow T})用来训练输出翻译变换后的样本(G_{S ightarrow T}(x_s)),域分类器(D_T)用来区别源域翻译变换后的样本(G_{S ightarrow T}(x_s))与目标域样本(x_t)。于是GAN的目标函数就是
![image-20201105085640712](https://gitee.com/Jason66661010/imagecloud/raw/master/img/20201105085648.png)
而使用 cycle-consistent loss是为了让翻译变换后的样本(G_{S ightarrow T}(x_s))与未变换的源域样本在像素级别保持一定的相似性,其中就使用了另外一个GAN网络,包括(G_{T ightarrow S})和分类器(D_S),这个GAN网络的损失与公式(1)相似:
![image-20201105090012490](https://gitee.com/Jason66661010/imagecloud/raw/master/img/20201105090013.png)
于是整个 cycle-consistent loss为:
![image-20201105100311735](https://gitee.com/Jason66661010/imagecloud/raw/master/img/20201105100312.png)
图像之间的相似性使用L1范数衡量。
2.4 . Adaptation Network
适应部分使用了OpenBP模型,其中包括一个特征提取器G与分类器C,向特征提取器输入翻译变换后的源域样本(G_{S ightarrow T}(x_s))与目标域样本(x_t),分类器C将特征提取器提取到的特征分类为K+1类,K个已知类与一个未知类。
1.使用交叉熵损失来计算(mathcal{L}_s),完成翻译变换后样本的分类。
![image-20201105142125655](https://gitee.com/Jason66661010/imagecloud/raw/master/img/20201105142133.png)
![image-20201105142148562](https://gitee.com/Jason66661010/imagecloud/raw/master/img/20201105142150.png)
2.训练分类器输出(p(y=K+1|X_t=t,(0<t<1)),使用二元交叉熵损失计算(mathcal{L}_{adv}),
![image-20201105142525204](https://gitee.com/Jason66661010/imagecloud/raw/master/img/20201105142526.png)
于是该部分的优化目标就是在分类器上最小化(mathcal{L}_s)与(mathcal{L}_{adv}):
![image-20201105143258240](https://gitee.com/Jason66661010/imagecloud/raw/master/img/20201105143259.png)
同时在特征提取器上最小化(mathcal{L}_s),最大化(mathcal{L}_{adv})
2.5 Complete Objective for OSTAN
OSTAN框架的整体损失为:
![image-20201105144133227](https://gitee.com/Jason66661010/imagecloud/raw/master/img/20201105144134.png)
其中的(lambda)用来控制翻译变换部分的相对重要性,(mu)是一个在-1,1两个值之间变化的动态参数,其中1对应分类器,-1对应特征提取器。
OSTAN的整体优化目标为:
![image-20201105144638065](https://gitee.com/Jason66661010/imagecloud/raw/master/img/20201105144638.png)
3 EXPERIMENT
3.1 Baselines
OpenBP:该方法与OpenBP的不同就是该方法使用了经过翻译变换后的源域样本与目标域未标注的样本进行训练,而OpenBP使用的初始的源域样本与目标域未标注的样本进行训练。
OSVM:该方法基于支持向量机,如果目标样本预测概率低于任何类别的阈值,就将样本分类到未知类别。
OSVM+MMD:基于MMD方法的OSVM
OSVM+BP:基于DANN网络的Backpropagation方法
其中MMD与BP都用来提取特征,之后进行OSVM 的训练。