一、 核心直觉与博弈论视角
GAN 由两个核心神经网络组成:
-
生成器(Generator,
): 它的任务是接收一个随机噪声 (通常采样自高斯分布或均匀分布),并将其映射到数据空间,生成假数据 。它的目标是“造假”,尽可能骗过判别器。 -
判别器(Discriminator,
): 它的任务是接收一个样本 ,判断这个样本是来自真实数据分布 还是由生成器伪造的分布 。它输出一个 之间的标量 ,表示样本为“真”的概率。
博弈过程:
-
想要最大化区分真假数据的能力。 -
想要最小化 区分真假数据的能力。 两者在训练中相互博弈,共同进化,最终理想状态下,
生成的数据分布完美拟合真实数据分布( ),而 面对真假难辨的数据,只能给出 的瞎蒙概率( )。
二、 目标函数(Value Function)与严谨推导
我们可以定义一个价值函数
-
:真实数据通过 的期望。 希望这部分尽可能大(趋近于 )。 -
:生成数据通过 的期望。 希望 小(趋近于 ),从而让整体变大;而 希望 大(趋近于 ),从而让这部分变小(趋近于 )。
为了理解这个优化的本质,我们需要将其拆解为两步进行严谨的数学推导。
1. 固定生成器 ,求解最优判别器
假设
首先,将期望写成积分形式。考虑到生成器将噪声分布
要最大化这个积分,只需要最大化积分号内的每一项。对于任意给定的
对
解得最优的判别器输出为:
直觉:当真实数据密度远大于假数据密度时(
2. 将最优 代回,最小化
现在,判别器已经达到了最优
接下来进行巧妙的恒等变形,分子分母同除以
利用对数的性质
(注:
两个
核心推论: JS 散度恒大于等于
二.5 纳什均衡的深入分析
均衡的存在性与唯一性
GAN 的 Minimax 优化问题存在唯一的纳什均衡点(当
纳什均衡的定义:在二人零和博弈中,策略
即:
GAN 均衡条件:
- 当
时, 对所有 - 此时
无法通过调整来提高 , 也无法通过调整来提高
训练动力学的稳定性分析
交替梯度下降的更新可以写为:
问题 1:同步更新的不稳定性
如果
过于强大时, 的梯度消失 过于强大时, 无法区分真假
问题 2:梯度振荡
即使在均衡点附近,如果使用动量优化器(如 Adam),参数更新可能围绕均衡点振荡而非收敛。这与 GAN 的损失曲面(非凸非凹)有关。
问题 3:模式崩溃的数学描述
当
这意味着
二.6 Non-saturating Loss 的深入理解
原始 GAN 的损失函数(对
问题:当
改进:使用 Non-saturating loss:
数学解释:
设
当
但实际计算中,
更直观的理解:将
三、 训练过程 (Alternating Gradient Descent)
由于这是个 Minimax 游戏,我们不能像常规网络那样一次性更新所有参数,而是采用交替梯度下降的方法。
每次迭代(Epoch/Step)中:
-
训练判别器
(通常进行 步,原始论文中 ): -
从真实数据
中采样 个样本 。 -
从先验噪声
中采样 个样本 ,通过 生成假样本 。 -
利用梯度上升更新
的参数 (最大化 ):
-
-
训练生成器
(进行 步): -
从先验噪声
中重新采样 个样本 。 -
利用梯度下降更新
的参数 (最小化 ): (在工程实现中,为了防止训练初期梯度消失,这步通常会被替换为最大化
)。
-
四、 常见训练病理与崩溃问题
尽管数学推导非常完美,但 GAN 在实际的高维空间训练中极度不稳定。
1. 梯度消失 (Vanishing Gradients)
现象: 训练初期,生成器很弱,生成的全是噪声。判别器可以极其轻易地将真假分开,导致
数学本质: 如果判别器太完美,它给出的概率会趋近于
解法: 使用 Non-saturating loss(即上文提到的将
Wasserstein 距离的优势:
其中
与 JS 散度不同,Wasserstein 距离对分布完全不重叠的情况仍有梯度(连续可微),这从根本上避免了梯度消失问题。
实现方式:通过
2. 模式崩溃 (Mode Collapse)
现象: 真实数据有多个峰(比如手写数字有 0-9 十个类别),但生成器发现只生成某一种数据(比如只生成极其逼真的数字 “1”)就能最高效地骗过判别器。最终生成器失去了多样性,只能输出单一或极少数的样本。
数学本质: 在 Minimax 博弈中,如果先优化
解法: 引入谱归一化(Spectral Normalization)、Minibatch Discrimination,或使用 Unrolled GAN 让
3. 难以收敛 (Non-convergence)
现象: 损失函数不下降,反而开始剧烈震荡。
数学本质: 使用基于动量的梯度下降求解纳什均衡时,参数更新轨迹可能围绕均衡点画圈(Limit Cycle),而不是收敛进去。这在纯理论博弈论中是一个经典的动力学不稳定性问题。