论文阅读:Learning to Discover Cross-Domain Relations with Generative Adversarial Networks


论文阅读:Learning to Discover Cross-Domain Relations with Generative Adversarial Networks


一、目的

   提出一个基于GAN的网络框架来学习发现跨域关系(cross-domain relation),把寻找这种关系变

成了用一种风格的图片生成另一种风格。

   下面是论文列举的手提包生成鞋、鞋生成手提包的示意图。

论文阅读:Learning to Discover Cross-Domain Relations with Generative Adversarial Networks_第1张图片

二、模型

     GAB表示域A到域B的生成器,GBA表示域B到域A的生成器。为了找到有意义的对应关系,需要将这个映
   射限制成一对一映射,意思就是说,GAB和GBA应该是刚好相反的映射。对于所有的A里面的真实样本
   xA,GAB(xA)都要在B里面,对于GBA(xB)也一样。

标准的GAN模型

论文阅读:Learning to Discover Cross-Domain Relations with Generative Adversarial Networks_第2张图片

  图中xA、xB分别表示A里面和B里面的真实样本,xAB表示真实样本xA经生成器GAB生成的样本。

标准的GAN模型很容易发生模式崩溃。

带有重建损失的GAN模型

   基于前面所提出的一对一映射,对于所有的A里面的真实样本xA,GAB(xA)都要在B里面,这相当于要满
足GBA(GAB(xA))=xA这个条件,但是这个条件很难优化,于是改为最小化距离d(GBA(GAB(xA)),xA),
这个d可以是L1,L2等等的度量函数。
   于是,标准的GAN模型就被改成了这样:

论文阅读:Learning to Discover Cross-Domain Relations with Generative Adversarial Networks_第3张图片

   生成器的损失函数如下:

论文阅读:Learning to Discover Cross-Domain Relations with Generative Adversarial Networks_第4张图片
这里写图片描述

      生成器GAB收到两个损失,一个是重建损失(reconstruction loss),描述经过两个生成器之后的
   重建效果与原始真实样本的差距,另外一个是原始GAN的生成损失,表示GAB生成的样本来自B的逼真性。

    判别器的损失如下:


D表示相应域的判别器。

    相对于原始的GAN模型,这里的重建约束虽然迫使重建样本与原始的一样,但是这仍然会导致类似的模式崩溃问题。

论文阅读:Learning to Discover Cross-Domain Relations with Generative Adversarial Networks_第5张图片

       (a)是我们理想的映射,一对一的;(b)是原始GAN的结果,A中的多个模式映射到了B中的一个模式,
    就是模式崩溃的情况;(c)是加入了重建损失的GAN,A中两个模式的数据都映射到了B中的一个模式,
    而B中一个模式的数据只能映射到A中这两个模式中的一个。重建损失使得模型在(c)中的两个状态之间
    震荡,而并不能解决模式崩溃问题。
        个人的理解是,当A的数据放进去一起训练,由于不管是放进哪一个模式,GAB都会产生B中对应的一个模式,
    而GBA再生成的时候,当生成A中的第一个模式,和第二个模式就不像了,于是接下来重建损失会使得GBA再生成
    的数据往第二个模式靠拢,但是又不像A里面的第一个模式了,于是模型在这两者之间来回震荡,导致无法收敛。

DiscoGAN

    为了解决模式崩溃的问题,就要使得不管是GAB还是GBA,不同模式生成出来的就应该是不同的,于是很自然地
    想到了对称结构,就是再加一个反过来的生成网络,迫使A和B中的数据一一对应。

论文阅读:Learning to Discover Cross-Domain Relations with Generative Adversarial Networks_第6张图片

   模型中包含两个生成器GAB,这两个GAB是一样的,还有两个生成器GBA,这两个也是一样的。这样就实
   现了一对一的映射。

损失函数如下:
论文阅读:Learning to Discover Cross-Domain Relations with Generative Adversarial Networks_第7张图片

记号和结构

论文阅读:Learning to Discover Cross-Domain Relations with Generative Adversarial Networks_第8张图片

三、实验

toy实验

     首先为了证明所提出的这种对称模型对于模式崩溃问题的良好性能,做了一个演示实验。A和B中的数据
   都是二维的,真实样本都取自混合高斯模型。用3个线性层和一个ReLU激活层作为生成器,判别器用5个
   线性层,每层后面接一个ReLU层,最后再接一个sigmoid层将输出限定在[0,1]之间。

论文阅读:Learning to Discover Cross-Domain Relations with Generative Adversarial Networks_第9张图片

       彩色背景表示判别器的输出值,”x”表示B种不同的模式。(a)标示了10个目标模式和最初的转换结
    果;(b)是标准的GAN迭代40000次的结果;(c)是加入重建损失的网络迭代40000次的结果;(d)是文
    章提出的DiscoGAN迭代40000次后的结果。标准GAN的许多不同颜色的转换点都位于B相同的模式下,
    海蓝和浅蓝色的点离得很近,橙色和绿色的点也在一起,多种颜色的点(A中的多种模式)都映射到B的
    同一种模式下。带有重建损失的GAN的模式崩溃问题已经不那么严重了,但是海蓝、绿色和浅蓝色的点
    仍然会在少数几个模式上重叠。标准的GAN和带有重建损失的GAN都没有覆盖B中的所有模式,
    DiscoGAN将A中的样本转换为B中有边界不重叠的区域,避免了模式崩溃,并且产生的B样本覆盖了所
    有10种模式,因此这个映射是双射,从A转换的样本也把B的鉴别器个骗过了。

转换实验

汽车到汽车
论文阅读:Learning to Discover Cross-Domain Relations with Generative Adversarial Networks_第10张图片

人脸到人脸
论文阅读:Learning to Discover Cross-Domain Relations with Generative Adversarial Networks_第11张图片

性别转换
论文阅读:Learning to Discover Cross-Domain Relations with Generative Adversarial Networks_第12张图片

头发颜色转换
论文阅读:Learning to Discover Cross-Domain Relations with Generative Adversarial Networks_第13张图片

是否戴眼镜转换
论文阅读:Learning to Discover Cross-Domain Relations with Generative Adversarial Networks_第14张图片

先转换性别,再转换头发颜色
论文阅读:Learning to Discover Cross-Domain Relations with Generative Adversarial Networks_第15张图片

头发颜色、性别来回转
论文阅读:Learning to Discover Cross-Domain Relations with Generative Adversarial Networks_第16张图片

椅子到汽车,汽车到人脸
论文阅读:Learning to Discover Cross-Domain Relations with Generative Adversarial Networks_第17张图片

轮廓和图像互转
论文阅读:Learning to Discover Cross-Domain Relations with Generative Adversarial Networks_第18张图片

附录

论文链接
https://arxiv.org/pdf/1703.05192.pdf
论文相关博客
http://blog.csdn.net/u011636567/article/details/72678625
代码地址
官方代码:https://github.com/SKTBrain/DiscoGAN
其他代码:https://github.com/carpedm20/DiscoGAN-pytorch
Tensorflow简洁版本:https://github.com/ChunyuanLI/DiscoGAN

你可能感兴趣的:(GAN)