Conference

Modulating Pretrained Diffusion Models for Multimodal Image Synthesis

Cusuh Ham, James Hays, Jingwan Lu, Krishna Kumar Singh, Zhifei Zhang, Tobias Hinz

Georgia Institute of Technology; Adobe Research

一句话总结

完全冻结预训练扩散模型参数的前提下,只训练一个约占基座模型 1% 参数的小型调制网络(MCM),在采样的每一步去调制扩散模型预测的噪声,从而让分割图、草图等原本”没见过”的 2D 模态成为可控条件。

研究背景

  • 领域现状:扩散模型(尤其是 Stable Diffusion 这类文本条件的隐空间扩散模型 LDM)已经能生成高质量、多样的图像,但大多是无条件的,或只接受文本这类较抽象的条件。
  • 核心痛点:想给扩散模型加入分割图、草图等空间性更强的新条件,通常有三条路,各有硬伤——① 从头训练:受限于配对数据稀缺(分割/草图数据集比文本-图像数据集小几个数量级),多样性下降,且换一个模态就得重训;② 微调:需要访问全部模型参数、对整个大模型算梯度,计算昂贵,还容易在小数据上过拟合,且每个新领域都得存一份大模型;③ 测试时用分类器/CLIP 梯度引导:采样时要即时算梯度并逐样本优化,拖慢采样。
  • 本文 idea:把扩散网络当成黑盒——不改它的参数、不要它的梯度,只需要它每一步的噪声预测。为此训练一个小的、类扩散结构的调制网络,用新模态作为条件,去调制原网络每步的噪声输出,使生成结果服从给定条件,同时保留原模型的质量与多样性。

方法

整体框架:给定图像与其对应的 \(n\) 个目标模态 \((y_1, \dots, y_n)\) 的配对数据,MCM 学习在采样过程中”修饰”预训练扩散模型的噪声预测。训练时和标准扩散一样:取图像 \(x_0\)、随机采样时间步 \(t\)、加噪得到 \(x_t\)、用冻结的扩散模型得到噪声预测 \(\epsilon_t\);再把 \(\lbrace x_t, \epsilon_t, y_1, \dots, y_n\rbrace\) 连同 \(t\) 一起喂给 MCM,输出一组逐像素的调制参数。

flowchart LR
  A["x_0 加噪得 x_t"] --> B["冻结扩散模型 预测噪声 eps_t"]
  A --> C["MCM 小网络"]
  B --> C
  Y["新模态 y_1...y_n (分割/草图)"] --> C
  C --> D["调制参数 gamma_t, nu_t"]
  D --> E["调制噪声 eps'_t"]
  B --> E
  E --> F["还原去噪图 x'_0"]
  F --> G["与真值 x_0 算 MSE 损失"]

关键设计:

  1. 调制噪声而非结果。MCM 输出缩放项 \(\gamma_t\) 与偏移项 \(\nu_t\),对噪声预测做仿射调制:\(\epsilon'_t = \epsilon_t \otimes (1 + \gamma_t) \oplus \nu_t\)。这种空间调制参数的思路借鉴自 SPADE。之所以调制”噪声”这个中间量、而不是直接改下一步的 \(x_{t-1}\),是因为噪声是计算下一步的通用中间变量,这样在推理时就不被绑定到某一种采样方法(DDIM、DDPM 等都能用)。

  2. 只需一步去噪的 MSE 监督。用调制后的 \(\epsilon'_t\) 通过闭式解近似出去噪图 \(x'_0\),损失就是它与真值的均方误差 \(\mathcal{L}_{\text{MSE}} = \text{MSE}(x'_0, x_0)\)。对 LDM,则在隐空间对 \(z'_0\) 与 \(z_0\) 计算,从而避开对解码器求梯度,进一步省显存。整个训练不需要经过大扩散网络反传梯度。

  3. \(L_1\) 正则鼓励最小扰动。对调制参数加 \(\mathcal{L}_1 = L_1(\gamma) + L_1(\nu)\),让 MCM 只对噪声做尽量小的改动,从而在”服从条件”与”保持原模型质量/多样性”之间取得平衡。总目标为 \(\mathcal{L}_{MCM} = \lambda_x \mathcal{L}_{\text{MSE}} + \lambda_1 \mathcal{L}_1\)。消融显示:只用 MSE 时对齐更好但质量与多样性明显变差(行为接近微调),加上 \(L_1\) 后才平衡。

  4. 模态 dropout 支持任意模态子集。训练时以一定概率把某个模态 \(y_i\) 替换成全 -1,于是测试时缺一个或多个模态也能预测调制参数,避免过度依赖单一模态。多模态可直接靠拼接扩展,且不需要为每个模态单独的编码器。分析发现调制参数幅度在采样前半段(\(t\) 较大时)最强、约在 \(t = N/2\) 达到峰值后迅速衰减——因为后期主要负责补高频细节,结构在早期就已被”钉住”。

实验结果

主要在两个数据集上做:MM-CelebA-HQ(人脸,含分割图/草图/文本,约 6000 测试)与 Flickr Mountains(50 万张山景,用现成网络生成伪真值分割图与草图)。基座分别是两个无条件 LDM(256×256)与文本条件的 Stable Diffusion v2.1(512×512)。默认只用 5000 个训练样本以凸显小数据下的效果。MCM 参数量约为无条件 LDM 的 1%、SD 的 0.4%。评估用 FID(质量)、LPIPS(多样性),以及对齐度指标 mIoU、分割准确率、草图距离。主要对比对象是”直接微调扩散模型”,并附带与 ControlNet、pSp 的对照。

下表为质量/多样性主实验(FID↓ / LPIPS↑,取”分割+草图”联合条件一列):

数据集 方法 FID (Seg+Sk) ↓ LPIPS (Seg+Sk) ↑
CelebA Fine-tune 44.247 0.272
CelebA ControlNet 18.875 0.492
CelebA MCM (本文) 18.842 0.461
Mountains Fine-tune 102.341 0.191
Mountains MCM (本文) 26.145 0.666

结论:相比微调,MCM 相对基座 LDM 的质量/多样性掉落很小,在 Mountains 上甚至提升了质量;而微调在小数据上严重过拟合,图更糊、更缺乏多样性(人脸微调结果身份几乎相同,只靠光照变化”伪装”多样性)。对齐度指标上,MCM、微调、ControlNet 相比基座都提升了输入与生成图的一致性。ControlNet 与 MCM 表现相当,但它训练的模型大得多(约为原模型 50%)且需要访问原模型参数。消融进一步验证 \(L_1\) 正则与更多训练数据都在”对齐提升、质量/多样性下降”之间起平衡作用。

亮点与局限

  • 亮点:
    • 真正把扩散模型当黑盒——不改参数、不要梯度,甚至可远程访问,只用其每步噪声预测;MCM 只有基座约 1% 参数。
    • 训练便宜、小数据也能泛化,测试时不额外拖慢采样(不像梯度引导那样逐样本优化)。
    • 调制”噪声中间量”使方法与具体采样器解耦;模态 dropout 让单模型自然支持任意模态子集。
  • 局限:
    • 目前只支持 2D 模态,1D 模态(如更细的文本控制)留作未来工作。
    • 对起始噪声图 \(z_T\) 较敏感;训练数据质量差时(如 Mountains 用现成网络生成的 182 类伪标签)难以把语义准确落到类别标签上。
    • 更适用于结构性较强的领域。

延伸思考

MCM 与同期的 ControlNet、T2I-Adapter 是同一波”给冻结扩散模型加空间条件”的思路,区别在于 MCM 把接入点放在噪声预测的仿射调制上、且刻意做到不碰原模型梯度,因此天然支持”远程/黑盒 API 式”的基座模型——这一点在只能调用闭源大模型的场景下颇有想象空间。它对起始噪声敏感、依赖标注质量的两个局限,指向后续可结合更强的伪标签生成或噪声选择策略;而”调制噪声中间量以解耦采样器”的做法,也可迁移到视频或 3D 扩散等需要在多种采样流程间切换的任务上。