COGITAO
收藏资源简介:
COGITAO是一个模块化和可扩展的数据生成框架和基准,旨在系统地研究视觉领域中的组合性和泛化性。它构建了基于规则的网格环境中的对象转换任务,支持在28个可互操作的转换上以可调整的深度进行组合,并具有广泛的网格参数化和对象属性控制。这种灵活性使得可以创建数百万个独特的任务规则,远远超过当前的同类数据集。COGITAO旨在生成简单的、以对象为中心的数据,以精确评估视觉机器学习方法在组合泛化方面的能力。我们提供了一个基准数据集,并使用最先进的视觉模型进行实验,发现模型在泛化到新颖的组合时表现不佳,这突出了研究组合泛化方法的紧迫性。
COGITAO is a modular and extensible data generation framework and benchmark dedicated to systematically investigating compositionality and generalization in the visual domain. It implements rule-based object transformation tasks in grid environments, supporting compositional combinations with adjustable depth across 28 interoperable transformations, and features extensive grid parameterization and object attribute control. This flexibility enables the generation of millions of unique task rules, far exceeding those of current comparable datasets. COGITAO aims to generate simple, object-centric data to precisely evaluate the performance of visual machine learning methods in compositional generalization. We present a benchmark dataset, conducted experiments using state-of-the-art visual models, and found that these models perform poorly when generalizing to novel compositions, which underscores the urgency of researching methods for compositional generalization.
COGITAO 数据集概述
数据集简介
COGITAO 是一个用于生成抽象推理任务的数据集,专注于形状和变换的组合生成。数据集通过预计算的形状和条件简化生成过程,支持灵活配置以创建多样化的输入-输出对网格。
核心组件
- 形状库:预创建的形状集合存储在专用的.h5py文件中,每个形状配置可生成多个变体。
- 条件计算:形状的条件预先计算,支持用户扩展或重新计算特定条件。
- 变换操作:支持多种变换组合,允许随机采样或指定变换序列。
配置参数
形状参数
min_n_shapes_per_grid:整数,≥1,每个网格中形状的最小数量。max_n_shapes_per_grid:整数,≥1且≥min_n_shapes_per_grid,每个网格中形状的最大数量。
网格参数
min_grid_size:整数,≥1,网格最小尺寸。max_grid_size:整数,≥1且≥min_grid_size,网格最大尺寸。
变换参数
min_n_transformations:整数,≥1,最小变换数量。max_n_transformations:整数,≥1且≥min_n_transformations_per_grid,最大变换数量。allowed_combinations:列表的列表或None,允许的变换组合。allowed_transformations:列表或None,允许的变换类型。min_transformation_depth:整数,≥1,最小变换深度(当使用allowed_transformations时必需)。max_transformation_depth:整数,≥1且≥min_transformation_depth,最大变换深度(当使用allowed_transformations时必需)。
其他参数
n_examples:整数,≥1,生成的示例数量。shape_compulsory_conditionals:列表,形状必须满足的条件约束,可为空列表。
使用说明
- 通过修改
k_obj_per_config变量可扩展形状数量。 - 运行
compute_conditions.py脚本可重新计算条件。 - 配置以字典形式传递给生成器,有效性由
Config类验证。
文件资源
- 预计算形状集:
arcworld/datasets/shapes.h5py - 演示代码:
demo.ipynb - 形状生成:
shapes.py - 条件计算:
compute_conditions.py - 变换定义:
transforms.py - 条件定义:
conditionals.py - 配置验证:
config_validation.py
约束说明
- 网格尺寸与形状数量、变换深度需协调考虑,推荐最小网格尺寸为10。
- 变换必须在
transforms.py中定义,条件必须在conditionals.py中定义。 - 仅可使用
allowed_combinations或allowed_transformations之一,不可同时使用。

- 1COGITAO: A Visual Reasoning Framework To Study Compositionality & Generalization瑞士苏黎世大学神经信息研究所和ETH苏黎世理工学院,苏黎世应用科学大学人工智能中心,ETH苏黎世理工学院,瑞士苏黎世大学神经信息研究所和ETH苏黎世理工学院 · 2025年



