Couple GAN论文笔记

论文link: https://arxiv.org/abs/1606.07536

儲備知識點:

  • marginal distributions:边缘分布
    • 指的是由两个以上样本空间时,只考虑其中某一事件个别发生概率,称为边缘分布。
  • joint distributions:联合分布
    • 指的是两个以上事件都发生的概率
  • conditional distributions:条件分布
    • 指的是在条件A之下,条件B发生的概率。
  • 我們可能可以知道 marginal distributions,但是無法去推斷其中所包含的 joint distributions,因為其中可能不止含有一種解答。
  • 我们可能可以知道 marginal distributions,但是无法去推断其中所包含的 joint distributions,因为其中有无数种的可能行。

  • 上图中
    • P(A1) = 0.6,P(B2) = 0.4 就是属于 marginal distributions。
    • P(A1 and B1) = 0.5 就是 joint distributions
    • P( B1 | A1) “|” 读作 given = P(A1 and B1) / P(B1) = 0.5 / 0.6,表示车主为蓝领的情况下,购买国产车的概率。

Abstract:

  • 這篇論文提出了一個 CoGAN 的網絡架構來對不同 domain 的圖像學習它們的聯合分佈。CoGAN 跟先前的作法不同,在訓練過程中不需要來自不同 domain 下已經做好配對的圖像。CoGAN 可以直接從樣本的邊緣分佈中學到一個聯合分佈的結果。(这里我的理解像是“今天我想要从黑色头发的图像集和黄色头发的图像集中,学习到一个这两个空间中最相似那个部分的分布空间,例如说这人图像集中的人脸的模式。”)這個方法是通過对生成器(generator)和辨别器(discriminator)做 weight-sharing 的来实现。

Introduction:

  • 文章的核心目标就是从两个非配对的资料集中,学习到他们的联合分布。这个方法可以应用于图像转换和 domain adapatation(在这里简单解释下什么是domain adaptation,简单来说可以想像成我们现在用白皮肤人脸资料集做了一个分类器,辨别男女,这时候有一个没有出现过的黑皮肤人脸资料出现,我们希望我们之前训练的分类器也能对这个新的资料有好的分类结果)。传统的做法都是需要让这样两个不同的图像 domain 做好一对一的图像配对。显然这种方法比较费工而且有一定的困难。
  • CoGAN需要的是一组已经用特定 attribute 分类好的图像数据集(例如说黄色头发的人脸,黑色头发的人脸)。CoGAN的网络架构中包含一组GAN,分别对应到两个不同的 attribute set 。并让上面提到的两个GAN通过 weight sharing 学习到相同的高阶语义(high level semantics可以理解为图像的抽象内容,或者可以理解为图像的主体内容),之后再学习不同 attribute 的低阶细节来欺骗辨别器。

Couple GAN

CoGAN网络架构图

  • 上图是CoGAN的网络架构图。在这个架构中我们可以观察到,CoGAN包含两个GAN的基本结结构,并用虚线表示 weight-sharing 的部分。这个想法是基于 generator 在 first layer 中学到的是高阶语义,在 last layer 中学到的是低阶细节,与之相反,discriminator 在 first layer 会去辨别低阶细节,在 last layer 中采取处理高阶语义。所以基于这样的想,我们就可以很快的理解这个网络架构的用意义,就是希望我们的两个 GAN 能够学到相同的高阶语义(比如说脸部特征都相同),然后能够在之后赋予他们不同 attribute 的细节特征(黄头发,黑头发),辨别器需要做的就是鉴别出有不同 attribute 相同高阶语义的图像是否为真实。到这里基本把 CoGAN 的基本核心想法介绍完了。特别要注意的是 CoGAN 必须基于在高阶语义上存在相同的表达,否则很容易失败。这就意味着,两组 data 所包含的所有 attribute 中必须存在高度的相似性,这样CoGAN有办法学到这个相似的部分。

实验

  • 文章中主要介绍了5个测试实验,分别包括手写数字的风格变换,weight-sharing 的作用效果,对比 Condition GAN,脸部风格转换,颜色与深度图的转换。 这里我主要就简单介绍下手写数字以及跟 Condition GAN 的对比。
  • 数字风格转换结果:(上图:手写数字vs手写数字加粗。下图:手写数字vs手写数字反色)手写数字vs加粗

手写数字vs反色

  • weight-sharing (上图:比对的逻辑。下图:实验结果)
    比对流程

  • 作者利用 GAN1 产生的 image1(domain A),通过 A to B的转化方程,得到一个 image3(domain B),对比 GAN2 产生的 image2(domain B)和 image3 的 binary image,得到 PAR,相同 pixel 占整张图片的百分比。结果如下:实验结果
    从上图的实验结果中我们可以知道,在生成器中增加 weight-sharing 的数量,对改善结果是有帮助的,但是在辨别器中就没有特别显著的改善。这里作者依旧选择对辨别器做 weight-sharing 的意义是希望减少 weight 的数量。

  • CoGAN vs Condition GAN:(上图为 Condition GAN 架构图。中间为 CoGAN 架构图,最后为 Condition GAN 的结果)
    Condition GAN

  • Condition GAN 的结构跟 CoGAN 中单个 GAN 的结构是相同的。不同点在于 Condition GAN 在最开始的 input 多了一个 control value 来控制所要生成的 domain。(这里个人感觉作者有点赖皮,毕竟无法直接通过这个 control value 来控制特定一个 attribute,所以失败也是理所当然的。)
    在这里插入图片描述
    Condition GAN 结果

后续的提升 paper:

Unsupervised image to image translation network:https://arxiv.org/pdf/1703.00848.pdf
主要提升在图像的解析度,以及强大的 domain translation。

猜你喜欢

转载自blog.csdn.net/weixin_44317648/article/details/85329997
今日推荐