← 最新论文
🤖 AI

Image Generation from Contextually-Contradictory Prompts

该论文提出了一种阶段感知的提示分解框架,利用大语言模型识别并解决文本提示中的语境矛盾,通过生成与去噪过程各阶段语义相匹配的代理提示,显著提升了扩散模型在生成复杂矛盾指令图像时的语义准确性。

原作者: Saar Huberman, Or Patashnik, Omer Dahary, Ron Mokady, Daniel Cohen-Or

发布于 2026-03-25
📖 1 分钟阅读☕ 轻松阅读

原作者: Saar Huberman, Or Patashnik, Omer Dahary, Ron Mokady, Daniel Cohen-Or

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

这篇论文讲述了一个关于AI 画画“犯迷糊”的有趣问题,以及作者们如何像一位聪明的导演一样,教 AI 如何画出那些“看似不可能”的画面。

我们可以把这篇论文的核心内容拆解成三个部分:问题是什么为什么发生、以及他们是怎么解决的

1. 问题:AI 是个“死脑筋”的画家

现在的 AI 绘画工具(比如 Midjourney 或 FLUX)非常厉害,你让它画“一只猫”,它能画得很逼真。但是,如果你给它一个稍微有点“反常识”或者“矛盾”的指令,它就开始犯迷糊了。

举个生活中的例子:
想象你让一个从小在农场长大的画家画一幅画,指令是:“一只蝴蝶正在蜜蜂的蜂巢里。”

  • 你的想法:我要一只蝴蝶,它正待在蜂巢里。
  • AI 的“死脑筋”反应:AI 在训练时看过无数张图,发现“蝴蝶”总是和“花朵”在一起,“蜜蜂”才和“蜂巢”在一起。它脑子里的“蝴蝶”和“花朵”是绑定的。
  • 结果:当你输入指令时,AI 会忽略“蜂巢”这个背景,直接画一只蝴蝶停在花朵上。因为它觉得“蝴蝶在蜂巢里”太奇怪了,强行把它改成了它熟悉的“蝴蝶在花朵上”。

论文把这种现象叫做**“语境矛盾” (Contextual Contradiction)**。简单说,就是 AI 被它学过的“老经验”给带偏了,忽略了你的新指令。

2. 原因:AI 画画是“先画轮廓,再画细节”

AI 画图的原理有点像从一团模糊的云雾中慢慢显影

  • 刚开始(粗线条):它先决定画面的大结构,比如是白天还是晚上,是森林还是沙漠,谁站在哪里。这时候,它的“老经验”(比如蝴蝶=花朵)最容易占上风,把大结构定死。
  • 后来(细线条):它才开始画眼睛、毛发、具体的动作。

矛盾点在于:一旦 AI 在“粗线条”阶段把大结构定错了(比如把背景定成了花园),后面就算你拼命告诉它“这是蜂巢”,它也改不过来了,因为大结构已经“锁死”了。

3. 解决方案:SAP(分阶段引导的“导演”)

作者提出了一种叫 SAP (Stage-Aware Prompting,分阶段感知提示) 的方法。

我们可以把 AI 想象成一个正在拍电影的剧组,而原来的指令是剧本

  • 以前的做法:导演直接喊“开拍!”,让演员(AI)照着剧本演。结果演员因为太熟悉老套路,把“蝴蝶在蜂巢”演成了“蝴蝶在花朵”。

  • SAP 的做法:导演(论文中的大语言模型 LLM)把剧本拆成了三个分镜头,按时间顺序给 AI 看:

    第一步:先定大环境(粗线条阶段)

    • 指令:“画一个蜂巢,里面有一只动物。”
    • 目的:这时候先别提“蝴蝶”,先让 AI 把“蜂巢”这个背景画好。因为这时候 AI 还没被“蝴蝶=花朵”的旧观念带偏,它能乖乖画出蜂巢。

    第二步:引入替身演员(中间阶段)

    • 指令:“画一个穿着昆虫衣服的人,站在蜂巢里。”
    • 目的:这时候大结构(蜂巢)已经锁定了。我们用一个“替身”(比如穿昆虫服的人)来占据“蝴蝶”的位置。这样既保留了蜂巢,又让画面里有了类似蝴蝶的轮廓,但还没触发 AI 的“花朵”联想。

    第三步:换上真主角(细节阶段)

    • 指令:“现在,把那个穿昆虫衣服的人,变成一只真正的蝴蝶。”
    • 目的:这时候,画面的大结构(蜂巢)已经不可改变了。AI 只需要在细节上把“衣服”改成“翅膀”。因为背景已经是蜂巢了,AI 只能乖乖地把蝴蝶画在蜂巢里,而不会把它画到花朵上去。

4. 核心比喻:装修房子

想象你要装修一个**“在沙漠里建雪屋”**的房间(这也是论文里的一个例子):

  • 直接画:AI 会画一个沙漠,或者画一个雪屋但背景是雪山,因为它觉得“沙漠”和“雪屋”不搭。
  • SAP 方法
    1. 先砌墙:先让 AI 把“雪屋”的形状和结构画出来(不管背景)。
    2. 再铺沙:等雪屋的轮廓固定了,再让 AI 把背景改成“沙漠”。
    3. 最后微调:这时候,雪屋已经在那儿了,背景是沙漠,AI 只能接受这个设定,画出一幅“沙漠里的雪屋”。

总结

这篇论文并没有重新训练 AI,也没有改变 AI 的底层代码。它只是换了一种“说话”的方式

它利用了一个大语言模型(LLM)作为**“聪明的编剧”,把那些让 AI 犯迷糊的复杂指令,拆解成按时间顺序排列的简单步骤**。就像教一个固执的孩子画画:先让他画好背景,再让他画主体,最后再让他加细节。

结果就是:AI 终于能听懂那些“反常识”的指令了,比如“在蜜蜂蜂巢里的蝴蝶”、“穿着芭蕾舞裙的布鲁斯·李”或者“在沙漠里的雪人”,而且画出来的效果非常精准,不再被它自己的“老经验”带偏。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →