ARTICLE

生成对抗网络

生成对抗网络 (Generative Adversarial Network, GAN) 生成对抗网络(GAN)是Ian Goodfellow等人于2014年提出的生成模型框架,通过两个神经网络——生成器(Generator)与判别器(Discriminator)——之间的对抗博弈实现高质量数据生成。该框架的核心直觉源自私伪钞博弈:生成器制造假样本以欺骗判别

浏览 0 更新 2025-07-17

生成对抗网络 (Generative Adversarial Network, GAN)

生成对抗网络(GAN)是Ian Goodfellow等人于2014年提出的生成模型框架,通过两个神经网络——生成器(Generator)与判别器(Discriminator)——之间的对抗博弈实现高质量数据生成。该框架的核心直觉源自私伪钞博弈:生成器制造假样本以欺骗判别器,判别器则努力区分真假;二者在对抗中共同进化,最终生成器能产出以假乱真的样本。GAN 的提出突破了此前生成模型(如玻尔兹曼机变分自编码器)在生成质量上面临的瓶颈,被 Yann LeCun 誉为"过去十年机器学习领域最有趣的想法"。

基本架构与博弈框架

GAN 由两个可微函数构成:

  • 生成器 GG:从隐空间(latent space)中采样噪声向量 zpz(z)\mathbf{z} \sim p_{\mathbf{z}}(\mathbf{z})(通常为高斯分布或均匀分布),映射为生成样本 G(z)G(\mathbf{z}),目标是使生成分布 pgp_g 逼近真实数据分布 pdatap_{\text{data}}
  • 判别器 DD:接收输入 x\mathbf{x},输出标量 D(x)[0,1]D(\mathbf{x}) \in [0,1],表示 x\mathbf{x} 来自真实数据(而非生成器)的概率估计。

两者构成一个二人零和博弈:判别器力求最大化正确分类真伪样本的概率,生成器则力求最小化判别器识别自身的能力。该博弈可由如下极小极大值函数(minimax objective)刻画:

minGmaxDV(D,G)=Expdata(x)[logD(x)]+Ezpz(z)[log(1D(G(z)))]\min_{G} \max_{D} \, V(D, G) = \mathbb{E}_{\mathbf{x} \sim p_{\text{data}}(\mathbf{x})}[\log D(\mathbf{x})] + \mathbb{E}_{\mathbf{z} \sim p_{\mathbf{z}}(\mathbf{z})}[\log(1 - D(G(\mathbf{z})))]

其中判别器在真实样本上追求 logD(x)0\log D(\mathbf{x}) \to 0(即 D(x)1D(\mathbf{x}) \to 1),在生成样本上追求 log(1D(G(z)))0\log(1 - D(G(\mathbf{z}))) \to 0(即 D(G(z))0D(G(\mathbf{z})) \to 0);生成器则反向推动 D(G(z))1D(G(\mathbf{z})) \to 1,即使得自身伪造的样本被认定为真。

训练过程

GAN 的训练采用交替优化的方式,不使用MCMC变分推断,仅依赖反向传播随机梯度下降。每一轮迭代包含两个步骤:

  1. 更新判别器:固定 GG,从真实数据集采样小批量 {x(i)}\{\mathbf{x}^{(i)}\},并从先验噪声分布采样 {z(i)}\{\mathbf{z}^{(i)}\},按梯度上升更新 DD 以最大化 V(D,G)V(D, G)
  2. 更新生成器:固定 DD,重新采样噪声 {z(i)}\{\mathbf{z}^{(i)}\},按梯度下降更新 GG 以最小化 log(1D(G(z)))\log(1 - D(G(\mathbf{z})))——实践中为避免训练初期梯度消失,常将最小化目标替换为最大化 logD(G(z))\log D(G(\mathbf{z}))(即非饱和博弈,non-saturating game)。

理想条件下,该交替过程收敛于 pg=pdatap_g = p_{\text{data}}D(x)=1/2D(\mathbf{x}) = 1/2 的纳什均衡——此时判别器无法区分真伪,只能随机猜测。

理论性质

Goodfellow 等人在原始论文中证明:对于固定的生成器 GG,最优判别器为 DG(x)=pdata(x)pdata(x)+pg(x)D^*_G(\mathbf{x}) = \frac{p_{\text{data}}(\mathbf{x})}{p_{\text{data}}(\mathbf{x}) + p_g(\mathbf{x})}。在此最优 DD 下,极小极大博弈等价于最小化真实分布与生成分布之间的Jensen-Shannon 散度(JSD)。然而,由于 JSD 在高维空间中当两个分布的支撑集不重叠时趋于常数(饱和),这解释了 GAN 训练中常见的梯度消失现象——也是后续Wasserstein GAN等改进的重要动机。

主要变体

深度卷积 GAN (DCGAN)

DCGAN (Radford et al., 2015) 将卷积神经网络(CNN)引入 GAN 架构,使用带步长的卷积(strided convolution)替代池化层、批归一化(batch normalization)稳定训练、以及 ReLU/LeakyReLU 激活函数。DCGAN 极大提升了生成图像的视觉质量,并首次展示了隐空间向量算术的语义意义(如"戴眼镜的男人 − 不戴眼镜的男人 + 不戴眼镜的女人 = 戴眼镜的女人"),成为后续图像生成研究的工程基准。

Wasserstein GAN (WGAN)

WGAN (Arjovsky et al., 2017) 用Wasserstein 距离(Earth Mover's Distance)替代原始的 JS 散度,解决了 GAN 训练不稳定的核心问题。WGAN 将判别器重新定义为"评论家"(critic),要求其满足 1-Lipschitz 连续性(通过权重裁剪或梯度惩罚实现)。Wasserstein 距离即使在分布支撑不重叠时也能提供有意义的梯度,从而显著改善训练的稳定性和收敛性。

条件 GAN (cGAN)

条件 GAN (Mirza \& Osindero, 2014) 将类别标签、文本嵌入或图像等附加信息同时馈入生成器和判别器,使生成过程受控于条件变量,从而将无监督生成扩展为可控的条件生成。此思想为后续的图像到图像翻译(如pix2pix)、文本到图像合成等奠定了框架基础。

CycleGAN 与无配对图像翻译

CycleGAN (Zhu et al., 2017) 通过引入循环一致性损失(cycle-consistency loss)——即从域 A 转换到域 B 再转换回域 A 应近似为恒等映射——实现了无需配对训练数据的图像风格迁移。这解决了许多实际场景中配对数据不可获取的困境(如将照片转换为莫奈画风),推动了 GAN 在艺术创作和医疗图像合成中的应用。

StyleGAN 与分层风格控制

StyleGAN (Karras et al., 2019) 借鉴风格迁移文献中的自适应实例归一化(AdaIN),在生成器中引入中间隐空间 W\mathcal{W} 和噪声注入机制,实现了对生成图像从粗粒度(姿态、脸型)到细粒度(发色、皮肤纹理)的分层独立控制。StyleGAN 生成的人脸图像达到照片级真实感,其"This Person Does Not Exist"项目引发了广泛的公众讨论。

典型应用

  • 图像生成与编辑:高分辨率人脸合成、超分辨率重建(SRGAN)、图像修复(inpainting)、老照片着色。
  • 图像翻译:卫星图到地图、素描到照片、白天到夜景等跨域转换。
  • 文本到图像合成DALL·EStable Diffusion 等模型虽以扩散模型为主,但 cGAN 和 StackGAN 等早期工作奠定了文本条件的生成范式。
  • 数据增强:为训练数据稀缺的领域(如医疗影像、罕见场景检测)合成逼真样本以提升下游模型泛化能力。
  • 对抗样本与安全:GAN 可生成欺骗分类器的对抗样本,同时也用于防御性对抗训练
  • 科学模拟:粒子物理中的量热计快速模拟、分子构象生成、天文图像去噪。

挑战与局限

模式坍塌(Mode Collapse):生成器可能退化至仅产出少数几种样本(甚至是几乎相同的样本),无法覆盖真实分布的多样性。这是由于生成器发现判别器对某些模式的盲点后"投机取巧"所致。小批量判别(minibatch discrimination)、WGAN 和展开 GAN(unrolled GAN)等均试图缓解此问题,但至今尚未完全解决。

训练不稳定性:GAN 的交替训练本质上是一个非凸-非凹博弈,其收敛性缺乏可靠保证。超参数(学习率、判别器更新频次、批量大小)极为敏感,常需大量试错和"炼丹"经验。

评估缺乏金标准Inception Score(IS)和Fréchet Inception Distance(FID)是常用的量化评估指标,但均依赖于预训练分类模型(如 Inception v3),难以全面捕捉生成多样性、真实感和语义一致性之间的权衡。人工评估虽更可靠但成本高昂且不可复现。

可解释性与控制性:尽管 StyleGAN 等显著提升了生成的可控程度,但隐空间中各维度的语义解耦依旧不完美,精确编辑单个属性时仍可能引起其他无关属性的意外改变。

与扩散模型的对比与展望

近年来,扩散模型(Diffusion Models,如 DDPM、Stable Diffusion)在图像生成质量上超越了 GAN,且训练更加稳定。然而 GAN 在单次前向传播即可生成(扩散模型需多步迭代去噪),因此在实时交互应用(如视频生成、游戏引擎中的动态纹理)中仍保持推理速度优势。此外,对抗训练的思想已溢出至表征学习、领域自适应和公平性约束等广泛领域。未来方向包括:更鲁棒的博弈动力学理论、GAN 与扩散模型的混合架构、以及向文本、音频、3D 内容等多模态生成的持续扩展。