作者:Keya Hu、Kaiming He等
解读:AI生成未来


图 1:ARC 基准(上图)由许多不同的任务组成,其中每个任务都有少量(如 2-4 个)测试样本。本文提出了视觉 ARC (VARC) 框架,从计算机视觉角度将 ARC 问题视为图像到图像的翻译问题(下图)。在这幅图中,三个任务的基本概念可以被人类大致描述为"反射"(左)、"对称"(中)和 "重力"(右)。这些概念与自然界和物理世界密切相关。
💡 亮点直击
抽象推理语料库 (ARC) 是衡量机器智能抽象推理能力的重要基准。
本工作提出了 VARC (Vision ARC) 框架:
ARC 基准包含数百个极少样本(very few-shot,例如 2 到 4 个样本)的推理任务。每个任务由 表示,包含一个独特的底层转换规则,将输入 映射到输出 。这里, 和 均为最大尺寸为 的 2D 网格,其中每个位置具有 种不同颜色索引中的一种(例如,)。ARC 问题的定义如图 3 所示。

图 3 ARC 问题定义。ARC 是许多不同任务的集合。对于每个任务,都会给出几个(如个)演示对(),并要求模型从中推断输出。训练集是个任务的集合,可用于模型训练。测试集包含个新任务:新任务的演示对只在推理时给出,模型根据这些演示对对进行推理。
任务 :“任务”是 ARC 中的基本单元。每个任务包含少量演示示例。对于演示对 , 和 对模型都是已知的。本文将任务 的演示集表示为:,其中 是对的数量(例如, 为 2 到 4)。每个任务 还包含少量推理示例,表示为:( 为 1 或 2)。在推理时,仅给定演示对 和一个输入 ,要求模型推断出期望的输出 。
训练集 :训练集由用于离线训练模型(即在给定新任务之前)的多个任务组成。本文将训练集表示为:,其中 是任务数量(在 ARC-1 中为 400)。遵循标准的机器学习协议,任何 的 中的样本都可用于训练。训练集中的“推理”样本,即任何任务 的 ,仅用于验证训练过程。
测试集 :测试集是新任务的集合,这些任务在离线训练期间未被见过。本文将测试集表示为:,包含 个不同的测试任务。注意,任何测试任务都是一个“完整”且新的任务:即对于任何 ,也存在一个演示集 ,并且 中的对 在推理时会提供给模型。模型应利用 来推断该新任务中给定 的输出。 推理时 中新 对的存在允许执行测试时训练 (Test-Time Training, TTT) ,本文采纳并将在后文讨论这一方法。
基于这些定义,本文将每个任务上的推理制定为图像到图像的翻译问题。将该问题框架化为逐像素分类,类似于语义分割问题。
形式上,本文学习一个由 参数化的神经网络 。网络 接收图像 作为输入,并以与任务 相关的任务 Token (Task Token) 为条件。任务 Token 表示为依赖于 的可学习嵌入。 的输出是一个网格,其中每个位置代表一个分类分布。总体目标函数简单地是逐像素交叉熵损失:
这里, 表示真实值 与网络输出之间的逐像素交叉熵损失。
以前关于 ARC 的方法通常在离散值 Token 空间中操作,这是受语言模型设计的启发。在本文的图像到图像翻译公式中,我们探索了为视觉开发的原生设计。
画布 :虽然将原始 网格视为 图像是直截了当的,但本文提出了更灵活的变换,以便以类似于自然图像的方式表示它。 本文定义了“画布”的概念。画布具有预定义且足够大的尺寸,例如 。原始输入被变换并放置在此画布上。这种公式自然地适应了平移和缩放增强,这是在视觉中引入平移和缩放不变性的常见策略,将在下文中讨论。本文将画布的背景设置为额外的背景颜色,即第 种颜色。
当应用 Vision Transformer (ViT) 模型(下文讨论)时,如果我们天真地将每个原始像素视为一个 Token,则只有 个不同的 Token。相比之下,本文的画布公式支持一组更大的局部、图块级(Patch-level)配置。例如,对于 的图块大小(见图 5),单个图块可以包含多种颜色,原则上具有指数级大的基数 。这一公式对于提高泛化性能非常重要。
平移和缩放不变性 。“画布”的概念使我们能够灵活地应用平移和缩放增强,这在标准视觉模型中是至关重要的。这些数据增强鼓励模型学习对基于视觉世界的几何变换具有不变性的底层映射。形式上,我们执行:

我们通过经验表明,这些视觉先验对于泛化到未见过的任务至关重要。
Vision Transformer 。给定一个随机放置了输入的画布,我们通过一个标准视觉模型执行图像到图像的翻译。默认情况下,我们使用 ViT。
ViT 的原理是基于 Patch(图块)的 Transformer。形式上,输入画布被划分为非重叠的 Patch(例如 ),通过线性嵌入进行投影,加上位置嵌入,然后由堆叠的 Transformer 块进行处理。该模型有一个线性投影层作为输出,对每个 Patch 执行逐像素分类。注意,与每个原始像素具有连续值的自然图像不同,在本文例子中,原始像素具有离散值。因此,在 Patch 化之前,我们首先将每个像素的离散索引映射为一个可学习的连续值嵌入。
从概念上讲,Patch 化可以被视为卷积的一种特殊形式。像卷积一样,它结合了视觉中的几个关键归纳偏置:最显著的是局部性(即对附近的像素进行分组)和平移不变性(即跨位置的权重共享)。
2D 位置嵌入 。与通常被建模为 1D 序列的语言数据不同,图像本质上是 2D 的。如果我们天真地将嵌入的 Patch 视为 1D 序列,这种 2D 结构可能会丢失。我们通过经验表明,显式地进行 2D 位置建模是必不可少的。
形式上,我们采用可分离的 2D 位置嵌入,遵循 [11] 的方法:对于具有 个通道的位置嵌入,我们使用前半部分通道嵌入水平坐标,使用分通道嵌入垂直坐标。这既可以应用于用于编码绝对位置的加性位置嵌入,也可以应用于相对位置的编码(例如 RoPE)。
替代方案:卷积网络 。除 ViT 外,也研究了更经典的视觉架构,即卷积神经网络。具体来说,我们采用 U-Net 模型,这是一种分层卷积网络。原始 U-Net 正是为了分割这种图像到图像的翻译问题而提出的,使其成为我们所考虑问题的天然候选者。
我们采用两阶段训练范式来学习神经网络的参数。
离线训练 (Offline training) 。此阶段应用于整个训练集 。它是针对所有 的演示数据 进行的。我们针对所有 个训练任务(例如 )联合训练一个模型 ,基于方程 (1) 中的损失函数。除了每个任务拥有自己的任务条件 Token 外,所有任务共享相同的参数。我们不使用训练任务(即 )的推理集 来训练模型。这些集合仅用于验证。
测试时训练 (TTT) 。给定测试集中单个新的、未见过的任务 ,我们通过测试时训练执行推理。在推理时,我们被给定 ,其中输入和输出均可访问;模型需要对该新任务 中给定的 进行预测。随后的测试时训练及推理过程可以抽象地视为一个函数 。
对每个新任务 独立地执行测试时训练。它拥有一个新的任务 Token,其参数被随机初始化。由于 中的演示对非常少(例如 2 到 4 个),我们也执行数据增强。
总之,在推理时,模型从离线训练的状态初始化,仅针对单个新任务 通过测试时训练进行微调,然后对 执行推理。由于 中的新演示对非常少,即使使用了数据增强,这个测试时训练过程仍然相当快(例如,在单块 GPU 上每个任务 70 秒)。图 6 可视化了测试时训练的效果。

图 6.测试时间训练的效果。(顶部):当前任务的演示示例。(左下):推理示例 xinfer。(右下):在测试时间的训练过程中,xinfer 的预测逐渐变得更加准确,最终模型生成了正确的预测。
在测试时训练之后,将 应用于 以获得最终预测。这个过程类似于经典的识别问题。因此,采用了受识别方法启发的后处理策略。
单视图推理 。给定 和单个“视图”(即给定缩放和平移),我们将 放置在画布上并应用 来预测输出。由于原始网格中的一个输出位置可能由画布上的多个像素预测(例如,由于重新缩放;见图 5),我们在该位置通过平均池化聚合所有预测(来自 Softmax 输出)。

图 5.VARC 中的 ViT 架构。输入内容被随机放置在画布上,然后被视为自然图像,由标准 ViT 根据任务标记进行处理。
多视图推理 。整合来自多个视图的预测是一种常见做法(例如,见 AlexNet)。类似地,我们采用多视图推理来提高准确性,其中视图通过不同的增强进行采样。由于与测试时训练的成本相比,多视图推理的成本可以忽略不计,因此使用许多视图实际上几乎是免费的。我们使用 510 个随机视图(细节见附录)。来自不同视图的预测通过多数投票(majority voting)进行整合。
(脚注 2:在多数投票中,两个输出网格仅在整个网格完全相同时才被视为“一致”。获胜者是与最大数量的其他输出网格“一致”的网格。)
Pass@2 准确率 。ARC 基准默认采用 pass@2 准确率指标:即,可以产生两个不同的解决方案用于评估,如果其中一个正确,则认为该任务正确。为了支持这一指标,我们在多视图推理中采用多数投票,并保留前 2 个出现频率最高的输出解决方案。
画布 (Canvas) 。在我们表现最好的模型中,画布大小为 。在 ViT 的情况下,图块(patch)大小为 ,导致序列长度为 。对于缩放增强,随机采样一个整数缩放比例,使得缩放后的网格不大于画布大小。对于平移增强,随机采样左上角,但要满足放置的图像完全可见的约束。
离线训练 。使用标准的 ARC-1 训练集 进行训练:它有 400 个任务,每个任务有 2-4 个演示对。遵循 ARC 上的常见做法,我们还使用 RE-ARC 集扩展本文训练集,我们从中为每个任务采样 1,000 个额外的演示对。合在一起,本文完整训练集大约有 40 万个样本对。我们在离线训练中应用平移和缩放增强。
测试时训练 (Test-time training) 。给定测试集中的一个未见任务 ,我们在 中有 2-4 个样本对。为了使测试时训练更可行,我们还将单个任务 增强为多个辅助任务。我们通过使用现有 ARC 方法中的标准增强来做到这一点:翻转、旋转(90°、180° 或 270°)和颜色排列。我们将这些测试时训练增强中的每一个视为一个辅助任务,每个任务分配一个任务嵌入。我们还在测试时训练中应用平移和缩放增强,但我们不将它们视为新的辅助任务(假设所有辅助任务都是平移和缩放不变的)。
实验主要在 ARC-1 基准上进行。报告了 pass@2 准确率(以下简称“准确率”),单位为百分比(%)。为了支持 pass@2 评估,我们采用多视图推理。我们还报告了 ARC-2上的最终结果。
在 ARC-1 评估集(即 )上评估本文模型。这个集合在概念上是一个测试集(见图 3),但其真实标签仅可用于计算准确率。
图 7 总结了视觉先验的效果,从一个没有该图中其他组件的基线 (a) 开始。这些先验共同带来了 27.7 分的增益,其中基于画布的设计 (c→f) 带来了 11.5 分的增益。我们讨论这些组件如下。

2D 位置嵌入 。从 1D 位置嵌入扩展到其 2D 对应物是有益的:见图 7(b)(c)。这在 (b) 绝对和 (c) 相对位置嵌入中均被观察到。 为了在更强的基线上展示这种效果,我们将图 7(f) 中的 2D RoPE 替换为 1D RoPE,并观察到 3.5 分的下降,从 54.5 降至 51.0。
Patch 化 (Patchification) 。本文方法的一个关键设计原则是将输入准备为自然图像。这使得 Token 集合从非常有限的大小(例如 10)扩展到指数级大的数量。条目图 7(d-f) 都受益于此设计。
在图 7(d) 中,我们从 画布上的 Patch 推进到 画布上的 Patch。这样做不会增加 Transformer 的计算成本。在这个消融实验 (d) 中,缩放比例固定为 。因此,如果我们限制每个 Patch 仅覆盖一个原始像素,它就等同于 画布上的 Patch 对应物。因此,为了确保有意义的比较,我们不施加此约束,允许每个 Patch 覆盖多种颜色。这可以解释为画布上的单像素平移增强。 即便如此, Patch 化导致了 2.4 分的显著增益,从 43.0 提高到 45.4;见图 7(c,d)。尽管只有微小的单像素增强,每个 Patch 仍可覆盖多种颜色(如在自然图像中),这极大地丰富了学习的数据空间。
平移和缩放增强 。在图像识别中,即使是能力极强的网络架构仍然极大地受益于平移和缩放增强。我们在 ARC 中得出了类似的观察结果。见图 7(e,f)。
在图 7(e) 中,我们在画布上应用完全灵活的平移增强。与图 7(d) 中的“单像素”增强相比,此设置产生了额外的 2.9 分增益(从 45.4 到 48.3)。在图 7(f) 中,我们进一步应用了由画布概念启用的缩放增强。缩放增强产生了 6.2 分的实质性增益。与可以通过 Patch 化(即卷积的一种特殊形式)部分解决的平移不变性不同,ViT 架构几乎没有关于尺度不变性的归纳偏置。这可以解释为什么缩放增强产生了实质性的增益。
ViT 对比 U-Net 。在表 1 中,我们比较了 ViT 与 U-Net(一种卷积网络)。我们评估了每种架构的三种模型尺寸。尽管 ViT 一致地表现更好,但所有 U-Net 变体都达到了不错的准确率,表明这个问题也可以通过经典的视觉主干网络有效地解决。

可扩展性 。在图 8 中,我们展示了具有不同深度和宽度的 ViT。在这个范围内,本文方法展示了良好的可扩展性:增加深度和/或宽度会由于更好的拟合而导致更高的准确率。超过这个范围可能会导致在当前设置下的过拟合,如表 1 中 66M ViT 模型所示。我们观察到这个较大的模型实现了更高的训练准确率,表明未来的研究应关注泛化。

测试时训练 (TTT) 策略 。在图 9中,研究了有无离线训练的 TTT,以及针对每个测试任务联合执行 TTT 与独立执行 TTT 的对比。

正如预期的那样,离线训练极大地提高了 TTT 的性能,表明关于视觉世界的常识可以从训练集中学到。也注意到,即使没有离线训练,本文 TTT 策略也能达到不俗的准确率 (26.4),表明这个基准测试中的一些任务可以在“白板”(tabula rasa,即从零开始)状态下解决。这一结果在类似设置下优于 [36] 中的结果。
令人惊讶的是,为每个测试任务独立执行 TTT 比在所有测试任务上联合执行 TTT 产生的性能要好得多(高出约 10 分),即使后者依赖于更强的假设,即所有测试任务一次性均可用(通常情况下,不能假设多个未见任务会一次性全部呈现)。我们假设过度训练测试任务可能会导致模型遗忘在离线训练期间获得的知识。
单视图对比多视图推理 。如前所述,我们默认采用多视图推理。为了完整性,也检查了单视图推理的准确率。由于单视图推理无法产生多个预测,比较 pass@1 准确率。见表 2。

单视图推理具有 35.9 的不错的 pass@1 准确率;多视图推理进一步提升至 49.8,这要归功于多数投票。与典型的计算机视觉应用(如语义分割)不同,在 ARC 中,即使单个像素上的错误也会导致整个预测不正确。这可能解释了这里看到的巨大增益。
在表 3 中,在 ARC-1 和 ARC-2 上与领先的基于 LLM 或递归模型的结果进行了比较。(本文 ARC-2 模型仅在 ARC-1 数据集上训练,并在 ARC-2 集合上进行测试时训练和推理。)

本文模型与一些在报告结果时最强大的 LLM 相比毫不逊色:包括 Deepseek、Claude、o3 和 GPT-5(注意到,鉴于 LLM 的快速进展,这些模型在本论文公开时可能会有更强的结果)。LLM 在互联网规模的数据上进行预训练,有些可能还包含包括图像在内的多模态数据。本文方法不依赖此类数据,并且使用的模型小几个数量级。
在仅在 ARC 数据上从头训练的受控设置中,本文方法大幅超越了递归模型:HRM和 TRM 。我们具有 18M 参数的 VARC 在 ARC-1 上比 TRM 高出约 10 分,相对提升超过 20%。注意,一旦测试时训练完成,本文模型执行完全的前馈推理,推理中不涉及递归。
遵循视觉中的经典集成实践(例如,AlexNet),集成了一个 ViT 和一个 U-Net,每个都进行了四次测试时训练。这样做将本文结果提升至 60.4。这一结果缩小了与报告的平均人类表现 (60.2) 的差距。
除了数值指标外,我们还提供了额外的定性结果,以帮助揭示模型的行为。更多的可视化结果请参阅附录。
注意力模式 。图 10 展示了本文 ViT 模型在一个测试任务中的注意力模式。这些注意力图显示,本文模型能够正确推理源像素与其要复制的目标像素之间的关系。

图 11 可视化了另一个测试任务的逐层注意力图。逐层图是该层中所有像素平均后的 Softmax 注意力图:它揭示了在该层中哪些像素受到了最多的关注。在这个任务中,不同的层表现出不同的专长:有些层关注要被复制的像素,而有些层关注沿八个方向的目标线。

任务嵌入的 t-SNE 。本文模以任务 Token 为条件,并通过学习得到的嵌入来表示每个任务。在 ARC-1 的 400 个训练任务中,本文模型在离线训练中学习了 400 个不同的任务嵌入。通过 t-SNE 将这 400 个嵌入可视化在 2D 空间中(见图 12)。每个点对应一个任务。

有趣的是,我们观察到任务嵌入空间中邻近的点表现出相似的语义。例如,图 12 左上角显示了两个与着色相关的任务;左下角显示了两个与广义逻辑运算(即 AND/OR/XOR)相关的任务。这种可视化表明,本文方法试图学习不同任务之间的关系,这对于抽象和推理来说是一种本质能力。
Vision ARC (VARC) ,这是一个将抽象推理语料库 (ARC) 重新构建为视觉问题的框架。与目前占主导地位的以语言为中心的方法不同,本文证明了标准视觉架构(如 Vision Transformers)配合图像到图像的翻译公式,在抽象推理方面非常有效。 通过引入“画布”表示、几何数据增强和测试时训练,VARC 在不依赖任何外部数据或预训练的情况下,在 ARC-1 上实现了SOTA性能。本文结果挑战了抽象推理需要复杂的符号逻辑或大规模语言模型的普遍观点,并表明视觉处理是智能的一个基本组成部分。
本文希望这项工作能鼓励社区重新审视视觉在通用人工智能中的作用,并探索视觉模型在传统感知任务之外的推理能力。ARC 不仅仅是一个谜题集合;它是一个视觉世界,应该用视觉的眼睛来看待。
[1] ARC Is a Vision Problem!