GANs生成对抗网络

GAN的历程

左边部分主要是改进模型解决实际的图片转换,文本转图像,生成图片,视频转换等实际问题;右边部分呢则是主要解决GAN框架本身存在的一些问题。
图片
学习路径
图片

GAN

Ian Goodfellow 的原始 GAN 论文肯定是必读之作。涉及了GAN框架、“非饱和”损失函数以及最优判别器的推导。
图片
图1:训练对抗神经网络时,同时更新判别分布(D,蓝色虚线)使D能区分数据分布px(REAL,黑色虚线)中的样本和生成分布pg(G,绿色实线) 中的样本。
下面的水平线为均匀采样z的区域,上面的水平线为x的部分区域。朝上的箭头显示映射x=G(z)如何将非均匀分布pg作用在转换后的样本上。G在pg高密度区域收缩,且在pg地的低密度区域扩散。
(a)考虑一个接近收敛的对抗的模型对:pg 与pdata相似,且D是个部分准确的分类器。
(b)在算法的内循环中,训练D来判断数据中的样本,收敛到D*(x)=pdata(x)/[pdata(x)+pg(x)]
(c)在G的一次更新后,D的梯度引导G(z)流向更可能分类为数据的区域。
(d)训练若干步后,如果G和D有足够的容量,他们将会接近某个点,由于pg=pdata 两者都无法提高性能。判别器将不能区别出训练数据分布和生成数据分布,即D(x)= 1/2。

DCGAN

顾名思义,DCGAN主要讨论CNN与GAN如何结合使用并给出了一系列建议。另外还讨论了GAN特征的可视化、潜在空间插值等问题。
图片

ImprovedGAN

Ian Goodfellow等人提供了诸多训练稳定GAN的建议,包括特征匹配、mini-batch识别、历史平均、单边标签平滑以及虚拟批标准化等技巧。讨论了GAN不稳定性的最佳假设。

PACGAN

PACGAN讨论的是的如何分析model collapse,以及提出了PAC判别器的方法用于解决model collapse。思想其实就是将判别器的输入改成多个样本,这样判别器可以同时看到多个样本可以从一定程度上防止model collapse。

WGAN

WGAN首先从理论上分析了原始GAN模型存在的训练不稳定、生成器和判别器的loss无法只是训练进程、生成样本缺乏多样性等问题,并通过改进算法流程针对性的给出了改进要点。

ConditionalGAN

同一般形式的GAN类似,也是先训练判别网络,再训练生成网络,然后再训练判别网络,两个网络交替训练。只是训练判别网络的样本稍有不同,训练判别网络的时候需要这三种样本,分别是:
(1)条件和与条件相符的真实图片,期望输出为1;
(2)条件和与条件不符的真实图片,期望输出为0;
(3)条件和生成网络生成的输出,期望输出为0。

图片
图片

CycleGAN

CycleGAN讨论的是image2image的转换问题,提出了Cycle consistency loss来处理缺乏成对训练样本来做image2image的转换问题。Cycle Consistency Loss 背后的主要想法,图片A转化得到图片B,再从图片B转换得到图片A’,那么图片A和图片A’应该是图一张图片。

Vid2vid

Vid2Vid通过在生成器中加入光流约束,判别器中加入光流信息以及对前景和背景分别建模重点解决了视频转换过程中前后帧图像的不一致性问题。

PGGAN

PGGAN创造性地提出了以一种渐进增大(Progressive growing)的方式训练GAN,利用逐渐增大的PGGAN网络实现了效果令人惊叹的生成图像。“Progressive Growing” 指的是先训练 4x4 的网络,然后训练 8x8,不断增大,最终达到 1024x1024。这既加快了训练速度,又大大稳定了训练速度,并且生成的图像质量非常高。

SeqGAN

SeqGAN用对抗网络实现了离散序列数据的生成模型。解决了对抗生成网络难应用于nlp领域的问题,并且在文本生成任务上有优异表现。相比以往刻意用增强学习解决生成模型的训练不一样,在NLP上因为存在误差无法回进行梯度更新的问题,对抗生成网络的训练中只能用增强学习,所以模型结构显得如此的恰到好处。

StackGAN

StackGAN是由文本生成图像,StackGAN模型与PGGAN工作的原理很像,StackGAN 首先输出分辨率为64×64 的图像,然后将其作为先验信息生成一个 256×256 分辨率的图像。

BigGAN

BigGAN模型是基于 ImageNet 生成图像质量最高的模型之一。该模型很难在本地机器上实现,而且 有许多组件,如 Self-Attention、 Spectral Normalization 和带有投影鉴别器的 cGAN等。

StyleGAN

StyleGAN应该是截至目前最复杂的GAN模型,该模型借鉴了一种称为自适应实例标准化 (AdaIN) 的机制来控制潜在空间向量 z。虽然很难自己实现一个StyleGAN,但是它提供了很多有趣的想法。

Author: pangzibo243
Link: https://litianbo243.github.io/2019/08/05/GAN生成对抗网络学习/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
支付宝打赏
微信打赏