语言模型得到的收益
- 拓扑排序让连接只能指向已生成节点
- YAML 风格减少无效 token 与 XML 噪声
- 显式字段区分 function、dependency、connections、params 与 outputs
- 同一表示可以做文本上下文,也可以转回 SBS 执行
把程序化材质图视为视觉空间程序,让模型在每个节点之后看见执行结果,再用增量验证和回溯搜索维持程序有效性。
身份核查。 本页以 arXiv v2,2026 年 2 月 9 日版本为分析主体。arXiv 当前已列出 v3,日期为 2026 年 5 月 13 日。ICLR Proceedings 已正式收录该文,因而 “ICLR 2026” 身份无歧义。arXiv v2 · ICLR Proceedings
MultiMat 的关键贡献不是简单地向模型多喂一张目标图,而是把程序执行产生的中间视觉状态持续放回上下文。由此,图生成从一次性文本解码变成带环境执行、错误检测和回溯的多步过程。
程序化材质图 \(G\) 是有向无环图。节点集合写作 \(\{v_1,v_2,\ldots,v_N\}\),边描述图像数据流。每个节点可以是生成器或滤镜,并产生中间图像。论文把当前步骤已经执行得到的视觉状态记作 \(I_t\)。节点参数同时包含连续量、离散量和向量。
这里的 \(I_t\) 应理解为步骤 \(t\) 时可用的中间输出集合,不只是第 \(t\) 个节点的一张预览。因此公式中不另写 \(I_{\lt t}\),并不意味着历史视觉状态被丢弃,而是历史已经包含在当前执行状态中。
原生 SBS 是冗长 XML,包含二进制数据、历史元数据和大量不适合语言建模的实现细节。作者实现双向 transpiler,把 SBS 转为按拓扑顺序排列的 YAML 风格 CompactSBS,再把生成结果转回 SBS 执行。论文声称完整保留 Substance 图功能,程序平均缩短超过 80%。论文第 5 节
# 结构示意,并非逐字复制论文附录
s7:
function: multi_directional_warp_grayscale
connections:
input: { node: s4, id: output }
intensity_input: { node: s5, id: output }
outputs:
output: grayscale
s10:
function: safe_transform_grayscale
dependency: sbs://safe_transform.sbs
connections:
input: { node: s9, id: output }
params:
absolute: { rotation: 0.25, tile: uU_vV }

论文实际上比较三种上下文表示强度:完整文本图,文本与节点预览交错,以及完整节点图截图。目标图像只负责给出“要生成什么”,而过程条件负责告诉模型“当前已经构造到哪里”。

参数没有以文本字段继续输入模型。论文明确说,为限制图像 embedding 增加后的上下文长度,Mixed 版本省略参数,并认为参数效果被中间可视化隐式编码。这是一项强假设,因为不同参数可能产生近似预览,视觉状态不必然具有参数可辨识性。
模型按拓扑顺序一次生成一个节点定义 \(v_{t+1}\),其中包括节点类型、参数和连接。每个新节点只能连接到已经存在的节点,天然避免前向引用。两种多模态版本仍是自回归语言模型,以 token 级交叉熵训练:
其中 \(v_{t,s}\) 是第 \(t\) 个节点 CompactSBS 表示中的第 \(s\) 个目标 token,\(v_{t,{\lt s}}\) 是该节点内此前 token,\(x\) 是外部条件。无条件生成时 \(x\) 为空或由 beginning of sequence token 启动,条件生成时 \(x\) 是参考渲染图。
可把执行状态写为 \(S_t=(G_t,I_t)\)。若转译和材质执行成功,新节点进入 \(G_{t+1}\),预览进入 \(I_{t+1}\)。若出现语法错误、语义错误或执行失败,当前候选被丢弃并重采样。重复失败时,回溯深度按指数增长:
第一次回退 1 个节点,第二次回退 2 个,第三次回退 4 个。其含义是:持续局部失败可能源于更早的结构决定,因此搜索需要返回更深的祖先状态。论文称其为 constrained tree search,约束主要来自 CompactSBS 转译器、图静态规则和材质引擎的可执行性,而不是来自目标外观 reward。

系统会删除节点类型不支持的多余参数,并在 color 到 grayscale 的连接中插入灰度转换节点,在 grayscale 到 color 的连接中插入 gradient map。修复不会反馈给模型,因此后续上下文可能显示已修复后的执行图,但模型并未得到明确的错误解释。
作者从 Adobe Substance 3D Assets Repository 收集生产级材质,并排除许可不适合训练的 Community Assets。预处理向五类 PBR 输出反向追踪:base color、normal、roughness、metallic 与 height。未连接组件和其他输出图被裁掉,包含 bitmap 或 SVG 的图被排除,超过 128 节点的图被过滤,嵌套子图和自定义依赖被展开。
| 模型 | 规模 | 最大节点 | 功能集 | 程序系统 |
|---|---|---|---|---|
| MatFormer | 2,820 | ≤ 400,上界 | Subset | Designer |
| Conditional MatFormer | 4,667 | ≤ 80,上界 | Subset | Designer |
| VLMaterial | 3,663 | 30 | Limited | Blender |
| MultiMat | 6,878 | 128 | Complete,作者主张 | Designer |
| 项目 | 论文报告 | 复现判断 |
|---|---|---|
| 基础模型 | Qwen2.5 VL 7B | Mixed、Graph 与条件基线 |
| 无条件文本基线 | Qwen3 8B | 对文本基线略有模型规模优势 |
| 训练 | 5 epochs,AdamW,学习率 5e-5,batch 128 | 可建立主干配置 |
| 上下文 | 最大 8,192 tokens | 所有变体一致 |
| 采样 | temperature 0.8,top p 0.95 | 生成多样性参数已给出 |
| 无条件评估 | 每模型 100 个输出 | 样本量偏小 |
| 条件输入 | 512 × 512,增加 324 image patches | 保留 100 个测试样本 |
| 训练硬件 | 8 × A100 80GB | MultiMat 数日,文本基线数小时 |
| 训练 prompt | 未报告 | 关键复现缺口 |
| 随机种子与调度器 | 未报告 | 无法精确复现 |
| DiffMat 迭代数、学习率、损失组合 | 未报告 | 优化结果不可严格复现 |
| 官方代码与数据下载 | 公开页面未链接 | 截至本页核查时不可获得 |
由于原始 VLMaterial 面向 Blender,作者在同一 SBS 数据上重训 VLMaterial 风格基线。无条件设置中,文本基线使用 Qwen3 8B,两个 MultiMat 版本使用 Qwen2.5 VL 7B。条件设置中,因为需要视觉输入,所有模型均基于 Qwen2.5 VL 7B。GPT 4o 与 Claude 4 未纳入,理由是它们不熟悉 CompactSBS 且无法稳定产生有效 SBS。
| 模型 | KID ↓ | ROUGE L ↓ | NER ↓ |
|---|---|---|---|
| VLMaterial (SBS) | 14.155 | 3.641 | 14.846 |
| MultiMat (Mixed) | 6.752 | 2.195 | 8.923 |
| MultiMat (Graph) | 2.365 | 1.915 | 15.024 |
| 模型 | DSim ↑ | CLIP ↑ | Style ↓ | KID ↓ | ROUGE L ↓ | NER ↓ |
|---|---|---|---|---|---|---|
| VLMaterial (SBS) | 31.344 | 65.678 | 3.211 | 14.976 | 1.621 | 16.933 |
| MultiMat (Mixed) | 34.922 | 66.737 | 3.199 | 3.675 | 2.194 | 12.388 |
| MultiMat (Graph) | 36.609 | 67.907 | 3.178 | 2.801 | 2.037 | 17.046 |
| VLMaterial+ (SBS) | 31.348 | 65.867 | 3.126 | 27.862 | 不变 | 不变 |
| MultiMat+ (Mixed) | 40.258 | 69.687 | 3.093 | 17.792 | 不变 | 不变 |
| MultiMat+ (Graph) | 40.367 | 70.114 | 3.046 | 14.886 | 不变 | 不变 |
MultiMat 先生成离散图结构和初始参数,DiffMat 随后把可微节点参数视为优化变量,通过可微执行让渲染结果逼近输入图像。优化版记为 MultiMat+。论文只明确“使用 DiffMat 做 gradient based optimization”,没有给出参数选择范围、迭代次数、学习率、损失权重或停止条件。
上式是对论文优化意图的抽象,不是论文原文给出的完整目标函数。结果上,Graph 的 DSim 从 36.609 提升到 40.367,Mixed 从 34.922 提升到 40.258,文本基线几乎不变。作者据此判断,结构越接近正确答案,连续参数优化越有效。与此同时,所有优化版本的 KID 显著上升,说明面向单个输入的拟合与整体生成分布质量并不一致。
作者在 33 个高难度输入上评估,每个模型对每张图生成 \(N=40\) 个程序,再以 DreamSim 选出最好候选。8 名具程序化材质经验的专家比较三模型结果。Graph+ 对 VLMaterial+ 的偏好率为 81.1%,Mixed+ 对 VLMaterial+ 为 83.3%,Graph+ 对 Mixed+ 为 58.3%。


| 模型 | 删除多余参数 | 插入类型转换 |
|---|---|---|
| VLMaterial (SBS) | 2.71% | 12.26% |
| MultiMat (Mixed) | 1.18% | 3.51% |
| MultiMat (Graph) | 1.10% | 6.49% |
设置与 Figure 6 相同,继续展示高难输入。作者总结 Mixed+ 持续优于文本基线,Graph+ 整体最佳。附录只给定性图,没有额外定量分层分析。
复杂细密 pattern 是共同失败点。Graph 与 Mixed 仍比文本基线更接近输入,但并不能忠实复现。这类案例提示模型可能掌握材质类别和局部统计,却没有可靠恢复精确的程序结构。
Figure 9 将无条件生成材质与其节点图并列,说明 Graph 条件训练能够产生视觉上合理的复杂图。Figure 10 给出一份完整 CompactSBS,用于展示字段层级、依赖、连接与参数的实际组织方式,但论文没有提供正式 grammar 或 schema。
| 研究线 | MultiMat 已做 | 仍未解决 |
|---|---|---|
| Procedural Material Generation | 从参考图像或空条件生成 Designer 程序化材质图 | 精确结构恢复、真实照片域、可编辑语义参数 |
| Context Optimization | 比较文本骨架加预览与完整节点图两种上下文表示 | 根据任务动态选择、压缩、排序和更新 context |
| Agent | 逐节点行动,调用转译器与材质引擎,维护状态并回溯 | 显式规划、目标 reward、长期记忆、预算感知搜索 |
下面两式是本课题的研究框架,不是 MultiMat 的原始贡献。MultiMat 最接近其中“以图可视化组织上下文”和“Agent 调用 Renderer 获得执行状态”的部分,但它没有显式求解最优上下文 (C^{\ast})。