负向提示词:机制与常用策略

核心 约 15 分钟 负向提示词negative promptCFG方法论
前置知识点(建议先学)
学习状态:

一句话定义

负向提示词是一组「不要出现」的描述,实现上占用 CFG 公式中原本的无条件分支,采样时每一步都被用来把生成方向从这些特征上推开。

为什么重要

它是开源模型生态的日常刚需(闭源产品多把负向内置),也是最容易误解的机制:多数人把它当「删除器」用,写出几十个词的负向长单,结果权重互相稀释、还与 CFG 强度耦合失效。理解「负向 = 换掉 CFG 的基线」后,就能回答「为什么我的负向提示词没用」——九成答案在 w 太低或描述与已发生特征不构成可推离的方向。

前置知识

kp-010(CFG 公式与「无条件分支被替换」的事实);kp-017(正向模板,正负向需配套设计)。

核心概念

原理与机制

从 kp-010 的改写公式看,负向提示词「免费」获得了与正向同构的注入通道:它有自己的 token 嵌入、同样走交叉注意力、同样每步参与。效力的三个决定因素:其一,w——推离是差值外推,w 越大越明显,这是「负向没反应先查 CFG」的机制根据;其二,负向内容必须是「模型分布中确实存在的吸引方向」(如「deformed hands」),对模型本就不会生成的东西写负向是纯噪声 token;其三,负向单自身也占 77 token 预算并内部互竞争,长负向单的每个词分到的推力被摊薄。

策略层因此有三条主线:用通用底噪单(保真类:blurry, lowres, jpeg artifacts, watermark…)兜质量下限;按失败模式定向补充(kp-025 的诊断对应:手部崩→bad hands, extra fingers;文字乱码→text, watermark);用风格排除(正负向夹击定位风格,如正向「photograph」+ 负向「illustration, 3d render」压住非摄影风格)。先验保持视角:负向单本身也会把采样推离训练分布,过长过强的负向同样导致过饱和——与正向堆砌同罪。

公式与推导

本节不适用——机制即 kp-010 公式的基线替换形式,已在 kp-010 完成推导,此处不重复。

图示

正向 c₊「红色雨衣登山者」↗ 拉预测方向 ε̃↙ 推离负向 c₋「模糊·水印·畸形手」

每个去噪步中:正向拉向目标子区域,负向提供离开禁区的推力,w 同时放大两者。

直观类比

正向提示词是「点菜」,负向提示词是「忌口单」。忌口不是让厨师「从做好的菜里挑出花生」,而是从备菜起就绕开花生。忌口单写满三页纸(长负向单),厨师反而记不住重点——忌口单要点到痛处,且「别做太咸」的效果取决于厨师多听指挥(w)。

实例或案例

常见误区

自测题

  1. 写出含负向的 CFG 公式,指出负向占的是哪一项。

答案要点:ε̃ = ε_θ(x_t,c₋) + w(ε_θ(x_t,c₊) − ε_θ(x_t,c₋));负向占原「无条件基线」位置。

  1. 为什么 w=1 时负向提示词完全失效?

答案要点:w=1 时公式退化为 ε̃ = ε_θ(x_t, c₋),正向条件失去外推作用,正负向的「差」不再被放大。

  1. 「no hat」写进负向为什么效果差?

答案要点:推离机制作用于特征方向而非对象列表;对强势构图元素应正向改写或局部重绘。

与其他知识点的关系

kp-010 是机制的数学出处;kp-025 的失败模式分类是负向单的「需求来源」;kp-020 的调试流程把正负向与 w 组成受控实验组。

延伸阅读

Ho & Salimans《Classifier-Free Diffusion Guidance》中关于条件/非条件合并的原始讨论;社区实践以模型发布页的推荐负向单为准(随代次失效,注意时效)。

相关知识点