模式崩溃


  1. 定义
  2. 模式崩溃(Mode Collapse)主要出现在生成模型(如生成对抗网络 - GAN、变分自编码器 - VAE等)中,是指生成模型只能生成有限的几种模式(或者说类型)的样本,而不能覆盖目标数据分布中的所有模式。

  3. 具体表现形式

  4. 以图像生成模型为例
    • 假如模型的目标是生成各种动物的图像,但发生模式崩溃后,可能只会生成某一种动物(如狗)的图像,忽略了其他动物(如猫、马等)的图像模式。或者模型可能只生成动物的正面图像,而不会生成侧面或背面的图像模式。
    • 在风格生成方面,可能只生成一种风格(如写实风格)的图像,而无法生成抽象、卡通等其他风格的图像。
  5. 在文本生成中的体现

    • 若模型用于生成故事,模式崩溃可能导致它总是生成具有相同情节结构(如英雄救美)的故事,而不能生成其他类型的情节(如探险、科幻等)。或者只生成一种情感倾向(如欢乐)的文本,忽略了悲伤、紧张等其他情感模式。
  6. 产生原因

  7. 生成器和判别器的训练不平衡
    • 在GAN中,生成器和判别器是相互对抗的。如果判别器训练得过于强大,生成器为了能够在对抗过程中获得较好的反馈(即生成的样本能够“欺骗”判别器),可能会收敛到只生成能够成功欺骗判别器的少数几种模式。例如,判别器能够轻易识别出生成器生成的大部分样本是假的,那么生成器可能会发现生成某一种特定类型的样本更容易通过判别器的检查。
  8. 训练数据的问题
    • 数据分布不均:如果训练数据中某一种模式的数据占比过大,生成器就可能倾向于学习这种占主导地位的模式。例如,在一个图像训练集中,大部分是室内场景的照片,生成器可能会重点学习室内场景的模式,而忽略室外场景的模式。
    • 数据多样性不足:当训练数据本身缺乏足够的多样性时,生成器能够学习到的模式也会受到限制。例如,一个文本数据集只包含简单的日常对话,生成器很难生成复杂的文学作品或专业领域的文本。
  9. 模型架构的限制

    • 潜在变量空间有限:生成器的潜在变量空间大小决定了它能够表示的信息多少。如果潜在变量空间过小,就无法编码足够多的模式信息。例如,在一个简单的GAN模型中,潜在变量的维度很低,可能无法同时表示多种不同的物体形状、颜色等模式信息。
    • 生成器复杂度不够:简单的生成器架构可能无法有效地学习和生成复杂多样的模式。例如,一个只有几层神经元的生成器可能无法处理高分辨率图像中复杂的纹理、物体组合等多种模式。
  10. 解决方法

  11. 改进训练策略
    • 采用Wasserstein GAN(WGAN):WGAN通过使用Wasserstein距离作为损失函数,相比传统GAN的交叉熵损失函数,可以提供更稳定的训练过程,减少生成器收敛到少数模式的可能性。例如,在图像生成任务中,WGAN能够让生成器更好地学习到多种物体和场景的模式。
    • 使用小批量判别(Mini - batch Discrimination):在判别器中加入小批量判别技术。这种方法可以让判别器区分同一小批量内的不同样本,从而鼓励生成器生成更多样化的样本。例如,在生成图像时,判别器可以通过比较小批量内图像的特征差异,来判断生成器是否生成了过于单一的模式,促使生成器产生多样化的样本。
  12. 优化模型架构
    • 增加潜在变量空间的维度:适当增大生成器的潜在变量空间,使它能够编码更多的模式信息。例如,在GAN模型中,将潜在变量的维度从较低的10维增加到100维,让生成器有更多的“素材”来生成不同的模式。
    • 采用更复杂的生成器架构:使用堆叠生成器(如SGAN - Stacked Generative Adversarial Networks)或其他多层次的架构,增加生成器学习多种模式的能力。这些架构可以在不同层次上处理和生成模式,从而提高生成样本的多样性。