一些经典的 GAN 模型的通俗理解(上)

前言:

由于本猿最近在赶论文,推文更新慢

这篇文章是对一些经典的GAN 论文的重点记录

由于只是简述,论文的全面讲解还请自行查找

杂文系列 第 04 篇 文章

01

原始 GAN

论文:Generative Adversarial Networks

(https://arxiv.org/abs/1406.2661)

Github:https://github.com/jiqizhixin/ML-Tutorial-Experiment

简述:一个通过对抗的生成模型框架。由一个用来捕获数据分布的生成模型 G,和一个用来估计真实样本还是G 生成的样本的判别模型 D。G 的训练过程是最大化 D 产生错误的概率。这个框架相当于一个极小化极大的二元博弈。

02

条件式 GAN

论文:Conditional Generative Adversarial Nets

(https://arxiv.org/abs/1411.1784)

GitHub:https://github.com/hwalsuklee/tensorflow-generative-modelcollections/blob/master/CGAN.py

简述:D和G中均加入条件约束y时,实际上就变成了带有条件概率的二元极小化极大问题。实际上,条件变量 y 是作为一个额外的输入层,只是与 z 和 x 进行 cancat。

y 可以给模型提供更多的信息,给定特定条件,例如图像的类别。

03

图像到图像的条件式 GAN

论文:Image-to-ImageTranslation with Conditional Adversarial Networks(pix2pix)

(https://arxiv.org/abs/1611.07004)

Github:https://github.com/williamFalcon/pix2pix-keras

简述:与 cGAN 的区别如下:

输入的是图片不是噪音,并最小化输入图片与真实图片的距离

网络结构是 U-Net

Loss 采用 L1 loss

判别器采用 PatchGAN ,判别图像中的一个 NxN 局部真假

L1 Loss:

总 Loss:

04

循环 GAN

论文:Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Network(cycleGAN)

(https://arxiv.org/abs/1703.10593)

Github:https://github.com/junyanz/CycleGAN

简述:CycleGAN的创新点在于能够在源域和目标域之间,无须建立训练数据间一对一的映射,就可实现 pix2pix 这种迁移。

方法:将源域的图片映射到目标域,在映射回源域,得到二次生成图片,免除了图像一对一映射的要求。

循环:同时训练两个 GAN ,生成器GAB、判别器 DB 和 生成器 GBA、判别器 DA,即图A、图B 都映射回自己。

循环 Loss:

总的 Loss:

05

DIsco GAN

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

(https://arxiv.org/pdf/1611.07004.pdf)

Github:https://github.com/SKTBrain/DiscoGAN

简述:带有重建损失(reconstruction loss)

与 CycleGAN不同

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

总体损失

06

堆叠 GAN v1

论文:StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial

(https://arxiv.org/pdf/1612.03242v1.pdf)

Github:https://github.com/hanzhanggit/StackGAN

简述:简而言之,就是两个 GAN 叠加的网络结构,分阶段实现功能

论文中的第一个 GAN 就是 cGAN,生成低分辨率的形状和颜色图像,

第二个 GAN 负责修正之前的图像并生成更高分辨率、更多细节的图像

Stage-I GAN Loss:

Stage-II GAN Loss:

07

最小二乘 GAN

论文:Least Squares Generative Adversarial Networks

(https://arxiv.org/abs/1611.04076)

Github:https://github.com/wiseodd/generative-models

简述:针对 原始 GAN 质量和训练过程不稳定,改进的方法是 目标函数由 交叉熵损失 改成 最小二乘损失。

因为 交叉熵 会不再优化被判别器认为真实的图片,但是这些图片可能距离真实图片比较远(决策边界),即 JS 散度不能很好的拉近 真实图片和生成图片的距离,最小二乘可以。

其中,作者证明了 a - c = 1, a - b = 2, 目标函数等价于皮尔森卡方散度。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180723G1YVWL00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励