ARC-AGI:基于人工智能的通用智能基准测试项目

The Abstraction and Reasoning Corpus

分支1Tags1
文件最后提交记录最后更新时间
2 年前
2 年前
6 年前
2 年前

人工智能通用抽象与推理语料库(ARC-AGI)

该存储库包含ARC-AGI任务数据以及一个基于浏览器的界面,供人类尝试手动解决这些任务。

"ARC可以被视为一个综合人工智能基准、程序合成基准或是心理测量智能测试。它旨在针对人类和致力于模拟人类般泛化流体智力的人工智能系统。"

数据集的完整描述、目标及其基础逻辑可在以下论文中找到:论智慧的度量

提醒一下,当初次看到任务时,能够对任务中的所有测试输入生成正确输出网格(包括选择输出网格的尺寸)时,测试者被认为解决了任务。对于每个测试输入,测试者允许进行3次尝试(这适用于所有测试者,无论是人还是AI)。

任务文件格式

data目录包含两个子目录:

  • data/training:包含训练任务文件(400个任务)。使用它们来原型化你的算法或训练你的算法以获得与ARC相关的认知先验。
  • data/evaluation:包含评估任务文件(400个任务)。使用它们来评估你的最终算法。为了确保公平的评价结果,不应使评估集的信息泄露到你的算法中(例如,在开发过程中自己查看评估任务,或者在使用其评估分数作为反馈时反复修改算法)。

任务以JSON格式存储。每个任务JSON文件包含一个字典,其中有两个字段:

  • "train":示范输入/输出对。这是一个“对”的列表(通常为3对)。
  • "test":测试输入/输出对。这是一个“对”的列表(通常为1对)。

一个“对”是一个字典,其中包含两个字段:

  • "input":对的输入“网格”。
  • "output":对的输出“网格”。

“网格”是一个包含0到9(含)整数的矩形矩阵(列表的列表)。最小可能的网格大小是1x1,最大是30x30。

查看任务时,测试者可以看到示范对的输入和输出,加上测试对的输入。目标是构建与测试输入网格相对应的输出网格,对每个测试输入使用3次尝试。“构建输出网格”涉及选择输出网格的高度和宽度,然后用符号(0到9之间的整数,表现为颜色)填充网格的每个单元格。只有完全正确的解决方案(所有单元格都与预期答案匹配)才能被认为是正确的。

测试接口的使用

测试接口位于apps/testing_interface.html。在网页浏览器(推荐使用Chrome)中打开。它会提示你选择一个任务JSON文件。

加载任务后,你会进入测试空间,如下所示:

测试空间

左侧显示展示任务性质的输入/输出对。中间是当前的测试输入网格。右侧是你用来构造相应输出网格的控件。

你可以使用以下工具:

网格控制

  • 调整大小:输入网格大小(如 "10x20" 或 "4x4"),然后点击 “调整大小”。这会保留现有网格内容(左上角)。
  • 从输入复制:将输入网格复制到输出网格。这对于输出由输入的某种修改组成的任务很有用。
  • 重置网格:用0填充网格。

符号控制

  • 编辑:从色彩选取栏中选择一种颜色(符号),然后单击单元格设置颜色。
  • 选择:在输出网格或输入网格上点击并拖动以选择单元格。
    • 在输出网格上选择单元格后,可以从颜色选取栏中选择颜色来设置所选单元格的颜色。这对于绘制实心矩形或线条很有用。
    • 在输入网格或输出网格上选择单元格后,按C键复制其内容。复制后,可以在输出网格上选择一个单元格,并按下"V"键粘贴已复制的内容。你应该选择要粘贴区域的左上角单元格。
  • 淹没填充:从输出网格中单击一个单元格,以将所有连接的单元格填充为选定的颜色。"连接的单元格"是指相邻且具有相同颜色的单元格。

回答验证

当你的输出网格准备就绪时,点击绿色的“提交!”按钮检查你的答案。我们不强制执行3次尝试规则。

在得到当前测试输入网格的正确答案后,可以使用“下一个测试输入”按钮切换到任务的下一个测试输入网格(如果有的话;大多数任务只有一个测试输入)。

完成一个任务后,使用“加载任务”按钮打开新任务。