[cvpr2017]Adversarial Discriminative Domain Adaptation

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

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

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) 。作者将这个约束定义为逐层的约束:
    [cvpr2017]Adversarial Discriminative Domain Adaptation_第6张图片
  • 一个相当普遍的约束就是source domain的映射和target domain的映射完全一致:
    [cvpr2017]Adversarial Discriminative Domain Adaptation_第7张图片
    当所有的层都满足这个约束时,作者把这种变换(映射)称为“对称变换”(symmetric transformation)
  • 学习对称变换(symmetric transformation)可以减少模型中的参数数量并且保证了source domain上分类的准确度,但是这可能会造成优化上的困难,因为一个网络需要处理两个不同的域上的图像
  • 一个可选的方案是使用非对称的变换(asymmetric transformation),只允许一部分层受到约束。这样可以使得网络独立地从source domain和target domain中学习参数

Adversarial losses

  • 在确定了 Mt 的参数之后,作者利用adversarial loss来学习真正的映射。
  • 梯度反转层(gradient reversal layer)通过最大化discriminator(域区分器) loss来优化映射 Ms Mt (作者把这个损失称为minimax loss)
    [cvpr2017]Adversarial Discriminative Domain Adaptation_第8张图片
  • 作者认为gradient reversal layer存在一个问题,就是在训练初期,discriminator会迅速收敛并且导致梯度消失。
  • 作者的建议是,discriminator的adversarial losses保持不变,但是映射的损失变为:
    [cvpr2017]Adversarial Discriminative Domain Adaptation_第9张图片
    • 作者认为这个目标函数和minimax loss 有相同的fixed-point properties(?)但是针对target mapping Mt(xt) 拥有更强的梯度。
    • 这种方式将source mapping Ms 和target mapping Mt 独立开来,并且仅仅去学习target mapping Mt 。这模拟了GAN,其中真实图像的分布保持固定,generator去生成的分布来匹配真实图像的分布
  • 拓展:(当source mapping也在变化的时候)GAN loss function 在拟合一个不变的分布的时候,是一个标准的选择方案。但是,当拟合的分布在变化的时候,使用GAN loss会导致震荡——当 Mt 收敛到最优的时候,discriminator的变化会导致预测的符号发生反转(?)
    -拓展:(当source mapping也在变化的时候)可以采用使用交叉熵损失函数的(domain confusion) 目标函数,确保了 Ms Mt 之间的独立性并且避免了震荡的出现:
    [cvpr2017]Adversarial Discriminative Domain Adaptation_第10张图片

Adversarial discriminative domain adaptation

  • 作者使用了判别式模型(discriminative model),source和target之间的映射权重不共享,损失函数使用standard GAN loss。
    [cvpr2017]Adversarial Discriminative Domain Adaptation_第11张图片
    • 作者选择判别式模型是基于“生成的令人信服的in-domain samples与adaptation任务是无关的”这样一个假设。
  • 因为同样的原因,多数的对抗性(adversarial)domain adaptation 任务直接使用了判别式模型(discriminative model) (反例是使用生成式模型的CoGAN)。然而使用CoGAN仅仅在source domain和target domain比较相似的时候会显示出比较大的优势(比如MINST和USPS),但是当source domain和target domain的数据偏移很大的时候,作者发现自己的模型收敛会有一定的困难。
  • 作者通过source mapping Ms 和target mapping Mt 之间独立的参数,来进行更加灵活的学习,可以更多地学习到域特定的特征。但是如果没有一定的共享的参数,那么可能会导致target mapping Mt 的性能受到严重的影响
  • 因此,作者使用预先训练的source domain上的模型来对target domain上的模型进行初始化,并且在对抗性训练的过程当中固定source domain上的模型。
  • 在对抗性训练的过程中,不断地修正target domain上的模型来使得target domain的分布和source domain上的分布一致。生成的空间不断更新直到discriminator无法区分数据来自source domain还是target domain。
  • 最终的ADDA模型如下:
    [cvpr2017]Adversarial Discriminative Domain Adaptation_第12张图片
    • Lcls 在预训练中使用,训练总的分类器 C 以及source domain上的映射 Ms
    • LadvD 训练域区分器区discriminator提高区分器对数据来自source domain Ms(xs) 还是target domain Mt(xt) 的区分能力(其中会保持 Ms 不变)
    • LadvM 则是类似生成器一样的作用,学习target mapping以使得 Mt(xt) 尽可能地接近 Ms(xs) ,使得discriminator难以区分source domain的数据 Ms(xs) 和target domain的数据 Mt(xt)
      模型如下:
      [cvpr2017]Adversarial Discriminative Domain Adaptation_第13张图片

Experiment

[cvpr2017]Adversarial Discriminative Domain Adaptation_第14张图片
[cvpr2017]Adversarial Discriminative Domain Adaptation_第15张图片

你可能感兴趣的:(domain,adaptation)