一、 核心直觉与博弈论视角

GAN 由两个核心神经网络组成:

  1. 生成器(Generator, ): 它的任务是接收一个随机噪声 (通常采样自高斯分布或均匀分布),并将其映射到数据空间,生成假数据 。它的目标是“造假”,尽可能骗过判别器。

  2. 判别器(Discriminator, ): 它的任务是接收一个样本 ,判断这个样本是来自真实数据分布 还是由生成器伪造的分布 。它输出一个 之间的标量 ,表示样本为“真”的概率。

博弈过程:

  • 想要最大化区分真假数据的能力。

  • 想要最小化 区分真假数据的能力。

    两者在训练中相互博弈,共同进化,最终理想状态下, 生成的数据分布完美拟合真实数据分布(),而 面对真假难辨的数据,只能给出 的瞎蒙概率()。


二、 目标函数(Value Function)与严谨推导

我们可以定义一个价值函数 。GAN 的目标是一个 Minimax 优化问题:

  • :真实数据通过 的期望。 希望这部分尽可能大(趋近于 )。

  • :生成数据通过 的期望。 希望 小(趋近于 ),从而让整体变大;而 希望 大(趋近于 ),从而让这部分变小(趋近于 )。

为了理解这个优化的本质,我们需要将其拆解为两步进行严谨的数学推导

1. 固定生成器 ,求解最优判别器

假设 已经固定,我们要找到一个 使得 最大化。

首先,将期望写成积分形式。考虑到生成器将噪声分布 映射为数据空间的分布 ,我们可以将第二项的积分变量从 替换为

要最大化这个积分,只需要最大化积分号内的每一项。对于任意给定的 ,我们定义 。问题转化为求函数 的最大值:

求导并令其为

解得最优的判别器输出为:

直觉:当真实数据密度远大于假数据密度时(),;当两者相等时(纳什均衡),

2. 将最优 代回,最小化

现在,判别器已经达到了最优 ,生成器 的目标是最小化此时的 。我们将其代入原方程:

接下来进行巧妙的恒等变形,分子分母同除以

利用对数的性质

(注: 表示 Kullback-Leibler 散度)

两个 散度之和刚好定义了 Jensen-Shannon 散度 (JSD)

核心推论: JS 散度恒大于等于 。因此,当且仅当 时,JS 散度为 ,生成器达到全局最优解,此时损失函数的最小值为 。这就是 GAN 能够拟合任意分布的数学基石。


二.5 纳什均衡的深入分析

均衡的存在性与唯一性

GAN 的 Minimax 优化问题存在唯一的纳什均衡点(当 时),但均衡的收敛性并不保证。

纳什均衡的定义:在二人零和博弈中,策略 构成纳什均衡,当且仅当:

即: 已经是在 下的最优反应, 已经是在 下的最优反应。

GAN 均衡条件

  • 时, 对所有
  • 此时 无法通过调整来提高 也无法通过调整来提高

训练动力学的稳定性分析

交替梯度下降的更新可以写为:

问题 1:同步更新的不稳定性

如果 更新步长不匹配,可能导致:

  • 过于强大时, 的梯度消失
  • 过于强大时, 无法区分真假

问题 2:梯度振荡

即使在均衡点附近,如果使用动量优化器(如 Adam),参数更新可能围绕均衡点振荡而非收敛。这与 GAN 的损失曲面(非凸非凹)有关。

问题 3:模式崩溃的数学描述

将所有质量集中在单点 时(), 的最优判别器为:

这意味着 (真实数据点)而 (生成点)。 只需生成 即可骗过当前的 ,但这远非真实分布。


二.6 Non-saturating Loss 的深入理解

原始 GAN 的损失函数(对 )为:

问题:当 时,,梯度 ,导致训练初期 无法学习。

改进:使用 Non-saturating loss:

数学解释

,其中 是判别器的 logit 输出, 是 sigmoid 函数。

(即 )时,,所以

但实际计算中, 的梯度在 处几乎为 0,而 的梯度始终为 量级(只要 不过分大)。

更直观的理解:将 的目标从”让 输出低概率”改为”让 输出高概率”。前者对应 (饱和),后者对应 (非饱和)。


三、 训练过程 (Alternating Gradient Descent)

由于这是个 Minimax 游戏,我们不能像常规网络那样一次性更新所有参数,而是采用交替梯度下降的方法。

每次迭代(Epoch/Step)中:

  1. 训练判别器 (通常进行 步,原始论文中 ):

    • 从真实数据 中采样 个样本

    • 从先验噪声 中采样 个样本 ,通过 生成假样本

    • 利用梯度上升更新 的参数 (最大化 ):

  2. 训练生成器 (进行 步):

    • 从先验噪声 中重新采样 个样本

    • 利用梯度下降更新 的参数 (最小化 ):

      (在工程实现中,为了防止训练初期梯度消失,这步通常会被替换为最大化 )


四、 常见训练病理与崩溃问题

尽管数学推导非常完美,但 GAN 在实际的高维空间训练中极度不稳定。

1. 梯度消失 (Vanishing Gradients)

现象: 训练初期,生成器很弱,生成的全是噪声。判别器可以极其轻易地将真假分开,导致

数学本质: 如果判别器太完美,它给出的概率会趋近于 。此时 曲线在 处的导数趋近于 。生成器拿不到梯度,直接“僵死”在原地无法更新。

解法: 使用 Non-saturating loss(即上文提到的将 的目标从最小化 改为最大化 ),或者引入 Wasserstein GAN (WGAN) 利用 Earth Mover 距离(又称 Wasserstein-1 距离)替代 JS 散度。

Wasserstein 距离的优势

其中 表示所有以 为边缘分布的联合分布集合。

与 JS 散度不同,Wasserstein 距离对分布完全不重叠的情况仍有梯度(连续可微),这从根本上避免了梯度消失问题。

实现方式:通过 的输出近似 Critic 值,移除最后的 sigmoid 层,使用权重裁剪(Weight Clipping)或梯度惩罚(Gradient Penalty)来满足 1-Lipschitz 约束。

2. 模式崩溃 (Mode Collapse)

现象: 真实数据有多个峰(比如手写数字有 0-9 十个类别),但生成器发现只生成某一种数据(比如只生成极其逼真的数字 “1”)就能最高效地骗过判别器。最终生成器失去了多样性,只能输出单一或极少数的样本。

数学本质: 在 Minimax 博弈中,如果先优化 再优化 倾向于将所有质量集中在 当前认为最像真实数据的单一点上(退化为狄拉克分布)。

解法: 引入谱归一化(Spectral Normalization)、Minibatch Discrimination,或使用 Unrolled GAN 让 能够“预见” 的几步更新。

3. 难以收敛 (Non-convergence)

现象: 损失函数不下降,反而开始剧烈震荡。 陷入无限循环的“猫鼠游戏”中。

数学本质: 使用基于动量的梯度下降求解纳什均衡时,参数更新轨迹可能围绕均衡点画圈(Limit Cycle),而不是收敛进去。这在纯理论博弈论中是一个经典的动力学不稳定性问题。