Facebook 等人提出的 LAPGAN[2] 则是采用了这样的思想,在 GAN 基础上做出了改进。LAPGAN[2] 这个工作既有 project page,也有开源代码,是非常值得重视的工作。在实现 sequential version 的方式上,LAPGAN[2] 这个工作采用的是一种几十年前的 Laplacian Pyramid 的方式,也因此起名做 LAPGAN。
LapGan是用一个串联的网络,构成laplacian pyramid,生成从粗糙到精细的图片。
在金字塔的每一层级,使用GAN方法训练一个独立的生成式卷积网络模型。
利用自然图像的多尺度结构,构建一系列生成式模型。每个生成式模型抓取Laplacian金字塔的一个特定尺度的图像结构。
这一策略将原始问题转变成一系列更加可控的步骤。
生成器采样过程(sampling):(图像经过下采样再上采样到原来大小时候会有信息丢失,丢失的信息构成残差图像)
给最后一层的生成模型Gk输入噪声向量Zk,去生成一个残差图像Ik
除了最高层属于一般GAN,后面都使用CGAN,输入噪声+从低分辨率上采样而来的图像生成残差图像。
这个方式主要的操作便是 downsample 和 upsample,而优势是每次只考虑样本和生成图像之间的残差的学习效果,某种程度上和 Residual Network 的思想是一样的。针对残差的逼近和学习,相对更加容易。于是,在这个思想上,便有了如下 LAPGAN 的学习过程:
金字塔有K层,表示有K个对抗网络,分别生成k个不同层次的图像,其中设定第K+1层为0。生成网络有所不同之处在于,将高层金字塔图像也作为输出,和噪音一起生成低层的图像,相当于一个CGAN(conditional generative adverarial net)。通过上述网络,就可以生成最后的高分辨率的图像。