[cvpr2017]Unsupervised Pixel–Level Domain Adaptation with Generative Adversarial Networks

优势

  • 与Task-Specific图像训练结构解耦合。

    • 作者说因为这个域适应是在像素级别上进行的( because our model
      maps one image to another at the pixel level),所以我们可以改变这个Task-Specific图像训练结构
  • 在标签域也可以同样做到域适应

    • target domain和source domain的标签域可以不一样,target domain训练时和测试时可以使用不同的标签。
  • 训练时稳定性高

    • 很多对抗性网络的训练都对参数的初始化很敏感
    • 提高稳定性的方法后面会讲
  • 数据的增加和拓展

    • 通过对源图像和随机噪声矢量进行调节,作者的模型可用于创建几乎无限的随机样本,其类似于来自target domain的图像。

相关

  • Unsupervised Domain Adaptation(非监督域适应)
  • Generative Adversarial Networks(生成式对抗神经网络)
  • Style Transfer
    • [Image style transfer using convolutional neural networks]
    • 但是Style Transfer学习的是单个图像的风格,而本篇论文希望学习整个图像域的风格

模型

[cvpr2017]Unsupervised Pixel–Level Domain Adaptation with Generative Adversarial Networks

  • 分类器与域适应的网络分开(和之前学过的不太一样)
  • source domain:XS={xsi,ysi}NSi=0
  • target domain:XT={xti}Nti=0
  • generator:G(xs,z;θG)xf
    • 将source domain的图像xsXs 和一个服从pz分布的噪声向量 zpz映射到生成的adapted image:xf,由此生成的新的adapted(fake) dataset为:Xf={G(xs,z),ys}
  • 在给定 adapted datasetXf的情况下,分类器可以在仿佛训练数据和测试数据是在同一个分布下采样的情况下进行训练。

Learning

  • 模型可以通过discriminator (区分器)D(x;θD)来进行增强。discriminator 输出 x是一个从target domain图像分布中采样的图像的可能性(likehood d)。
    • 这里discriminator的输入是generator生成的adapted imagexf
  • 和标准的GAN(Generative Adversarial Networks)不一样的是,标准的GAN的generator仅仅是被一个噪声向量所决定,而这个网络当中是由噪声向量和source domain图像共同决定。
  • 分类器为T(x;θT)yˆ输入的图像由target domain images和adapted images共同构成x{Xf,Xt}
  • 优化目标:
    minθG,θTmaxθDαLd(D,G)+βLt(G,T)

    • domain loss(域差异造成的损失)Ld:
      [cvpr2017]Unsupervised Pixel–Level Domain Adaptation with Generative Adversarial Networks
    • domain loss这个公式在GAN那篇论文里有过证明,是个自创的公式:
      [cvpr2017]Unsupervised Pixel–Level Domain Adaptation with Generative Adversarial Networks
    • task loss(分类损失)Lt:
      [cvpr2017]Unsupervised Pixel–Level Domain Adaptation with Generative Adversarial Networks
    • 真实分布ys与generator产生的adapted image的交叉熵再加上真实分布ys与source domain(nonadapted images)上的图像的交叉熵
    • 因为training之后我们可以自由调整其他使用不同标签域的来自source domain的图像,如果task loss当中不加入nonadapted image(source domain)的交叉熵项的话,可能导致训练不稳定(指的是假如仅仅使用adapted image,可能导致adapted image分类混淆,比如将类A的分到类B去)
      [cvpr2017]Unsupervised Pixel–Level Domain Adaptation with Generative Adversarial Networks
  • generator在作者的模型当中是一个带有residual connections(可以自己去查resual network)的卷积神经网络。discriminator也是卷积神经网络(没有resNet , 如模型中所示)
  • 优化的话,第一步是在固定θG的情况下,更新θD,θT,第二步是在固定θD,θT的情况下,更新θG,二者相互交替

内容相似度损失 - Content–similarity loss ,style transfer那一块的知识

  • 希望generator生成的图像,前景色和source domain基本一致(色调上),背景色不作要求。
  • 内容相似度损失Lc:
    [cvpr2017]Unsupervised Pixel–Level Domain Adaptation with Generative Adversarial Networks
    [cvpr2017]Unsupervised Pixel–Level Domain Adaptation with Generative Adversarial Networks

    • mRk是给定的一个binary mask(01遮罩)
    • Hadamard product(wiki)是对应元素相乘的那种积
    • 使用了masked pairwise mean squared error这种形式的损失,这是pairwise mean squared error(PMSE,???)的一个变种
    • 计算的是adapted images和source domain images前景差异的PMSE
    • 这个损失并不是完全阻止前景色的变化,而是努力使得前景色一致地变化。
  • 最终的优化目标被修正为:
    [cvpr2017]Unsupervised Pixel–Level Domain Adaptation with Generative Adversarial Networks

experiment

[cvpr2017]Unsupervised Pixel–Level Domain Adaptation with Generative Adversarial Networks
[cvpr2017]Unsupervised Pixel–Level Domain Adaptation with Generative Adversarial Networks
[cvpr2017]Unsupervised Pixel–Level Domain Adaptation with Generative Adversarial Networks
[cvpr2017]Unsupervised Pixel–Level Domain Adaptation with Generative Adversarial Networks

  • 针对各个数据集的实现细节论文后有附上,tensorflow代码还没有公布