【Transfer Learning】Adversarial Discriminative Domain Adaptation

      • 1 Introduction 介绍
      • 2 Generalized adversarial adaptation 广义对抗适应
      • 3 Adversarial discriminative domain adaptation 对抗判别域适应
      • 4 Experience 实验

Adversarial Discriminative Domain Adaptation这篇论文正式发表于2017的CVPR,但在2017年的ICLR的Workshop中就已经展露了头角,主要详细的讨论了在Domain Adaptation(即DA领域)中将生成对抗的想法如何更好的融入进来, 实现1+1>2的效果。按照惯例,我们先来看一下写这篇论文的大佬们和他们所属的机构。
【Transfer Learning】Adversarial Discriminative Domain Adaptation_第1张图片

一作:Eric Tzeng,University of California Berkeley——作为被引量将近1000的ADDA这篇论文的一作,Eric Tzeng功不可没,来自Berkeley大学的Eric Tzeng也是在Transfer Task、Cross-Domain、DA等方向研究的大佬。例如,DeCAF: A Deep Convolutional Activation Feature for Generic Visual Recognition这篇论文的被引用量超3000,感兴趣的小伙伴们可以关注一下Eric Tzeng。
二作:Judy Hoffman,Stanford University——主要的方向是聚焦于计算机视觉和机器学习,近几年的论文基本集中在Transfer Task、Multi-Source Adaptation等方向,有兴趣的伙伴可以关注一下Judy Hoffman的主页。

【论文地址】Adversarial Discriminative Domain Adaptation
【论文翻译】Adversarial Discriminative Domain Adaptation-简书(汉堡薯条嘿嘿嘿)


1 Introduction 介绍

我们已知,深度学习算法的成功依赖于深度学习数据集的发展,但是数据集同时为模型的泛化能力产生了壁垒(因为在A数据集上训练出来的模型可能在B数据集上表现较差),因而我们知道在不同的数据集上存在domain shift或者是database bias,即域漂移或者数据集偏移。 在domain shift小的情况下,模型的泛化能力较好,而在domain shift大的情况下,模型的泛化能力偏弱。基础的方法就是Fine-tune一下这个模型,然而在deep learning模型中存在着大量的参数,并且很难获得足够的标注,所以fine-tune的表现有时会比较普通。DA的方法目的是缩小domain shift带来的负面影响。 目前方法常用的有两种,一个是优化domain shift的评价指标,例如MMD,相似度距离等;另一个从源域重构目标域。

对抗学习与迁移学习的融合是当前迁移学习领域中的一个热点,一些方法通过将对抗学习用于无监督域适应,确实减少了源域和目标域之间的差异,并提高了泛化能力。 其中也存在一些改进的地方,比如CoGAN对源域和目标域之间不太相似的情况下表现一般,会导致梯度的逐渐消失、使用权值共享的对称映射使得源分类器表现很棒,但是在多源域的情况下表现就不好。在论文的实验中,CoGAN就很难收敛。

在这项工作中,我们提出了一个新的对抗域适应的统一框架,使我们能够有效地研究现有方法之间差异的不同因素,并清楚地看到它们各自的相似性。 我们的框架统一了设计选择,例如权重分配,基本模型和对抗性损失,并包含了以前的工作,同时也促进了对现有实例进行改进的新颖实例的设计。特别是,我们观察到输入图像分布的生成模型不是必需的,因为最终的任务是学习判别式表示。另一方面,与对称特征相比,非对称映射可以更好地建模低级特征的差异。因此,我们提出了一种以前未曾探索过的,无监督的对抗性适应方法,即对抗性区分域自适应(Adversarial Discriminative Domain Adaptation,ADDA)。ADDA首先使用源域中的标签来学习区分表示,然后使用一种单独的编码来映射目标,使用通过域对抗损失获悉的非对称映射将数据传输到同一空间,在很多数据集上都表现不错。

2 Generalized adversarial adaptation 广义对抗适应

先来明确源域、目标域一些可能用到的名词表示:

图像 Images 标签 Labels 分布 Distribution 特征表示 Representation 分类器 Classifier
源域 Source Domain X s X_s Xs Y s Y_s Ys p s ( x , y ) p_s(x, y) ps(x,y) M s M_s Ms C s C_s Cs
目标域 Target Domain X t X_t Xt None p t ( x , y ) p_t(x, y) pt(x,y) M t M_t Mt C t C_t Ct

那么在对抗适应的方法中,主要的目标是固定对于源域和目标域特征的学习, M s M_s Ms M t M_t Mt,这样就可以缩小源域和目标域之间特征分布的距离, M s ( X s ) M_s(X_s) Ms(Xs) M t ( X t ) M_t(X_t) Mt(Xt) 如果是这种情况,则可以将源分类模型 C s C_s Cs直接应用于目标表示,从而消除了学习单独的目标分类器的需要,而无需设置 C = C s = C t C = C_s = C_t C=Cs=Ct

源域的分类其用标准的监督分类损失来训练:
【Transfer Learning】Adversarial Discriminative Domain Adaptation_第2张图片
我们假设通过两个功能的交叉最小化来缩小源域和目标域之间的特征表述距离:
(1)域判别器:Domain Discriminator,用来判别数据是源域数据还是目标域数据
【Transfer Learning】Adversarial Discriminative Domain Adaptation_第3张图片
(2)优化目标:源和目标映射是根据受约束的对抗目标进行优化的,该目标的特定实例化可能因方法而异。
【Transfer Learning】Adversarial Discriminative Domain Adaptation_第4张图片

3 Adversarial discriminative domain adaptation 对抗判别域适应

ADDA的方法overview:
【Transfer Learning】Adversarial Discriminative Domain Adaptation_第5张图片
ADDA整体的技术路线可以分为三个部分:

  • Pre-training:预训练,在源域上利用有标签的数据训练一个CNN;
  • Adversarial Adaptation:利用源域数据(标签为source)和目标域数据(标签为target),训练一个Target CNN和Discriminator,此时的Source CNN的权重是固定的;
  • Testing:测试阶段,利用第二阶段的Target CNN和第一阶段的Classifier进行测试;

ADDA整体的损失主要包含三个部分,如下:
【Transfer Learning】Adversarial Discriminative Domain Adaptation_第6张图片

4 Experience 实验

【Transfer Learning】Adversarial Discriminative Domain Adaptation_第7张图片
实验的结果:ADDA在USPS–>MNIST和SVHN–>MNIST的两个数据集迁移识别中的效果很好,都达到了当时的STA,尤其是在SVHN–>MNIST域差异比较大的情况下也有很好的表现。同时,我们注意到CoGAN对于SVHN–>MNIST这组的实验并没有收敛,文中也解释了原因,因为域差异过大,无法进行耦合。
【Transfer Learning】Adversarial Discriminative Domain Adaptation_第8张图片
论文也尝试了跨模态的数据。RGB图像和HHA深度图像,利用跨模态的数据做识别任务,可以看出ADDA要优于只在RGB上训练的结果。


ADDA算是将GAN的思想应用到Domain Adaptation中比较早且成功的论文,再之后有很多基于ADDA来做改进的论文,例如STA,一个基于Open Data的域迁移方法,我们再后续也会慢慢给大家介绍,感恩小伙伴的讲解和支持~

你可能感兴趣的:(#,Domain,Adaptation,迁移学习)