【前言】
本文首先介绍生成式模型,然后着重梳理生成式模型(Generative Models)中生成对抗网络(Generative Adversarial Network)的研究与发展。作者按照GAN主干论文、GAN应用性论文、GAN相关论文分类整理了45篇近两年的论文,着重梳理了主干论文之间的联系与区别,揭示生成式对抗网络的研究脉络。
本文涉及的论文有:
- Goodfellow Ian, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets[C]//Advances in Neural Information Processing Systems. 2014: 2672-2680.
- Mirza M, Osindero S. Conditional Generative Adversarial Nets[J]. Computer Science, 2014:2672-2680.
- Denton E L, Chintala S, Fergus R. Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks[C]//Advances in neural information processing systems. 2015: 1486-1494.
4. 拉普拉斯金字塔生成式对抗网络,Laplacian Pyramid of Adversarial Networks
4.1 LAPGAN的思想
生成式对抗网络GAN研究进展(二)——原始GAN 提出,与其他生成式模型相比,GAN这种竞争的方式不再要求一个假设的数据分布,即不需要formulate p(x),而是使用一种分布直接进行采样sampling,从而真正达到理论上可以完全逼近真实数据,这也是GAN最大的优势。然而,这种不需要预先建模的方法缺点是太过自由了,对于较大的图片,较多的 pixel的情形,基于简单 GAN 的方式就不太可控了。为了解决GAN太过自由这个问题,一个很自然的想法是给GAN加一些约束,于是便有了Conditional Generative Adversarial Nets(CGAN)【Mirza M, Osindero S. Conditional】。通过引入条件变量y(conditional variable y),使用额外信息y对模型增加条件,可以指导数据生成过程。如果条件变量y是类别标签,可以看做CGAN 是把纯无监督的 GAN 变成有监督的模型的一种改进。这个简单直接的改进被证明非常有效,并广泛用于后续的相关工作中[3,4]。[Mehdi Mirza et al.]
另一方面,为了改进 GAN 太自由的问题,还有一个想法就是不要让 GAN 一次完成全部任务,而是一次生成一部分,分多次生成一张完整的图片。Sounds familiar?对啊,就是去年 DeepMind大火的一个工作 DRAW [1]的思想。DRAW 中指出,我们人类在完成一幅图画时,都不一定是一笔完成的,我们又为何要求机器能做到呢?所以 DRAW 用了一种 sequential VAE 的模型,让机器一点点“写”出了一个个数字。于是 Facebook 等人提出的 LAPGAN[2] 则是采用了这样的思想,在 GAN 基础上做出了改进。LAPGAN[2] 这个工作既有 project page,也有开源代码,是非常值得重视的工作。在实现 sequential version 的方式上,LAPGAN[2] 这个工作采用的是一种几十年前的 Laplacian Pyramid 的方式,也因此起名做 LAPGAN。
这个方式主要的操作便是 downsample 和 upsample,而优势是每次只考虑样本和生成图像之间的残差的学习效果,某种程度上和 Residual Network 的思想是一样的。针对残差的逼近和学习,相对更加容易。于是,在这个思想上,便有了如下 LAPGAN 的学习过程:
这个图中,当图像是较大 pixel 时,便需要进行 Laplacian Pyramid 过程,并且在每一个process step 时(每一个 Pyramid level),传给 D 的只是针对残差的 compare。另一方面,当pixel 足够小的时候,也就是最右边的 step,则不再需要进行 upsample 和 downsample 的过程,这时给 D 的 传送则是未经处理的样本和生成的图像了。Facebook 指出,这样的 sequential方式减少了每一次 GAN 需要学习的内容,也就从而增大了 GAN 的学习能力。值得注意的是,LAPGAN 其实也是 LAPCGAN,都是 conditional 的。另外,每一步的 GAN 都是independently trained 的。与此同时,这篇论文还总结出了许多工程上的经验,都在他们的project page中。
4.2 Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks
4.2.1 Abstract
LAPGAN
A generative parametric model capable of producing high quality samples of natural images.
一个生成式参数模型,能够生产高质量的自然图像样本
使用一个带有Laplacian pyramid框架的级联卷积网络由粗糙到精细的迭代地去生成图像。
At each level of the pyramid, a separate generative convent model is trained using the Generative Adversarial Nets (GAN) approach
在金字塔的每一层级,使用GAN方法训练一个独立的生成时卷积网络模型。
利用自然图像的多尺度结构,构件一系列生成式模型。每个生成式模型抓取Laplacian金字塔的一个特定尺度的图像结构。
这一策略将原始问题转变成一系列更加可控的步骤。
Samples are drawn in a coarse-to-fine fashion, commencing with a low-frequency residual image.
样本通过一个由粗糙到精确的形式画成,起始于一个低频残差图像。
第二步,在下一层采样带通结构(band-pass structure),以采样的残差作为条件。
Thus drawing samples is an efficient and straightforward procedure: taking random vectors as input and running forward through a cascade of deep convolutional networks (convnets) to produce an image.
4.2.2 Introduction
生成式模型两种主要的方法:
Generative models falls into two main approaches:
Non-parametric :
Copy patches from training images to perform, for example, texture synthesis [3] or super-resolution,entire portions of an image can be in-painted, given a sufficiently large training dataset
Parametric :
Early parametric models addressed the easier problem of texture synthesis making use of a steerable pyramid wavelet representation, similar to our use of a Laplacian pyramid.
4.2.3 拉普拉斯金字塔,Laplacian Pyramid
We introduce our LAPGAN model which integrates a conditional form of GAN model into the framework of a Laplacian pyramid.
The conditional generative adversarial net (CGAN) is an extension of the GAN where both networks G and D receive an additional vector of information l as input. This might contain, say, information about the class of the training example h. The loss function thus becomes.
where pl(l) is, for example, the prior distribution over classes. This model allows the output of the generative model to be controlled by the conditioning variable l.
p(l)是信息的分布,例如类别的先验分布;
这个模型允许生成模型的输出被条件变量l所控制。
在LAPGAN中,条件信息是另一个CGAN生成的图像。
Laplacian Pyramid
The Laplacian pyramid [1] is a linear invertible image representation consisting of a set of band-pass images, spaced an octave apart, plus a low-frequency residual.
拉普拉斯金字塔是一个线性可逆图像表征,它由一个带通图像集合构成,构成了一个octave apart空间,加上一个低频残差。
We first build a Gaussian pyramid G(I) = [I0; I1; : : : ; IK], where I0 = I and Ik is k repeated applications of d(:) to I
我们构建一个高斯金字塔,I0是原始图像,Ik是第k次下采样的图像。
4.2.4 Laplacian Generative Adversarial Networks (LAPGAN)
LAPGAN结合了条件GAN(CGAN)和拉普拉斯金字塔表征。
生成器采样过程(sampling):
Recurrence从IK+1开始(K是金字塔的层数,令Ik+1 = 0),然后给最后一层的生成模型GK输入噪声向量Zk,去生成一个残差图像Ik ,注意条件变量是k+1层图像的upsampling
采样/生成过程:
We start with a noise sample z3 (right side) and use a generative model G3 to generate ~I3. This is upsampled (green arrow) and then used as the conditioning variable (orange arrow) l2 for the generative model at the next level, G2.
训练过程:
- 原始图像I 64 * 64,令I0 = I,下采样生成I1;
- 对I1上采样,得到I0的一个低通版本 l0
- 等概率地为判别模型D0选择一个真实样本或是生成样本,为真实样例计算高通 h0 = I0 – l0;低通图像l0(条件信息)和噪声z输入生成模型G,输出高通图像(残差)h~ = G(z0,l0)。
判别模型的输入是低通图像l0(下、上采样)条件信息是:h 或 h~, 驱使生成模型学习realistic高频结构(与低通图像l0相一致)
4.3 实验
We evaluate our approach using 3 different methods:
- (i) computation of log-likelihood on a held out image set;
This new approach uses a Gaussian Parzen window estimate to compute a probability at each scale of the Laplacian pyramid.
- (ii) **drawing sample image**s from the model and
类别条件LAPGAN,通过类别组织生成的图像。
生成图像更锐利:归功于引入了数据扩充。
以类别标签做条件,改进了生成图像的质量,具体表现在:生成图像的物体结构更清晰,物体边界更显著。 - (iii) a human subject experiment that compares (a) our samples, (b) those of baseline methods and (c) real images.
Reference
[1] K. Gregor, I. Danihelka, A. Graves, and D. Wierstra. DRAW: A recurrent neural network for image
generation. CoRR, abs/1502.04623, 2015.
[2] Denton E L, Chintala S, Fergus R. Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks[C]//Advances in neural information processing systems. 2015: 1486-1494.
[3] A. A. Efros and T. K. Leung. Texture synthesis by non-parametric sampling. In ICCV, volume 2, pages
1033–1038. IEEE, 1999.