TACKLING THE ABSTRACTION AND REASONING COR-PUS WITH VISION TRANSFORMERS: THE IMPORTANCEOF 2D REPRESENTATION, POSITIONS, AND OBJECTS
用视觉转换器解决抽象和推理问题:2D表象、位置和物体的重要性
https://arxiv.org/pdf/2410.06405
https://github.com/khalil-research/ViTARC
摘要
抽象与推理语料库(ARC)是一个专注于人工智能系统视觉推理评估的流行基准。在其原始框架中,ARC任务要求通过少量输入输出训练对,在小型二维图像上解决程序合成问题。在本文中,我们采用了最近流行的数据驱动方法来研究ARC,并探讨视觉转换器(ViT)是否能够学习任务中隐含的从输入图像到输出图像的映射。我们发现,尽管在每个任务上训练了一百万个示例,但ViT——这一图像领域的最先进的模型——在大多数ARC任务上仍然表现不佳。这表明ViT架构存在固有的表示缺陷,使其无法发现ARC任务背后简单的结构化映射。基于这些见解,我们提出了VITARC,这是一种ViT风格的架构,能够解锁ARC所需的部分视觉推理能力。具体来说,我们使用了像素级的输入表示,设计了一种空间感知的标记化方案,并引入了一种新颖的对象级位置编码,该编码利用了自动分割技术,以及其他增强功能。我们的针对特定任务的VITARC模型在400个公开ARC任务中的一半以上上,仅通过从输入输出网格的监督学习,就实现了接近100%的测试解决率。这强调了即使训练数据充足且映射无噪声时,为强大的(视觉)转换器注入正确的抽象视觉推理归纳偏置也至关重要。因此,VITARC为使用基于转换器的架构进行视觉推理的未来研究提供了坚实的基础。
1 引言
开发能够进行抽象推理的系统一直是人工智能(AI)领域的一项长期挑战。抽象视觉推理(AVR)任务要求AI模型识别视觉内容中的模式和潜在规则,这为评估AI系统提供了严格的测试。与其他依赖于自然语言输入或现实世界物理知识理解的视觉推理基准(如视觉问答(VQA)(Antol等人,2015)和视觉常识推理(VCR)(Kahou等人,2018))不同,AVR任务不包含任何文本或背景知识。相反,它们专注于纯粹的视觉抽象和模式识别(Małkinski & Ma ´ ndziuk,2023)。抽象与推理语料库(ARC)(Chollet,2019)是AVR的一个突出示例,旨在评估AI在抽象推理方面的泛化能力。每个ARC任务都涉及通过识别隐藏的映射将输入网格转换为输出网格,这通常需要超出简单模式匹配的显著推理(见图3)。虽然ARC的原始设置是少样本学习,但最近有研究兴趣转向在数据丰富的环境中研究ARC,其中可以生成特定任务的输入输出样本(Hodel,2024),从而能够评估基于深度学习的解决方案。
在本文中,我们探索了使用监督学习的视觉转换器解决抽象与推理语料库(ARC)任务的潜力。我们评估了在提供足够训练数据的情况下,转换器学习单个任务复杂映射的能力。我们的探索揭示了视觉转换器在ARC上的基本表示限制,并得出了三项高级发现,我们认为这些发现为使用基于转换器的架构进行视觉推理的未来研究提供了坚实的基础:
原始视觉转换器(ViT)在ARC上失败:尽管与通常在更大、更嘈杂的自然图像上评估的相比,ARC网格的结构相对简单,但原始ViT在90%的任务上表现极差,总体测试准确率仅为18%(参见第3节的图2)。这尽管是在每个任务使用了一百万个训练样本的情况下。在进行了失败分析后,我们假设原始ViT失败的原因在于它无法准确建模ARC网格中对象与网格边界之间的空间关系。
二维视觉表示显著提升了ViT的推理性能:使用基于视觉标记的二维表示策略来表示ARC的输入输出对,VITARC解决了66%的所有测试实例——这是一个显著的改进(参见第4节)。仍有约10%的任务解决效果不佳。在对这些任务进行进一步的失败分析后,我们发现某些复杂的视觉结构对VITARC来说很难处理。我们假设这是由于转换器架构本身的限制,即它被设计为优先处理标记嵌入而非位置编码,这可能使其难以捕捉复杂的空间关系。
位置信息进一步增强了ViT的推理能力:我们通过学习结合绝对、相对和对象位置信息(参见第5节),提高了VITARC的空间感知能力,从而显著提升了性能,一些ARC任务从无法解决变为完全解决(图2)。最终测试准确率为75%,超过一半的任务解决准确率达到了95%或以上。
2 相关工作
抽象视觉推理(AVR)是一个新兴领域,旨在衡量机器的“智能”(Małkinski & Ma´ndziuk, 2023)。与许多聚焦于多模态输入视觉推理的流行研究不同(Antol et al., 2015; Johnson et al., 2017; Zellers et al., 2019; Bakhtin et al., 2019; Li et al., 2024),AVR专注于输入严格为图像的推理任务。AVR任务的目标是发现抽象的视觉概念,并将其应用于新的场景。虽然抽象推理语料库(ARC)是使用抽象规则进行生成的任务,但其他AVR任务还包括具有明确规则的分类任务,如瑞文标准推理测验(Raven, 2003)和“找不同”(Gardner & Richards, 2006)。关于AVR的更详细介绍,我们推荐读者参考Małkinski & Ma´ndziuk(2023)。
视觉转换器与位置编码。转换器架构基于注意力机制(Vaswani et al., 2017)。继在自然语言处理(Brown et al., 2020; Achiam et al., 2023; Devlin et al., 2019)中取得成功之后,近期研究已将转换器扩展到视觉领域(Han et al., 2023)。最先进的方法涉及将图像划分为矩形“图像块”(Dosovitskiy et al., 2021),其中动态图像块大小等各种技术可以更有效地捕获局部信息(Havtorn et al., 2023; Zhou & Zhu, 2023)。视觉转换器已成功用于执行各种图像到图像的生成任务,如图像修复(Li et al., 2022)、图像复原(Liang et al., 2021)、上色(Kumar et al.)和去噪(Wang et al., 2022)。
由于注意力具有基于集合(排列不变)的特性,因此在转换器(Transformer)中使用位置编码来注入位置信息(Vaswani et al., 2017)。最先进的位置编码包括绝对位置编码(APE),其中将唯一编码直接添加到输入中(Devlin et al., 2019);加性相对位置编码(RPE)(Shaw et al., 2018; Raffel et al., 2020; Li et al.),其通过修改注意力逻辑来测量标记之间的相对位置;以及各种混合方法(Su et al., 2024; Zhou et al., 2024)。视觉转换器研究已经适应了这些概念,通过实现APE(Dosovitskiy et al., 2021)和RPE(Wu et al., 2021)来纳入图像块的位置信息。
抽象推理语料库(ARC)的求解器。自ARC(Chollet, 2019)推出以来,求解器的开发一直是一个活跃的研究领域。最早的成功方法包括一种富有表现力的领域特定语言(DSL)和一个程序合成算法,该算法在DSL中搜索有效的解决方案程序。这些方法包括基于有向无环图(DAG)的搜索(Wind, 2020)、基于图的约束引导搜索(Xu et al., 2023)、语法进化(Fischer et al., 2020)、库学习(Alford et al., 2021)、组合想象(Assouel et al., 2022)、归纳逻辑编程(Hocquette & Cropper, 2024)、决策转换器(Park et al., 2023)、广义规划(Lei et al.,2024)、强化学习(Lee et al., 2024)以及其他几种方法(Ainooson et al., 2023; Ferre, 2021)。这些模型在私有ARC测试集上的准确率最高可达30%(Chollet et al., 2020; Lab42, 2023)。
最近,基于转换器的大型语言模型(LLM)展现出明显的“推理”能力(Wei et al., 2022),这激发了将LLM作为ARC求解器一部分的兴趣。这些方法被促使在DSL(Min Tan & Motani, 2024; Barke et al., 2024)以及通用语言如Python(Butt et al., 2024; Wang et al., 2024)上进行程序合成,其中表现最佳的模型在公开的ARC评估集上达到了42%的准确率(Greenblatt, 2024)。LLM也被探索作为独立的求解器,要求它们直接输出网格而不是输出程序。尽管预训练LLM在直接生成输出网格像素时证明无效(Camposampiero et al., 2023; Mirchandani et al., 2023; Moskvichev et al., 2023),但通过对象表示可以改善其性能(Xu et al., 2024)。最先进的LLM的视觉变体GPT-4V被证明无效(Mitchell et al., 2023; Xu et al., 2024)。
截至撰写本文时,当前最先进的求解器在私有测试集上达到了46%的准确率(arcprize, 2024),但尚未公开或详细描述。我们知道它是一个预训练的LLM,在使用RE-ARC生成器(Hodel, 2024)生成的数百万个合成ARC任务上进行微调,并结合测试时微调(Cole & Osman, 2023)。尽管ARC任务具有视觉特性,但基于转换器的LLM方法将图像转换为字符串,这并没有完全捕获所有相关的结构信息(Xu et al., 2024)。
3用于ARC的普通视觉转换器:初步方法
3.1 实验
数据。为了全面评估视觉转换器(ViT)的推理能力,我们将400个公开的ARC训练任务中的每一个都视为一个单独的抽象视觉推理(AVR)问题。我们使用RE-ARC生成器(Hodel, 2024)为每个任务生成了包含100万个输入-输出对的数据集,并以有监督的方式从头开始训练我们所有的模型(包括基础ViT和VITARC模型)。
超参数和训练协议。基础ViT模型由三层组成,每层有8个注意力头,隐藏维度为128。我们在包括P100、V100和T4在内的各种单核GPU节点上训练模型,每个epoch的批量大小为8。我们选择训练一个epoch,因为大多数模型在该epoch内都显示出了收敛的迹象。由于计算资源有限,我们在全部400个任务上评估了我们的主要里程碑模型。然而,在后续的消融研究中,我们使用了随机抽取的100个任务的子集。有关训练过程的更多详细信息,请参阅附录B.1。
评估指标。我们主要使用解决实例的百分比来评估模型,并采用了严格的标准:只有当所有生成的像素(包括填充和边界标记)与真实标签完全匹配时,才认为该实例已解决。这种方法比原始的ARC评估指标更严格,后者允许最多有三个候选解决方案。
结果。图2显示,基础ViT的表现很差:尽管每个任务都有100万个训练样本,但仍有大量任务的解决率接近0%。这指出了ViT架构在抑制抽象视觉推理方面的根本局限性。在以下部分中,我们将分析失败案例,并研究提高ViT视觉推理能力的方法。
4 视觉标记:ViT的更优表示
我们的VITARC框架的基本版本建立在基础ViT之上,但对ARC网格的表示进行了三项简单却高度有效的更改。为了强调在ARC的特定设置中,这些更改与基于语言的标记化视角有所不同,我们将其称为视觉标记。
二维填充。我们观察到,基础ViT产生的大量错误输出具有错误的网格尺寸,这是一种明显的失败模式;图4(基础ViT)中的一个示例直观地展示了这一点。我们假设这是由于基础ViT以“一维”方式实现填充,即在展平后将 标记应用于序列,从而丢失了二维上下文。为了解决这个问题,我们实现了二维填充,即在将图像按光栅顺序展平成用于Transformer处理的序列之前,先将 标记应用于图像(见图1)。
然而,这种设计引入了一个新的缺点:模型现在必须预测 标记作为输出网格的一部分。在初步实验中,我们观察到模型往往忽略这些 标记(它们没有接收到注意力),错误地对整个hmax × wmax网格进行预测,而不是专注于有效的输入区域。附录A中的图8展示了这个问题的一个例子。为了解决这个问题,我们定义了 标记,并允许模型对这些标记给予注意,从而使模型能够正确地考虑填充区域以及有效的输出区域。
空间感知的边界标记。二维填充的实现并没有完全解决之前观察到的失败案例。我们进一步观察到,对于一些任务,当输出被裁剪到真实的网格尺寸时,有效区域内的预测是正确的,这强调了正确处理边界的重要性。我们在附录A的图8中展示了一个例子。受自然语言处理(NLP)中使用序列结束(EOS)标记(如)的启发,我们引入了边界标记来明确定义网格边界(见图1):
引入边界标记使模型能够更有效地区分任务网格和填充区域。此外,从基础ViT的失败案例(图4)中我们可以看到,仅从预测的标记的一维序列中恢复二维位置是模糊的。边界标记还提供了一个固定的二维模板来填充,这有助于隐式地重建正确的二维位置,并使相关的网格逻辑调试变得更加容易。
二维绝对位置编码。随着二维填充和边界标记的引入,我们的设置现在处理的是与通用(x,y)坐标系对齐的固定大小的二维输入输出对。这使我们能够采用文献中现有的位置编码(PE)策略(见第2节)。经过实证分析,我们为VITARC实现了一个(非学习的)二维正弦绝对位置编码(APE),其定义如下:
其中,p 代表 x 或 y 坐标,k 是位置编码维度的索引,d 是总嵌入维度。
4.1 结果
图2显示了由于上述二维视觉标记的引入,测试准确率有了显著提高。图5(a)展示了每个任务解决实例百分比的改进情况。与基线ViT相比,在400个任务上,我们观察到平均性能提升了48.34%。这个模型被称为ViTARC-VT,它表明使用二维视觉标记的新表示显著增强了模型处理AVR任务的能力。
为了量化边界标记的贡献,我们进行了消融研究。如图7所示,没有边界标记会导致准确率下降4.59%,这强调了它们在帮助模型界定任务网格边界和保持输入表示的空间一致性方面的重要性。更详细的数值结果请参见附录C.2中的表6。
4.2 分析
虽然ViTARC-VT取得了显著成果——大约40%的ARC任务实现了超过90%的测试实例解决率——但仍有一些任务让模型感到困难。具体来说,即使在包含每个任务一百万个示例的大型数据集上进行训练后,仍有大约10%的ARC任务的测试实例解决率低于5%。仔细研究发现,涉及复杂视觉结构(如凹形、孔或子网格)的任务始终存在问题。这些挑战凸显了某些架构上的局限性,特别是模型在分割多色对象方面的困难,其中位置信息本应发挥更主导的作用。
位置编码混合器(PEmixer)。为了更好地平衡位置信息和令牌的重要性,我们通过学习编码的权重向量来修改方程(1),即
虽然理论上Transformer能够捕获这些空间关系,但在实践中通常需要大量的训练周期(Hahn, 2020)。
为了更好地考虑二维网格中的空间关系,我们采用了ALiBi(Press等人,2021)中的相对位置编码(RPE)方法,并将其扩展到二维。ALiBi基于标记的相对位置,向注意力分数添加位置偏差。在其原始的一维形式中,ALiBi将位置偏差定义为以下形式:
在这项工作中,我们在模型中同时利用了二维相对位置编码(2D-RPE)和二维正弦绝对位置编码(2D sinusoidal APE)。与Swin(Liu等人,2021)中观察到的当将RPE与APE结合时性能下降的情况不同,我们的结果表明性能有了显著提高。二维相对位置编码(2D-RPE)的加入使得相对空间关系的建模更加精确,补充了绝对位置编码(APE)提供的全局位置信息。这种协同作用对于需要精细空间推理的任务特别有效。
基于对象的位置编码(OPE)。对于涉及多色对象或更广泛地说,需要对象性先验(Chollet,2019)的任务,可以将关于对象抽象的外部知识源整合到模型中。我们通过一种新颖的基于对象的位置编码来注入这些信息。我们通过将对象索引o作为像素坐标(x,y)的附加分量,扩展了等式(9)中定义的二维正弦绝对位置编码。这得到了修改后的位置编码:
在目标检测模型中,主要有两种分割方法:边界框分割和实例分割,其中实例分割能够捕获精确的目标边界。为了简化,我们采用边界框分割来推导对象索引o,因为实例级别的细粒度区分已经可以通过模型的注意力机制来处理,如图6所示。图1展示了如何获取边界框信息并将其融入到位置编码中。
这种设计与之前引入的PEmixer无缝结合,因为它使模型能够根据任务的需求动态调整对对象索引o的依赖。在对象索引提供有价值抽象的场景中,模型可以优先考虑它;而在基于对象的方法效果较差的情况下,模型可以回退到(x, y)位置信息。通过利用基于对象的编码,我们将对象抽象的任务卸载到外部方法上。
在我们的实验中,OpenCV的轮廓检测(Bradski,2000)足以在ARC任务中生成对象索引,这证明了这种方法在支持模型推理能力方面的实际有效性。
5.1 结果
我们得出了最终模型ViTARC,它包含了第4节和第5节中提到的所有改进。如图2所示,由于提出的位置增强方法,该模型相较于基线模型ViT-Vanilla和ViTARC-VT有了显著提高。
此外,图5(b)突出了这些改进在不同任务中的泛化能力,与ViTARC-VT相比,解决的实例数量增加了9.02%。而ViTARC-VT本身相较于基线模型ViT-Vanilla已经有了显著提升,最终相较于基线模型ViT-Vanilla的总改进幅度达到了57.36%。
图7进一步说明了每个增强对任务性能的影响。这三者都对整体性能提升有所贡献,其中二维相对位置编码(2D-RPE)带来的提升最大,其次是PEmixer和基于对象的位置编码(OPE)。值得注意的是,如果没有2D-RPE,模型的性能会低于ViTARC-VT。这是因为虽然OPE在特定任务中有效,但并不总是可靠。在这些情况下,ViTARC必须依赖于来自二维绝对位置编码(2D-APE)的(x, y)嵌入,与ViTARC-VT相比,这些嵌入由于维度较低而表达性较差。2D-RPE的加入在注意力层面上恢复了这些位置信号,即使在基于对象的线索不足的情况下,也能确保模型具有稳健的性能。有关任务级别性能的全面分析和这些消融实验的数值细节,请参阅附录C.2。
6 结论
本文介绍了VITARC,一种专为解决Abstraction and Reasoning Corpus(ARC)提出的独特挑战而设计的视觉Transformer架构。我们的一个关键发现是,位置信息在视觉推理任务中起着至关重要的作用。当将Transformer从自然语言处理(NLP)领域应用到视觉领域时,位置信息往往被忽视,但我们的结果表明,即使是对位置编码的简单增强,也能显著提高ARC任务上的性能。此外,我们还展示了通过OPE将对象索引作为额外的位置信息融入,在处理ARC任务中复杂的空间关系时带来了有意义的改进。
在像ARC这样要求像素完美的生成任务中,由于不能使用调整大小或拼接方法,我们通过引入额外的边界标记来有效地管理填充。这一创新使模型能够保持空间一致性并正确推理网格边界,从而实现更准确的像素级变换。
我们的结果还表明,VITARC能够学习像素级别的复杂变换规则,为处理ARC所需的抽象推理提供了一个有前景的方向。然而,重要的是要注意,VITARC采用数据驱动的方法解决ARC中的特定任务实例,将每个ARC任务视为独立的。这种方法并没有完全解决ARC,因为ARC要求能够在不同任务之间进行泛化——这是一个未来研究仍需面对的挑战。
综上所述,这项工作强调了位置信息和基于对象的编码在抽象视觉推理中的重要性,这也是我们对VITARC架构这一新颖贡献的基础。VITARC推动了视觉Transformer在像素级别推理中的应用,并为提高处理视觉推理任务的模型的泛化能力提供了进一步的途径。
B 训练细节
本节提供了训练设置的全面概述,包括超参数、硬件规格以及训练过程的其他相关细节。
我们的模型由3层组成,每层有8个注意力头,隐藏维度为128。该模型在多种单核GPU节点(包括P100、V100和T4)上进行了训练,每个节点的批量大小为8,训练1个周期。每个任务的典型训练时间范围为6到10小时(挂钟时间)。
数据集是使用Hodel的生成器(Hodel, 2024)生成的,产生了100万个样本,然后分别划分为998,000个训练样本、1,000个验证样本和1,000个测试样本。根据任务的不同,生成时间介于3到12小时之间。
为了确保可重复性,数据集生成和模型训练都使用了固定的随机种子(1230)。
由于计算资源有限,消融研究是在从总共400个任务中随机抽取的100个任务子集上进行的,这些任务也是使用种子1230选择的。
C 特定任务精度的完整结果
C.1全400任务的主要型号
https://arxiv.org/pdf/2410.06405#page=10.43
热门跟贴