美文网首页
[GAN笔记] CycleGAN

[GAN笔记] CycleGAN

作者: 砖业人士 | 来源:发表于2018-08-06 19:00 被阅读0次

论文链接:https://arxiv.org/abs/1703.10593

1. 介绍
  图像翻译是指将图片内容从一个域转换到另一个域。这类任务一般都需要两个域中具有相同内容的成对图片作为训练数据。比如在pix2pix中,要将白天的图片转换成夜晚的图片(图 1),那么就需要将同一个地方的白天和夜晚的图片作为一对训练数据对模型进行训练。但是这种成对的训练数据很难获得。

图1 一般的图像翻译问题都需要输入成对的图片数据进行训练
CycleGAN的创新点就在于其能够在没有成对训练数据的情况下,将图片内容从源域迁移到目标域。CycleGAN在训练时,只需要将源域的图片和目标域的图片作为输入即可,这里并不要求源域跟目标域的图像内容是匹配的。
图2 成对训练数据与不成对的训练数据对比

2. 方法

CycleGAN原理
  CycleGAN的核心理念是,如果有一个图像风格转换器 G 可以将 X 域的图片转换为 Y 域的风格,而 F 可以将 Y 域的图片转换为 X 域的风格,那么 G 和 F 应该是互逆的。也就是说, X 域的图片经过 G 转换为 \hat{Y} 之后,\hat{Y}应该可以通过 F 转换为 X 。同样地, Y 域的图片经过 F 转换为 \hat{X} 之后,\hat{X}应该可以通过 G 转换为 Y 。即:F(G(x))=x ; G(F(y))=y 。为了实现这一个Cycle Consistency,论文使用了一个Cycle Consistency Loss :
L_{cyc}(G,F) = E_{x\sim p_{data}(x)}[\left \| F(G(x)) - x \right \|_{1}] + E_{y\sim p_{data}(y)}[\left \| G(F(y)) - y \right \|_{1}]
  CycleGAN的模型同时训练两个原始GAN:生成器G、F 和判别器 D_YD_X 。G 用于将 X 域的图片转换成 Y 域风格的图片,D_Y则分辨 \hat{Y} 的真假, F 将 Y 域的图片转换成 X 域的风格,D_X则判别 \hat{X} 的真假。这里用了两个原始GAN的loss:
L_{GAN}(G,D_{Y},X,Y) = E_{y\sim p_{data}(y)}[log D_Y (y)] + E_{x\sim p_{data}(x)}[log (1-D_Y (G(x))]
L_{GAN}(F,D_{X},Y,X) = E_{x\sim p_{data}(x)}[log D_X (x)] + E_{y\sim p_{data}(y)}[log (1-D_X (F(y))]
  所以CylceGAN总的目标函数是如下,\lambda 作为超参数控制Cycle Consistency 的重要性。
full objective of CycleGAN

  使用Cycle Consistence Loss 之后,将 x 通过 G(x) 转换之后,再通过 F(G(x)) 重建的效果如下:

3. 效果
  
  论文先将CycleGAN 跟当时的一些图像风格转换的方法在具有成对图像的数据集上进行比较。在这里,用完全监督的方法pix2pix作为上界。可以看到,CycleGAN 生成的图片对于除pix2pix以外的方法来说效果好很多。而相对于pix2pix,CycleGAN 生成的图片虽然不够清晰,但基本接近。


  
  接着,论文又研究了CycleGAN 的目标函数中每一部分所起的作用,效果如下(总的来说,每一部分都很重要)

4.总结
  
  CycleGAN 解决了pix2pix 必须使用成对数据进行训练的问题,原理比较简单,但非常有效。只需要不同域的一系列图片即可进行训练。类似的工作还有DualGAN,DiscoGAN。三者的想法和模型基本一样,发在了不同的地方。。

相关文章

  • [GAN笔记] CycleGAN

    论文链接:https://arxiv.org/abs/1703.10593 1. 介绍图像翻译是指将图片内容从一个...

  • Deep-Learning-with-PyTorch-2.2.2

    2.2.2 循环GAN(CycleGAN) 这个概念的一个有趣的演变是CycleGAN。 CycleGAN可以将一...

  • CycleGAN原理及实验(TensorFlow)

    生成对抗网络(GAN)是一个十分有效的深度学习模型,由此衍生了CycleGAN。 先简单介绍一下GAN。 GAN—...

  • GAN(1) GAN介绍: 基本概念及逻辑

    GAN介绍(李宏毅GAN课程学习笔记) Generative Adversarial Network GAN由Ia...

  • pix2pix

    作为GAN网络的基础pix2pix网络是一个类似于CycleGAN网络的另一种Image-to-Image Tra...

  • CycleGAN

    前段时间看了一下CycleGan网络,最近还是想稍微总结一下,毕竟如果不记下的话很容易忘记。个人觉得玩Gan网络就...

  • 2019-02-04

    以后再也不要这么晚睡觉了。 新的一周了,我希望这周我可以完成GAN和cycleGAN生成新的图。 下一周尝试对比其...

  • 生成式对抗网络

    GAN系列学习笔记 GAN GAN的任务是“无中生有”。打个比方,我们想要造假币(但是不知道真币是什么样的),那么...

  • 李宏毅 GAN 学习笔记

    1. 介绍GAN GAN的基本思想 为什么生成器不自己学? 为什么判别器不自己做? 具体算法 笔记:李宏毅学习笔记...

  • "ColorGAN":paper code学

    2018-09-03关于CycleGAN优化发现 Augmented CycleGAN: Learning Man...

网友评论

      本文标题:[GAN笔记] CycleGAN

      本文链接:https://www.haomeiwen.com/subject/iuilvftx.html