理解深度学习:第十五章 生成对抗网络
内容提要
本文介绍了生成对抗网络(GAN)的应用和改进,包括训练困难和稳定性问题以及改进技巧。还讨论了条件生成模型、InfoGAN和图画翻译的应用。最后介绍了StyleGAN,它能够调控输出图画的风格和噪声。
延伸解读
GAN训练不稳定的根源
文章指出,GAN训练困难的核心原因在于生成分布与真实分布可能互不重叠,导致Jensen-Shannon散度梯度消失。当判别器过于强大时,生成器几乎无法获得有效梯度。Wasserstein距离即使分布不重叠也能提供平滑梯度,因此WGAN用其替代原始损失,并通过对判别器施加Lipschitz约束(如权重裁剪或梯度惩罚)来稳定训练。
模式崩溃与覆盖不足的成因
原始GAN损失中的第二项不依赖于生成器,因此生成器只关注生成逼真样本,而忽略覆盖真实数据的所有模式,导致模式丢失。极端情况下,生成器可能完全忽略潜变量,所有输出收敛到少数几个点,即模式崩溃。文章提到小批量判别和切断技巧可缓解此问题:小批量判别鼓励生成样本的多样性,而切断潜变量则牺牲多样性以提升单样本质量。
条件生成与图像翻译的演进
条件GAN通过向生成器和判别器输入特征向量c,实现对生成样本属性的控制。ACGAN进一步要求判别器正确分类类别,InfoGAN则能无监督地发现解耦的特征。在图像翻译中,Pix2Pix需要成对训练数据,CycleGAN则利用循环一致性损失,无需成对样本即可实现风格转换。这些模型扩展了GAN的应用范围,但训练复杂度和数据需求仍是实际部署的考量。
StyleGAN的风格与噪声解耦
StyleGAN将数据变异分解为不同层级的风格和噪声。风格向量通过全连接网络映射为w,再经自适应实例归一化注入生成器各层,控制从头部姿态到头发颜色等不同尺度的特征。噪声向量则独立注入各卷积层,影响发丝、毛孔等随机细节。这种设计允许在不同层级上独立调控风格与噪声,提升了生成图像的可控性和质量,但也增加了模型复杂度和训练难度。
Q&A
生成对抗网络(GAN)是如何工作的?
生成对抗网络由生成器和辨别器组成,生成器生成样本,辨别器判断样本的真实性。两者通过对抗训练相互提升性能。
GAN训练中常见的挑战是什么?
GAN训练面临不稳定性、难以覆盖所有样本类型和梯度消失等问题。
什么是条件生成对抗网络(cGAN)?
条件生成对抗网络通过输入特征向量来控制生成样本的特定属性,使得生成的样本符合特定条件。
StyleGAN与传统GAN有什么不同?
StyleGAN能够在不同层级上调控输出图像的风格和噪声,允许更细致的风格控制。
如何提高GAN的训练稳定性?
可以通过使用Wasserstein距离、批量归一化、调整学习率等方法来提高GAN的训练稳定性。
Pix2Pix和CycleGAN有什么区别?
Pix2Pix使用成对图像进行训练,而CycleGAN则可以在没有成对样本的情况下进行图像风格转换。