生成式对抗网络简介
生成对抗网络(Generative Adversarial Network, GAN)是一种由两个神经网络组成的机器学习模型,用于生成新的、类似于训练数据的样本。GAN由Ian Goodfellow及其同事在2014年提出,它在生成图像、声音和文本等数据方面取得了显著的成功。特点就是区别于一般用于回归和分类的神经网络模型。
GAN基本结构
GAN包括两个主要部分:
生成器(Generator):负责生成假数据。
判别器(Discriminator):负责区分生成的数据和真实数据。
这两个网络通过对抗训练来提高各自的能力:生成器试图生成看起来像真实数据的样本,以欺骗判别器。判别器试图尽可能准确地区分真实数据和生成数据。
训练时,生成器接收一个随机噪声向量,通过一系列的层生成一个数据样本。判别器接收一个数据样本(可能是生成的也可能是真实的),并输出一个判定结果,判断该样本是真实的概率。
在接下来的训练中,生成器和判别器通过对抗训练来改进。生成器的目标是最大限度地欺骗判别器,使其无法区分生成数据和真实数据。判别器的目标是最大限度地提高区分真实数据和生成数据的能力。
GAN的学习目标本质上是一个“分布”,因为本质上“生成”一个图像是从一个分布中去取样,举例来说如果要生成一个背景是蓝天的云的相关图像,那在连成一片云的区域中,取到“白色”像素的概率就比其他颜色的要大一些,而这个概率分布是需要训练去拟合的。根据目标的不同,分布也会愈加复杂,所以GAN的训练对于一般的计算资源来说不会容易。
(下图是生成的ÿ