CodexQA

行业与实践研究与基准测试

BabyTheorist:只看前后变化,现有方法过不了第二关

CodexQA 团队阅读约 12 分钟

KAIST 的 BabyTheorist 用隐藏程序生成前后格子,训练时不给规则。八级课程里,学过的基线停在前两级。GPT-5.6 Sol 第一级只有 51% 到 64%,低于 80% 的及格线。

本文目录

BabyTheorist:只看前后变化,现有方法过不了第二关

Doojin Baek、Junyeob Baek(同等贡献),Mingyu Jo、Hosung Lee、Taegu Kang、Gyubin Lee、Sungjin Ahn。KAIST。许可证:CC BY 4.0。arXiv:2611.08177,2026 年 11 月 5 日。

BabyTheorist 测的是观察式理论学习(observational theory learning,只从没有分组、没有标签的观察里学出可以再用的规则,再拿到新情况上)。它用隐藏的组合程序生成前后两张格子图,训练时不给程序、任务编号或支持集。八级课程里,学过观察流的基线都停在前两级。给了真值操作的诊断系统能走完 Single-A 的八级。没在这套数据上训练的 GPT-5.6 Sol,第一级准确率只有 51% 到 64%,过不了 80% 的及格线。代码在 https://github.com/ahn-ml/babytheorist ,数据在 https://huggingface.co/datasets/ahn-ml/babytheorist 。

从观察学习理论

1 引言

小孩先看世界怎么运转,再积累能反复使用的解释。碰到新情况时,他们重组已有的解释,而不是从零开始。作者把这拆成两件事:从原始观察里获得理论,以及把已有理论用到新情况上。

现有视觉推理基准主要测第二件。ARC-AGI、Bongard 问题和瑞文式题目,都先给一组已经按同一条隐藏规则分好的支持例,再看模型能不能把规则用到查询上。获得这些规则的过程不在评测里。于是模型可以在少样本迁移上得分,却不必说明这些理论是怎么来的。

BabyTheorist 把获得这一步放进可控的训练和评测。它从隐藏的组合程序不断生成前后观察。训练时学习者只看见转移结果。三个设计控制是:隐藏的程序语言、反复出现的子程序,以及按程序复杂度排的课程。协议是持续的训练和测试,并允许跳级。七个有代表性的基线都没有把这套题做完。

2 要学的是什么

作者把要学的能力叫做从看见里建立理论。程序不给出来。观察没有按任务分组。学习者要自己发现可复用的基本操作,知道该作用在哪个物体上,并把多步变化拆开。评测时才给少量同一条隐藏程序生成的支持对,用来降低“这条规则到底是哪一条”的歧义。少样本格式是评测装置,不是训练信号。

3 环境

三个控制:定义隐藏组合程序的语言,跨观察重复出现的子程序,以及逐步加难的级别课程。每一级训练前后都评一次,并用课程走了多远来量理论学习。

每次观察是一张之前的格子 x 和一张之后的格子 y,由隐藏程序把 x 变成 y。格子是 15×15,颜色 0 是背景,物体用 1 到 9 的非背景色画成连通形状,颜色图案、位置和形状都可以变。

一步程序写成 step(selector, primitive)。selector 决定改谁,primitive 决定怎么改。步数就是深度。选择规则有四类:作用全体、按颜色或空心等属性、按最上或最左等空间位置、按固定的光栅扫描序号。基本操作分三类:改变颜色、形状、内部或边界;改变位置;相对另一个物体来改。

表 1 是四种模式。Single 和 Multi 改变场景里有几个物体、以及能不能做相对引用。A 和 B 改变基本操作的词表会不会随级别变多。程序空间是全部基本操作都可用之后,深度 d 的名义步序列数目。

模式物体数选择器基本操作数操作是否扩充程序空间
Single-A1无8否8 的 d 次方
Single-B1无11是,从 8 到 1111 的 d 次方
Multi-A2只按序号11否22 的 d 次方
Multi-B3全部选择器14是,从 11 到 14216 的 d 次方

有些基本操作序列会在不同程序里重复,叫做频繁子程序。每个深度有一个对学习者隐藏的子程序池。发现并压缩这些重复结构,可以缩小解释更复杂观察时的搜索空间。

课程有八个正式级别。每一级给 250,000 条训练观察,然后做级别评测。准确率至少 80% 才进入下一级,否则课程结束。跳级发生在该级训练之前:入门评测如果已经达到同一条及格线,就不给这一级的训练观察,直接进下一级。跳级成功,表示用更早获得的理论,就能处理更长的程序。

每一级评测 10,000 道题。每题给 2 到 5 对由同一条隐藏程序生成的前后例,再给一个查询输入,学习者预测查询输出。先给两对,看能解释这两对的选择规则是否推出同一个查询输出;不一致就再加,最多五对。

主指标是分数。设某一级结束时的精确匹配准确率是 a。精确匹配指预测格子和目标格子完全一样。例如 10,000 题里对了 8,000 题,a = 0.8,这一级得 80 分。分数是已经尝试过的各级上 100 乘以 a 的和。因此只有走到第二级的模型,分数才可能超过 100。效率在分数打平时使用,偏好更早拿到这些分的学习者。跳过的级别加分,但不增加训练阶段数。打平公式的其余细节在原文第 3.5 节。

4 相关工作

视觉推理基准如 ARC-AGI 测的是把已经分组的支持例用到查询上。程序归纳和潜变量动作模型分别从符号程序或连续潜变量解释前后变化。BabyTheorist 要求从没有分组的观察流里获得可复用理论,再在课程上测复用和加长。更宽的相关工作在附录 D。

5 实验

问题是:现有方法能不能从没有分组的观察里获得可复用理论。先看课程成绩,再看三个失败:发现可复用的基本操作、学会该改哪个物体、解释更深的现象。

5.1 基线

按程序怎么表示来分组。

隐式模型不写出程序。自回归 Transformer(AR)在同一条观察流上训练,按 token 从输入生成输出格子,理论只留在权重里。另外两个预训练模型 GPT-OSS 120B 和 Qwen 3.5 27B 不在这条流上训练,同样按 token 生成。

整块潜变量模型从一对前后例推出一个程序潜变量。Cont-Mono 是连续的,Disc-Mono 是离散的,做法接近 AdaWorld 和 LAPO。学到的转移模型再用输入和这个潜变量预测输出。Cont-Mono-Opt 在测试时把潜变量再调到贴住支持对,接近 LPN。Cont-Mono-OC 用物体槽,每个槽一个潜动作,接近 FLAM。

组合潜变量模型 NEO 从一个共享词表里推出一串离散基本操作,再按顺序执行。同一个学到的操作可以跨许多现象复用。

所有模型评同一批支持–查询题,但使用支持的方式不同:在推出的程序里选择、优化潜变量、用 LoRA 微调,或放进上下文。因为推理成本,大语言模型在每个尝试级别上只评前 100 题。结构和超参数在附录 B 和 F。

5.2 课程成绩

图 6 和附录表 9:每个基线都停在八级里的前两级。只有 NEO 到达第二级,而且只在 Single 模式。学过的基线在 Multi 的第一级全部失败。不从观察流学习这套环境规则的通用推理,补不上这个差距。GPT-OSS 120B 和 Qwen 3.5 27B 在每种模式的第一级最多 59% 和 8%。前沿模型 GPT-5.6 Sol 只有 51% 到 64%,低于 80% 的及格线。

诊断系统 PPO with Known DSL 拿到真值基本操作、选择器和执行器,能走完 Single-A 的八级。它不必自己发现操作,所以不是对等比较。它说明在 Single 模式里,获得操作是主要难点;在物体更多的设定里,尤其是 Multi-B,就算操作已经给了,选择和组合仍然难。

表 9 的分数是走到的各级精确匹配准确率按 100 倍相加。训练基线是 3 个种子的均值和总体标准差。语言模型行是每个级别前 100 题、只评一次。Cont-Mono-OC 只在 Multi-A 和 Multi-B 上评。

模型Single-ASingle-BMulti-AMulti-B
GPT-OSS 120B,高推理59521515
Qwen 3.5 27B,关闭思考8846
AR6.7 ± 0.67.3 ± 0.57.7 ± 0.69.3 ± 1.0
Cont-Mono15.9 ± 1.416.7 ± 1.510.5 ± 5.75.6 ± 0.7
Disc-Mono52.5 ± 7.054.5 ± 6.916.1 ± 2.98.5 ± 0.6
Cont-Mono-Opt16.8 ± 1.417.9 ± 1.68.7 ± 4.95.6 ± 0.7
Cont-Mono-OC--3.2 ± 1.410.7 ± 5.6
NEO136.8 ± 49.6137.7 ± 49.836.7 ± 4.322.6 ± 1.6

5.3 发现可复用的基本操作

在更复杂的理论之前,基本变换必须能用到新输入上。作者发现,在观察流上训练的模型可以把所有支持对都解释对,查询却失败。这像是程序贴住了这几对支持,而不是抓住一条可复用的变换。

即使是单物体、只用一个真值基本操作、还不用选目标和组合的题,也会这样。Cont-Mono 在 23.51% 的题上支持全对、查询失败;Disc-Mono 是 8.48%;NEO 是 2.36%。Cont-Mono-Opt 在学到的程序空间里把潜变量调到贴住支持,分数相对 Cont-Mono 没有稳定提高。在深度为 1 的分析里,它改对的查询错误大体被新错误抵消。NEO 用共享词表搭组合表示,是作者指出的一个设计方向。

5.4 该改哪个物体

在多物体场景里复用一个操作,还得知道它作用在谁身上。带显式程序潜变量的基线,包括 NEO,可以做出正确的操作效果,却用到查询里错误的物体上,即便支持已经全部解释对。

Multi-A 第一级全程用按序号的选择器,用来单独看目标选择。在多个物体里只有一个发生变化的深度为 1 的题上,NEO 把正确变换用到另一个物体上的比例,三个种子平均是 25.43%。图 7e 里,任务要求按光栅顺序的第一个物体,NEO 改的是最右边的查询物体。两条选择规则在两个支持上一致,在查询上选出不同物体。预测符合一条能解释支持、但 Multi-A 词表里没有的空间规则。

把物体拆成槽并不能自动规定改哪一个。Cont-Mono-OC 的平均分数在 Multi-B 上比 Cont-Mono 高 5.1 分,在 Multi-A 上低 7.3 分。作者认为以后应单独学习可复用的选择器,再和基本变换组合,把“改谁”和“怎么改”分开。

5.5 更深的现象

解释更深的现象,要抓住好几步基本操作合在一起的效果。有的模型只再现一部分变化。图 7d 里,Disc-Mono 的输出只像旋转,现象却是先旋转再翻转。若额外给支持的真值中间结果,并逐步单独推断,这些逐步理论按顺序执行后,图 8 的查询就对了。这说明模型能表示单步,但从前后对里拆开合在一起的变化有困难。在深度为 2 的题上,NEO 的查询准确率是 88.2%,Disc-Mono 是 61.6%。

学到的基本操作还应有稳定效果。作者观察到 NEO 的某些操作在执行中效果不一致。它的状态锚定损失是为了减少这种不一致,这些例子说明该损失的形式和调节还要再研究。这一段是诊断,加了监督并改变了推断方式,不是基线之间的对等比较。

6 限制和结论

七个基线都没有走出课程的前两级。通用大模型不看这条观察流,也过不了第一级的 80%。给了真值操作之后,Single-A 可以走完,说明难点里有一大块是发现操作本身;Multi-B 即使操作已知仍然失败,说明选择和组合是另一块。三个具体失败是:支持对上拟合、查询上不能迁移;变换对了、物体错了;多步现象只解释了一部分。

附录里和成绩有关的部分

PPO with Known DSL 不是学习基线。它每级拿到当时可用的真值操作和选择器,以及精确执行器,仍要推断一条能解释观察的程序,但不必发现操作或学习执行语义。训练用独立的前后对,没有真值程序、深度或任务分组。每一步从当前格子和目标里选一个动作,由精确执行器给出下一张格子。物体从非背景像素的八连通块恢复。策略是马尔可夫的:只看当前格子、目标格子和可用词表。奖励把精确重建和像素差异的进展合在一起。不能执行的动作不改变状态、奖励为 0,并消耗一步。回合在精确成功或 17 步后结束。需要训练的每一级给 250,000 条观察。评测时用束搜索找一条能再现全部支持输出的程序,束宽 8,每个部分程序最多留 16 个可在全部支持上执行的后续,最多 17 步。

表 11 是三个种子的均值和总体标准差。级别进程在种子之间相同。这些设置用公开评测集选过,包括在公开集上比较分支宽度 8 和 16 后选了 16,因此不能当成没看过测试集的成绩,也不能和必须自己获得操作的学习者对等比较。

模式分数通过的最高级第一次失败的级
Single-A680.2 ± 2.58无
Single-B500.4 ± 0.856
Multi-A331.8 ± 1.534
Multi-B52.5 ± 5.901

操作和执行器都给了之后,这个规划器做完 Single-A,Single-B 走过五级,Multi-A 走过三级,三个种子都过不了 Multi-B 的第一级。剩下的难处是在有限搜索预算里提出并组合动作。PPO 训练之前,同一套搜索在两种 Single 模式的第一级已经有 84.8% 到 85.5% 的准确率。这不是已知操作时的性能上界。

GPT-5.6 Sol 不在观察流上训练,用高推理力度,在 BabyTheorist v0.5.5 的四种模式、八个级别上各评前 100 题,共 3,200 题。每题独立,不用工具。第二级到第八级是分开评的诊断,不算课程推进。第一级准确率 51% 到 64%,每种模式都低于 80%。就算把第一级所有格式错误的预测都算成对,四种模式也最多 69%。第八级降到 30% 到 40%。表 12 是精确匹配准确率,单位是百分比。

模式12345678
Single-A5868585547443731
Single-B6469605751394540
Multi-A5148425042423130
Multi-B5248515340293533

第一级 400 个预测里,175 个不正确,其中 21 个格子格式坏了,剩下 154 个能解析但不对。生成这些结果的程序只用于事后分析,不给模型。单步程序准确率 67.8%(103/152),更长的程序 49.2%(122/248),四种模式都有这个差距,去掉格式错误后仍在。154 个能解析的错误里,89 个(57.8%)只改动物体位置就能精确再现预测,形状和内部颜色不变,也不多画或少画前景像素。其中 40 个还再现了要求的外观变化,所以不能解释成只是把没变过的输入物体挪了地方。Multi-B 上,含对齐或换色这类关系操作的题准确率 31.8%(14/44),其余题 67.9%(38/56)。Multi-A 上对应的两个数是 61.5% 和 44.3%,所以这只说明关系题是抽到的 Multi-B 里较难的一块,不是关系操作普遍更差。这些比较描述输出错在哪,不能区分模型是推错了规则,还是规则对了却执行错了。

给模型的完整提示在附录 C.1,这里不另抄指令。

参考文献

  • Chollet 等,ARC-AGI。少样本、已分组规则推断的对照。
  • Baek 等,NEO。组合潜变量基线。
  • AdaWorld、LAPO、LPN、FLAM。整块潜变量和物体槽基线所参照的模型。
  • Schulman 等,PPO。已知操作时的诊断规划器。

出处:Doojin Baek,Junyeob Baek,Mingyu Jo,Hosung Lee,Taegu Kang,Gyubin Lee,Sungjin Ahn,BabyTheorist: A Benchmark for Learning to Theorize the World from Observation Alone,2026-11-05,https://arxiv.org/abs/2611.08177,CC BY 4.0。

觉得有用,转给同事

微信扫码

用微信扫一扫,在手机上打开后即可转发。

用 RSS 订阅

提交勘误