GAN(Generative Adversarial Network)

GAN(Generative Adversarial Network),我们称之为生成式对抗网络


GAN的几种变体
GAN — CGAN — Pix2Pix — CycleGAN — StarGAN


GAN的作用

  • GAN:给定一个随机向量能够生成一个随机的图片
  • CGAN :给等一个标签和一个随机的向量生成指定的图片
  • Pix2Pix:可用于简笔画生成图片
  • CycleGAN:可以用于男女性别转换、油画图片转换等
  • StarGAN:CycleGAN的一个简单的版本

GAN的工作原理

从GAN的名字我们可以看出,GAN的实质就是对抗,如何进行对抗呢?

GAN中含有两个"器":生成器(generator)和辨别器(discriminate)

GAN的基本训练流程如下:

  1. 将样本图片x输入到判别器中,训练判别器的值为1
  2. 将随机向量z输入到生成器中,得到假的样本图片x,此时的生成器不参与训练
  3. 将得到的假的样本图片x输入到判别器D中,训练判别器的值为0
  4. 将随机向量z输入到生成器中,得到的假的样本图片x,此时的生成器参与训练
  5. 将得到的假的样本图片输入的判别器中,训练判别器的值为1
    D 和 G相互进行对抗,当两者的概率达到0.5时,说明此时的效果比较好,我们称此时为纳什均衡
    GAN(Generative Adversarial Network)

CGAN就是在GAN的训练中添加一个标签值,使得能够训练出自己想要的图片

CGAN的基本训练流程如下:
1.将样本图片x和标签l_x输入到判别器中,训练判别器的值为1
2.将随机向量z和标签l_x输入到生成器中,得到假的样本图片x‘,此时生成器不参与训练。
3.将生成假图像x’ 和标签l_x输入到判别器中,训练判别器的值为0
2.将随机向量z和标签l_x输入到生成器中,得到假的样本图片x‘,此时生成器参与训练。
3.将生成假图像x’ 和标签l_x输入到判别器中,判别器的值为1
GAN(Generative Adversarial Network)


Pix2Pix的效果图:
GAN(Generative Adversarial Network)
Pix2Pix的工作原理

  1. 将简笔画样本J和真实图片z输入到判别器中,训练判别器,使得判别器训练的概率为1
  2. 将简笔画样本J输入到生成器G中,生成假的图片:z’, 此时生成器不训练
  3. 将z’输入到判别器中,训练判别器为0
  4. 将简笔画样本J输入到生成器G中,生成假的图片:z’
  5. 将z’输入到判别器中,训练判别器为1,此时判别器不训练
    GAN(Generative Adversarial Network)

对于样本的获取,我们通常是将真实图片放入到Photoshop中得到简笔画图片,然后将简笔画和图片成对的放入到模型中进行训练。


CycleGAN的工作原理

  1. 将男性的图片放入到辨别器D男中,将女性图片放入到辨别器D女中开始进行训练,使得辨别器得值为1
  2. 将男性图片放入到生成器G女中,得到假的女性图片,此时生成器不参与训练
  3. 将假的女性图片放入到辨别器D男中,训练判别器,此时的判别器训练的值为0
  4. 将女性图片放入到生成器G男中,得到假的男性图片,此时生成器不参与训练
  5. 将假的男性图片放入到辨别其D女中,训练判别器,此时的判别器训练的值为0
  6. 将男性图片放入到生成器G女中,得到假的女性图片,此时生成器参与训练
  7. 将假的女性图片放入到辨别器D男中,不训练判别器,此时的判别器的值为1
  8. 将女性图片放入到生成器G男中,得到假的男性图片,此时生成器参与训练
  9. 将假的男性图片放入到辨别其D女中,不训练判别器,此时的判别器的值为1
  10. 将男性图片放入到G女中得到假的女性图片,然后将假的女性图片放入到G男中,得到假的男性图片,此时男性图片和假的男性图片需要相同
  11. 将女性图片放入到G男中,得到假的男性图片,然后将假的男性图片放入到G女中,得到假的女性图片,此时女性图片和假的女性图片需要相同
    GAN(Generative Adversarial Network)

训练的效果图: https://zhuanlan.zhihu.com/p/327864013


StarGAN的工作原理

  1. 将男性图片和男性标签放入到辨别器中,训练辨别器的值为1
  2. 将男性图片和女性标签放入到生成器中,生成假的女性图片,此时不训练生成器
  3. 将假的女性图片和男性标签放入到辨别器中,训练辨别器,值为0
  4. 将男性图片和女性标签放入到生成器中,生成假的女性图片,此时训练生成器
  5. 将假的女性图片和男性标签放入到辨别器中,不训练辨别器,值为1
  6. 将男性图片和女性标签放入到生成器中,生成假的女性图片
  7. 将假的女性图片和男性标签放入到生成器中,生成假的男性图片,此时保存男性图片和假的男性图片应该相同。
    GAN(Generative Adversarial Network)
上一篇:2021-10-24


下一篇:2020-U-GAT-IT- Unsupervised Generative Attentiona