趋近智
模式坍塌是GAN训练中一个最常遇到且令人沮丧的问题。简而言之,模式坍塌指的是生成器学会只生成极其有限种类的输出,常常集中于真实数据分布中某个单一或一小部分模式。生成器没有学到训练数据集的丰富差异,而是将其输出分布实质上“坍塌”到少数几个样本上,这些样本对当前的判别器特别有效。
设想在包含各种手写数字(0到9)图像的数据集上训练GAN。一个理想的生成器会学着生成所有十种数字的合理样本。然而,一个发生模式坍塌的生成器可能只生成看起来像数字“1”的图像,或者可能只生成“1”和“7”,完全忽略了实际数据分布pdata中存在的其他数字(模式)。
真实数据分布(左侧,蓝色)显示出多种模式(簇)。发生模式坍塌的生成器(右侧,红色)将其输出集中在这些模式中的某一种上,未能涵盖整体的多变性。
了解模式坍塌发生的原因,需要审视极小极大博弈的动态和原始GAN目标函数的性质:
生成器的驱动力: 生成器的首要目标是生成判别器判断为真实的样本。如果生成器发现某种特定类型的样本能够持续有效地欺骗当前判别器,它就会有很强的驱动力去持续生成该样本的变体。它可能会觉得,与其在整个数据空间中寻找并同时学到多种模式,不如专注于在一种模式内实现完美生成更容易。
判别器的作用: 判别器过于强大或学习速度过快会加剧这个问题。如果判别器变得非常擅长区分真实样本和生成器当前输出的样本,它可能会给生成器提供陡峭但信息量不足的梯度。生成器可能会学到,其当前输出的微小变体很容易被识别为虚假,这会将其推回它所发现的单一成功模式,而不是引导它去数据分布中未被触及的区域。
目标函数: 原始GAN目标函数,它隐式地最小化pdata和pg之间的詹森-香农(JS)散度,对此有很大影响。JS散度有其局限性,特别是在分布pdata和pg几乎没有重叠,或存在于高维像素空间中的低维流形上时(这是一种常见情况)。在这种情况下,JS散度会饱和,导致生成器的梯度消失。这意味着生成器几乎接收不到关于如何调整其参数以更好地符合真实数据分布的信号,使其难以摆脱坍塌状态。优化过程实质上使生成器陷入一个不佳的局部最小点。
优化不稳定性: 极小极大优化本身与标准的监督学习最小化相比,具有内在的不稳定性。生成器和判别器不断相互适应。这种动态可能导致振荡或循环:生成器找到一种模式,判别器学会识别它,生成器又跳到另一种容易找到的模式,如此循环,却从未收敛到一个能覆盖完整分布的状态。
模式坍塌的首要后果是生成样本的多样性严重不足。虽然生成的单个样本可能看起来很真实(局部合理),但整体的样本集合未能体现训练数据中固有的变化性。
模式坍塌明确表明,标准GAN训练设置可能很脆弱。这指出了对更精巧的损失函数和稳定化技术的需求,这些技术能提供更有意义的梯度,促使生成器多方位生成,并阻止生成器局限于狭窄、不具代表性的输出分布。后续章节中讨论的方法,例如Wasserstein距离和梯度惩罚,直接解决了这些不足。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造