[cvpr2017]Adversarial Discriminative Domain Adaptation

来源:互联网 发布:穿越火线刮刮乐软件 编辑:程序博客网 时间:2024/04/29 21:42

Introduction

  • 本文针对无监督
  • 作者结合了discriminative model,untie weight sharing和GAN loss,创建了一种新的模型: Adversarial Discriminative Domain Adaptation (ADDA)
  • 先前的生成式方法(Prior generative approaches )展示了非常有效的学习过程可视化,但是对于判别式模型而言,这个方法并不是最优的,这会导致判别式模型的学习限制在source domain和target domain差距较小的情况下。
  • 先前的判别式方法可以处理更大的domain shift(域差异),但是强制source domain和target domain的模型(部分地)共享参数,也没有实现对抗性损失(GAN-based loss)
  • GAN的generator和discriminator必须确保training domain的数据和test domain的数据不能够被网络所区分,GAN这样的生成式模型(generative model)的优点在于,训练期间不需要复杂的推理或者抽样,缺点是训练的难度可能很大。
  • 作者认为对输入图像建立生成式模型(generative modeling)不是必要的,因为最终的目的是学习判别式模型的特征(discriminative representation)(也就是类的后验概率,这点对于大多数机器学习任务而言是一致的)
  • ADDA首先利用source domain的标签学习一个discriminative representation,再通过domain-adversarial loss使用不对称映射(asymmetric mapping)将target domain上的数据映射到一个相同的空间当中。

Generalized adversarial adaptation

  • 定义:

  • 首先最小化source domain映射后的Ms(Xs)(映射后的特征空间)和target domain映射后的Mt(Xt)(映射后的特征空间)之间的距离,在这种情况下,source domain和target domain的分类器可以共用,C=Cs=Ct
  • 分类器损失:
  • Domain discriminator(域区分器)loss(参考GAN那篇论文,Mt(xt):
  • 对抗性的优化(固定MsMt优化D,再固定D优化MsMt):

source and target mapping

  • source domain和target domain的图像通常被映射到feature space(特征空间,也有的叫latent space)来方便分类任务的进行。
  • 当source domain的映射参数Ms被确定了以后,就要去确定target domain的映射参数Mt
  • 为了最小化Ms(Xs)Mt(Xt)之间的距离的同时,也要保证Mt的识别性能,需要加上约束ψ(Ms,Mt)。作者将这个约束定义为逐层的约束:
  • 一个相当普遍的约束就是source domain的映射和target domain的映射完全一致:

    当所有的层都满足这个约束时,作者把这种变换(映射)称为“对称变换”(symmetric transformation)
  • 学习对称变换(symmetric transformation)可以减少模型中的参数数量并且保证了source domain上分类的准确度,但是这可能会造成优化上的困难,因为一个网络需要处理两个不同的域上的图像
  • 一个可选的方案是使用非对称的变换(asymmetric transformation),只允许一部分层受到约束。这样可以使得网络独立地从source domain和target domain中学习参数

Adversarial losses

  • 在确定了Mt的参数之后,作者利用adversarial loss来学习真正的映射。
  • 梯度反转层(gradient reversal layer)通过最大化discriminator(域区分器) loss来优化映射MsMt(作者把这个损失称为minimax loss)
  • 作者认为gradient reversal layer存在一个问题,就是在训练初期,discriminator会迅速收敛并且导致梯度消失。
  • 作者的建议是,discriminator的adversarial losses保持不变,但是映射的损失变为:

    • 作者认为这个目标函数和minimax loss 有相同的fixed-point properties(?)但是针对target mappingMt(xt)拥有更强的梯度。
    • 这种方式将source mappingMs和target mappingMt独立开来,并且仅仅去学习target mappingMt。这模拟了GAN,其中真实图像的分布保持固定,generator去生成的分布来匹配真实图像的分布
  • 拓展:(当source mapping也在变化的时候)GAN loss function 在拟合一个不变的分布的时候,是一个标准的选择方案。但是,当拟合的分布在变化的时候,使用GAN loss会导致震荡——当Mt收敛到最优的时候,discriminator的变化会导致预测的符号发生反转(?)
    -拓展:(当source mapping也在变化的时候)可以采用使用交叉熵损失函数的(domain confusion) 目标函数,确保了MsMt之间的独立性并且避免了震荡的出现:

Adversarial discriminative domain adaptation

  • 作者使用了判别式模型(discriminative model),source和target之间的映射权重不共享,损失函数使用standard GAN loss。

    • 作者选择判别式模型是基于“生成的令人信服的in-domain samples与adaptation任务是无关的”这样一个假设。
  • 因为同样的原因,多数的对抗性(adversarial)domain adaptation 任务直接使用了判别式模型(discriminative model) (反例是使用生成式模型的CoGAN)。然而使用CoGAN仅仅在source domain和target domain比较相似的时候会显示出比较大的优势(比如MINST和USPS),但是当source domain和target domain的数据偏移很大的时候,作者发现自己的模型收敛会有一定的困难。
  • 作者通过source mappingMs和target mappingMt 之间独立的参数,来进行更加灵活的学习,可以更多地学习到域特定的特征。但是如果没有一定的共享的参数,那么可能会导致target mappingMt的性能受到严重的影响
  • 因此,作者使用预先训练的source domain上的模型来对target domain上的模型进行初始化,并且在对抗性训练的过程当中固定source domain上的模型。
  • 在对抗性训练的过程中,不断地修正target domain上的模型来使得target domain的分布和source domain上的分布一致。生成的空间不断更新直到discriminator无法区分数据来自source domain还是target domain。
  • 最终的ADDA模型如下:

    • Lcls在预训练中使用,训练总的分类器C以及source domain上的映射Ms
    • LadvD训练域区分器区discriminator提高区分器对数据来自source domainMs(xs)还是target domainMt(xt)的区分能力(其中会保持Ms不变)
    • LadvM则是类似生成器一样的作用,学习target mapping以使得Mt(xt)尽可能地接近Ms(xs),使得discriminator难以区分source domain的数据Ms(xs)和target domain的数据Mt(xt)
      模型如下:

Experiment


阅读全文
0 0
原创粉丝点击