模式奔溃
定义¶
模式奔溃是指机器学习模型(尤其是生成模型)在生成样本时多样性不足, 仅覆盖数据分布中极少数模式的问题. 这种现象主要出现在GANs中, 但也可见于强化学习和大型语言模型中.
成因¶
其常见的原因有:
- 训练动力不平衡(GAN中特有): 在GAN中, 生成器和判别器训练例如, 如果判别器学习得过慢或过弱, 生成器会抓住判别器的弱点, 只需生成一小撮相似样本就能反复骗过判别器. 生成器在这种情况下实现了"以假乱真"的目标, 但牺牲了样本多样性目标. 相反地, 若判别器过强, 生成器可能陷入只会产生某些有限模式来尝试满足判别器的局面.
- 目标函数和奖励设计问题: 原始GAN的损失函数(如基于Jensen-Shannon散度的最小最大损失)对生成相同输出过于宽松, 未能强制鼓励多样性 . 这使生成器只要找到几个能过关的样本即可, 不需要学习覆盖整个分布. 同样地, 在强化学习或RLHF中, 如果奖励函数设计不当, 模型会过度优化于单一指标(例如专挑奖励模型偏好的措辞), 形成对奖励的"投机取巧"(reward hacking), 导致输出模式单一
- 训练过程震荡与局部最优: 对抗训练中常出现震荡或循环行为, 阻碍收敛. 例如, 生成器和判别器可能陷入类似"石头-剪刀-布"的循环: 一段时间生成器只生成"石头"一样的输出模式来骗过判别器, 当判别器学会识别后, 生成器又切换到另一种模式("剪刀"), 如此反复. 虽然模式在切换, 但任一时刻生成器都只集中于单一模式, 始终处于模式崩溃状态. 对于一般优化过程而言, 模型可能陷入局部最优解, 只输出某几种模式而非全局最优的多样化解.
- 过拟合有限数据/过度微调: 如果训练数据有限或分布偏斜, 模型可能只学到主要模式而忽略罕见模式, 导致生成结果缺乏某些类别(如GAN只生成男性面孔, 不生成女性面孔). 类似地, 大模型在小数据集上过度微调会发生灾难性遗忘, 即模型为了适应新任务丢失了原有多样性, 表现为只能产出有限风格的内容(一种模式崩溃形式)
缓解方法¶
- 调整GAN训练策略: 针对GAN的模式崩溃, 研究者提出了多种改进策略. 例如, 采用双时间尺度更新规则(TTUR)来平衡生成器和判别器的学习速率. 引入迷你批次判别(minibatch discrimination)或样本打包判别(packing), 让判别器一次评估一组生成样本, 从而鼓励生成器在一个批次中产生多样化输出. 使用改良的损失函数(如Wasserstein GAN的推土机距离损失)可以提供更稳定的梯度, 避免生成器走捷径只生成单一模式. 此外, 应用展开GAN(Unrolled GAN), 即在计算生成器损失时向前展望判别器的若干次更新, 防止生成器过度利用当前判别器的弱点. 适当的正则化(如梯度惩罚, 谱归一化)和充分多样且平衡的训练数据也被证明有助于减少模式崩溃.
- 鼓励强化学习中的探索: 在强化学习中, 可以通过鼓励策略的探索来缓解模式趋于单一的问题. 一种常用方法是在目标函数中增加熵正则项(entropy bonus), 鼓励策略保持一定的随机性, 防止过早收敛到单一行动. 例如, A3C, PPO 等算法都会加入熵奖励来避免策略"塌陷"为确定性的单一路径. 除此之外, 还可以采用内在奖励(如基于新奇度或好奇心)来引导代理探索更多状态空间, 从而避免只重复已有高奖励行为模式. 良好的奖励设计也很关键, 应避免让代理通过投机取巧的单一策略就能长期获得高回报, 从根本上减少模式崩溃(奖励黑客)的动机.
- 保持语言模型的多样性: 为防止大型语言模型在微调对齐后模式崩溃, 需在训练策略上做平衡. 一方面, 可以适度控制微调强度, 不要无限追求单一任务性能. 实践中常见方法包括在微调时混入一部分原始预训练数据或多任务训练, 以防止模型遗忘原有广泛分布的知识和风格. 正如研究所示, 微调越深入, 模型输出多样性往往降低, 因此需要在性能和多样性之间找到折中. 另一方面, 在RLHF过程中可以改进奖励模型和训练约束, 避免模型通过重复特定模式来迎合奖励. 比如, 可以在RLHF训练中对重复性或模式单一的回答施加惩罚, 或者使用多个互补的奖励信号, 促使模型保留一定的变异性和创造性. 通过这些手段, 模型在对齐人类偏好时仍能保持一定的输出多样性, 减轻模式崩溃的影响.