前言:
由于本猿最近在赶论文,推文更新慢
这篇文章是对一些经典的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, 目标函数等价于皮尔森卡方散度。
领取专属 10元无门槛券
私享最新 技术干货