当前位置: 首页 > news >正文

流形折叠与条件机制

1. 为什么要防止流形折叠(mode collapse)

流形折叠 = 生成器只学会输出极少数甚至单一模式(mode)的样本,而完全忽略数据分布的多样性。
后果一句话:“模型看起来生成了很多图,其实都在重复同一张。”

直观例子
  • 训练集里既有“狗”又有“猫”,但 GAN 折叠后只输出“金毛犬”——因为判别器暂时被这种高逼真样本骗过,生成器就偷懒永远只画金毛。
  • 扩散模型如果折叠,可能所有文本 prompt 都生成同一张“通用美女脸”。
为什么要阻止它
维度折叠带来的问题
样本质量单一模式往往过拟合训练集局部细节,导致 artifacts 更严重。
多样性用户无法获得丰富输出,产品不可用(如 AI 绘图只能画一种狗)。
分布一致性生成分布与真实分布的 KL/JS 距离瞬间爆炸,理论上的“近似真实分布”失效。
训练动力学一旦生成器锁定单一模式,判别器也很快过拟合该模式,梯度消失 → 训练停滞。

因此,正则化(梯度惩罚、谱归一化)、minibatch 判别、unrolling、多样性感知损失、扩散模型的分类器引导等技巧,都是为了把“被折叠的流形”重新拉开,恢复高维空间里本应存在的多模态结构。


2. 什么是条件机制(classifier-free guidance、text prompt)

条件机制 = 在生成过程的每一步,用额外信息 y(文本、标签、图像、深度图……)把高维搜索空间
“钉”到一条更窄、更可控的子流形上,使输出既符合 y 又保持多样性。

两大类做法
  1. 显式条件网络

    • 把 y 直接 concat / cross-attention 进网络输入,如 Stable Diffusion 的 CLIP text encoder → UNet cross-attention

    • 训练时随机丢弃 y(设为 ∅),推理时可用 classifier-free guidance 公式:

      [
\hat{\varepsilon}_\theta(x_t, y) = \varepsilon_\theta(x_t, \varnothing) + s \bigl(\varepsilon_\theta(x_t, y) - \varepsilon_\theta(x_t, \varnothing)\bigr)
]

      其中 s>1 是 guidance scale,放大“按条件走”的梯度,减少随机漂移。

  2. 隐式条件(无分类器引导)

    • 模型在训练阶段同时学习 无条件有条件 两种噪声预测器;
    • 推理时不依赖额外分类器,只靠上述插值即可“无分类器引导”——省掉额外网络,避免分类器梯度噪声。
直观效果
  • text prompt:输入 “a red sports car on a mountain road”,条件机制把生成流形从“所有可能图像”压缩到“同时满足红跑车+山路”的子区域。
  • classifier-free guidance:当 s=7.5 时,扩散模型会优先满足文本描述的语义;s 过大(如 20)可能出现过度锐化或失真,因为流形被拉得太“紧绷”。

一句话:
条件机制 = 用 y 给生成器装“方向盘”,而 classifier-free guidance 是“方向盘增益旋钮”,让用户在“严格按 prompt”与“保留随机创意”之间自由调节。

http://www.dtcms.com/a/321656.html

相关文章:

  • C++学习笔记
  • “鱼书”深度学习进阶笔记(1)第二章
  • 从零构建桌面写作软件的书籍管理系统:Electron + Vue 3 实战指南
  • 智慧农业温室大棚物联网远程监控与智能监测系统
  • Nginx反向代理教程:配置多个网站并一键开启HTTPS (Certbot)
  • git reset
  • Maven/Gradle常用命令
  • 14. isaacsim4.2教程-April Tags/给相机加噪声
  • GPT-5发布:AI竞赛进入新阶段
  • Spring Boot Redis 缓存完全指南
  • ApiPost 设置统一URL前缀
  • 计算机基础速通--数据结构·串的应用
  • 医防融合中心-智慧化慢病全程管理医疗AI系统开发(中)
  • 元数据管理与数据治理平台:Apache Atlas 构建与安装 Building Installing Apache Atlas
  • 有哪些产品需要遵循ASTM D4169-23e1
  • 【ee类保研面试】其他类---计算机网络
  • 操作系统:多线程模型(Multithreading Models)与超线程技术(Hyperthreading)
  • AI漫画翻译器-上传图片自动翻译,支持多语言
  • 学习Java的Day27
  • 基于ffmpeg和rk3588的mpp编解码库多路融屏程序设计
  • Git 基础操作笔记(速查)
  • 嵌入式Linux学习 - 数据结构6
  • 【设计模式】抽象工厂模式 (工具(Kit)模式)
  • PPT科研绘图实践笔记(持续更新)
  • AI 编程工具使用心得与对比评测
  • Python实现点云PCA配准——粗配准
  • 三种经典寻路算法对比
  • 微服务的好与坏
  • kafak
  • 经常问的14000