笔记] Adversarial Discriminative Domain Adaptation"/>
[论文笔记] Adversarial Discriminative Domain Adaptation
原文链接:.05464 (CVPR2017)
Motivation
- 在做区分的任务或者域偏移较大任务上之前的方法比较不那么令人满意。例子是:CoGANs。这种方法只在源域和目标域非常相似的情况下(如 MNIST 和 USPS )显示出优势,在本文实验中,很难使它收敛到更大的分布偏移。
- 在能够处理大偏差任务的方法上,大多采用了固定权重的方法来进行训练(主要就是 target domain 的分类那边,基本是源和目标共用一个分类器)。
- 其实很多方法都没有用到 GAN 的标准的 loss。
- 现在的方法基本都是让一个 mapping,将target映射到 source ,然后用 source 的分类器来处理。但是没有说学习两个映射,将 source /target 都映射了,然后用映射后的来进行分类。
Contributions
论文提供了一个unified framework(unifies design choices such as weight-sharing, base models, and adversarial losses and subsumes previous work, while also facilitating the design of novel instantiations that improve upon existing ones)并且回顾了许多之前的方法,主要想解决三个问题:
1. 是使用基于生成器还是判别器的模型。
2. 使用什么损失函数,MMD-based,还是 GAN-based loss,即通过对抗的方法使得提取的特征来自源域还是目标域。
3. 使用在源域和目标域上的模型是否共享权值。
Methodology (论文原图,侵删)
Problem Definition (注意:所有的讨论都是基于unsupervised target domain的setting)
Given - source images and labels , drawn from a distribution
- target images , drawn from a distribution and have no labels
Goal: To learn a target reperesentation and a classifer , can correctly classify target images into one of categories at test time, despite the lack of in domain annotations
Overview
与 ()作法类似,一般先利用 source domain 数据训练 source representation mapping 和 source classifier , 然后考虑 model 在 target domain 的adaptation。
由于target domain 没有 labels,所以无法在 target domain上训练 representation mapping 和分类器 ,但是可以通过减小 source 和 target domain 的 mappings 分布的差异:minimize distance between and ,从而将 source 和 target samples 映射到同一个特征子空间中,这样在源域上训练到的分类器 就可以直接用到目标域上。
对于 source classification model 可以在 source domain 上利用 standard supervised loss 进行训练:
对于domain discriminator , 可以根据数据来自source or target domain 利用standard supervised loss进行训练:
训练了一个用于区分源域和目标域数据的判别器
Source and target mappings
对于 target representation mapping 的参数选择,文章先利用训练好的 进行初始化,然后固定部分参数进行后续训练(即一部分层的参数使用源域映射的参数)。
大概半对称?(这样既能达到不是的所有的参数都被限制,又能达到部分对齐的效果)这是一种基于生成器的想法。
Adversarial losses
文章列举了三种不同的loss function选择
第一种:
使用梯度反转层进行的优化,然而在训练的过程中会快速收敛(造成gradient vanishing), 因此训练中后期的可优化空间比较小 (具体参考文章 Unsupervised Domain Adaptation by Backpropagation)
第二种:
GAN中inverted label 方法,相当于有两个独立的损失函数,一个是生成器的,另一个是判别器的。虽然还是有上面的一样的问题,不过提供了比较强的loss,梯度消失的问题解决得比较好(This objective has the same fixed-point properties as the minimax loss but provides stronger gradients to the target mapping.)但是当两个分布都变化时,这个损失函数会导致振荡。具体的提出在GAN 的论文里面。
第三种:
交叉熵loss。相比之下此方法综合考虑了两个域相互接近的过程,比较稳定(具体参考文章Simultaneous Deep Transfer Across Domains and Tasks)
Adversarial discriminative domain adaptation
主要流程如Figure 3所示,
- First pre-train a source encoder CNN using labeled source image examples.
- Next, perform adversarial adaptation by learning a target encoder CNN such that a discriminator that sees encoded source and target examples cannot reliably predict their domain
label.
- During testing, target images are mapped with the target encoder to the shared feature space and classified by the source classifier
Reference
Adversarial Discriminative Domain Adaptation阅读笔记 - 知乎
Adversarial Discriminative Domain Adaptation - 知乎
更多推荐
[论文笔记] Adversarial Discriminative Domain Adaptation
发布评论