引言

如果你曾玩过像 Stable Diffusion 这样的文生图 (T2I) 模型,那你很可能熟悉“提示词工程 (prompt engineering) ”带来的挫败感。你输入了一段优美的描述,结果生成的图片里却是扭曲的面孔、多余的手指,或者阴暗的色调。为了解决这个问题,社区开发了一种变通方法: 负向提示词 (Negative Prompts)

通过在负向提示词框中输入“ugly (丑陋) , bad anatomy (解剖结构糟糕) , low quality (低质量) , blurry (模糊) ”等词汇,用户告诉模型应该生成什么。虽然这种方法有效,但它本质上是一个猜谜游戏。它依赖于试错、直觉,以及复制其他用户的“魔法词”。既然我们可以用数学方法让 AI 学习完美的负向表示,为什么还要手动猜测正确的负向词汇呢?

这就是 ReNeg (Reward-guided Negative embedding,奖励引导的负向嵌入) 的切入点。这是由 AMD、大连理工大学和清华大学的研究人员提出的一项新方法。ReNeg 自动化了寻找最佳负向信号的过程。它不再依赖离散的单词,而是通过模拟人类偏好的奖励模型引导,学习一个连续的“负向嵌入”。

图 1. 我们开发了 ReNeg,这是一种通用的负向嵌入,可无缝适配文生图甚至文生视频模型。ReNeg 极简却高效,显著提升了基础 Stable Diffusion (SD) 模型输出的视觉吸引力。

如图 1 所示,与标准的 Stable Diffusion (SD) 甚至配备了手工负向提示词的 SD 相比,ReNeg 显著增强了视觉吸引力和细节。在这篇文章中,我们将深入探讨 ReNeg 的工作原理、其背后的数学机制,以及为什么它代表了一种提升生成式 AI 的智能且轻量级的方法。

背景: 扩散与引导

要理解 ReNeg,我们需要先快速回顾一下现代扩散模型是如何生成图像的,以及它们是如何被控制的。

扩散过程

扩散模型基于一个简单的原理运作: 破坏数据,然后学习逆转破坏过程。

  1. 前向过程: 我们取一张图像 \(x_0\),并在 \(T\) 个步骤中逐渐添加高斯噪声,直到它变成纯噪声 \(x_T\)。
  2. 反向过程: 我们训练一个神经网络来预测每一步的噪声 \(\epsilon\),从而让我们能够减去噪声并恢复图像。

前向过程的数学描述为:

描述向图像数据添加噪声的前向扩散过程的方程。

这里,\(\bar{\beta}_t\) 控制噪声调度。反向过程 (生成) 涉及预测前一步的均值和方差:

描述反向去噪过程分布的方程。

无分类器引导 (CFG)

文生图真正的魔力来自于无分类器引导 (Classifier-Free Guidance, CFG) 。 这正是强制图像看起来像你提示词的机制。

在训练期间,模型同时在有条件输入 (你的文本提示词 \(c\)) 和无条件输入 (空或“null”提示词 \(\phi\)) 上进行训练。在推理 (生成) 期间,模型预测两次噪声: 一次使用文本提示词,一次不使用。然后,它利用两者的差异将图像“推”向文本提示词的方向。

修正后的噪声预测 \(\tilde{\epsilon}_\theta\) 的公式为:

无分类器引导计算公式。

这里,\(\gamma\) 是引导尺度 (guidance scale) 。

  • \(\epsilon_\theta(x_t, c, t)\): 使用你的正向提示词预测的噪声。
  • \(\epsilon_\theta(x_t, \phi, t)\): 使用“空”提示词预测的噪声。

洞见: 通常,\(\phi\) 只是对应于空字符串的固定嵌入。然而,用户发现用“负向提示词” (如“ugly, blurry”) 替换这个“空”提示词可以极大地提高质量。

ReNeg 对此更进一步: 如果我们不把 \(\phi\) 看作固定的空字符串或手动编写的单词列表,而是把它看作一个可学习的参数 \(n\) 并直接对其进行优化,会怎样?

核心方法: ReNeg

ReNeg 的作者提出了一个通过梯度下降来学习这个负向嵌入 \(n\) 的框架。目标是找到一个向量 \(n\),使得当它用于 CFG 方程时,生成的图像能最大化“奖励” (质量评分) 。

1. 可行性: 为什么要调整嵌入?

在构建系统之前,研究人员进行了一项先导研究,以验证调整负向嵌入是否真的高效。他们比较了以下几项的“参数效率”——即相对于参数的微小变化,生成的图像变化有多大:

  1. 完整模型权重 (\(\theta_0\))。
  2. LoRA 参数 (一种流行的微调方法) 。
  3. 负向嵌入 (\(n\))。

表 1 参数效率比较。

结果 (表 1) 令人震惊。负向嵌入的效率 \(E(n)\) 比调整模型权重高出几个数量级。这意味着微调负向嵌入是一个控制生成过程的高效“杠杆”,能以最小的计算成本实现最大的影响。

2. 训练流程

ReNeg 使用奖励反馈学习 (Reward Feedback Learning, ReFL) 框架。该过程是一个循环:

  1. 生成: 模型使用当前的负向嵌入预测去噪图像。
  2. 评估: 预训练的图像奖励模型 (如 HPSv2) 根据人类偏好对图像进行评分。
  3. 更新: 来自奖励分数的梯度被反向传播,以更新负向嵌入 \(n\)。

图 2. ReNeg 训练流程概览。我们通过将无分类器引导集成到训练过程中来学习负向嵌入。

这里的关键创新是将 CFG 集成到训练循环中 。 通常,CFG 仅在推理时使用。ReNeg 在训练期间使用它,以确保存向嵌入是专门针对其在最终生成中的使用方式进行优化的。

3. “单步”近似

通过整个扩散过程 (可能需要 50 步以上) 计算梯度在计算上是不可行的。为了解决这个问题,ReNeg 使用了“单步预测”技术。

在随机时间步 \(t\),模型直接从噪声潜变量 \(x_t\) 预测最终的清晰图像 \(\hat{x}_0\):

单步从 xt 预测 x0 的方程。

然后奖励模型评估这个预测出的 \(\hat{x}_0\)。目标函数是最大化期望奖励:

学习目标函数方程。

利用 DDIM 提高精度: 研究人员发现,在采样步骤中使用确定性 ODE 求解器 (DDIM) 比使用随机 DDPM 采样器能提供更准确的 \(\hat{x}_0\) 预测。这种准确性至关重要,因为如果预测的图像 \(\hat{x}_0\) 模糊或不准确,奖励模型就无法提供有用的反馈。

图 3. 确定性 ODE 采样器 (DDIM) 改善了 x0 预测。比较显示 DDIM 具有更高的相似度得分。

4. 全局嵌入 vs. 逐样本嵌入

ReNeg 提出了两种部署这些嵌入的策略:

策略 A: 全局负向嵌入 模型在大规模提示词数据集上学习一个单一的、通用的负向嵌入。这个嵌入捕捉了通用的“坏”品质 (模糊、扭曲) ,可以作为任何提示词的即插即用增强包。

策略 B: 逐样本负向嵌入 不同的提示词可能需要不同的负向引导。对于照片级逼真的提示词,“卡通”是一个负面属性。对于卡通提示词,“写实”则是负面的。

作者设计了一种算法,可以针对特定用户提示词动态微调负向嵌入。它从全局嵌入开始,并针对特定输入进一步优化。

算法 1: 学习逐样本负向嵌入的伪代码。

如下面的图 4 所示,逐样本方法 (右) 通常能恢复全局嵌入 (左) 可能遗漏的更精细细节,例如猫毛的纹理或女孩手部的细节。

图 4. 使用全局负向嵌入和逐样本负向嵌入的结果比较。红框突出了改进之处。

实验与结果

研究人员在 HPSv2 和 Parti-Prompts 等标准基准上评估了 ReNeg。他们将其与空文本 (标准 SD) 、手工负向提示词 (例如“bad hands, text, error”) 以及其他优化方法进行了比较。

定量分析

结果表明 ReNeg 优于人工工程。在下表中,观察 HPSv2 分数。ReNeg (全局和逐样本) 始终击败配备手工提示词的 SD1.5 (\(+N^*\)),甚至超过了像 TextCraftor 这样需要微调 UNet 的竞争方法。

表 2. HPSv2 和 Parti-Prompts 基准上的定量结果。ReNeg 取得了最高分。

定性分析

视觉差异显而易见。在下图中,对比各列:

  • SD1.5: 通常缺乏细节或美学冲击力。
  • SD1.5 + N* (手工): 好一些,但看起来可能很平庸。
  • ReNeg (Ours): 清晰、高度详细且美观。

看第二行“绝命毒师 Walter White 的手办”那张图。ReNeg 在捕捉纹理和光照方面明显优于竞争对手。

图 5. 定性比较显示 ReNeg 在细节和提示词依从性方面优于其他方法。

负向嵌入“长”什么样?

这是论文中最迷人的部分之一。如果我们取出学习到的负向嵌入,并强迫模型将其作为正向提示词来生成图像,我们会看到什么?

  • 空文本 (Null-text) : 生成通用的、平均的图像 (例如,一个站着的人) 。
  • 手工 (Handcrafted) : 生成混乱的“坏”概念混合体 (杂乱的街道、怪异的物体) 。
  • ReNeg: 生成抽象的、无意义的图案。

图 6. 负向嵌入的可视化。与手工提示词相比,ReNeg 的嵌入 (右下) 看起来很抽象。

这表明 ReNeg 在潜空间中找到了一个“病态”方向,它不对应于像“丑陋”这样的人类概念,而是纯粹代表了高奖励图像的数学对立面。

泛化与迁移能力

ReNeg 的一个主要优势是,学习到的嵌入只是文本编码器空间中的一个向量。它不绑定到训练时使用的特定 UNet 权重。这意味着它可以迁移到任何使用相同文本编码器 (如 CLIP) 的模型中。

跨模型版本

作者将在 SD1.5 上学习到的嵌入直接应用到 SD1.4 和 SD2.1 中。它立即生效,且相对于手工提示词拥有很高的胜率。

图 7. 胜率比较。ReNeg 在 SD1.4 和 SD2.1 上具有良好的泛化能力。

迁移到视频和 ControlNet

或许最令人印象深刻的是,该嵌入增强了文生视频模型 (如 VideoCrafter2 和 ZeroScope) 和 ControlNet 。 这些模型从未参与 ReNeg 的训练过程,但负向嵌入却清理了它们的输出,提高了动作流畅度和美学质量。

视频生成结果: 表 4. 视频生成模型上的性能比较。ReNeg 提升了美学质量和动作流畅度。

ControlNet 结果: 表 5. ControlNet 上的性能比较。

结论

ReNeg 代表了我们控制生成式 AI 方式的转变。ReNeg 不再将“负向提示词”视为一个人类必须猜测正确单词的语言接口,而是将其视为一个数学优化问题。

通过利用 CFG 将奖励引导直接集成到训练循环中,ReNeg 提取了一个与人类美学偏好一致的“纯粹”负向信号。主要结论包括:

  1. 高效: 调整负向嵌入比微调模型高效得多。
  2. 自动化: 不再需要用“烂手、模糊、裁剪”等提示词进行反复试错。
  3. 通用性: 一个学习到的嵌入可以改善多个模型版本的图像、视频和受控生成。

随着生成式模型不断进化,像 ReNeg 这样的方法凸显了“无条件”空间——扩散模型的暗物质——的重要性,以及塑造它如何能点亮我们真正想要的结果。