如果你曾把玩过像 Stable Diffusion 这样的文生图 (T2I) 模型,你一定经历过这种挣扎: 输入提示词,得到一个奇怪的结果,调整提示词,得到一个稍微不那么奇怪的结果,如此反复。虽然这些模型很强大,但它们并不是天生就符合人类的审美偏好或能完美遵循详细指令。
在大语言模型 (LLM) 领域,我们通过基于人类反馈的强化学习 (RLHF) 以及最近的直接偏好优化 (DPO) 解决了这个问题。这些方法利用“胜者”和“败者”的输出对,教导模型偏向胜者。
但是,将这种方法应用于图像扩散模型是非常困难的。为什么?因为扩散是一个多步过程 (“马尔可夫链”) 。如果一张图片在去噪 500 步后变得很难看,到底是哪一步出了问题?这就是经典的信用分配问题 (credit assignment problem) 。
在这篇文章中,我们将深入探讨一篇新论文 《InPO: Inversion Preference Optimization with Reparametrized DDIM》 (InPO: 基于重参数化 DDIM 的逆向偏好优化) , 该论文提出了一个巧妙的数学技巧来解决这个问题。它将复杂的多步扩散过程视为一个单步生成问题,从而实现高效的对齐。

问题所在: 长链中的稀疏奖励
要理解为什么 InPO 是必要的,我们首先需要了解为什么标准的扩散模型对齐很难。
在针对扩散模型的标准 DPO 设置中 (如 Diffusion-DPO) ,模型生成整个噪声轨迹 (从 \(t=T\) 到 \(t=0\)) 。只有在最后,当最终图像显现时,我们才会得到反馈 (“奖励”) 。
现有方法试图将这种奖励分摊到所有时间步上。然而,这会导致稀疏奖励 (sparse rewards) 。 信号微弱且充满噪声,因为模型难以将 \(t=500\) 时的特定动作与 \(t=0\) 时的最终视觉质量联系起来。这导致了:
- 效率低下: 需要大量的训练步数才能收敛。
- 质量欠佳: 模型通常无法学习到细粒度的细节。
InPO 的作者意识到,如果他们能准确找出是哪些潜变量 (噪声) 导致了特定的图像,他们就能更直接地优化模型。
核心方法: InPO
InPO 框架建立在三大支柱之上: 重参数化 (Reparameterization) 、反演 (Inversion) 和目标函数 (Objective Function) 。 让我们逐一拆解。
1. 洞察: 通过重参数化实现的单步视角
标准扩散模型预测第 \(t\) 步的噪声 \(\epsilon\)。然而,我们也可以查看模型在特定步骤认为最终图像 \(x_0\) 应该是什么样子的。这表示为 \(x_0(t)\)。
通过对去噪扩散隐式模型 (DDIM) 方程进行重参数化,作者建议将扩散模型不再视为一个链条,而是一个具有时间步感知能力的单步生成模型 。
在数学上,他们根据当前的噪声状态 \(\bar{x}_t\) 和预测的噪声 \(\epsilon_\theta\) 定义了预测的纯净图像 \(x_0(t)\):

这个简单的转换使得研究人员可以定义一个奖励 \(r(x_0, c)\) (其中 \(c\) 是文本提示词) ,该奖励可以分配给任何时间步的潜变量 \(x_t\)。

这个等式本质上是在说: “最终图像的奖励是中间步骤奖励的期望值。”这座桥梁使我们能够直接优化特定的时间步。
2. 通过反演寻找“罪魁祸首”潜变量
这是该方法的关键所在。我们有一个包含图像对的人类偏好数据集: 一张胜者 (\(x_0^w\)) 和一张败者 (\(x_0^l\)) 。
为了微调模型,我们需要知道: 具体是什么样的噪声 \(x_t\) 会生成这张胜者或败者的图像?
如果我们能找到胜者对应的特定 \(x_t\),我们就可以告诉模型: “当你看到这个噪声时,让它更有可能生成这张图像。”反之,我们告诉它避开败者的路径。
为此,作者使用了 DDIM 反演 (DDIM Inversion) 。 正如扩散是从 图像 \(\rightarrow\) 噪声,反演则是从 图像 \(\rightarrow\) 噪声。

如图 2 所示,通过反演扩散过程的常微分方程 (ODE) ,该方法计算出对应于目标图像 \(x_0\) 的潜变量 \(x_t\)。
这种反演的数学公式依赖于寻找满足从纯净图像回到噪声状态转换的噪声 \(\delta_t\):

这种反演技术使得“单步”优化成为可能。InPO 不需要猜测哪些噪声可能导致好的图像,而是通过数学计算精确地找出数据集中导致好图像的那些噪声。
3. 目标函数
通过反演确定了特定的潜变量 \(x_t^w\) (胜者) 和 \(x_t^l\) (败者) 后,作者应用了直接偏好优化 (DPO) 的目标函数。
目标是最小化模型预测噪声与胜者“最佳”轨迹之间的差异,同时最大化与败者轨迹的差异 (相对于参考模型以防止模式崩溃) 。
通过一系列推导 (涉及詹森不等式和 KL 散度界限) ,作者得出了一个清晰、可实现的损失函数:

这个方程告诉我们要做的:
- 采样一个时间步 \(t\)。
- 取胜者 \(w\) 和败者 \(l\) 的图像。
- 计算最佳轨迹 \(\tau\) 与模型预测噪声 \(\epsilon_\theta\) 之间的误差 (距离) 。
- 如果胜者的误差很大,惩罚模型;如果胜者的误差低于败者,奖励模型。
- 看起来很复杂,但本质上归结为: 将模型的噪声预测推向更接近胜者的轨迹,并远离败者的轨迹。
实验与结果
理论听起来很扎实,但实际效果如何?作者在 Stable Diffusion 1.5 (SD1.5) 和 SDXL 上使用 Pick-a-Pic v2 数据集测试了 InPO。
1. 训练效率
这是最令人印象深刻的结果。因为 InPO 针对特定的潜变量进行优化,而不是盲目地优化整条链,所以它的收敛速度非常快。

如上图所示,与 Diffusion-DPO 和 KTO 等基线相比,InPO 以显著更少的 GPU 小时数实现了更高的 PickScore (一种人类偏好指标) 。
2. 人类评估
指标固然有用,但人类的眼睛才是终极测试。作者进行了一项用户研究,将 InPO 与基础 SDXL 模型和 DPO-SDXL 进行了比较。

在总体偏好上,InPO-SDXL 有 60% 的时间胜过基础模型,并且在视觉吸引力方面完全压倒了 DPO-SDXL (73% 的胜率) 。
3. 视觉对比
让我们来看看实际的输出。该方法在遵循提示词方面表现出色,而其他模型可能会产生幻觉或忽略指令。

在上图中,注意提示词 “A towel with the word ‘stop’ printed on it” (一条印有单词 ‘stop’ 的毛巾) 。
- Base-SDXL: 拼写成了 “SSOOP”。
- DPO-SDXL: 拼写正确,但字体很乱。
- InPO-SDXL: 拼写完美,排版清晰。
这证明了 InPO 不仅仅是在改善“氛围”或色彩;它正在提高模型的基本控制能力和指令遵循能力。
结论
InPO (逆向偏好优化) 代表了扩散模型对齐方面的重要一步。通过将视角从“多步马尔可夫链”转变为“具有时间步感知的单步生成器”,作者成功实现了:
- 解决信用分配问题: 使用 DDIM 反演将图像映射回其特定的潜在噪声。
- 提高效率: 大幅减少微调所需的计算量 (仅需 400 步) 。
- 提升质量: 在视觉吸引力和文本对齐方面取得了最先进的结果。
对于学生和研究人员来说,InPO 凸显了重参数化的力量。有时,解决方案不是更大的 GPU 或更大的数据集,而是数学视角的转变,从而简化了问题。
该方法已开源,想要尝试对齐自己扩散模型的人可以获取相关资源。
](https://deep-paper.org/en/paper/2503.18454/images/cover.png)