深度学习【38】Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks

比较早的一篇GAN图片生成的论文,思想是利用拉普拉斯图像金字塔的原理由粗到细(尺寸由小到大)生成图片。用的GAN是最开始提出的那篇。
深度学习【38】Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks
上图是网络生成图片的过程。由随机变量z3 通过G3 网络生成8*8的图片Ĩ 3,上采样得到16*16的图片l2l2z2 共同作为 G2 网络的输入,并得到拉普拉斯金字塔系数h̃ 2,将该系数与图片l2 相加,得到更精细的16*16大小的图片Ĩ 2;以此类推,最终得到64*64的图片Ĩ 0。也可以用公式表示:
深度学习【38】Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks

拉普拉斯图片金字塔

图片金字塔,首先他是由一张原始图片的多个不同尺度的下采样图片构成(高斯图片金字塔)。那么我们先建立一个K层的高斯图片金字塔.(I)=[I0,I1,...,IK] 。进而我们定义一下拉普拉斯图片金字塔的系数:
深度学习【38】Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks
其中u(Ik+1) 表示第k+1层图片的两倍上采样。所以hk 其实就是第k层的图片减去第k+1层图片的2倍上采样图片。这样一来,当我们有了hk 和第k+1层图片时,我们就能够用下面这个公式恢复出第k层的图片:

Ik=u(Ik+1)+hk

另外第K层,也就是最顶层的拉普拉斯系数等于该层的图片。

LAPGAN

所以论文就是利用拉普拉斯图片金字塔的图片重构原理设计出的由粗到细(由小图片到大图片)的方法。而第k个G网络的输出都是第k层的拉普拉斯系数,除了第K个是输出该层的图片。
深度学习【38】Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks
第k个G网络的输入是第k+1层图片的上采样图片和随机变量zk
而第K个G网络则是:
深度学习【38】Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks
输入zK,输出h̃ K=IK

LAPGAN测试时的使用我们一开始就说了,这里不再废话了。我最后看看训练时的完整网络:
深度学习【38】Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks

网络的训练是分阶段的。论文一共有4个GAN网络,每个网络单独训练。除了第K个GAN网络的G网络输入输出是zkĨ 3 ,D网络的输入是真实的图片I3和G网络的输出图片Ĩ 3。其他3个GAN的G网络输入是zk,uk+1,输出是h̃ k;而D网络的输入是真实的拉普拉斯系数、G网络生成的拉普拉斯系数以及真实的u(Ik+1)