以笔触而非像素思考:基于交错推理的过程驱动图像生成 Think in Strokes, Not Pixels: Process-Driven Image Generation via Interleaved Reasoning
把生成拆为四阶段交错推理轨迹,过程监督提升组合保真度与可解释性。
前置知识
统一多模态模型 (Unified Multimodal Model)
在单一神经网络内同时支持视觉理解与视觉生成的架构。本文采用BAGEL-7B作为骨干,其将自回归文本建模与基于扩散的图像生成融合在同一Transformer中,并通过自回归方式在统一序列里同时输出文本token与视觉token,使模型能在生成过程中自然地读取自己前几步生成的图像。
本文的核心创新"过程驱动生成"完全依赖统一多模态模型对图像token序列的原生处理能力。如果不理解统一模型中图像和文本是同一序列上的不同token,就无法读懂Plan/Sketch/Inspect/Refine如何作为统一推理轨迹被自回归地生成。
Chain-of-Thought (CoT) 与多模态CoT
CoT指让模型在最终答案前显式生成中间推理步骤。多模态CoT则交替生成文本推理与图像草图,但常把图像作为静态端点而非可被解释的中间状态,形式上可记为 ${s^{(1)}, v^{(1)}, s^{(2)}, v^{(2)}, \ldots}$。
本文的关键差异化正是"把图像当作可被Inspect和Refine的中间状态"而非静态输出。理解CoT从纯文本到多模态的演进脉络,是把握本文Plan→Sketch→Inspect→Refine四阶段循环新颖性的前提。
Rectified Flow (整流流) 训练目标
Rectified Flow在数据与噪声间构造线性插值路径,模型预测速度场,损失为速度的MSE。相比DDPM路径直、采样步数少,是本文视觉侧训练所用的扩散替代范式。
本文视觉侧训练目标 $\mathcal{L}_{\text{imageMSE}} = \mathbb{E}\|P_\theta(z_t^{(i)}|y_{<t},T) - (z_0^{(i)} - z_1^{(i)})\|^2$ 正是Rectified Flow的MSE形式,与文本侧CE损失 $\mathcal{L}_{\text{textCE}}$ 加权构成总目标 $\mathcal{L}_{\text{total}} = \lambda_{CE}\mathcal{L}_{\text{textCE}} + \mathcal{L}_{\text{imageMSE}}$。读训练部分必须先懂这条线性插值路径。
场景图 (Scene Graph) 与子图采样
场景图将图像描述编码为"对象节点—属性节点—关系边"的有向图,是组合性图像生成的常用结构化表征。子图采样指从完整场景图中按节点/边随机抽取子集,用于生成"只包含部分对象"的子提示,从而得到逐步展开的指令序列。
本文Multi-Turn Generation子集的核心构造方法就是"用场景图子采样得到无矛盾的增量指令"。读3.2节数据集构造时必须先理解这一结构化表示,否则看不懂作者如何保证中间状态"空间和语义一致性"。
GenEval 与 WISE 评测基准
GenEval按Single Object/Two Objects/Counting/Colors/Position/Color Attributes六类评估对象/属性/空间关系;WISE覆盖文化/时间/空间/生物/物理/化学六类,测试世界知识融入图像的能力,分数均为0-1子任务正确率的均值。
本文核心实验结果都报告在这两个基准上(GenEval 0.83、WISE 0.76)。理解每个子项的含义才能解释为什么本文在Position(+0.21)和Color Attributes(+0.13)上提升最大——这些恰是单次生成最易犯空间错误的维度。
研究动机
当前主流文生图模型(FLUX.1-dev、BAGEL-7B、Janus-Pro-7B等)几乎全部采用"单次前向生成"范式,在一次forward pass中同时确定空间布局、对象关系、细粒度属性,这导致"熊悬在勺子上方"等需要空间推理的提示经常被生成为"熊站在勺子旁","鸟站在滑板上"也会出现"两只鸟而不是一只"这类组合性错误。论文图1给出具体例子,根因在于单次生成没有视觉反馈机制去纠正。文本CoT(Wei et al., 2023)虽引入中间推理步骤但仍是"视觉盲"——无法动态感知空间错位或调整对象状态;工具增强绘画(Hu et al., 2024)与后置精修(Qin et al., 2025)仍把推理与生成解耦,或仅在生成后修正一次。BAGEL等统一多模态模型虽支持interleaved预训练,但图像仍被当作静态端点而非可被模型重新读取、解释、纠错的中间状态,导致组合性错误的根源无法被系统性解决。
本文的目标是本文目标是提出一种"过程驱动"的图像生成范式,把生成过程从单次黑盒变换为多步、可监督、可解释的交错推理轨迹。具体包含三个子目标:(1)设计Plan→Sketch→Inspect→Refine四阶段循环,让模型在每一步都"先规划再画、再自检再修改";(2)用"语义划分"(scene graph subsampling)而非"潜空间加噪"(如PARM)来构造中间监督信号,确保中间状态具有具体可解释的视觉语义;(3)在BAGEL-7B单一统一模型中端到端地实现上述过程,无需调用任何外部规划器或评判器,让7B模型在GenEval上从0.79提升到0.83、在WISE上从0.70提升到0.76,全面超越同体量统一模型并匹配12B的FLUX.1-dev。
与已有工作不同的是,现有方法存在两类核心空白。其一,推理与生成的耦合方式不对:文本CoT把推理彻底留在文本侧,工具增强/后置精修把推理留在生成之前/之后,真正"生成过程中持续视觉反馈"的方案缺失;其二,中间状态监督信号不对:PARM(Guo et al., 2025)等过程级方法监督的是"扩散latent的中间模糊态",缺乏人类可解释的语义锚点。本文切入角度是把中间监督从"latent"升级为"具体视觉状态",并用scene graph subsampling保证每步增量指令在空间和语义上都与已有内容兼容;同时引入self-sampling的critic(让VLM评判模型自己生成的轨迹并产出critique),把critique空间对齐到模型自身的错误分布,从而让训练分布与推理分布一致。
核心方法
本文方法把图像生成重新形式化为一个"文本-视觉"交替的推理轨迹,模型按 $\{s^{(1)}, v^{(1)}, s^{(2)}, v^{(2)}, \ldots\}, I \sim P_\theta(\cdot|T)$ 自回归生成。每步文本 $s^{(i)}$ 以 ... 描述"笔触式"增量指令、以 ... 描述全局场景;视觉 $v^{(i)}$ 以 <|vision_start|> 与 <|vision_end|> 标记模态切换。每个循环由Plan(规划增量指令与场景)→Sketch(生成视觉草图)→Inspect(检查指令-草图-原提示三方一致性)→Refine(若冲突则输出 并修订图像)四阶段构成。整个过程在单一BAGEL-7B模型内进行,无需任何外部规划器或评判器,通过自回归地交替生成文本与视觉token,把"单次黑盒生成"转化为"可监督、可解释的多步推理轨迹"。
本文有三大核心创新,本质上都和现有工作有清晰区分。第一,把"图像生成本身"视为可被模型读取、解释、修改的中间状态而非静态输出,这与把图像当作最终答案的PARM、把图像当外部工具的工具增强工作形成根本区别。第二,中间监督从"latent noise level"升级为"具体视觉状态"——用场景图子采样得到无矛盾的增量指令(对象/属性/关系的局部更新),用Flux-Kontext合成对应真值图像,再用GPT筛选,得到32012条3-5步的多轮轨迹。第三,自采样的critique机制——从"已微调好的Multi-Turn模型"采样生成的中间轨迹,用GPT作为judge评估与原prompt的一致性,得到"对齐"或"冲突+修正指令"两类标注,共15201条;这与PARM所用的"symbolic correction"(从scene graph直接推修正)相比,能在模型的自身错误分布上做监督。
方法步骤详情
本文分数据构造与模型训练两阶段。数据构造(3.2节)构造三个子集:Multi-Turn Generation 32012条(scene graph子采样+Flux-Kontext合成真值+GPT过滤,平均3.51图/样本),Instruction-Intermediate Conflict 15201条(自采样轨迹+GPT judge,正6905+负8296),Image-Instruction Alignment 15000条(基于Gen-Ref扩展,正5000+负10000)。模型训练(3.3节):基于BAGEL-7B端到端微调,8卡H100、10000步、packed 33000 token、lr $2\times 10^{-5}$ 余弦退火;文本侧自回归CE损失+模态切换token处加loss,视觉侧Rectified Flow MSE损失(目标速度 $z_0-z_1$,插值路径 $z_t=t z_0+(1-t)z_1$),总损失为两者加权和。推理时模型自回归交替生成文本与图像token,以(无对应start)为终止,平均2.62步生成最终图像。
技术新颖性
技术新颖性体现在四方面。第一,提出"过程驱动生成"新范式,首次在统一多模态模型内把"生成中间态"变成"可解释可监督的视觉状态";图1用"熊悬勺子"与"鸟站滑板"两个例子展示四阶段循环如何修正"位置错位"和"数量错误"。第二,场景图subsampling机制首次被用于构造"无矛盾"多轮轨迹,保证每步只更新局部对象/属性/关系而保持其他区域空间语义一致——这是PARM等latent-level方法无法做到的。第三,self-sampling critic用"模型自己生成的失败轨迹+GPT评判"作为critique数据,让训练分布与推理分布严格一致;消融(表6)显示自采样在Color(+0.04)、Position(+0.05)、Color Attributes(+0.07)上均优于scene graph symbolic correction。第四,消融(表7)证明两种中间监督"语义对齐"与"视觉对齐"针对不同失败模式——前者主要提升Position(+5%)、后者主要提升Counting(+12%),联合使用全面最优,共同把7B模型推到GenEval 0.83的SOTA。
实验结果
实验围绕两个基准展开。GenEval(表2)上,本文在统一多模态组中以0.83整体分数刷新SOTA,显著优于BAGEL-7B基线(0.77)与Janus-Pro-7B(0.80),并匹配12B的FLUX.1-dev(0.82);Position子项从0.51跃升到0.72(+0.21)、Color Attributes从0.56升到0.69(+0.13)提升最显著,显示过程推理对空间关系与细粒度属性帮助最大。WISE(表3)上本文达0.76,大幅领先BAGEL(0.70),Time子项(0.82,+0.13)与Chemistry(0.78,+0.20)提升最大,证明过程推理对世界知识场景帮助显著。与过程级方法对比(表4)显示,本文以62K训练样本(约PARM的1/11)与131步推理(约PARM的1/8)在GenEval达0.83 vs PARM的0.77;GPT-Planner(训练免费)仅0.60,说明外部规划器无法弥补模型自身视觉落地能力。消融(表5-7)分别证明编辑多样性、自采样critique、两种监督互补三者的关键作用。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| GenEval 组合文生图 (整体) | Overall 正确率 (0-1) | 0.83 (Single Object 0.99, Two Objects 0.95, Counting 0.75, Colors 0.87, Position 0.72, Color Attr 0.69) | BAGEL-7B 0.77, Janus-Pro-7B 0.80, FLUX.1-dev (12B) 0.82 | 相比BAGEL-7B提升+0.06绝对(+5%绝对增益),相比Janus-Pro-7B提升+0.03,匹配甚至略超12B的FLUX.1-dev |
| GenEval Position 子项 | 空间关系正确率 | 0.72 | BAGEL-7B 0.51 | +0.21绝对增益,是所有子项中提升最大的维度,证明过程推理对空间关系帮助最显著 |
| GenEval Color Attributes 子项 | 属性绑定正确率 | 0.69 | BAGEL-7B 0.56 | +0.13绝对增益,显示Inspect阶段对属性-对象绑定错误的检测能力 |
| WISE 世界知识推理 (整体) | Overall 正确率 (0-1) | 0.76 (Culture 0.74, Time 0.82, Space 0.73, Biology 0.70, Physics 0.76, Chemistry 0.78) | BAGEL-7B 0.70 (Culture 0.76, Time 0.69, Space 0.75, Biology 0.64, Physics 0.75, Chemistry 0.58) | 整体+0.06绝对增益(+8.5%相对),Time +0.13、Chemistry +0.20、Biology +0.06提升最大 |
| GenEval 过程级方法对比 | Overall 正确率 / 训练数据 / 推理步数 | 0.83 / 62K 样本 / 131 步 (平均2.62步/图) | PARM (RL+TTS) 0.77 / 688K 样本 / 1000步 (Best-of-20); PARM (TTS) 0.67 / 400K / 1000步 | 精度+0.06,训练数据缩减约11×,推理成本缩减约8×,确立新SOTA且显著更高效 |
| Diverse editing instructions 消融 (GenEval) | Position / Color Attributes | 0.72 / 0.69 (w/aug. + self-critique) | 0.58 / 0.50 (w/o aug., 无self-critique) | Position +0.14, Color Attr +0.19,验证编辑指令多样性对组合推理的奠基作用 |
| Self-sampling vs Symbolic critique 消融 | Colors / Position / Color Attr | 0.87 / 0.72 / 0.69 (self-sampling) | 0.83 / 0.70 / 0.67 (scene graph symbolic correction) | 三个子项分别+0.04/+0.02/+0.02,验证在模型自身错误分布上做监督的优势 |
| Intermediate supervision 组合消融 | Counting / Position / Color Attr | 0.75 / 0.72 / 0.69 (ins. + img-ins. 联合) | 0.61 / 0.66 / 0.62 (基线); 0.62 / 0.71 / 0.65 (仅ins.); 0.73 / 0.69 / 0.65 (仅img-ins.) | Counting主要由img-ins贡献(+0.12),Position主要由ins贡献(+0.05),两者互补联合最优 |
局限与改进
作者未单设Limitations小节,但从技术细节可观察到五点限制。第一,过程监督算力开销不可忽略——8卡H100训练10000步、单图推理平均2.62步,虽比PARM的Best-of-20更高效,但仍显著高于单次生成模型,实时交互场景下延迟是瓶颈。第二,训练数据合成高度依赖外部模型——Flux-Kontext合成真值、GPT-4o作judge,任何上游偏差都会被放大进训练数据,作者未报告对不同Flux/GPT版本的鲁棒性测试。第三,Inspect阶段的"歧义性"问题未被完全解决——需判断"缺对象"是"还没画"还是"画错了",self-sampling缓解但未给出精确率/召回率定量分析。第四,过程驱动推理在简单prompt下的"过度思考"风险未被讨论,对"一只猫"等简单提示可能仍走完2-3次循环产生不必要延迟,作者声称"complexity-adaptive reasoning"但未给出短prompt延迟对比。第五,评估仅在GenEval与WISE两个英文组合性基准,未在中文提示、>5对象复杂场景、抽象概念上验证,泛化边界不明。
独立分析的弱点
独立审视后有五点弱点值得改进。第一,Inspect阶段二元判断("对齐/冲突")过于粗糙,实际错误空间更细粒度(对象漏画、位置错位、属性错配、数量错配、风格不符),建议扩展为多类错误分类,引入错误类型标签+类型化修正模板。第二,两个critique子集依赖GPT-4o作judge,引入API成本并锁定训练分布在GPT-4o偏好上,改进方向是用专门训练的小型VLM(甚至BAGEL自身)或开源critic微调。第三,过程驱动推理对"全局一致性"保证不够——多步Sketch间物体身份/位置/属性可能累积漂移,改进方向是引入"全局重检"机制(每3-5步做一次跨步骤一致性检查)或将场景图作为持久state注入memory token。第四,平均2.62步推理对延迟敏感应用仍偏高,改进方向是设计"难度感知early-stop"+用户可控"推理预算"。第五,实验仅在BAGEL-7B一个backbone上验证,过程监督对Janus-Pro-7B等统一模型的可移植性未知,应在≥2个backbone上做消融。
未来方向
作者结论中明确两个延伸方向:"将过程驱动推理扩展到视频与3D空间"以及"实现实时人机协同控制"。基于此我提出四条值得深入的方向。第一,视频过程生成:把单图多步轨迹推广到多帧视频,每帧"先规划动作→生成画面→自检时序→修正运动";关键挑战是"时间维度Sketch一致性"与"长程Inspect有效性"。第二,3D空间过程生成:把2D场景图升级为3D场景图,Sketch从单图升级为多视角/体素网格,Inspect引入3D几何一致性检查(对称性、遮挡、深度梯度)。第三,人机协同过程生成:把Plan阶段的暴露给用户作为"提示草案",允许Sketch前插入/修改,使生成从纯模型自循环变成"用户-模型对话式共创";这与imagic编辑、instruct-pix2pix有本质区别——后者只支持一次性编辑,前者支持多轮协商。第四,把过程驱动推广到指令编辑与inpainting场景,论文3.1提到 $T + I_{\text{input}}$ 作为输入形式,扩展Edit场景为自然下一步。
复现评估
复现评估分四方面。开源情况:论文未声明代码/权重/数据集开源,需关注作者后续release;BAGEL-7B与Flux-Kontext可从HuggingFace加载。数据可获得性:核心数据62K条需自行用Flux-Kontext+GPT-4o合成,管线在3.2节清晰但prompt模板未公开;GPT-4o不可用时换开源Qwen2.5-VL-72B作judge。算力需求:8卡H100、10000步、packed 33000 token,等效约64张A100的1/3-1/4训练量(单A100约25-30天);BAGEL-7B的7B参数+视觉token序列使单卡显存需≥80GB。复现难度:技术栈涉及统一多模态自回归训练、Rectified Flow、scene graph subsampling、self-sampling critic,每项有独立门槛;4阶段循环的"Inspect-触发-Refine"标签构造需仔细设计prompt template。综合看,中小团队可复现Multi-Turn部分,但完整62K三子集+端到端微调需要相当算力与工程投入,效果对GPT-4o judge质量较敏感。
论文图表
对比单次生成与过程驱动生成。上半部分展示"勺子上的熊"案例:Single-Pass直接给出错误结果(bear beside spoon),而Process-driven Generation分两步,Step 1先生成勺子,Step 2再把熊画到勺子上方。下半部分展示两个Inspect-and-Refine错误检测:左例"猫站在木凳上"案例中,Inspect发现鼠标被画到了座椅上而不是地面,Refine后正确放置;右例"雨中鸟"案例中,Inspect发现出现了两只鸟而非一只,Refine后删除多余的鸟。
这是论文核心动机的视觉证据,直观展示单次生成的两类典型错误(空间错位、数量错误)如何被过程驱动的四阶段循环检测并修正,缺它则Plan→Sketch→Inspect→Refine的必要性无法被读者感性地理解。