生成对抗网络(Generative Adversarial Network,GAN)是一种深度学习模型架构,由 Ian Goodfellow 等人在 2014 年提出。GAN 由两个神经网络组成——生成器(Generator)和判别器(Discriminator),两者通过对抗学习的方式共同进化。
1. 核心思想
GAN 的核心思想是让生成器生成尽可能逼真的数据,使判别器无法区分这些数据是真实的还是伪造的。
- 生成器(G):尝试生成接近真实数据分布的假数据。
- 判别器(D):区分输入数据是真实数据还是生成器生成的伪数据。
二者通过博弈的方式不断优化:
- 生成器试图最大化判别器的错误率,生成逼真的样本。
- 判别器试图最大化正确率,正确判断样本的真实性。
2. 损失函数
GAN 的优化目标是 极小极大损失函数:
- D(x): 判别器给真实样本的评分。
- G(z): 生成器以随机噪声 z 生成的样本。
3. GAN 的训练步骤
- 初始化:随机初始化生成器和判别器的参数。
- 更新判别器:固定生成器,最大化判别器在真实数据和生成数据上的区分能力。
- 更新生成器:固定判别器,最小化生成数据被判别器识别为假的概率。
- 重复步骤 2 和 3,直至生成器生成的数据足够逼真。
4. GAN 的挑战
- 不稳定性:GAN 的训练过程容易导致模式崩溃(Mode Collapse),即生成器只生成一小部分样本。
- 训练困难:生成器和判别器的能力需要平衡,过强的判别器会导致生成器难以优化。
- 收敛性问题:理论上 GAN 收敛时,生成分布与真实数据分布完全匹配,但实际训练中很难达到。
5. GAN 的变体
为了克服传统 GAN 的缺陷,研究者提出了许多改进版本:
- DCGAN(Deep Convolutional GAN):引入卷积网络,提升生成图像的质量。
- WGAN(Wasserstein GAN):使用 Wasserstein 距离优化收敛性,缓解模式崩溃。
- CycleGAN:实现图像到图像的无监督转换(如马与斑马的互换)。
- StyleGAN:生成高质量、可控的图像,广泛用于人脸生成。
6. 应用领域
- 图像生成:如超分辨率重建、无到有生成(如人脸、风景)。
- 图像转换:风格迁移、图像着色。
- 数据增强:为小样本数据生成额外数据。
- 医疗影像分析:生成缺失或稀缺的医学图像。