PhysEvolve:以可执行世界为验证基座的物理推理自进化框架 PhysEvolve: Verifier-grounded Self-evolution for Physical Reasoning with Executable Worlds
VLM自提可执行物理世界,模拟器执行反事实分支生成精确可验证任务,实现零人工监督自进化
前置知识
自我博弈自进化(Proposer–Solver 自博弈)
一种让模型自己生成训练问题并自己作答的范式:同一策略的两种角色——Proposer 负责提出任务或环境,Solver 负责解题——依靠外部确定性执行器(如代码解释器)给出的精确对错信号共同进化,代表工作 Absolute Zero。训练信号由任务的经验可学习性 $r_{\text{learn}} = 1 - 2|\bar{a} - 0.5|$ 驱动,该量在解题率 $\bar{a}=0.5$ 时最大,使训练自动集中在模型能力边界附近的任务上,从而突破固定数据集的天花板。
PhysEvolve 正是把这一范式从离散符号域(数学/代码)迁移到连续多体物理域,论文标题中的 self-evolution 即指此;理解它是读懂全文框架设计的起点。
RLVR 与 GRPO
RLVR(可验证奖励的强化学习)用确定性判分器(精确答案匹配、测试用例执行等)替代易被策略利用的学习型奖励模型。GRPO(组相对策略优化)是 DeepSeek-R1 采用的在线 RL 算法:对每个任务采样一组 $G$ 个 rollout,用组内奖励的相对优势替代价值网络估计基线,配合对冻结参考策略的 KL 正则做策略梯度更新,训练稳定且省算力。
PhysEvolve 用 GRPO 同时更新 Proposer 与 Solver 两个角色的共享参数,其"可验证判分器"就是物理执行器绑定出的离散答案,这是全文优化层的基础。
反事实推理与 Pearl 因果之梯
按 Pearl 的因果之梯,因果推理分三层:关联(观测共现)、干预($do$ 算子:主动改变某变量后结果如何)、反事实(回到过去:当初若移除某物,结果会怎样)。观测视频只记录了实际发生的一条事实轨迹,反事实分支在物理世界中不可观测——这正是物理干预标注数据原则上稀缺的原因,也是物理推理区别于普通时序预测的本质所在。
本文的核心论点:单条轨迹在原理上推不出反事实真值,必须由执行器主动运行成对的干预分支才能建立因果监督,这是全文两条设计原则之一。
确定性物理引擎与可执行世界程序
物理引擎(本文用 MuJoCo 3.6.0)按固定时间步(0.002 s)积分刚体动力学,给定相同初始状态与随机种子 $\xi$,输出轨迹完全可复现,且引擎内部量(接触、速度、落定区域)全部可读。可执行世界程序指用领域专用语言(本文的 PhysDSL,一个 Python 风格 API)声明几何、材质、初速度、关节与相机,由执行器解析、验证并冻结为不可变场景定义。
物理引擎在此扮演代码自博弈中"解释器"的角色:既是唯一真值来源,又因其确定性使基线与反事实分支严格可比,这是方法成立的前提。
奖励黑客与可学习性幻觉
当奖励是连续相似度打分 $s(\hat{y}, y)$ 而非精确匹配时,策略可以靠输出"安全的中间答案"(如静止速度、参数中位数)骗取部分分数而不必真正解题;这些中间分数又会让经验可学习性 $r_{\text{learn}}$ 虚高,令课程把失败任务误判为高效学习边界。本文审计显示:朴素基线的 Forward 任务平均分级奖励高达 0.373,而 100 轮训练的精确正确率始终为 0%。
理解这一失败模式,才能明白本文为何坚持把连续物理读数绑定成离散四选一答案、用 0/1 精确奖励替换分级奖励。
课程学习(Curriculum Learning)
按任务难度动态调整训练分布的方法:太简单的任务学不到新知识,太难的任务奖励全零信号稀疏。理想区间是解题率约 0.5 的能力边界。本文用滚动任务正确率 $\bar{a}_f$ 计算意图族采样权重 $w_f = \rho_f \max(0.05,\, 4\bar{a}_f(1-\bar{a}_f))$,该函数恰在 $\bar{a}_f=0.5$ 处取峰值,饱和或无解的任务族被自动降权,前 8 轮用先验权重冷启动。
自适应意图课程是 PhysEvolve 协进化训练的宏观层,决定了每轮训练练哪些物理推理意图,与微观的世界探索共同构成双层协进化。
研究动机
当前 VLM 在静态物体识别与空间关系上已相当可靠,但对物理动力学、干预效果与反事实结果的判断明显不可靠:基座 Qwen3-VL-8B-Instruct 在 ContPhy 的 Goal-Pit 任务上准确率仅 20.0%,在 CausalPhys 真实视频干预类任务上仅 42.76%,ContPhy 总体仅 37.08%;Llama-3.2-11B-Vision 在 ContPhy 反事实移除上得分甚至为 0。问题根源在数据侧:高质量、可验证的"受控干预下结果如何变化"式标注极度稀缺——真实视频不仅标注昂贵,而且原则上只记录实际发生的那一条事实轨迹,反事实分支("当初若移除那堵墙,球会落进哪个坑")在物理上不可观测,正如 Pearl 因果之梯所刻画的:纯观测数据推不出反事实真值。现有的模拟器反事实基准(ContPhy、CausalPhys、CoPhy、ComPhy 等)虽提供配对的反事实轨迹,但它们是固定评测集而非可扩展的训练监督来源,无法支撑大规模因果物理能力训练。
本文的目标是本文的目标是完全摆脱人工标注的干预数据,构建一个可自进化的因果物理推理训练框架:让 VLM 自己提出可执行的 3D 刚体世界程序,由确定性物理执行器验证世界是否物理有效,在完全相同的初始条件与随机种子下并行执行基线轨迹和"身体删除"反事实分支,把连续的多体动力学读数转化为答案唯一绑定的四选一视觉任务,再用精确的对错信号通过 GRPO 同时更新共享策略与自适应任务课程。评测上追求两类可验证收益:一是针对性迁移,即在训练模拟过的牛顿范式(抛掷、判断、运动)上获得大幅提升;二是分布外迁移,即从刚体合成环境零样本迁移到训练模板完全缺席的连续介质(布料、流体、绳索、软体)以及真实世界视频,证明模型内化了抽象的"干预算子"而非记忆仿真伪影。
与已有工作不同的是,本文的独特切入角度是先证伪、后建构。把 Absolute Zero 式"Proposer–Solver + 解释器"自博弈直接映射到物理域看似自然——用物理模拟器替换代码解释器即可——但作者对朴素基线的审计(Figure 1)揭示两个结构性死穴:(1) 单轨迹执行在原理上无法构造或验证干预任务,朴素基线 100 轮训练合成的干预/反事实问题数为 0,课程因缺乏因果监督而停滞;(2) 用连续相似度奖励替代精确匹配会诱发可学习性幻觉——全错的 rollout 组靠"预测静止初速"或"取参数中位数"仍拿到中等奖励,使课程误把失败任务当学习边界。由此本文提出两条不可妥协的设计原则(分支级验证、离散答案绑定),并把"提出环境"的权力交给策略、把"判定真值"的权力严格留给冻结模拟器,构建信息边界。相比 Sim2Reason 等离线"轨迹转 QA"管线,PhysEvolve 在线合成带反事实分支的可验证监督;相比 UED 面向 RL 控制策略,本文的课程信号是 VLM 答题的精确正确率。
核心方法
直觉上,本文把代码自博弈中"解释器对模型写的规格算出唯一输出"替换为"物理引擎对模型写的世界算出事实+反事实两种结果",其余保持自进化骨架。技术路线:共享策略 $\pi_\theta$ 同时充当 Proposer $\pi^P_\theta$ 与 Solver $\pi^S_\theta$。每轮:课程采样一个推理意图 $\sigma$(抛掷、碰撞、运动三大牛顿范式共 8 个活动意图族);Proposer 依 $\sigma$ 采样 $(W,S)$,$W$ 是 PhysDSL 世界程序(几何、材质、初速度、关节、相机),$S$ 是证据 schema(声明查询弹丸、可移除墙、碰撞目标等语义角色);固定执行器验证并冻结场景,对干预意图以相同种子执行配对分支 $(\tau_\emptyset, \tau_B) = (\Phi_\xi(W),\, \Phi_\xi(W \setminus B))$;读出函数在两条分支上判定唯一答案 $a^\star$ 并合成四选一视觉题;Solver 只看基线视频作答,得精确奖励 $r^i_{\text{solve}} = \mathbf{1}[\hat{a}_i = a^\star]$;该信号既经 GRPO 更新共享参数,又滚动更新课程权重 $w_f = \rho_f \max(0.05, 4\bar{a}_f(1-\bar{a}_f))$。
核心创新是"验证器接地"的双重保证加信息边界。第一,分支级验证:物理因果真值无法从单条轨迹推断,执行器必须在相同种子与时间域下主动执行基线与删体分支(如移除墙 A、墙 B、A+B 三种删除组合),保证结果分歧严格归因于声明的干预;逆干预题还要验证"恰好一个分支达成目标"才绑定答案,"none of the above"是执行器推导出的负例而非兜底选项,多重可达的目标直接跳过。第二,离散答案绑定:所有连续读数必须通过读出函数与裕度检验(落定速度 ≤0.30 m/s 才算落定、候选速度差低于 0.30 m/s 抑制题目)映射成唯一绑定的离散选项,使 Solver 的成功等于精确正确而非"接近正确",从根上封死朴素自博弈的分级奖励黑客通道。第三,严格信息边界:策略只引导物理环境探索,世界有效性、反事实真值与答案绑定完全由冻结的确定性模拟器决定,策略永远无法给自己定制训练标签,在结构上消除标签污染与奖励作弊。
方法步骤详情
一步训练的流程:第 1 步意图采样——按 $w_f=\rho_f\max(0.05,4\bar{a}_f(1-\bar{a}_f))$ 选 $N=4$ 个意图(前 8 轮冷启动用先验权重)。第 2 步提案——每意图采 $G=4$ 个 $(W,S)$;PhysDSL 带硬校验(≤20 个动态体、质量 $[0.01,100]$ kg、恢复系数 $[0,1]$ 等),非法提案按类型罚分(语法/语义 −1.0,数值/超时 −0.3,乘 $\lambda_{\text{fail}}=1.5$)。第 3 步验证与冻结——沙箱执行,允许有界修复但按档打折(0.90/0.80/0.75)且不许新增物体;通过后 freeze() 成不可变 SceneDef。第 4 步分支执行——每世界至多 6 个删除集合,删除指定刚体及关联约束后同种子重跑并缓存;基线渲染成 480×480×32 帧视频给 Solver。第 5 步答案绑定——按 8 个任务族合同做可判定性与裕度检验(如落定速度 ≤0.30 m/s),未通过即抑制条目。第 6 步更新——Solver 每题 4 个 rollout 按精确匹配计奖并做 GRPO(clip 0.2、lr $10^{-6}$、参考 KL 0.03);Proposer 奖励含编译成功、碰撞可行性、编辑距离多样性、防拷贝(相似度 ≥0.95 封顶 0.1)与饱和控制;最后滚动更新课程统计。
技术新颖性
技术新颖性体现在四个对比维度。对 Absolute Zero、R-Zero、VisPlay 等自进化工作:本文首次把共享策略自博弈从离散符号空间推进到连续多体物理,并首次系统审计了朴素物理自博弈为何必然崩溃(零反事实任务 + 可学习性幻觉),提炼出可复用的两条设计原则。对 Sim2Reason 的模拟器接地训练:Sim2Reason 从预定义 rollout 离线合成 QA 并过滤捷径解,而 PhysEvolve 的世界由策略在线提议、反事实分支由执行器按需执行,训练分布随策略能力自适应移动,是真正的"自进化"而非固定数据扩充。对 UED、POET、EnvGen 等环境协同设计:它们服务 RL 控制策略、以 regret/progress 为信号,本文以 VLM 离散答题正确率驱动课程,输出的是可验证的多模态 QA 任务。对通用 RLVR:本文把"连续物理量 → 离散验证合同"的转换做成可审计的执行器组件(类型化终止状态、裕度检验、唯一绑定规则),为多模态物理实现了不依赖奖励模型的精确验证。
实验结果
实验均以 Qwen3-VL-8B-Instruct 为起点、100 步 GRPO。Q1 针对性迁移(Table 1):PhysBench 抛掷子类 46.10%→54.88%(+8.78pp),判断 34.94%→40.03%(+5.08pp),运动 +1.74pp、总体 +0.55pp;朴素自博弈抛掷 −0.24pp、判断 +0.26pp,基本无效。配对审计(Table 20)显示抛掷上本文独对 69 题 vs 基座独对 33 题(净 +36),判断净 +39、运动净 +25,证明是真实能力获取。Q2 分布外迁移:训练从未见过连续介质,但 ContPhy 反事实移除 44.26%→51.64%(+7.38pp),Goal-Pit 20.00%→44.44%(+24.44pp),超过 Qwen3-VL-32B 的 26.7%;分域上软体 +6.22pp、流体 +3.55pp、绳索 +1.33pp、布料 −0.89pp;CausalPhys 真实视频预测 +2.46pp、干预 +2.27pp,其中流体流动 +11.00pp、动作替换 +9.09pp。Q3 架构必要性(Table 2/3):去掉分支执行后 Goal-Pit 暴跌 −23.33pp、反事实移除 −8.20pp,退回基座水平;冻结 Proposer 更新则灾难性坍缩——CausalPhys 15.01%、ContPhy 17.85%,解析率跌至 26.07% 且 65 步后归零。Q4 失败解剖(Table 4):朴素验证器 100 轮中 Forward 平均分级奖励 0.373 但精确正确率 0.00%,Inverse 0.664/6.63%、Parameter 0.787/5.44%,并模式坍缩为输出静止初速(746 次)或参数中位档(145 次),全程干预/反事实任务合成数为 0。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| PhysBench Throwing(抛掷动力学,n=410) | 准确率(%) | 54.88 | Base 46.10(Naive 自博弈 45.85) | +8.78pp(Naive 为 −0.24pp) |
| PhysBench Judgment(判断能力,n=767) | 准确率(%) | 40.03 | Base 34.94(Naive 35.20) | +5.08pp(Naive 仅 +0.26pp) |
| ContPhy Counterfactual Removal(反事实移除,n=122) | 准确率(%) | 51.64 | Base 44.26(去分支消融 43.44) | +7.38pp |
| ContPhy Goal-Pit(目标坑逆干预,n=90) | 准确率(%) | 44.44 | Base 20.00(去分支消融 21.11;Qwen3-VL-32B 仅 26.7) | +24.44pp |
| CausalPhys Anticipation(真实视频预测,n=896) | 准确率(%) | 58.37 | Base 55.92 | +2.46pp |
| CausalPhys Intervention(真实视频干预,n=573) | 准确率(%) | 45.03 | Base 42.76(去分支消融 41.71) | +2.27pp |
| ContPhy Overall(连续介质物理,n=1950) | 准确率(%) | 39.54 | Base 37.08 | +2.46pp(软体域 +6.22pp) |
| PhysBench Overall(n=9802) | 准确率(%) | 53.47 | Base 52.92(Naive 52.39) | +0.55pp,且无灾难性遗忘 |
局限与改进
作者承认的局限:训练基底只有刚体三大范式,因此对布料的迁移反而轻微回退(−0.89pp);PhysBench 感知能力下降 4.35pp(60.39%→56.04%),提示合成渲染世界带来视觉分布偏移;总体增益集中在与训练模板对齐的子类,PhysBench 总体仅 +0.55pp。我自己的观察:第一,8 个任务族的读出函数、0.30 m/s 裕度阈值与语言模板全部人工设计,扩展到新物理现象需要重新手工造合同,这与"自进化"的初衷存在张力;第二,逆干预题依赖"三分支恰好唯一可达"的严格条件,加上多重可达目标被跳过、失败分支抑制条目,数据效率存疑;第三,关键评测子集很小(反事实移除 n=122、Goal-Pit n=90),+24.44pp 的大跳变置信区间宽,且每个配置只跑一次训练、无种子扫描,稳定性未知;第四,四选一选择题无法评测开放式数值预测、多步规划与干预序列;第五,执行器合同虽防住了策略侧的奖励黑客,但"哪些物理事件算可判定"由设计者决定,验证合同本身可能引入系统性偏差。
独立分析的弱点
独立分析的弱点与改进方向:(1) 合同手工瓶颈——三个 schema、八族合同、多处 0.30/0.10 m/s 裕度都是人工调的,换一个物理域就要重造执行器;改进方向是让 LLM 提议读出函数与裕度,用可判定性自动审核加金标准世界回归测试保证合同质量,让"合同"也进入自进化循环。(2) 提案空间窄——PhysDSL 只允许刚体与少量关节/弹簧,非刚体与流体动力学训练时不可达;改进方向是接入 MPM/FEM 连续介质求解器或可微模拟器,甚至用视频扩散世界模型作提案基底并以其时间一致性做软验证。(3) 感知回退——PhysBench Perception −4.35pp 说明纯合成视觉流会侵蚀基础感知;改进方向是混入真实视频回放组、或对视觉塔做冻结/低学习率分层更新。(4) MCQ 形态天花板——真实物理推理需要数值预测与干预序列规划;改进方向是把答案绑定从四选项扩展到离散梯子加容差带的多步干预链。(5) 统计脆弱——单次训练加小评测集;改进方向是多种子重复、扩大反事实评测规模并报告置信区间。
未来方向
作者展望:反事实执行可以成为可泛化物理智能的可扩展基座,全程零人工标注,每个训练目标都绑定到验证过的物理结果。基于成果可延伸的方向:(1) 与离线管线混合——用 Sim2Reason 式预定义 rollout 数据做冷启动,缓解早期稀疏奖励,再由在线自博弈接管;(2) 更强的 Solver——当前是单轮直出选项,可升级为思维链加帧选择工具的 agent,检验干预算子在更深推理下是否继续受益;(3) 面向具身——把习得的干预算子接入 VLA 机器人策略,在操作前预测"移除/推动某物"的后果,用于 affordance 规划与安全预检;(4) 仿真到现实的系统辨识——用 Proposer 提议世界的可执行性反过来约束真实场景的物理参数估计;(5) 规模化与涌现——8B 模型 100 步就有大幅迁移,值得检验 32B、更长训练、更多意图族(热学、光学、流体训练模板)下是否涌现更一般的物理世界模型;(6) 用该框架自动生成并审计新基准,检测现有评测的捷径与泄漏。
复现评估
复现条件较好:代码在 GitHub(yelonhu/PhysEvolve)开源,项目页提供补充资料;基座 Qwen3-VL-8B-Instruct 开放权重;三个评测基准(PhysBench 9,802 题、CausalPhys 3,057 题、ContPhy 1,950 题)公开且用官方协议,所有对比模型共享相同 prompt、抽帧与解码设置。训练配置在附录 Table 13 完整披露:100 步、每 25 步存档、4 GPU + 32 Ray CPU + 4 执行器 worker、生成温度 0.7/top-p 0.95/top-k 20、lr $10^{-6}$、GRPO clip 0.2、参考 KL 0.03、执行器种子 9001、MuJoCo 3.6.0、0.002 s 步长、480×480×32 帧渲染、金标准演示池(10 抛掷/8 碰撞/6 运动程序)。算力门槛中等:约 4 张 A100/H100 级 GPU 可在数小时到一天内跑完 8B GRPO。难点主要在工程侧——需复现 PhysDSL 验证器、类型化终止状态、分支缓存与 8 族合同逻辑;另外作者明说每个配置只跑一次、无种子扫描,论文未报告方差与置信区间,复现数值会有波动。
论文图表
朴素物理自博弈基线的数据流:Proposer 生成世界程序后,执行器只模拟一条事实轨迹,从单轨迹读出前向(Forward)、逆向(Inverse)、参数(Parameter)三类任务;Solver 四个答案全错(EXACT 0/4),却因连续分级打分仍拿到 0.5 的部分分(GRADED 0.5),扭曲的可学习性信号又回传给 Proposer 影响下一轮提案。
这张图是全文动机的缩影,直观展示"单轨迹 + 连续奖励"为何同时导致因果盲区与奖励黑客,是理解 PhysEvolve 两条设计原则(分支验证、离散绑定)必要性的关键。
运动类世界的初始化(t=0 s)与两个执行状态(t=0.790 s、t=1.356 s):绿球沿斜坡下滑、接触琥珀色滑块、滑块再接触蓝球,形成链式运动传递,为运动状态变化族提供接触与速度变化的证据。
补全三大范式中"运动/接触"范式 的具象场景,与 Figure 5/6 共同覆盖全部训练模板。