前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >定义智能,测量智能

定义智能,测量智能

作者头像
CreateAMind
发布2024-06-17 18:18:47
1050
发布2024-06-17 18:18:47
举报
文章被收录于专栏:CreateAMindCreateAMind

On the Measure of Intelligence https://arxiv.org/abs/1911.01547

智能是学习者在涉及不确定性和适应性的有价值任务中将其经验和先验知识转化为新技能的速度。

II.2.3 实际影响

上述定义提供了一个正式框架以及定量工具,用于推理我们迄今为止引入的直观概念,特别是“泛化难度”、“作为技能获取效率的智能”以及在评估智能时控制先验知识和经验的意义,而不是纯粹关注特定任务的技能。

这个框架的主要价值在于提供了一个可操作的视角转变,帮助我们理解和评估灵活或通用的人工智能。我们认为这种视角转变有以下实际影响:

a. 对于灵活或通用AI研究方向的影响:

- **明确指出创建智能系统的过程可以作为一个优化问题来处理**:目标函数将是我们定量智能公式的可计算近似值。如II.2.2中指出,这个目标函数可以通过加入正则化项来进一步完善,这些正则化项将考虑不同形式的效率。

- **鼓励关注发展广泛或通用能力,而不仅仅是追求技能**:通过提出一个惩罚过度依赖经验或先验知识的目标指标,并对泛化难度低的任务进行折扣。

- **鼓励对程序综合的兴趣**:建议我们不要再将“代理”视为从感官输入到行为输出的整体黑箱(这一观点来自强化学习【88】)。我们的形式明确区分了拥有智能的部分(“智能系统”,即程序综合引擎)和实现技能或执行行为的部分(“技能程序”,即智能过程的非智能输出产物),并将重点放在前者上。正如我们在本文中所指出的,我们认为在AI概念化过程中,混淆过程与产物一直是一个根本性问题。

- **鼓励对课程开发的兴趣**:通过利用“最优课程”的概念,并强调更好的课程会增加学习系统所表现出的智能。

•它通过强调先验在评估智能中的重要性,鼓励人们关注基于类人的知识先验(例如核心知识)构建系统。

b. 对评估灵活或通用人工智能系统的影响:

•通过定义和量化泛化难度,它提供了一种正式推理“局部泛化”、“广泛泛化”和“极端泛化”(参见I.3.2中介绍的泛化谱)的含义的方法,并剔除零泛化难度的测试。

•它为比较人工智能和人类智能提供了具体的指导方针:这种比较需要从共享的任务范围和共享的先验开始,并将寻求比较实现特定技能水平的经验效率。我们在II.3.1中详细讨论了这个想法。

•它显示了在开发测试集以评估任务时考虑泛化难度的重要性。我们在II.3.2中详细讨论了这个想法。这应该有助于我们找到能够丢弃依赖不泛化的捷径的解决方案的评估指标(例如,在计算机视觉中依赖局部纹理而不是全局语义)。

•它提供了一套关于任何智能系统的实际问题的答案,以严格地描述它:

-它的范围是什么? -在这个范围内它的“潜力”是什么(最大可达到的技能)? -它拥有哪些先验知识? -它的技能获取效率(智能)是多少? -什么样的课程可以最大化它的技能或技能获取效率?

摘要:(全文4万字)

为了朝着更智能、更像人类的人工系统取得深思熟虑的进展,我们需要遵循适当的反馈信号:我们需要能够以一种能够在两个系统之间以及与人进行比较的方式来定义和评估智能。在过去的百年里,心理学和人工智能领域都试图定义和衡量智能。我们总结并批判性地评估了这些定义和评估方法,同时揭示了隐含地指导它们的两种历史性的智能观念。我们注意到,实际上,当代人工智能社区仍然倾向于通过比较人工智能和人类在特定任务(如棋盘游戏和电子游戏)上的技能来衡量智能。我们认为,仅仅测量任何给定任务的技能并不能衡量智能,因为技能受到先前知识和经验的严重影响:无限的先验或无限的训练数据允许实验者为系统“购买”任意水平的技能,从而掩盖了系统自身的泛化能力。然后,我们根据算法信息论提出了一种新的智能形式定义,将智能描述为技能获取效率,并强调了范围、泛化难度、先验和经验等关键概念,这些都是在描述智能系统时需要考虑的关键因素。使用这个定义,我们为通用人工智能基准应该是什么样子提出了一套指导方针。最后,我们提出了一个遵循这些指导方针的新基准,即抽象和推理语料库(ARC),它建立在一组明确的先验之上,旨在尽可能接近人类的先天先验。我们认为,ARC可以用来衡量一种类似人类的通用流体智能,并且它可以实现人工智能系统和人类之间的公平通用智能比较。

1 背景和历史

1.1 对可操作的智能定义和度量的需求

人工智能领域的承诺,在20世纪50年代创立之初就明确阐述过,此后无数次重复,就是开发出具有与人类相当的智能的机器。但自那以后,人工智能一直未能达到其理想状态:尽管我们能够设计出在特定任务上表现非常出色的系统,但它们仍然存在明显的局限性,例如脆弱、数据饥渴、无法理解与其训练数据或其创造者的假设略有偏差的情况,以及无法重新调整自己以应对新任务,而无需人类研究人员的大量参与。如果人工智能的唯一成功之处在于开发出狭隘的、特定任务的系统,那么这可能是因为我们只有在非常狭隘和具体的背景下,才能足够精确地定义我们的目标,并以可操作的方式衡量进展。目标定义和评估基准是科学进步的最有力驱动力之一。为了朝着我们领域的承诺取得进展,我们需要精确、定量地定义和衡量智能——特别是类人通用智能。这些定义和衡量标准不仅仅是用来描述或表征智能,而是精确的、解释性的定义,旨在作为一个北极星,一个显示通往明确目标的道路的目标函数,能够作为我们进展的可靠衡量标准,并作为一种识别和强调可能不会立即应用的有价值的新方法的方式,否则这些方法可能会被忽视。 例如,常识词典对智能的定义可能有助于确保我们在谈论相同的概念,但它们对我们的目的并不有用,因为它们不是可操作的、解释性的或可衡量的。同样,图灵测试[91]及其许多变体(例如完全图灵测试和洛布纳奖[75])作为进步的驱动力并不有用(事实上,它们已经成为一个转移注意力的诱饵),因为这样的测试完全放弃了客观定义和衡量智能的任务,而是将其外包给不可靠的人类评委,他们自己也没有明确的定义或评估协议。我们领域的不成熟的一个证明是,当我们谈论智能时,我们指的是什么这个问题仍然没有一个令人满意的答案。更糟糕的是,很少有人致力于严格地定义它或衡量我们朝着它的进展。Legg和Hutter在2007年对智能定义和评估方法的调查[53]中指出:“据我们所知,还没有发布关于测试和定义的综合调查。”十年后,在2017年,Hernández-Orallo发布了一份关于评估方法的广泛调查[36]以及一本关于人工智能评估的综合书籍[37]。然而,这两个努力的结果和建议自那以后基本上被社区忽视了

我们认为这种缺乏关注是一个错误,因为缺乏广泛接受的明确定义已经被可以追溯到几十年前的隐含定义和偏见所取代。虽然这些偏见是无形的,但它们仍然在构建着当今许多研究工作,正如我们领域对在国际象棋或视频游戏中超越人类的持续迷恋所证明的那样(我们在I.3.5和II.1中讨论了这一趋势)。本文的目标是指出我们领域一直在工作的隐含假设,纠正其中一些最显著的偏见,并提供一个可操作的正式定义和衡量标准,用于衡量类人的通用智能,利用发展认知心理学的现代见解。

我们通过我们最熟悉的工具来看待世界。

我们将“以人为中心的极端概括”称为“普遍性”。

II.1.2 中讨论了为什么我们不认为普遍性是人工智能的合理目标。

I.2 Defining intelligence: two divergent visions

在过去的几十年里,人们提出了许多关于智能的正式和非正式定义,尽管目前还没有围绕任何一个定义形成科学共识。斯特恩伯格和德特曼在1986年[87]指出,当二十多位著名心理学家被要求定义智能时,他们都给出了略有不同的答案。在人工智能研究的背景下,莱格和哈特[53]在2007年将文献中的不少于70个定义总结为一个陈述:“智能衡量一个代理在广泛的环境中实现目标的能力。”

这个总结指出了两个特征,这两个特征几乎普遍存在于智能的定义中,但往往是分开的:一个强调特定任务的技能(“实现目标”),另一个关注通用性和适应性(“在广泛的环境中”)。在这种观点下,一个智能代理将在许多不同的任务中获得高技能(例如,在许多不同的视频游戏中获得高分)。在这里,任务可能不一定预先知道:为了真正实现通用性,代理必须能够学习处理新任务(技能习得)。

这两个特征映射到卡特尔1971年的流体智力和晶体智力理论(Gf-Gc)[13],该理论已成为主导人类认知能力理论的支柱之一,即卡特尔-霍恩-卡罗尔理论(CHC)[62]。它们还与两种对立的人类心智本质观点密切相关,这两种观点自认知科学领域诞生以来对该领域产生了深远影响[85]:一种观点认为,心智是由进化产生的相对静态的专用机制组合,只能学习它被编程获取的东西;另一种观点认为,心智是一个通用的“空白板”,能够将任意经验转化为知识和技能,并可以针对任何问题进行指导。

本文的核心要点是明确并批判性地评估这种双重定义,这种定义在我们如何在人工智能研究背景下概念化和评估智能的基础上一直是隐含的:一方面是结晶化的技能,另一方面是技能习得能力。在我们能够从现代角度提出智能的正式定义之前,了解这种知识背景及其持续影响是必要的一步。

I.2.1智力是特定任务技能的集合

进化心理学对人类本性的看法是,人类的许多认知功能是专门适应的结果,这些适应是为了解决人类在整个进化过程中遇到的特定问题而产生的(参见例如[19, 74])——这个想法起源于达尔文[21],并在20世纪60年代和70年代逐渐形成。大约在这些想法在认知心理学中逐渐占据主导地位的同时,早期的AI研究人员,也许在电子计算机中看到了心灵的类比,主要倾向于将智能视为一组静态的程序化例程,严重依赖逻辑运算符,并将学到的知识存储在类似数据库的内存中。

这种将心灵视为一系列垂直的、相对静态的程序的观点,这些程序共同实现了“智能”,得到了有影响力的AI先驱马文·明斯基(Marvin Minsky)的大力支持(参见例如《社会的心灵》,1986年[63])。这种观点导致了以任务特定表现为重点的智能定义和智能评估协议的产生。这也许最好地体现在明斯基1968年对AI的定义中:“AI是一门使机器能够执行如果由人类完成则需要智能的任务的科学”2。当时,AI社区普遍认为,只要我们能够将人类技能编码成正式规则,并将人类知识编码成明确的数据库,“智能问题”就能得到解决。

这种对智能的看法曾经如此主导,以至于“学习”(被视为纯粹的死记硬背)在20世纪80年代中期之前的AI教科书中甚至根本不被提及。即使是麦卡锡(McCarthy),一个罕见的AI通用性倡导者,也认为实现通用性的关键是更好的知识库[60]。正如Hernández-Orallo[36]在他2017年的调查中指出的那样,这种完全关注通常由人类处理的狭窄任务的技能的定义和评估哲学导致了一个惊人的悖论:人工智能领域在开发执行这些任务的人工系统方面取得了巨大成功,但这些系统并没有表现出智能,这一趋势一直持续到今天。

I.2.2作为一般学习能力的智力

相比之下,一些研究人员认为,智能在于通过学习的通用能力来获取新技能;这种能力可以针对广泛的以前未知的问题——甚至可能是任何问题。与明斯基以任务为中心的AI定义相比,以下是Hernández-Orallo从麦卡锡[60]那里转述的定义:“AI是让机器完成它们从未见过且事先没有准备好的任务的科学和工程”[36]。

图灵在他1950年的论文[91]中首次提出了机器可以通过类似于人类儿童的学习过程来获取新技能的概念。1958年,弗里德伯格敏锐地指出:“如果我们想要制造一台会说话、理解或翻译人类语言、用想象力解决数学问题、从事职业或指导组织的机器,那么我们要么必须将这些活动简化为一门精确的科学,以便我们可以精确地告诉机器如何去做,要么我们必须开发一台不需要精确指示就能做事的机器”[26]。但是,尽管在学习通用性的想法在该领域诞生之初就得到了重要考虑,并且长期以来一直受到像麦卡锡和帕珀特这样的先驱者的支持,但在20世纪80年代机器学习复兴之前,它基本上一直处于休眠状态。

这种对智能的看法呼应了另一种对人类本性的长期观念,这种观念对认知科学的历史产生了深远影响,与进化心理学的观点形成了对比:洛克的Tabula Rasa(白板),将心灵视为一个灵活的、可适应的、高度通用的过程,将经验转化为行为、知识和技能。这种对人类心灵的概念可以追溯到亚里士多德(De Anima,约公元前350年,可能是心理学的第一部论著[3]),并被霍布斯[42]、洛克[56]和卢梭[78]等启蒙思想家接受和普及。最近,它在认知心理学(例如[79])和通过连接主义(例如[41])在人工智能中找到了新的活力。

随着20世纪80年代机器学习的复兴,它在21世纪初成为知识主导,并在2010年代末通过深度学习成为人工智能领域的准垄断,受连接主义启发的Tabula Rasa越来越成为人工智能研究的主导哲学框架。许多研究人员通过“随机初始化的神经网络”的隐喻来隐含地概念化心灵,这个网络开始时是一片空白,并从“训练数据”中获得技能——这种认知谬误呼应了几十年前早期AI研究人员将心灵概念化为一种配备聪明子程序的大型计算机。我们通过我们最熟悉的工具的镜头来看待世界。 今天,越来越明显的是,这两种关于人类智能本质的观点——要么是专用程序的集合,要么是通用的Tabula Rasa——都可能是不正确的,我们在II.1.3中讨论了这一点,以及它对人工智能的影响。

I.3 人工智能评估:从测量技能到测量广泛能力

这两种智能的概念化——以及许多其他结合双方元素的中间观点——已经影响了一系列评估机器、人类以及更罕见的同时评估两者的智能的方法,我们将在下面讨论。请注意,本文档并非旨在对人工智能评估方法进行全面调查——对于这样的调查,我们推荐Hernández-Orallo 2017 [37]。其他值得注意的先前调查包括Cohen和Howe 1988 [69]以及Legg和Hutter 2007 [53]。

I.3.1 基于技能的、狭窄的人工智能评估

显然符合明斯基对人工智能的目标,该领域的主要成功在于构建能够处理狭窄、描述明确的任务的专用系统,有时其性能甚至超过人类水平。这一成功是由量化系统在给定任务上的技能的表现度量驱动的(例如,人工智能下棋的水平,图像分类器识别猫和狗的能力)。没有单一的、形式化的方法来进行基于技能的评估。历史上成功的方法包括:

• 人工审查:让人类评委观察系统的输入-输出响应并为其打分。这是图灵测试及其变体背后的理念。由于成本高昂、无法自动化且主观性强,这种评估模式在实践中很少使用。一些面向人类的AI系统(特别是商业聊天机器人)将其作为多种评估机制之一。

• 白盒分析:检查系统的实现以确定其输入-输出响应并为其打分。这最适用于在完全描述的环境中解决完全描述的任务的算法,其中所有可能的输入都可以明确枚举或分析描述(例如,解决旅行商问题或玩“四子棋”游戏的算法),通常采用最优性证明的形式。

• 同行对抗:让系统与其他人工智能或人类竞争。这是玩家对战游戏(如国际象棋)的首选评估模式。

基准测试:让系统为一组已知期望结果的“测试集”输入(或环境)产生输出,并对响应进行评分。

基准测试特别推动了人工智能的发展,因为它们是可复制的(测试集是固定的)、公平的(对每个人来说测试集都是相同的)、可扩展的(多次运行评估的成本很低)、易于设置,并且足够灵活,可以适用于各种可能的任务。基准测试在研究团队之间的竞争中往往最具影响力,例如大规模图像识别(ImageNet)的ILSVRC挑战[22]或自动驾驶的DARPA大挑战[11]。许多私人和社区主导的倡议都基于这样一个前提,即基于基准的竞赛可以加速进步(例如Kaggle(kaggle.com),以及学术替代品,如ChaLearn(chalearn.org)、Hutter奖等),而一些政府组织则利用竞赛来故意引发技术突破(例如DARPA、NIST)。

这些成功表明,设定明确目标和采用整个研究社区共享的客观性能衡量标准的重要性然而,优化单个指标或一组指标通常会导致在一切未被衡量和优化的事物上做出权衡和走捷径(这在Kaggle上是一个众所周知的现象,获奖模型通常过于专注于它们赢得的特定基准,无法在实际问题版本上部署)。在人工智能的情况下,专注于实现特定任务性能而不对系统如何达到这一性能施加任何条件,导致了这样的系统:尽管在执行目标任务方面表现良好,但基本上不具备人工智能领域试图构建的那种人类智能。

这种观点被McCorduck解释为“人工智能效应”,即每当人工智能取得进展时,目标就会发生变化:“每当有人弄清楚如何让计算机做某事——下好跳棋,解决简单但相对非正式的问题——总会有一群批评者说,‘那不是思考’。”[61]。同样,Reed指出:“当我们知道机器是如何做一些‘智能’的事情时,它就不再被认为是智能的了。如果我打败了世界象棋冠军,我会被认为是非常聪明的。”[77]。这种解释源于过于以人类为中心的假设。作为人类,我们只有在具备高效获取技能的能力时,才能在特定任务上表现出高超技能,这与第二部分中描述的智能相对应。没有人天生就会下棋,或者天生就适合下棋。因此,如果一个人下象棋的水平很高,我们可以有把握地认为这个人是聪明的,因为我们隐含地知道他们必须利用他们的通用智能在他们的一生中获取这项特定技能,这反映了他们以同样的方式获取许多其他可能技能的一般能力但是,同样的假设并不适用于非人类系统,因为它们并不是像人类那样获得能力的。如果智能在于获取技能的过程,那么就没有任务X,使得在X上的技能能证明智能,除非X实际上是一个涉及跨广泛任务的技能获取的元任务。“人工智能效应”的特征混淆了智能的过程(如研究人员创建下棋程序所展示的智能)与这个过程产生的产物(最终的下棋程序),因为在人类的情况下,这两个概念是基本交织在一起的。我们在II.1中进一步讨论这个问题。

如果处理最初指定的任务是系统的最终目标,那么特定任务的性能是一个完全合适且有效的成功衡量标准——换句话说,如果我们的性能衡量标准准确地捕捉到了我们对系统的期望。然而,如果我们需要的系统能够在系统创建者未计划的情况下自主处理情况,能够在无需进一步人工干预的情况下动态适应任务或任务背景的变化,或者可以被重新用于其他任务,那么这种方法就不足够了。同时,鲁棒性和灵活性正日益被视为某些更广泛的AI子领域的重要要求,如L5自动驾驶、家庭机器人或个人助理;甚至对通用性本身也越来越感兴趣(例如,发展型机器人[4]、人工通用智能[28])。这表明我们需要超越基于技能的评估,寻找评估鲁棒性和灵活性的方法,特别是在跨任务环境中,直到通用性。但是,当我们谈论鲁棒性、灵活性和通用性时,我们真正指的是什么?

I.3.2概括的范围:稳健性、灵活性、一般性

20世纪80年代机器学习的复兴引发了人们对正式定义、测量和最大化泛化的兴趣。泛化是一个早于机器学习的概念,最初是为了描述一个统计模型在其训练数据之外的输入上的表现。近年来,深度学习的成功[52],以及与其局限性越来越频繁的冲突(例如[51, 16, 59]),在机器学习的背景下引发了人们对泛化理论的新兴趣(例如[102, 67, 45, 70, 17, 49])。泛化的概念可以在各种上下文中正式定义(特别是,统计学习理论[92]提供了一个广泛使用的与机器学习相关的正式定义,我们在II.2中提供了一个更一般的正式化)。我们可以非正式地将任何人工智能系统的“泛化”或“泛化能力”定义为“处理与之前遇到的情况不同的情况(或任务)的能力”

“之前遇到过的情况”这个概念有些模糊,所以我们应该区分两种类型的泛化: • 以系统为中心的泛化:这是一个学习系统处理它自己以前没有遇到过的情况的能力。统计学习理论中的泛化误差的正式概念就属于这一类。

- 例如,如果一个工程师开发了一个机器学习分类算法,并在一个包含N个样本的训练集上进行拟合,那么这个学习算法的“泛化”将指的是它在不属于训练集的图像上的分类错误。

- 请注意,这个算法的泛化能力可能部分是由于系统开发者注入的先验知识。这种泛化度量忽略了这种先验知识。

• 开发者意识的泛化:这是一个系统(无论是学习型还是静态型)处理系统及其开发者之前都没有遇到过的情况的能力。

- 例如,如果一个工程师使用一个包含N个样本的“开发集”来创建一个使用硬编码启发式规则的静态分类算法,那么这个静态算法的“泛化”将指的是它在不属于“开发集”的图像上的分类错误。

- 请注意,“开发者意识的泛化”等同于“以系统为中心的泛化”,如果我们把系统的开发者视为系统的一部分的话。

- 请注意,“开发者意识的泛化”考虑了系统开发者注入的任何先验知识。“以系统为中心的泛化”则没有。

此外,我们发现为信息处理系统定性定义泛化程度是有用的:

• 无泛化:正如我们上面非正式定义的,泛化的概念从根本上依赖于新颖性和不确定性的相关概念:一个系统只能泛化到对于系统或其创造者来说无法提前知道的新信息。没有不确定性的AI系统不会表现出泛化。例如,通过穷举迭代玩井字游戏的程序不能说“泛化”到所有棋盘配置。同样,一个被证明是正确的排序算法不能说“泛化”到所有整数列表,就像被证明的数学陈述不能说“泛化”到所有符合其证明假设的对象一样。

局部泛化,或“鲁棒性”:这是系统处理来自单个任务或已知任务范围内已知分布的新点的能力,前提是该分布有足够的密集样本(例如,在固定上下文内对预期扰动的容忍度)。例如,一个图像分类器,在经过许多此类标记图像的训练后,能够区分包含猫和狗的以前未见过的150x150 RGB图像,可以说它执行了局部泛化。可以将其描述为“在单个任务或明确定义的任务集中适应已知未知”。这是从20世纪50年代到今天,机器学习一直关注的一种泛化形式。

广泛泛化,或“灵活性”:这是系统在没有进一步人工干预的情况下处理广泛类别任务和环境的能力。这包括处理系统创建者无法预见的情况的能力。这可以被认为是反映人类在单一广泛活动领域(例如,家务任务,现实世界中的驾驶)的能力,并且可以描述为“在广泛的相关任务类别中适应未知未知”。例如,一辆L5自动驾驶汽车,或者一个能够通过沃兹尼亚克的咖啡杯测试(进入一个随机厨房并制作一杯咖啡)[99]的家用机器人,可以说展示了广泛的泛化。可以说,即使是最先进的AI系统今天也不属于这一类,尽管越来越多的研究兴趣在于实现这一水平。

极端泛化:这描述了具有处理与之前遇到的情况只有抽象共同点的新任务的能力的开放式系统,适用于广泛范围内的任何任务和领域。这可以描述为“在未知范围和领域的未知未知之间适应”。生物形式的智能(人类和其他可能的智能物种)是目前这种系统的唯一例子。一种特别引起我们关注的极端泛化版本是以人为中心的极端泛化,它是特定情况下,考虑到的人类经验和领域空间。我们将“以人为中心的极端泛化”称为“通用性”。重要的是,正如我们通过使用人类认知作为参考框架(我们在II.1.2中讨论)来故意定义通用性一样,它只是在有限意义上的“通用”。然而,请注意,人类在系统中心泛化(从小经验中快速适应高度新颖的情况)和开发者意识泛化(当代人类处理进化历史上以前人类从未经历过的情况的能力)方面都表现出极端泛化。

理论上,我们可以在这个列表中再添加一个条目:“普遍性”,它将“通用性”扩展到与人类相关的任务领域之外,扩展到我们宇宙中实际可以解决的任何任务(注意,这与“无免费午餐定理”[98, 97]的假设中理解的“任何任务”不同)。我们在II.1.2中讨论为什么我们不认为普遍性是AI的一个合理目标。

至关重要的是,人工智能的历史一直是沿着这个谱系缓慢攀升的过程,从很大程度上不显示泛化的系统(符号AI)开始,发展到能够局部泛化的稳健系统(机器学习)。我们现在正在进入一个新阶段,我们希望创建能够广泛泛化的灵活系统(例如,混合符号和机器学习系统,如自动驾驶汽车、人工智能助手或认知发展机器人)。针对特定任务的技能评估已经适用于旨在在只存在已知未知的环境中实现稳健性的封闭系统,但开发能够处理未知未知的系统需要在一般意义上评估它们的能力。

重要的是,上面概述的泛化谱系似乎反映了认知心理学中智力结构理论所阐述人类认知能力的组织。人类智力结构的主要理论(CHC[62],g-VPR[48])都以分层的方式组织认知能力(图1),分为三个层次(在CHC中):顶层的通用智力(g因素),中间的广泛能力,底层的专业技能或测试任务(对于g-VPR,这扩展到4个层次,将广泛能力分为两层),尽管不同理论的能力分类不同。在这里,“极端泛化”对应于g因素,给定领域的“广泛泛化”对应于广泛的认知能力,而“局部泛化”(以及无泛化情况)对应于特定任务技能。

历史上,测量这些广泛的能力(可能是通用性本身)而不是特定技能一直是心理测量学领域的问题。心理测量学能否为评估人工智能系统的能力提供信息?

请注意,在接下来的内容中:

• 我们使用“广泛能力”来指代导致广泛或极端泛化的认知能力。开发这种能力应该是任何对灵活AI或通用AI感兴趣的研究人员的目标。“广泛能力”通常与“局部泛化”相对立。

• 我们使用“泛化”来指代整个泛化谱系,从局部泛化开始。

• 因为人类的一般智力(g因素)本身是一个非常广泛认知能力(能力层次的顶端),我们使用术语“智力”或“一般智力”来指代上述定义的极端泛化。

I.3.3测量广泛能力和一般智力:心理测量学 远景

在20世纪初,比奈和西蒙为了寻找一种正式的方法来区分有精神障碍的儿童和有行为问题的儿童,开发了第一个智力测试——比奈-西蒙量表[8],从而创立了心理测量学领域。紧接着,斯皮尔曼观察到,在不同类型、看似无关的智力测试中,个体结果之间存在相关性,并假设存在一个一般智力的单一因素,即g因素[83, 84]。今天,心理测量学是心理学的一个成熟子领域,已经得出了一些最具可重复性的结果。现代智力测试遵循关于可靠性(低测量误差,与可重复性有关)、有效性(测量一个人声称要测量的东西,与统计一致性和预测性有关)、标准化和无偏见的严格标准进行开发——参见经典测试理论(CTT)[20]和项目反应理论(IRT)[34]。

心理测量学的一个基本概念是,智力测试评估的是广泛认知能力,而不是特定任务技能。智力结构理论(如CHC,g-VPR)与心理测量测试共同发展(测试结果出现的统计现象为这些理论提供了信息,而这些理论又为测试设计提供了信息),以分层的方式组织这些能力(图1),与我们之前提出的泛化谱系非常相似。重要的是,能力是一个抽象构造(基于理论和统计现象),而不是直接可测量的、个体思维的客观属性,如特定测试的分数。人工智能中的广泛能力也是构造,与心理测量学的认知能力面临完全相同的评估问题。心理测量学通过使用广泛的测试任务而不是任何单一任务,并通过概率模型分析测试结果来量化能力。重要的是,任务应该对受试者是未知的,也就是说,我们假设受试者不会为智力测试进行练习。这种方法与人工智能评估高度相关

值得注意的是,与心理测量学类似,人工智能领域最近越来越有兴趣使用广泛的测试任务电池来评估旨在提高灵活性的系统。例如,用于强化学习代理的Arcade Learning Environment [6]、Project Malm ¨O [71]、Behavior Suite [68]或自然语言处理的GLUE [95]和SuperGLUE [94]基准。这些努力的基本逻辑是通过扩大目标任务集来测量比一项特定任务的技能更广泛的东西。然而,在评估灵活性时,这些多任务基准的一个关键缺陷是,任务集仍然是对任何参加考试的系统的开发者已知的,而且完全期望参加考试的系统能够专门为目标任务进行练习,利用从系统开发者那里继承的特定任务的内置先验知识,利用通过预训练获得的外部知识等。因此,这些基准仍然显得非常容易操纵(例如,见II.1.1)——仅仅将特定任务的技能评估扩大到更多任务并不能产生一种质量上不同的评估。与心理测量学方法相比,这些基准仍然关注技能,而不是能力(这并不是说这些基准没有用;只是说这种静态的多任务基准不能直接评估灵活性或通用性)。

除了这些多任务基准之外,过去还提出了一些更具雄心的AI认知能力测试套件,但在实践中并未实施:安德森和勒比耶的纽厄尔测试[2](以[66]为参考命名)、针对发展机器人的BICA“认知十项全能”[65]、图灵奥林匹克[27]和I-Athlon[1]。由于缺乏具体的实现,很难评估这些项目是否能够解决他们试图解决的能力评估问题。另一方面,最近出现了两个类似但更成熟的测试套件,关注的是泛化能力而不是特定任务:Animal-AI奥运会[7](animalaiolympics.com)和GVGAI竞赛[72](gvgai.net)。两者都认为,应该在未见过的任务或游戏集上评估AI代理,以测试学习或规划能力,而不是特殊用途的技能。两者都有多游戏环境和正在进行的公开比赛。

I.3.4 Integrating AI evaluation and psychometrics

除了努力将特定任务评估扩展到多任务测试外,还有更直接和明确的尝试将人工智能评估和心理测量学结合起来。

第一种方法是重用最初为人类开发的现有心理测量智力测试,作为评估人工智能系统智力的方法——如果我们从字面上理解“人工智能”这个词,这可能是一个显而易见的想法。这个想法最早由Green在1964年提出[29],并在大约同一时间由Evans探索[24],他编写了一个名为ANALOGY的LISP程序,能够解决心理测量智力测试中可能出现的几何类比任务。Newell在1973年再次提出了这个想法[66],在他具有开创性的论文《你不能和自然玩20个问题并获胜》中。在2000年代,Bringsjord等人再次提出并完善了这一想法,并将其命名为“心理测量人工智能”(PAI)[9]。 然而,现在已经很明显,人工智能系统开发者有可能操纵人类智力测试,因为这些测试中使用的任务对系统开发者来说是可用的,因此开发者可以直接解决这些问题的抽象形式,并以程序形式硬编码解决方案(例如,参见[23, 80, 44]),就像Evans在20世纪60年代使用ANALOGY程序所做的那样。实际上,在这种情况下,是系统开发者而不是任何人工智能在解决测试问题。心理测量测试设计者对人类受试者的隐含假设在机器的情况下难以执行。

另一种更有前景的方法是利用心理测量学在能力评估和测试设计方面的经验教训,创建专门针对评估人工智能系统广泛能力的新类型基准。沿着这些思路,Hern´andez-Orallo等人提出了将心理测量评估扩展到任何智能系统,包括人工智能代理和动物,在“通用心理测量学”[39]中。

我们认为,在开发广泛人工智能和通用人工智能的背景下,心理测量学的几个重要原则可以为人工智能的智力评估提供信息:

测量能力(代表广泛泛化和技能习得效率),而不是技能。能力与技能的不同之处在于,它们引发了广泛的泛化,即为一系列广泛的任务(包括对能力系统和其开发者来说以前未知的任务)形成技能基础。

通过任务电池而不是任何单一任务来实现这一点,这些任务应该对参加考试的系统和系统开发者来说都是未知的(这对于评估广泛泛化而不是技能或局部泛化是必要的)。

明确的标准,包括可靠性、有效性、标准化和无偏见:

- 可靠性意味着给定系统的测试结果应该随着时间的推移和跨研究小组是可重复的。 - 有效性意味着应该清楚地理解测试所评估的内容;测试创建者应该能够回答

1)测试做了哪些假设?

2)测试预测了什么,即成功的结果会展示哪些广泛的能力,

以及测试对这些能力的预测程度如何?(这应该通过统计量化来理想地实现。)

- 标准化意味着在追求广泛人工智能和通用人工智能的研究社区子集之间采用共享基准。计算机视觉和自然语言处理中的标准基准已经被证明是推动进步的高效催化剂。

- 无偏见意味着测试不应该以与被评估能力正交的方式对一组受试者产生偏见。例如,一个为人类和人工智能设计的智力测试不应该利用独特的人类习得知识,或者不应该涉及与智力无关的约束,而机器在这些约束下具有不公平的优势(如快速反应时间)等。

同时,我们认为在开发新的人工智能智力测试时,可以放弃心理测量学的某些其他方面:

• 被认为的认知能力的精确数量和分类,作为一个正在进行的认知心理学辩论的主题,可能过于以人类为中心,不应该被用作人工认知架构及其评估的严格模板。现有的分类最多只能作为灵感来源。

• 心理测量智力测试评估的一些能力是结晶能力(如阅读和写作),即通过经验获得的能力,这些能力与技能没有明显区别(它们实际上是多用途技能)。我们认为,寻求评估灵活性和通用性的人工智能测试不应该考虑结晶能力,而应该关注能够使新技能习得的能力。如果一个系统拥有能够在某个领域高效习得技能的能力,那么该系统在发展相应的技能和结晶能力方面应该没有问题。

I.3.5广泛人工智能评估的当前趋势

尽管人们对构建灵活系统甚至通用性的兴趣日益浓厚,但在很大程度上,人工智能社区并没有过多关注心理测量评估、心理测量人工智能或通用心理测量学。如果我们要评估广泛人工智能评估的当代时代精神,以下是我们的观察。

首先,我们注意到一些积极的发展。自2017年以来,人们越来越意识到在评估强化学习(RL)算法时应该寻求建立某种形式的泛化(例如[50, 70, 17, 49]),这在过去是一个严重的问题[76, 35, 101, 70],因为RL代理长期以来一直在训练数据上进行测试。此外,人们越来越关注评估学习算法的数据效率(例如[10]),特别是在Atari游戏或Minecraft等游戏的RL背景下(例如[71, 33])。最后,如I.3.3所述,已经出现了利用多任务基准作为评估鲁棒性和灵活性的一种方式的趋势(例如[6, 71, 68, 95, 94])。

不幸的是,我们也必须指出一些负面因素。正在开发的系统的鲁棒性,特别是深度学习模型,通常存在问题(例如[16, 59])。这在很大程度上是因为大多数基准并没有过多关注正式评估鲁棒性和量化泛化,因此可以通过梯度下降易于利用的“捷径”来解决(例如,在计算机视觉中的纹理等表面统计数据[46])。同样,研究发现的可重复性(可靠性)通常是一个问题[73],尤其是在强化学习中,尽管在这方面已经取得了一些进展。

最重要的是,对任何决定性地超越局部泛化的能力的评估仍然是一个绿色领域,很少有人致力于研究它。Hern´andez-Orallo在2017年指出,“面向能力和通用目的的评估方法[...]仍然非常初级,需要更多的研究和讨论”[36]。最近试图通过包含多个任务来扩大特定任务基准的努力并没有衡量开发者意识到的泛化,因为系统开发者事先知道所有任务(如I.3.3所述)。通过在以前未见过的游戏关卡上测试RL系统来评估泛化的尝试,如CoinRun[17]或Obstacle Tower[49],仍然只关注特定任务的局部泛化,通过在已知分布的新样本上评估候选系统,而不是使用实质上的新任务(如III.3所示)。此外,用于生成关卡的程序对AI开发者可用,这意味着可以通过采样任意数量的训练数据来“欺骗”这些基准(参见II.1.1)。

此外,当代研究的“登月计划”,公开宣传为迈向通用智能的一步,似乎仍然专注于基于技能的任务特定评估,如棋盘游戏和视频游戏(例如DeepMind的围棋[82, 81]和星际争霸[93],OpenAI的DotA2[89]),通过与顶级人类玩家的媒体对抗。尽管相关的公开沟通声称在通用人工智能方面取得了进展,但这种评估并不涉及任何泛化能力的衡量,与我们概述的灵活性和通用性的发展几乎没有重叠(见II.1)。

例如,尽管OpenAI的DotA2 AI“Five”接受了45,000年的训练,并能够击败顶级人类玩家[89],但它被证明非常脆弱,因为在AI向公众开放后,非冠军人类玩家能够在几天内找到可靠击败它的策略[90]。此外,Five甚至没有一开始就泛化到DotA2:它只能玩一个受限版本的游戏,有16个角色而不是超过100个。同样,AlphaGo及其继任者AlphaZero,分别于2016年和2017年开发,据我们所知,还没有在棋盘游戏之外找到任何应用。

我们谴责这种矛盾现象:一方面关注在技能测试中超越人类(同时完全忽视实现技能的方法是否具有可泛化性),另一方面又明显对发展广泛能力感兴趣——这是一项与技能本身完全正交的努力。我们假设这种矛盾是由于缺乏对智力、技能和泛化的清晰概念化,以及缺乏对广泛认知能力的适当衡量标准和基准。在接下来的内容中,我们将更详细地揭示使用特定任务的“登月计划”(例如,在视频游戏或棋盘游戏中实现超越人类的表现)作为迈向更通用形式的人工智能的垫脚石的问题,并提出一个旨在追求灵活人工智能和通用人工智能的行动定义。

II 新的视角

II.1 关键评估

II.1.1 衡量正确的事物:仅评估技能并不能推动我们前进

1973年,心理学家和计算机科学先驱艾伦·纽厄尔(Allen Newell)担心最近的认知心理学进展并未使该领域更接近于全面的认知理论,于是他发表了他的开创性论文《你不能与自然玩20个问题并获胜》[66],这有助于将研究工作集中在认知架构建模上,并为长期以来的追求提供了新的动力,即建立一个能在国际象棋比赛中超越任何人类的人工智能。24年后,1997年,IBM的DeepBlue击败了世界上最好的国际象棋选手加里·卡斯帕罗夫(Gary Kasparov),使这一追求得以结束[12]。当尘埃落定时,研究人员意识到,构建一个人工国际象棋冠军实际上并没有教会他们太多关于人类认知的知识。他们学会了如何构建一个国际象棋AI,但无论是这些知识还是他们构建的AI都不能泛化到除了类似的棋盘游戏之外的任何事物。

从现代的角度来看,一个基于极小化和树搜索的静态国际象棋程序可能对人类智能并无启示,也不能在除了国际象棋之外的任何事情上与人类竞争。但在20世纪70年代,当许多人认为国际象棋能够捕捉并需要整个人类理性思维的范围时,这一点并不明显。也许在2019年不太明显的是,使用现代机器学习方法“解决”复杂视频游戏的努力仍然遵循相同的模式。纽厄尔写道[66]:“我们已经从现有的工作(关于人类的心理学研究)中知道,这项任务(国际象棋)涉及到推理和搜索的形式以及复杂的感知和记忆过程。对于更一般的考虑,我们知道它还涉及到规划、评估、手段-目的分析和情境的重定义,以及各种学习——短期、事后分析、预备分析、从书本学习等”。当时的假设是,解决国际象棋问题需要实现这些一般能力。 国际象棋确实涉及到这些能力——在人类身上。但是,虽然拥有这些一般能力使得解决国际象棋(以及更多问题)成为可能,通过从一般到具体,反过来,从具体到一般却没有明确的路径。国际象棋不需要这些能力中的任何一种,可以通过采取与人类认知正交的极端捷径来解决。

如果一个人的成功衡量标准能够准确地捕捉到他/她所追求的东西(如我们在I.3.1中所述),例如,如果一个人的最终目标是一台国际象棋机器,那么优化单一用途的性能是有用且有效的。但从目标确定的那一刻起,开发解决方案的过程将倾向于采取所有可用的捷径来满足所选目标——无论这个过程是梯度下降还是人类驱动的研究。当涉及到未纳入性能衡量标准的考虑时,这些捷径通常会带来不良的副作用。如果系统运行的环境对于预先定义一个包罗万象的目标函数来说太不可预测(例如,大多数现实世界中的机器人应用,系统面临未知的未知数),或者如果一个人目标是通用人工智能,可以应用于广泛的无需或很少人工工程的问题,那么他/她必须以某种方式直接优化灵活性和通用性,而不仅仅是针对任何特定任务的性能。

这也许是一个被广泛接受的观点,当涉及到静态程序,它硬编码了人类设计的解决方案。当人类工程师通过为每个可能的查询指定答案(通过if/else语句)来实现聊天机器人时,我们不会认为这个聊天机器人是智能的,我们也不期望它能泛化超出工程师的规格。同样,如果一个工程师看了一个特定的智商测试任务,想出了一个解决方案,并以程序的形式写下这个解决方案,我们不会期望这个程序能泛化到新的任务,我们也不相信这个程序展示了智能——这里唯一发挥作用的智能是工程师的。程序只是编码了工程师思维过程的结晶输出——是这个过程,而不是它的输出,实现了智能智能不是通过输出程序的性能(一种技能)来展示的,而是通过同一个过程可以应用于大量以前未知的问题(一种通用能力)的事实来展示的:工程师的思维能够进行极端的泛化。由于生成的程序只是编码了那个过程的输出,它并不比用来写下定理证明的墨水和纸更智能。

然而,如果一个程序不是由人类硬编码的,而是通过数据训练来执行任务的呢?一个学习机器当然可能是智能的:学习是适应新信息和获得新技能的必要条件。但是,通过接触数据来编程并不能保证泛化或智能。将先验知识硬编码到人工智能中并不是人为“购买”目标任务性能而不产生任何泛化能力的唯一方法。还有另一种方法:添加更多的训练数据,这可以在不影响泛化的情况下增强特定垂直领域或任务的技能。

信息处理系统形成了一个介于两个极端之间的光谱:一端是完全由硬编码先验组成的静态系统(如DeepBlue或我们的if/else聊天机器人示例),另一端是包含很少先验并且几乎完全通过接触数据编程的系统(如哈希表或密集连接的神经网络)。正如我们在II.1.3中指出的那样,大多数智能系统,包括人类和动物,都结合了大量的先验和经验。至关重要的是,泛化的能力是一个与先验/经验平面正交的轴。给定一个能够实现一定水平泛化的学习系统,通过整合更多的先验或关于任务的更多训练数据来修改系统,可以在不影响泛化的情况下提高特定任务的性能。在这种情况下,先验和经验都作为一种方式来“游戏”任何给定的技能测试,而不必展示人类依赖的那种通用能力来获得相同的技能。

这可以用一个简单的例子来证明:考虑一个使用局部敏感哈希函数(例如最近邻)将新输入映射到先前看到的输入的哈希表。这样的系统实现了一个能够进行局部泛化的学习算法,其泛化程度是固定的(独立于看到的数据量),只由哈希函数的抽象能力决定。尽管这个系统只具有微量的泛化能力,但它已经足以“解决”任何可以生成无限训练数据的任务,比如任何视频游戏。人们所需要做的就是获取需要覆盖的情况空间的密集采样,并将每种情况与适当的动作向量关联起来。

向一个局部泛化学习系统添加越来越多的数据,如果一个人的最终目标是在所考虑的任务上获得技能,那么这当然是一个公平的战略,但它不会导致超出系统所见数据的泛化(结果系统仍然非常脆弱,例如深度学习模型,如OpenAI Five),而且至关重要的是,开发这样的系统并不能教会我们如何实现灵活性和通用性。“解决”任何给定的任务,通过利用无限的先验或无限的数据达到超越人类的性能水平,并不会使我们更接近广泛的人工智能或通用人工智能,无论任务是国际象棋、足球还是任何电子竞技。

目前的证据(例如[51, 46, 16, 59, 50])表明,当代深度学习模型是局部泛化系统,概念上类似于局部敏感哈希表——它们可能被训练成在任何任务上达到任意水平的技能,但这样做需要对考虑的输入交叉目标空间进行密集采样(如[16]所述),这对于高价值的现实世界应用(如L5自动驾驶)来说是难以获得的(例如,[5]指出,3000万个训练场景对于一个深度学习模型来说不足以在纯监督环境下学会驾驶汽车)。假设性地,未来可能会证明,从深度学习衍生出来的方法可能具有更强的泛化能力,但要证明这一点不能仅仅通过实现高技能来实现,例如在DotA2或星际争霸中击败人类,给定无限的数据或无限的工程;相反,我们应该寻求精确地建立和量化这种系统的泛化强度(例如,通过考虑技能习得中的先验效率和数据效率,以及开发者意识到的任务泛化难度)。本文的一个核心要点是为此提供一个正式的框架(II.2和II.3)。在我们的评估方法中未能考虑到先验、经验和泛化难度,将阻止我们的领域沿着泛化光谱(I.3.2)攀登得更高,并最终达到通用人工智能。

总之,广泛能力(包括一般智力,如II.1.2所述)的标志是适应变化、获取技能和解决以前未见问题的能力——而不是技能本身,技能仅仅是智能过程的结晶输出。测试系统开发人员事先已知的任务的技能(作为当前通用人工智能研究的趋势)可以通过两种方式在没有显示智能的情况下进行游戏:1)无限的先验知识,2)无限的训练数据。为了真正评估广泛的能力,从而在灵活的人工智能和最终的通用人工智能方面取得进展,我们必须以严格和定量的方式控制我们的评估方法中的先验、经验和泛化难度。

II.1.2一般性的含义:g因素的基础

认知心理学的一个众所周知的事实是,不同的个体在不同程度上表现出不同的认知能力,尽管所有智力测试的结果都是相关的。这表明认知是一个多维对象,以分层的方式结构化(图1),顶部有一个单一的通用性因素,即g因素。但是,“一般智力”是认知金字塔的绝对顶峰(正如“人工通用智能”的支持者有时假设的那样),还是只是一种更广泛的心智能力,一种相对专业化的能力,与层次结构中较低的其他能力没有质的区别?人类的智力有多普遍?

“没有免费午餐”定理[98, 97]告诉我们,当它们的性能在所有可能的问题上平均时,任何两个优化算法(包括人类智力)都是等价的,也就是说,算法应该针对它们的目标问题进行定制,以实现优于随机的性能。然而,在这个背景下,“每一个可能的问题”指的是问题空间上的均匀分布;与我们宇宙实际相关的问题分布(由于其选择的物理定律,这是一个特殊的环境)并不符合这个定义。因此,我们可以问:人类的g因素是普遍的吗?它会泛化到宇宙中的每一个可能的任务吗?

对于心理测量学来说,这是一个很大程度上无关紧要的问题,因为作为一个心理学的子领域,它隐含地假设它只关注人类和人类经验。但当涉及到人工智能时,这个问题就非常重要了:如果存在所谓的通用智能,而人类智能是其实现方式,那么这个通用智能算法应该是我们领域的最终目标,逆向工程人脑可能是实现它的最短路径。这将使我们的领域成为一个封闭的领域:一个待解的谜题。另一方面,如果人类智能是一种广泛但临时的认知能力,它可以泛化到与人类相关的任务,但不能泛化到其他任务,这意味着人工智能是一种开放式的、以人类为中心的追求,与特定的适用范围相关。这对我们如何衡量它(以人类智能和人类任务为参考)以及我们为实现它而遵循的研究策略产生了影响。

根据定义,g因素代表了在所有智力测试中成功的单一认知能力,这是通过对各种测试和个人的测试结果应用因子分析得出的。但是,智力测试的结构只包括人类可以完成的任务——那些人类可以立即识别和理解的任务(以人类为中心的偏见),因为包括人类无法完成的任务是没有意义的。此外,心理测量学通过展示对人类重视的活动(如学术成功)的预测性来建立测量的有效性:“有效”的智力测量方法的概念只有在人类价值观的参考框架内才有意义。

事实上,对什么具体能力使某人“聪明”的解释因文化而异[100, 86, 18]。更广泛地说,当涉及到将智能归因于他们周围的复杂信息处理代理时,无论是来自其他文化的人还是动物(如章鱼、海豚、大猩猩等),人类在历史上一直表现不佳。我们只是不情愿地接受这样一个可能性,即与我们自己不同的系统可能是“智能的”,如果它们表现出与智能相关的人类行为,如语言或工具使用;具有高内在复杂性和高适应性但不直接相关的行为(如章鱼伪装)不被认为是智能的。这一观察扩展到集体实体(如市场、公司、科学作为一个机构)和自然过程(如生物进化)。尽管它们可以被建模为独立系统,其能力和行为与广泛接受的智能定义相匹配(在广泛的环境中实现目标,展示灵活性和适应性等),但我们不会将这些系统归类为智能,仅仅因为它们不够像人类。

用一个众所周知的跨领域类比[25]:就像“智能”一样,“身体健康”(与体育和其他体育活动有关)的概念是一个直观易懂、非正式但有用的概念。与智力一样,健康不容易归结为任何单一因素(如一个人的年龄或肌肉质量),相反,它似乎是从一系列相互依赖的因素中产生的。如果我们试图严格地测量人类的身体健康,我们会提出一套多样化的测试,如跑100米、跑马拉松、游泳、做仰卧起坐、打篮球等,这与智商测试套件没有什么不同。在测试结果中,我们会观察到相关性集群,对应于与认知能力严格类似的广泛的“身体能力”(例如,肺活量可能是这样一种“能力”,在测试中引起相关性)。就像认知能力的情况一样,专家们可能会对这种广泛能力的确切分类持不同意见并进行辩论(“高大苗条”是一种能力,还是“高”是一个独立的因素?)。至关重要的是,我们应该直觉地期望发现所有的测试结果都是相关的:我们会观察到身体g因素,对应于“身体健康”的一般直观结构。

但这是否意味着人类的形态和运动功能在绝对意义上是“通用的”,一个非常健康的人可以处理任何体力任务?当然不是;我们并不适应宇宙中的大多数环境——从地球的海洋到金星的表面,从木星的大气层到星际空间。然而,值得注意的是,人类的身体能力比引导其进化的有限环境和活动范围更广泛地泛化到环境和任务中。讽刺的是,人类的身体是为了在东非大草原上奔跑而进化的,但它们能够攀登珠穆朗玛峰、横渡湖泊、跳伞、打篮球等。这不是巧合;出于必要,进化优化了适应性,无论是认知适应性还是感觉运动适应性。因此,可以说人类的身体能力是“通用的”,但只是在有限的范围内;从更广泛的角度来看,人类显示出自己是极度专业化的,考虑到他们进化的过程,这是意料之中的。

我们认为,人类的认知严格遵循与人类身体能力相同的模式:两者都是作为特定环境中特定问题的进化解决方案而出现的(通常被称为“四个F”)。重要的是,两者都经过了适应性优化,因此它们被证明适用于超出引导其进化的任务和环境范围的任务和环境(例如弹钢琴、解决线性代数问题或横渡英吉利海峡)——这一显著事实应该引起任何对工程广泛或通用能力感兴趣的人的极大兴趣。两者都是多维概念,可以建模为一个广泛的、以顶层“通用”因素为主导的能力层次结构。至关重要的是,两者最终仍然是高度专业化的(考虑到它们发展的背景,这应该是不足为奇的):就像人类的身体不适合宇宙中几乎全部体积的环境一样,人类的智力也不适合大多数可想象的任务

这包括明显的问题类别,如需要长期规划超过几年的问题,或需要大量工作记忆的问题(例如,乘以10位数)。这也包括我们的先天认知先验不适应的问题;例如,当这些问题与进化上熟悉的任务(如导航)有认知重叠时,人类可以高效地解决某些小规模的NP难问题(例如,低点数的欧几里得旅行商问题(TSP)可以通过人类在接近线性的最优时间内接近最优地解决[58],使用感知策略),但对于非常大的问题实例或与进化上熟悉的任务认知重叠较少的问题(例如,某些非欧几里得问题),他们的表现很差——通常不比随机搜索好。例如,在TSP中,当目标从“找到最短路径”变为“找到最长路径”时,人类的表现会严重下降[57]——在这种情况下,人类的表现甚至比最简单的启发式方法之一:最远邻居构造还要差。

人类的一个特别明显的偏见是维度偏见:人类在二维导航任务和二维形状填充谜题上表现出色,虽然性能大大降低,但仍能处理三维情况,但他们实际上无法处理四维和更高维度。考虑到人类依赖感知策略解决问题——这些策略得到了专门为二维导航进化而来的神经机制(海马体系统的位置细胞和网格细胞[64])的支持,这一事实也许并不令人惊讶。

因此,本文的一个核心观点是,“通用智能”不是一个二元属性,一个系统要么拥有要么缺乏。它是一个光谱,与

1)应用范围有关,这个范围可能或多或少广泛,以及

2)系统将其先验和经验转化为所考虑范围内的新技能的效率程度,

3)所考虑范围内的不同点所代表的泛化难度程度(见II.2)。此外,一个应用范围相对于另一个应用范围的“价值”完全是主观的;我们不会对一个其应用范围与我们自己的没有交集的系统感兴趣(甚至不会认为它是智能的)。

因此,从概念上讲,将“人工通用智能”设定为绝对意义上的目标(即“通用智能”)是不合理的。要着手构建任何形式的广泛能力,必须从一个目标范围开始,并且必须在这个范围内寻求达到一个明确定义的智能阈值:人工智能是一项深度上下文和开放式的努力,而不是一个需要一次性解决的谜题。然而,理论上可能创建类似人类的人工智能:我们可以逐渐构建跨越与人类智能相同应用范围的系统,并可以逐渐增加它们在这个范围内的泛化能力,直到与人类相匹配。我们甚至可以构建具有更高泛化能力的系统(因为没有先验理由假设人类认知效率是一个上限),或者具有更广泛应用范围的系统。这样的系统将具有超越人类的智能。

总之,我们建议研究开发人工智能系统的广泛性(直到“通用”人工智能,即具有与人类智能相当的泛化程度的人工智能)应该关注定义、测量和开发一种特定的人类智能形式,并应该专门针对人类智能(本身高度专业化)来衡量进展。这并不是因为我们认为与我们自己的智能大相径庭的智能不可能存在或没有价值;相反,我们认识到表征和测量智能是一个必须与明确定义的应用范围联系在一起的过程,而现在,人类相关任务的空间是我们唯一可以有意义地接近和评估的范围。因此,我们不同意通用心理测量学[39]或Legg和Hutter的通用智能[54]的观点,它们完全拒绝人类中心主义,并寻求根据一个绝对的尺度来衡量所有智能。 人类中心的参照系不仅是合法的,而且是必要的。

II.1.3将先天与后天分开:发展中的洞察力 心理学

发展心理学的进步告诉我们,I.2中描述的关于心智本质的两种对立观点都不准确(参见[85]):人类的心智不仅仅是进化过程中硬编码的特殊用途程序的集合;它具有显著的普遍性和开放性,远远超出了引导其进化的环境和任务范围。我们拥有的绝大多数技能和知识是在我们的一生中获得的,而不是天生的。

同时,心智也不是一个单一的、通用的“白板”系统,能够从经验中学习任何东西。我们的认知是专门的,以特定的方式进化而成;我们天生就对自己、对世界以及如何学习有先验认识,这些先验认识决定了我们可以获得哪些类别的技能,以及我们可以解决哪些类别的问题。

这些先验并不是对我们泛化能力的限制;相反,它们是泛化能力的来源,是人类能够以显著效率获得某些类别技能的原因。“没有免费午餐”定理[98]的核心信息是,要从数据中学习,就必须对数据做出假设——人类心智所做出的先天假设的性质和结构正是赋予它强大学习能力的原因。

我们在II.1.1中指出,一个可操作的智能度量应该关键地控制先验和经验。我们在II.1.2中提出,评估通用智能应该利用人类智能作为一个必要的参考框架。因此,我们需要清楚地了解人类的认知先验,以便公平地评估人类和机器之间的通用智能。 人类认知先验有多种形式,特别是:

关于我们自己的感觉运动空间结构的低级先验,例如前庭眼反射、手掌抓握反射等反射。这些先验使婴儿(包括出生前)能够快速控制他们的感官和身体,甚至可能在有限的情况下产生简单的行为。

元学习先验,支配我们的学习策略和获取知识的能力。这可能包括,例如,假设宇宙中的信息遵循模块化-层次结构,以及关于因果关系和时空连续性的假设。

•关于我们外部环境中物体和现象的高级知识先验。这可能包括视觉对象性的先验知识(定义一个对象的是什么),关于在二维和三维欧几里得空间中的定向和导航的先验,目标导向性(期望我们的环境包括根据目标行事的代理),关于自然数的先天概念,先天社会直觉(例如心理理论)等。

当涉及到创造类人的人工智能时,低级的感觉运动先验过于具体,无法引起兴趣(除非人们试图构建一个人造人体)。虽然人类的元学习先验应该是最有趣的(理解大脑如何将经验转化为知识和技能的策略实际上是我们的最终目标),但这些先验与评估智能无关:它们是智能,而不是需要控制的第三方调节因素。它们是我们试图描述的黑盒子的一部分。

在衡量类人智能时,应该考虑知识先验。一个不具备人类先天知识先验的系统,在将给定的经验课程有效地转化为给定人类任务的技能方面,与人类相比将处于严重劣势。相反,一个能够访问更多关于手头任务的硬编码知识的系统,不能与人类智能进行公平比较——正如我们在II.1.1中指出的,无限的先验允许系统开发者“购买”在任何给定任务上的无界性能,而不涉及泛化能力(我们实际试图实现的)。

因此,我们建议,一个可操作的类人通用智能测试应该基于先天的人类知识先验

•先验应该尽可能接近我们所理解的人类先天知识先验。随着我们对人类知识先验的理解随着时间的推移而提高,测试也应该随之发展。

•测试应该假设被测量的系统具有一组特定的先验。具有更广泛先验的人工智能系统不应该使用这种测试进行基准测试。具有较少先验的人工智能系统应该被认为处于劣势。

这引出了一个核心问题:人类与生俱来的知识先验的确切列表是什么?这是核心知识[85]的发展科学理论试图回答的问题。核心知识确定了四大类先天假设,这些假设构成了人类认知的基础,并在很大程度上与我们的非人类亲属共享:

物体性和基础物理学:人类假设他们的环境应该被解析为“物体”,这些物体具有凝聚性(物体作为连续、连接、有界的整体移动)、持久性(物体不会突然消失,也不会突然物质化)和接触性(物体不会远程作用,也不能相互渗透)。

•能动性和目标导向性:人类假设,虽然他们环境中的某些物体是无生命的,但其他一些物体是“能动者”,拥有自己的意图,为实现目标而行动(例如,如果我们看到一个物体A跟随另一个移动的物体B,我们可能会推断出A正在追赶B,而B正在逃离A),并在其目标导向的行动中表现出效率。我们期望这些能动者可能会偶然地、相互地行动。

•自然数和基础算术:人类对小数具有先天、抽象的数字表示,可以应用于通过任何感官模态观察到的实体。这些数字表示可以进行加法和减法运算,也可以进行比较或排序。

•基础几何学和拓扑学:这个核心知识系统捕捉了我们环境中物体和我们自己之间的距离、方向、内/外关系的概念。它构成了人类相对于周围环境定位自己和在二维和三维环境中导航的先天能力的基础。

虽然认知发展心理学尚未确定人类所拥有的确切先天先验集,但我们认为核心知识理论提供了一个可信的基础,适合于类人通用智能测试的需求。因此,我们建议,一个对人类和机器都公平的通用智能的可操作测试应该只包含假设上述四个核心知识系统的任务,并且不应该涉及这些先验之外的任何后天习得的知识。我们还认为,与[51]一致,通用人工智能系统应该将这些核心知识原则作为基本先验进行硬编码

(先验的实现方式参考: Bengio:实现AGI的主要原则已经被发现?剩下的主要障碍是扩大规模?还是。。

II.2 定义智能:形式综合 II.2.1 智能作为技能习得效率

到目前为止,我们已经介绍了以下非正式描述的直觉:

•智能在于广泛或通用的能力;它以灵活性和适应性(即技能习得和泛化)为标志,而不是技能本身。人工智能的历史一直是在泛化谱系上缓慢爬升

•智能的度量应该强制性地控制经验和先验,并应该寻求量化泛化强度,因为无限的先验或经验可以产生在任意数量的任务上表现出高技能但几乎没有泛化能力(或智能)的系统。

•智能及其度量与应用范围密切相关。因此,通用人工智能应该以人类智能为基准,并应该建立在类似的知识先验集之上。

现在让我们将这些直觉形式化。在接下来的内容中,我们将为建立智能及其度量的形式定义所需的关键概念提供一系列定义。 我们将利用算法信息论的工具。这些定义导致了一种表达以下中心思想的形式方法:

一个系统的智能是其在一个任务范围内的技能习得效率的度量,相对于先验、经验和泛化难度。

直观地说,如果你考虑两个从相似的知识先验集开始的系统,并且它们经历了相似数量的经验(例如练习时间),这些经验与一组事先不知道的任务有关,那么智能更高的系统就是最终拥有更高技能的系统(即更有效地将其先验和经验转化为技能的系统)。这种智能的定义包含了元学习先验、记忆和流体智能。它与技能本身不同:技能仅仅是智能过程的输出。

在我们开始之前,让我们强调,在许多不同的背景下,许多可能的智能定义可能是有效的,我们并不声称上面的定义和下面的形式主义代表了“唯一真实”的定义。我们的定义也不是为了达成广泛的共识。相反,我们的定义的目的是可操作的,为研究广泛的认知能力提供一个有用的视角转变,并为新的通用智能基准测试提供一个定量基础,例如我们在第三部分中提出的基准测试。根据乔治·博克斯的格言,“所有模型都是错误的,但有些是有用的”:我们在这里的唯一目标是提供一个灵活的通用人工智能的有用北极星。我们在II.2.3中讨论了我们的形式主义有用和可操作的具体方式。

问题的位置

首先,我们必须引入基本的定义来建立我们的问题设置。读者应该立即明白,我们选择的问题设置足以模拟完全监督学习、部分监督学习和强化学习。

我们考虑“任务”和“智能系统”之间的相互作用。这种相互作用由“技能程序”(由智能系统生成)和“评分函数”(任务的一部分)介导。

我们隐含地考虑了一个固定的通用图灵机,我们的程序在其上运行(包括技能程序,以及任务和智能系统部分的程序)。我们还假设存在一个固定的“情境空间”SituationSpace和“响应空间”ResponseSpace。这些空间中的每一个都定义了一组二进制字符串,这些字符串被允许作为我们今后将考虑的所有技能程序的输入(和输出)。它们可能是一个动物或机器人的传感器空间和运动空间。

一个任务T由四个对象组成:

•1任务状态T askState(二进制字符串)。

•2一个“情境生成”函数SituationGen:T askState→Situation。它可以是随机的。 –情境是一个属于SituationSpace的二进制字符串。

•3一个“评分函数”Scoring:[Situation,Response,T askState]→[Score,Feedback]。它可以是随机的。 –响应是一个属于ResponseSpace的二进制字符串。

–“分数”Score是一个标量。它旨在衡量对一个情境的响应的适当性。

–一条“反馈”Feedback是一个二进制字符串。它可以编码关于当前分数的全部或部分信息,或者关于对应于过去响应的分数的信息(这些信息可能对任务状态已知)。

–注意:参数Situation在技术上可选,因为它可能在运行时对任务状态已知——我们在这里包含它是为了最大程度的明确性。

•4一个自我更新函数TaskUpdate:[Response,TaskState]→TaskState,它根据对最新情况的响应来改变任务状态。它可以是随机的。

例如,像国际象棋或《魔兽争霸III》这样的游戏(以及我们在III中提出的ARC基准测试中所说的“任务”)将构成一个任务。给定的国际象棋棋盘位置、《魔兽争霸III》中的屏幕帧或ARC中的输入网格将构成一个情境。

一个智能系统IS由三个对象组成:

•1系统状态ISState(二进制字符串)。

•2一个“技能程序生成函数”:

SkillProgramGen:ISState→[SkillProgram,SPState]。

它可以是随机的。

–技能程序SkillProgram:[Situation,SPState]→[Response,SPState]是一个函数,它将输入情境映射到一个有效的响应(ResponseSpace的一部分),可能会使用一些工作记忆(SPState)。它可以是随机的。因为它拥有一个状态SPState(一个二进制字符串),所以它可以用来自主处理一系列相关联的情境,而无需与生成它的智能系统进行进一步的通信。

–技能程序可能是一个特定的游戏程序,能够在给定的视频游戏中玩新关卡。 –在接下来的内容中,我们将“技能程序”称为SkillProgram函数和初始技能程序状态SPState的组合(即技能程序被认为是有状态的)。

–技能程序代表了一个系统特定任务能力的冻结版本(包括适应任务中新情境的能力)。我们使用技能程序的概念作为一个概念性的工具,来形式化代理在给定时间点的特定任务技能和特定任务泛化能力。

•3一个自我更新函数ISUpdate:[Situation,Response,Feedback,ISState]→ISState,它根据最新的情况和相应的反馈来改变系统的状态。它可以是随机的。

例如,一个游戏的神经网络生成和训练算法将是一个“智能系统”,而它在一次游戏训练结束时输出的推理模式游戏特定网络将是一个“技能程序”。一个能够查看ARC任务并输出解决方案程序的程序合成引擎将是一个“智能系统”,而能够处理该任务未来输入网格的结果解决方案程序将是一个“技能程序”。

任务、智能系统和技能程序之间的交互分为两个阶段:训练阶段和评估阶段。训练阶段的目的是让IS生成一个高技能的技能程序,以便泛化到未来的评估情境。评估阶段的目的是评估这个技能程序处理新情况的能力。

训练阶段包括重复以下步骤(我们将当前步骤记为t)。在我们开始之前,我们考虑两个独立的初始任务状态,trainTaskStatet=0和testTaskStatee=0。

•我们生成一个训练情境:situationt←SituationGen(trainTaskStatet)

•IS生成一个新的技能程序(不知道当前的情况):

[skillProgramt,spStatet]←SkillProgramGen(isStatet)

-Implicitly,我们假设IS的“目标”是生成高技能的程序,即在过去的情况下表现良好的程序,将在下一个情况下表现良好,并且在这个任务的任何可能情况下都会表现良好(特别是评估情况,可能会出现显著的新颖性和不确定性)。我们不试图模拟为什么IS应该追求这个目标。

–spStatet表示时间t时技能程序的工作记忆。请注意,由于每个训练步骤都会重新生成技能程序,因此在训练期间实际上不需要通过SPState跨情境保持状态。然而,在处理需要跨情境维护信息的任务时,状态性在评估期间很重要。请注意,在许多游戏或现实世界任务中,情境都是独立的,因此技能程序根本不需要状态性(例如ARC,或任何完全可观察的游戏,如国际象棋)。

•技能程序输出对情况的响应:

[responset,spStatet+1]←skillProgramt(Situationt,spStatet) –skillProgramt只被调用一次,spStatet+1被丢弃,因为技能程序在每个训练步骤都由智能系统重新生成。

–在实践中,在部分可观察的游戏中,连续的情境非常接近(例如,《魔兽争霸III》中的两个连续屏幕帧),可以假设在t时刻的skillProgramt和t+1时刻的skillProgramt+1实际上并不是从零开始独立生成的,而是会非常接近(即IS对任务的理解会在程序空间中持续演变);由skillProgramt生成的spStatet+1和在t+1时刻由SkillProgramGen生成的spStatet+1也会非常接近。

•任务评分函数为响应分配一个分数并生成一条反馈:[scoret,feedbackt]←Scoring(Situationt,responset,trainTaskStatet)

–注意:标量分数旨在编码响应的适当性,反馈数据旨在被智能系统用来更新其状态。在简单的情况下(例如完全监督学习),反馈数据与标量分数相同,这意味着智能代理将对其响应的适当性有完整和即时的信息。在其他情况下,反馈数据可能只包含部分信息,没有信息,或者只与为之前情境生成的响应相关的信息(延迟反馈)。

•IS根据从任务收到的反馈更新其内部状态: isStatet+1←ISUpdate(Situationt,responset,feedbackt,isStatet)

•任务根据收到的对情况的响应更新其内部状态:

trainTaskStatet+1←TaskUpdate(responset,trainTaskStatet) 训练阶段在SituationGen函数的决定下结束(例如,SituationGen返回一个“STOP”情况),此时SkillProgramGen将生成它的最后一个技能程序,包括一个旨在在评估期间表现良好的初始状态(例如空白)。

评估阶段在表面上与训练阶段相似,不同之处在于1)任务从testTaskStatee=0开始,并由一系列独立的情况组成,2)它只涉及一个单一的固定技能程序testSkillProgram,以状态testSPStatee=0开始。关键的是,它不再涉及智能系统。请注意,testTaskStatee=0可以是随机选择的。例如,不同的随机选择的初始testTaskStatee=0可以是游戏中不同的随机生成的关卡。

就像技能程序和智能系统之间的分离一样,评估阶段应该被理解为一个概念性的工具,用于量化系统在给定时间点展示的特定任务技能和特定任务泛化能力。 评估阶段不应该被视为类似于孩子参加学校考试或智商测试的概念。在现实世界的评估情况下,评估涉及整个智能系统,动态地适应其对当前任务的理解。在我们的形式主义中,现实世界的评估情况将被表示为训练课程的一部分——一系列带有空白反馈的训练情况。

评估阶段包括重复以下步骤(当前步骤标记为e):

•我们生成一个测试情境:situatione←SituationGen(testTaskStatee)

•所考虑的skill程序产生一个响应:

[responsee,testSPStatee+1]←testSkillProgram(situatione,testSPStatee) –请注意,skill程序状态的更新使skill程序能够在评估阶段保持工作记忆。这对于部分可观察的游戏很有用。这与许多游戏(包括ARC)和许多现实世界任务无关,在这些任务中,skill程序是无状态的。

•任务评分函数为响应分配一个分数(反馈被丢弃):

scoree←Scoring(Situatione,responsee,testTaskStatee)

•任务根据收到的响应更新其内部状态:

testTaskStatee+1←TaskUpdate(responsee,testTaskStatee)

评估阶段也在SituationGen函数的决定下结束。

请注意,为了简化起见,我们认为IS的状态不会跨任务转移;对于每个新任务,IS将在训练阶段开始时以“空白”状态开始(即仅拥有内置先验)。然而,上述设置和下面的定义可以很容易地扩展到考虑终身学习,使其更接近现实世界的生物智能系统,这些系统在多个部分重叠的任务中不断学习,通常没有明确的界限。

基于到目前为止描述的设置,我们可以定义以下有用的概念:

评估结果:一个固定的技能程序在一个任务的特定评估阶段实例上获得的标量分数的总和。由于所有涉及的物体(技能程序、情境生成程序、任务更新程序、初始任务状态)都可能是随机的,所以这个数量也可能是随机的。同样,我们将训练时间性能定义为在给定训练阶段获得的标量分数的总和。训练时间性能与特定的训练情境序列有关。

技能:在所有可能的评估阶段实例上评估结果的统计平均值,即在无限次运行评估阶段后获得的每次评估分数总和的平均值。技能是技能程序的一个属性。请注意,可以使用其他分布缩减函数,如中位数或最小值。

最优技能:理论上可以通过最佳技能程序在任务上实现的最大技能。它是任务的一个属性。

足够的技能阈值,记为θT:与任务相关的技能的主观阈值,高于该阈值,可以说一个技能程序“解决”了任务。它是任务的一个属性。

任务和技能价值函数:我们在任务空间(注意任务空间可能是无限的)上定义一个价值函数,将一个标量值与任务和任务的技能阈值θ的组合相关联:TaskValue:Task,θ→ωT,θ。假设值为正数或零,并且TaskValue作为θ的函数是单调的(对于给定的任务,更高的技能总是具有更高的价值)。这个价值函数捕捉了每个任务技能的相对重要性,并定义了我们智力定义的主观参考框架(例如,如果我们希望评估类似人类的智力,我们会高度重视在与人类相关的任务上获得高技能,而不会重视与人类经验无关的任务)。选择任务T的技能水平ωT,θ的值,以便在不同任务之间公平地比较数量ωT,θ(即,它应该捕捉到我们在任务T上达到技能θ的价值)。这使我们能够在不同任务之间均匀地聚合技能,而不必担心它们各自评分函数的规模。

任务价值,记为ωT:这是在T上达到足够技能水平的价值,即ωT=ωT,θT。

最优解:任何可以在任务上达到最优技能的技能程序。同样,我们将训练时间最

优解定义为任何可以在特定训练情境序列上达到最优训练时间性能的技能程序。

充分解:任何可以在任务上达到足够技能θT的技能程序。

课程:在训练阶段,任务和智能系统之间的一系列交互(情境、响应和反馈)。对于给定的任务和智能系统,存在一个课程空间,由底层程序的随机组件参数化。课程从系统和任务之间的交互中产生:这可以模拟教学和主动学习。

最优课程:引导智能系统为其能为此任务生成的最佳(最高技能)技能程序的课程。它特定于一个任务和一个智能系统。可能存在多个最优课程。

充分课程:引导智能系统达到充分解决方案的课程。它特定于一个任务和一个智能系统。可能存在多个充分课程。

任务特定潜力,记为θmaxT,IS:在给定智能系统上可以为任务生成的最佳技能程序的技能(经过最优课程)。这是一个特定于任务和智能系统的标量值。

智能系统范围:任务空间的子空间,包括所有任务价值ωT非零且智能系统能够在训练阶段后产生充分解决方案的任务。这个空间可能是无限的。“能够产生充分解决方案”意味着存在一个针对所考虑的智能系统和任务的充分课程。范围是智能系统的一个属性。

智能系统潜力:系统中所有任务的特定任务潜力值的集合。潜力是智能系统的一个属性。

我们发现,在大多数情况下,考虑足够的技能和充分的解决方案比考虑最优技能和最优解决方案更有用——在应用环境中,我们寻求使用尽可能少的资源来实现足够的性能;使用无限资源来追求最大可能性能的情况较少,也不太实用。

使用算法信息论量化泛化难度、经验和先验

算法信息论(AIT)可以看作是信息论的计算机科学扩展。AIT关注于形式化关于复杂性、随机性、信息和计算的有用计算机科学直觉。AIT的核心是算法复杂性的概念。算法复杂性(也称为Kolmogorov复杂性或算法熵)是由R.J.Solomonoff、A.N.Kolmogorov和G.J.Chaitin在20世纪60年代在不同的背景下独立研究的。有关广泛的介绍,请参见[15,14,30,55]。

就像信息论中的熵概念一样,算法复杂性是数学对象“信息内容”的度量。为了满足我们自己的需求,我们将只考虑二进制字符串的特定情况。事实上,到目前为止,我们引入的所有对象都是标量值(分数、潜力)或二进制字符串(状态、程序、情况和响应),因为任何程序都可以表示为二进制字符串。

字符串s的算法复杂性(记为H(s))是在固定通用语言中对字符串的最短描述的长度,即当在固定通用图灵机上运行时输出字符串的最短程序的长度。由于任何通用图灵机都可以模拟任何其他通用图灵机,因此H(s)与机器无关,是一个常数。

我们可以使用算法复杂性来定义字符串s2关于字符串s1的信息内容(称为“相对算法复杂性”,记为H(s1 | s2)),即将s2作为输入,产生s1的最短程序的长度。“将s2作为输入”意味着s2是程序描述的一部分,但在计算程序长度时不会考虑s2的长度。

因为任何程序都可以表示为二进制字符串,所以我们可以使用相对算法复杂性来描述两个程序的关联程度。基于这一观察,我们提出如下定义任务的“泛化难度”的直观概念:

考虑:

•任务T,

,所有可能的T阈值θ的解决方案中最短的一个(在评估期间至少达到技能θ的最短技能程序),

,给定课程的最短最优训练时间解决方案(在课程中,在最短的技能程序上实现最优训练时间性能)。

然后我们将泛化难度定义为:

给定课程C和技能阈值θ的任务的泛化难度,记为

:由最短最优训练时间解决方案

解释的解决方案

的算法复杂性的分数(即,最短程序的长度,该程序将课程C中表现最优的最短可能程序作为输入,生成一个在评估期间表现至少达到θ技能水平的程序,通过该技能程序的长度进行归一化)。请注意,这个数量在构造上介于0和1之间。

因此,一个具有高“泛化难度”的任务是,为了达到足够的技能,评估时间行为需要与最简单的可能最优训练时间行为有显著不同的任务。相对算法复杂性为我们提供了一个量化这种差异的指标:GD衡量的是最短的训练时间解决方案程序需要进行多少编辑才能成为一个合适的评估时间解决方案程序。如果在训练期间表现最优的最短技能程序恰好也在评估期间表现出足够的技能水平,那么该任务的泛化难度为零(即,它不涉及不确定性)。一个可泛化的技能程序是一个在情况空间中“覆盖更多地面”的程序,而不是它熟悉的精确训练情况:一个能够处理未来不确定性的程序。

请注意,这种泛化难度的定义可能看起来违反直觉。奥卡姆剃刀原则似乎表明,在训练情况下有效的最简单程序也应该是一个泛化良好的程序。然而,泛化描述了应对未来不确定性的能力,而不是压缩过去最优行为的能力——为未来的不确定性做好准备是有代价的,这与政策压缩相矛盾。根据需要,TrainSoloptT,C消除了任何严格必要的信息或能力,以产生对训练情况的正确反应,这样做可能会丢弃在处理评估情况时有用的信息或能力。如果事实上TrainSoloptT,C不需要丢弃任何这样的信息(即,过去最优的最简单行为在未来仍然足够),这意味着评估不需要适应(没有非平凡的新颖性或不确定性),因此任务不涉及泛化,可能给定某个起点(如另一个任务的解决方案)。

表达相同观点的另一种方式是,泛化需要在新的数据到来时(例如,在评估时)重新解释任务。这意味着需要存储过去数据的表示,这些表示从过去的角度来看似乎是无用的,但将来可能会被证明是有用的。例如,考虑以下沿线的标记点:(x=−0.75,标签=F alse),(x=0.15,标签=T rue),(x=−0.1,标签=T rue)。当在这些点的前两个点上训练分类程序时,一些最短的最优训练时间解决方案可能是λ(x):x>0或λ(x):bool(ceil(x))。当应用于最后一个点(x=−0.1,标签=T rue)时,这些解决方案会失败,而一种存储所有过去数据点并在评估时使用最近邻返回响应的算法会起作用。最近邻程序将为未来的不确定性做好更好的准备,但需要更多的空间来记录。

重要的是,这第一个泛化难度的定义只捕获了以系统为中心的泛化,因为它量化了处理与训练情况不同的评估情况的难度,而不管系统的预先存在的能力如何。为了捕获开发者意识到的泛化,我们需要考虑到系统在训练开始时的初始状态SkillP rogramGen,ISUpdate,isStatet=0:

因此,开发者感知的泛化代表了在你拥有初始系统和最短训练时间解决方案的情况下,对最短评估时间解决方案的不确定程度,即为了获得评估时间解决方案,你必须对最短训练时间解决方案进行的修改量,前提是这些修改可以利用初始系统的内容。

同样,我们可以定义从任务 T1 到任务 T2的泛化难度(充分条件)为

。我们还可以将这些定义扩展到一组任务(例如,从一组练习任务到一组测试任务的泛化难度),这对于量化整个测试套件的泛化难度是有用的。这些概念与[37](第8.6节)中定义的内在任务难度(无论泛化如何)有关,即构建解决方案所需的努力。

由此定义的“先验”可以解释为系统从一个足够或最优的解决方案开始的接近程度,即初始系统中嵌入的“相关信息量”。注意,这不同于初始系统中嵌入的“信息量”(这仅仅是初始系统的算法复杂性)。因此,我们的度量只会对包含与当前任务无关的先验知识的大型系统进行最小的惩罚(唯一的额外成本是知识索引和检索的开销)。

此外,我们可以使用相对算法复杂性来定义智能系统在课程期间关于任务积累的经验 \( E_{IS,T,C} \)。

考虑训练期间的单步 t :

- 只有部分数据与解决任务相关(数据可能是噪声或其他无用信息)。

- 只有部分数据对智能系统来说是新的信息(情境和响应可能是重复的,智能系统可能是一个需要多次重复或以多种方式呈现信息的慢学习者)。注意,我们使用“新颖”一词来描述对系统而言新颖的信息,而不是课程中从未出现过的信息(两者的区别在于系统的学习效率)。

我们非正式地将步骤 t 处累积的经验量定义为系统在 t 接收到的相关且新颖的信息量。这对应于当前情境数据和反馈数据所提供的关于解决方案的潜在不确定性减少量(即,如果智能系统是最优智能的,它可以通过步骤数据减少多少关于解决方案的不确定性)。

由此定义的“经验”可以解释为系统在课程过程中关于任务接收到的相关信息量,仅考虑每一步的新信息。

因为这不同于课程中包含的“信息量”(即课程的算法复杂性),我们的度量不会惩罚经历噪声课程的系统。

此外,因为我们使用每一步相关且新信息的贪婪和,而不是全局汇集课程的信息内容,我们会惩罚那些较慢吸收所呈现相关信息的学习者。

最后,因为我们的和不同于“每一步的相关信息量(新颖或不新颖)在所有步骤上的总和”,我们不会惩罚经历重复课程的系统。如果一个快速学习者在固定课程的前十步内吸收了足够的信息,而一个慢速学习者需要额外90步才能达到同样的效果,我们不会将快速学习者在没有学习到任何新东西的最后90步算作经验,但会将所有100步都算作慢速学习者的经验。

定义智能

我们现在已经建立了足够的背景和符号来正式表达之前直观的智能定义:“系统的智能是其在任务范围内的技能获取效率的度量,考虑到先验知识、经验和泛化难度。”

- 高智力系统是能够利用少量经验和先验知识,为具有高泛化难度(即对未来具有高度不确定性的任务)生成高技能解决方案程序的系统。换句话说,这是一种能够高效利用其所拥有的信息,尽可能覆盖未知情况空间的系统。智能在某种程度上是信息关于情况空间一部分的转换率,以及在包含新颖性和不确定性的未来情况空间最大区域内表现良好的能力(见图3)。

- 智力的度量与范围的选择(任务空间和任务上的价值函数)相关。它也可以选择性地与范围内任务的足够技能水平的选择相关(充分情况)。

- 技能不是智能系统所拥有的,而是智能过程的输出产物(技能程序)的属性。高技能并不是高智能:这是完全不同的概念

- 智力必须涉及学习和适应,即将从经验中提取的信息操作化,以处理未来的不确定性:一个开始就能在任务的评估情境中表现良好的系统,其开发者感知的泛化难度非常低,因此在我们的智力度量中得分较低。

- 智力不是曲线拟合:一个仅仅生成与已知数据点一致的最简单技能程序的系统,仅能在泛化难度为零的任务中表现良好。一个智能系统必须生成能够应对未来不确定性的行为程序。

- 智力的度量与课程优化相关:更好的课程空间将导致更高的实际技能(平均而言)和更高的智力表达(更高的技能获取效率)。

II.2.2计算效率、时间效率、能源效率和风险效率

在上述讨论中,我们仅考虑了智能系统的信息效率(相对于泛化难度的先验效率和经验效率)。确实,我们认为这是目前推动人工智能研究前进的最具操作性和相关性的角度(参见II.2.3)。但这并不是唯一可以考虑的角度。我们可以通过多种方式将几种替代方案纳入我们的定义中(例如,作为正则化项):

- **技能程序的计算效率**:在训练数据充足但推理时计算昂贵的情况下,可能需要鼓励生成计算资源消耗最少的技能程序。

- **智能系统的计算效率**:在训练时计算昂贵的情况下,可能需要尽量减少生成技能程序所需的计算资源。

- **时间效率**:在时间受限的情况下,可能需要最小化智能系统生成技能程序的延迟。

- **能量效率**:特别是在生物系统中,可能需要最小化生成技能程序、运行技能程序或经历课程所消耗的能量。

- **风险效率**:在经历课程(即收集经验)涉及智能系统风险的情况下,可能需要鼓励安全的课程,即使这会以资源效率或信息效率为代价。与能量效率类似,这在生物系统和自然进化中高度相关,其中某些寻求新奇行为可能导致更快的学习,但也可能更危险。

事实上,可以注意到信息效率在许多情况下作为能量效率和风险效率的代理。

我们预计这些量化效率的替代方式在未来的专门AI应用环境中将变得相关。我们提请读者注意这些方面,以鼓励其他人开发新的智能正式定义,将它们与信息效率一起纳入考虑。

II.2.3 实际影响

上述定义提供了一个正式框架以及定量工具,用于推理我们迄今为止引入的直观概念,特别是“泛化难度”、“作为技能获取效率的智能”以及在评估智能时控制先验知识和经验的意义,而不是纯粹关注特定任务的技能。

这个框架的主要价值在于提供了一个可操作的视角转变,帮助我们理解和评估灵活或通用的人工智能。我们认为这种视角转变有以下实际影响:

a. 对于灵活或通用AI研究方向的影响:

- **明确指出创建智能系统的过程可以作为一个优化问题来处理**:目标函数将是我们定量智能公式的可计算近似值。如II.2.2中指出,这个目标函数可以通过加入正则化项来进一步完善,这些正则化项将考虑不同形式的效率。

- **鼓励关注发展广泛或通用能力,而不仅仅是追求技能**:通过提出一个惩罚过度依赖经验或先验知识的目标指标,并对泛化难度低的任务进行折扣。

- **鼓励对程序综合的兴趣**:建议我们不要再将“代理”视为从感官输入到行为输出的整体黑箱(这一观点来自强化学习【88】)。我们的形式明确区分了拥有智能的部分(“智能系统”,即程序综合引擎)和实现技能或执行行为的部分(“技能程序”,即智能过程的非智能输出产物),并将重点放在前者上。正如我们在本文中所指出的,我们认为在AI概念化过程中,混淆过程与产物一直是一个根本性问题。

- **鼓励对课程开发的兴趣**:通过利用“最优课程”的概念,并强调更好的课程会增加学习系统所表现出的智能。

•它通过强调先验在评估智能中的重要性,鼓励人们关注基于类人的知识先验(例如核心知识)构建系统。

b. 对评估灵活或通用人工智能系统的影响:

•通过定义和量化泛化难度,它提供了一种正式推理“局部泛化”、“广泛泛化”和“极端泛化”(参见I.3.2中介绍的泛化谱)的含义的方法,并剔除零泛化难度的测试。

•它为比较人工智能和人类智能提供了具体的指导方针:这种比较需要从共享的任务范围和共享的先验开始,并将寻求比较实现特定技能水平的经验效率。我们在II.3.1中详细讨论了这个想法。

•它显示了在开发测试集以评估任务时考虑泛化难度的重要性。我们在II.3.2中详细讨论了这个想法。这应该有助于我们找到能够丢弃依赖不泛化的捷径的解决方案的评估指标(例如,在计算机视觉中依赖局部纹理而不是全局语义)。

•它提供了一套关于任何智能系统的实际问题的答案,以严格地描述它:

-它的范围是什么? -在这个范围内它的“潜力”是什么(最大可达到的技能)? -它拥有哪些先验知识? -它的技能获取效率(智能)是多少? -什么样的课程可以最大化它的技能或技能获取效率?

II.3 从这个角度评估智能

在本文档的前面部分,我们已经详细说明了在开发广泛能力时,仅测量技能并不能使我们前进,我们建议AI评估应该从其更成熟的姊妹领域心理测量学中学习(呼应心理测量AI和通用心理测量学的论点),并且我们提供了一个具有实际意义的新形式主义,指出了范围、潜力、泛化难度、经验和先验概念的重要性。下一节总结了关于AI评估的关键实际结论。

II.3.1智能系统之间的公平比较

我们在 II.2.3中提到,我们的形式主义为比较不同性质的系统的智能,如人类智能和人工智能,提供了具体的指导方针。能够以公平和严格的方式进行这种比较对于向类人通用AI发展至关重要。在这里,我们讨论了如何在目标系统的范围、潜力和先验方面满足特定要求的情况下进行这种智能比较。我们还详细说明了在满足这些要求的情况下如何进行这种比较。

范围和潜力要求。在 II.1.2中,我们认为智能必然与一个应用范围相关联,这个想法也是 II..2中引入的形式主义的核心。因此,比较尺度必须与目标系统共享的明确定义的任务范围相关联(所有目标系统都应该能够学习执行相同的任务)。此外,我们必须考虑到目标系统在其共享范围内可能具有不同的潜力(最大可达到的技能)。智能比较应该关注技能获取效率,但在技能水平差异很大的系统之间,技能获取效率无法进行有意义的比较。因此,比较尺度必须与所考虑任务范围内的固定技能阈值相关联。这个技能阈值应该是所有目标系统都可以达到的。

例如,将一个通用智能系统与人类智能进行比较只有在系统的可学习任务范围与典型人类的可学习任务范围相同的情况下才有意义,而且比较应该关注系统达到与人类专家相同技能水平的效率。比较最大实现的技能并不构成智能比较。

先验知识要求。由于 II.2 的形式主义将先验总结为一个单一的标量分数,这与用于量化经验的分数是同质的,因此被比较的两个系统不一定需要共享相同的先验。例如,如果两个系统使用相同数量的经验达到相同的技能(这种经验的确切性质,由使用的课程决定,可能有所不同),那么具有最少先验知识的系统将被认为更智能。

然而,完全量化先验知识通常是不切实际的。因此,我们建议只比较假设一组足够相似的先验知识的系统的智能。这意味着任何智能度量都应该明确且详尽地列出它所假设的先验知识,这个想法我们在下面II.3.2 中详细说明。此外,这意味着旨在实现类人通用智能的系统应该利用核心知识先验。

如果满足上述条件(共享范围、范围内明确定义的技能阈值以及可比较的知识先验),那么公平的智能比较将包括对比目标系统的技能获取效率曲线。在一般情况下,使用最少经验达到所需技能阈值的系统将更智能。或者,也可以考虑计算效率、能源效率和风险效率,如 II.2.2 所述。

II.3.2理想智能基准的期望

以下建议综合了本文档关于类人通用智能候选基准应具备的特性的结论。

•它应该描述其应用范围和自身对该范围的预测性(即,它应该建立有效性)。在实践中,这将通过实证确定基准上的成功与一系列现实世界任务上的成功之间的统计关系来实现。

•它应该是可靠的(即可重复的)。如果评估会话包含随机元素,为这些元素采样不同的值不应该对结果产生有意义的影响。不同的研究人员独立地使用基准评估同一系统或方法应该得出相同的结论。

•它应该致力于衡量广泛的智能和开发者意识到的泛化

-它不应该仅仅衡量技能或潜力(最大可达到的技能)。 -在评估集中,它不应该包含任何预先已知的任务,无论是对参加考试的系统本身还是对系统的开发者(参见I.3.2中定义的开发者意识到的泛化)。

-它应该试图量化它测量的泛化难度(参见II.2中的形式定义),或者至少提供关于其泛化难度的定性指导:至少应该明确基准是寻求衡量局部泛化(稳健性)、广泛泛化(灵活性)还是极端泛化(通用智能),如I.3.2中所定义。考虑泛化难度可以最小化给定基准被采取不希望的捷径的求解者“破解”的可能性,这些捷径绕过了广泛的智能(例如,在图像识别中利用表面纹理而不是语义内容)。

•它应该控制参加考试的系统在训练期间利用的经验量。不应该通过采样无限的训练数据来“购买”基准上的性能。基准应该避免那些可以随意生成新数据的任务。实际上,它应该是一个游戏,在评估会话之前不可能进行练习。

•它应该明确且详尽地描述它所假设的先验集合。任何任务都会涉及先验,但在今天用于AI评估的许多任务中,先验仍然是隐含的,隐含的隐藏先验的存在可能经常给人类或机器带来不公平的优势。

•它应该对人类和机器都公平地工作,只假设与人类相同的先验(例如核心知识),并且只需要人类大小的练习时间或训练数据。

如果没有具体的实施努力,这些关于通用AI评估的建议将是不完整的。在第三部分,我们提出了我们的初步尝试。

III A benchmark proposal: the ARC dataset

https://github.com/fchollet/ARC-AGI

在最后一部分中,我们介绍了抽象和推理语料库(ARC),这是一个旨在充当 II.2 中定义的通用智能类型基准的数据集。 ARC 旨在尽可能多地纳入 II.3 中的建议。

III.1描述和目标

III.1.1什么是ARC?

ARC可以被看作是一个通用的人工智能基准,作为一个程序综合基准,或者作为一个心理测量智力测试。它针对人类和人工智能系统,旨在模拟类人形式的通用流体智能。 它的格式有点类似于 Raven 的渐进矩阵 [47],这是一种可以追溯到 20 世纪 30 年代的经典 IQ 测试格式。 ARC 有以下顶级目标:

  • • 与心理智力测试保持密切的格式(同时解决以前使用此类测试进行人工智能评估时发现的问题,如 III.1.3 中详述),以便人类和机器都可以使用;特别是它应该可以由人类解决,无需任何特定的实践或培训。
  • • 通过仅突出评估集中的新任务(假设测试者的开发人员不知道),重点衡量开发人员感知的泛化能力,而不是特定于任务的技能。
  • • 重点衡量定性的“广泛”形式的概括(参见I.3.2),通过突出高度抽象的任务,考生必须使用很少的例子来理解这些任务。
  • • 通过仅为每个任务提供固定数量的训练数据并且仅突出不适合人工生成新数据的任务来定量控制体验。
  • • 明确描述其假设的完整先验集(在III.1.2 中列出),并通过仅需要接近人类先天先验知识的先验来实现人类和机器之间公平的一般智能比较(参见II.3.2)。

ARC由训练集和评估集组成。训练集包含 400 个任务,评估集包含 600 个任务。评估集进一步分为公共评估集(400 个任务)和私人评估集(200 个任务)。 所有任务都是唯一的,并且测试任务集和训练任务集是不相交的。任务数据可在 github.com/fchollet/ARC 上获取。

每个任务由少量的演示示例(平均 3.3 个)和少量的测试示例(通常为 1 个,但极少数情况下可能为 2 个或 3 个)组成。每个示例都由“输入网格”和“输出网格”组成。 每个“网格”都是符号的字面网格(每个符号通常通过唯一的颜色进行可视化),如图 4 所示。共有 10 个独特的符号(或颜色)。网格可以是 1x1 到 30x30 之间的任意高度或宽度(含 1x1 和 30x30)(中间高度为 9,中间宽度为 10)。

在解决评估任务时,考生可以访问该任务的训练示例(输入和输出网格)以及该任务的测试示例的输入网格。 考生必须自行构建与每个测试示例的输入网格相对应的输出网格。 “构建输出网格”完全是从头开始完成的,这意味着考生必须决定输出网格的高度和宽度应该是多少,应该在网格上放置什么符号以及在哪里。 如果考生能够对任务的所有测试示例给出准确的正确答案(成功的二进制衡量标准),则任务成功解决。对于任务中的每个测试示例,允许测试者(人类或机器)进行 3 次试验 10 。试用后收到的唯一反馈是二元的(正确答案或错误答案)。智能系统在 ARC 上的得分是其能够成功解决评估集中任务的比例。 至关重要的是,假设考生及其开发人员都不知道有关评估集中任务的任何先验信息:ARC 旨在衡量 I.3.2 中定义的“开发人员意识泛化”。私人评估集的存在使我们能够在公开竞争的环境中严格执行这一点。

还假设考生可以访问整个训练集,尽管为了在验证集上取得成功,训练数据并不是严格必需的,因为所有任务都是唯一的,并且不假设除了以下知识之外的任何知识: III.1.2 中描述的先验。一个典型的人无需任何先前的训练就可以解决大部分 ARC 评估集。因此,训练集的目的主要是作为人工智能系统开发人员的开发验证集,或作为人类考生的模拟测试。 它还可以用作使算法熟悉核心知识先验内容的方法。我们并不期望训练集上的练习会提高人类在测试集上的表现(尽管这个假设需要具体测试)。

III.1.3与心理智力测验的主要区别

我们在I.3.4中指出了使用现有的心理智力测试(或“智商测试”)不构成人工智能评估的可靠基础的原因。尽管ARC在格式上刻意接近传统的智商测试(以及相关的努力,如Hernández-Orallo的C-Test [ 40]),但它的设计在根本上与它们不同。我们认为,这些差异解决了人工智能评估背景下心理测量智力测试的缺点。特别:

  • • • 与一些心理测量智力测试不同,ARC 对评估结晶智力或结晶认知能力不感兴趣。ARC只评估流体智力的一般形式,重点是推理和抽象。 ARC 不涉及语言、真实世界物体的图片或现实世界的常识。ARC力求只涉及接近核心知识先验的知识,并避免人类必须通过特定任务的实践获得的知识。
  • • • ARC 评估集中的任务是独一无二的,对于应试系统的开发人员来说是未知的(因为 ARC 试图评估开发人员感知的泛化)。这可以防止开发人员自己解决任务并以程序形式对他们的解决方案进行硬编码。 这可以通过存在私人评估集在比赛环境中严格执行。
  • • ARC 比典型的心理测量智力测试(数百个独特的任务,任务之间的重叠有限)具有更大的任务多样性,这降低了硬编码特定任务解决方案对开发人员来说是一种实用捷径的可能性,即使是对于公共评估集也是如此。
  • • • 与 C 检验 [ 40] 中的任务不同,ARC 任务大多不是以编程方式生成的。 我们认为从静态“主”程序生成程序是一个弱点,因为它意味着仅仅对跨任务共享的生成程序进行逆向工程(可能是一个简单的程序,因为它必须由测试开发人员写下来)就足以完全解决所有任务。 手动任务生成增加了任务多样性,并降低了存在不可预见的快捷方式的风险,该快捷方式可用于绕过解决测试的广泛能力需求。
III.1.4ARC的解决方案可能是什么样子的,它对AI应用意味着什么

我们发现ARC完全可以被人类解决。虽然许多 ARC 测试任务在智力上具有挑战性,但人类应试者似乎能够在第一次尝试时解决大多数任务,而无需任何练习或口头解释。 ARC中包含的每个任务都由三个高智商人类(彼此之间没有交流)的至少一个成员成功解决,这证明了任务的可行性。 未来,我们希望能够通过收集大量具有统计学意义的人体测试数据,特别是关于CHC认知能力与ARC表现之间的关系,进一步研究人类在ARC上的表现。

至关重要的是,据我们所知,ARC似乎无法通过任何现有的机器学习技术(包括深度学习)来接近,因为它专注于广泛的泛化和少样本学习,以及评估集仅包含未出现在训练集中的任务。

对于着手解决这一问题的研究人员来说,ARC可能最好被理解为一个程序综合基准。程序综合 [ 31, 32] 是 AI 的一个子领域,它对生成满足高级规范的程序感兴趣,通常以程序的示例输入和输出对的形式提供——这正是 ARC 格式。

假设的 ARC 求解器可以采用程序综合引擎的形式,该引擎使用任务的演示示例来生成将输入网格转换为相应输出网格的候选方案。示意性:

  • • 首先开发一种领域特定语言 (DSL),该语言能够表达任何 ARC 任务的所有可能的解决方案程序。由于ARC任务的确切集合是故意不可正式定义的,因此这可能具有挑战性(任务空间被定义为仅涉及核心知识的ARC对中可表达的任何内容)。它需要以足够抽象和可组合的程序形式对III.1.2中的核心知识先验进行硬编码,以作为一种“类人推理DSL”的基础函数。我们认为,解决这个特定的子问题对于人工智能的普遍进步至关重要。
  • • 给定一个任务,使用 DSL 生成一组候选程序,将输入网格转换为相应的输出网格。此步骤将重用和重新组合以前在其他 ARC 任务中证明有用的子程序。
  • • • 根据程序简单性或程序可能性等标准,从这些程序中选择最佳候选者(此类标准可以在以前使用 ARC 训练集生成的解决方案程序上进行训练)。 请注意,我们并不指望仅仅选择适用于训练对的最简单的程序就能很好地推广到测试对(参见我们在 II.2 中对泛化难度的定义)。
  • • 使用前三名候选者为测试示例生成输出网格。

我们假设,人类水平的ARC求解器的存在将代表仅通过演示(只需要少量演示来指定复杂任务)对AI进行编程的能力,以执行各种与人类相关的任务,这些任务通常需要人类水平,类似人类的流体智能。 作为支持证据,我们注意到人类在心理测量智力测试(类似于ARC)中的表现可以预测所有人类认知任务的成功。 此外,我们假设,由于ARC求解器和人类智能都将建立在相同的知识先验之上,因此ARC求解器的应用范围将接近人类认知的范围,使得这样的求解器既具有实用价值(即它可以解决有用的,与人类相关的问题)又易于交互(即它很容易理解人类的演示,并会产生符合人类期望的行为)。

我们的说法是高度推测性的,很可能被证明是完全不正确的,就像纽厄尔1973年希望国际象棋的进展将转化为实现一系列广泛认知能力的有意义的进展一样 - 特别是如果ARC被证明具有不可预见的漏洞,可以不智能的捷径。 我们预计,一旦我们在解决ARC方面取得足够的进展,我们的主张将在不久的将来得到验证或无效。

III.2弱点和今后的改进

需要注意的是,ARC是一项正在进行的工作,而不是一个明确的解决方案;它不符合 II.3.2 中列出的所有要求,并且具有许多关键弱点:

  • • • 泛化没有量化。虽然ARC被明确设计为测量“广泛泛化”,而不是“局部泛化”或“极端泛化”,但我们没有提供给定测试集的评估集泛化的定量度量,也没有提供每个任务的泛化难度(独立考虑)。 我们计划开展未来的工作,通过使用人类在一项任务上的表现(在许多人类受试者中考虑)来估计它所代表的泛化难度,从而实证地解决这个问题。 我们特别感兴趣的是尝试将人类在任务中的表现与II.2中提出的AIT泛化难度的近似值相关联(随着我们在ARC求解器程序上的进展,这种近似值应该会变得可用)。发现高相关性或缺乏相关性将在一定程度上验证或否定我们的形式措施。
  • • • 测试有效性未确定。效度表示测试性能相对于其他非测试活动性能的预测性。ARC的有效性应按照心理测量学建立的过程,通过对人类进行大样本量统计研究来研究。 此外,当 AI ARC 求解器成为现实时,我们还将能够研究 ARC 性能在一系列任务中如何转化为现实世界的有用性。
  • • • 数据集的规模和多样性可能有限。ARC 总共只有 1,000 个任务,并且许多任务之间可能存在一定程度的概念重叠。这可能使ARC可能容易受到捷径策略的影响,这些策略可以在没有智能的情况下解决任务。 我们计划举办公共 AI 竞赛(使用私人评估集)作为众包尝试的一种方式,以产生这种快捷方式(如果存在快捷方式,它应该在比赛环境中迅速出现)。 此外,为了减轻针对此类快捷方式的潜在漏洞,我们打算在未来继续向 ARC 添加新任务,可能通过众包来实现。
  • • • 评估格式过于封闭和二元化。考生在评估任务上的分数为 0 或 1,缺乏粒度。此外,现实世界的问题解决通常采取互动过程的形式,其中假设由应试者制定,然后进行经验测试,迭代。 在 ARC 中,这种方法在一定程度上是可能的,因为允许应试者对任务中的每个测试示例进行 3 次试验。但是,这种格式仍然过于局限。 更好的方法是让应试者与任务的示例生成器动态交互:应试者将能够随意请求新的测试输入,为测试输入提出解决方案,并反复收到有关其解决方案的反馈,直到应试者能够可靠地产生正确答案。 然后,应试者在任务上的分数将衡量它需要的反馈量,直到它能够可靠地为任何新输入生成正确的解决方案。这代表了II.2中正式定义的更直接的智力衡量标准,其中输入生成器控制着课程。
  • • • 核心知识先验可能没有得到很好的理解,也可能在ARC中没有得到很好的捕捉。ARC的核心概念是,它只依赖于人类与生俱来的先验知识,并不具有大量的后天知识。 然而,人类先天先验知识的确切性质仍然是一个悬而未决的问题,这些先验是否在ARC中被正确捕获尚不清楚。

三.3可能的备选办法

ARC只是试图创建一个类似人类的通用智能基准,该基准尽可能多地体现II.3中列出的准则。虽然ARC非常接近心理测量智力测试的形式,但可以探索许多其他可能的方法。在本节中,我们提供了一些替代方案的建议。

III.3.1重新调整技能基准的用途,以衡量广泛的泛化程度

我们在 I.3.5 中注意到 AI 研究界对开发超越人类棋盘游戏和视频游戏技能的系统的持续着迷。我们建议将这种技能测试重新用于智力测试。

考虑一个对解决游戏 𝑋 感兴趣的 AI 开发人员。虽然 AI 将在 的 𝑋 实例上进行训练,但评估仲裁器将创建 𝑋 ( 𝑋1 , 𝑋2 , ... 𝑋𝑛 )。这些替代游戏将被设计为代表相当数量的泛化难度 𝑋 (如II.2中所定义):最简单的游戏程序在( 𝑋 例如,游戏水平) 𝑋 上是最佳的,在 𝑋𝑖 。因此,这些替代游戏将不仅仅是 的 𝑋 “新关卡”,而是将具有相关但新颖的游戏玩法,以便衡量广泛的泛化而不是局部泛化。这些替代游戏对 AI 开发人员来说是未知的,以便衡量开发人员的意识泛化。 因此,这种提议的设置与CoinRun [ 17] 或 Obstacle Tower [ 49] 等明显不同,后者的评估环境不是替代游戏,而只是同一游戏的关卡(局部泛化,或泛化到已知未知数),从AI开发人员事先知道的关卡生成器中随机抽样(没有评估开发人员感知泛化)。

经过训练 𝑋 的人工智能,一旦准备就绪,就会被赋予学习解决 𝑋1 的任务,...... 𝑋𝑛 。然后,它的评估分数将衡量它在每个替代游戏中所需的经验量,以达到特定的技能阈值,由每个替代游戏所代表的泛化难度量调节。 然后,衡量这种人工智能的一般智能的指标将是大量不同源游戏中 𝑋 这些评估分数的平均值。

例如,考虑游戏 DotA2:在 DotA2 上训练的 AI 可以通过测量它学习玩相同类型的新游戏(例如英雄联盟或风暴英雄)的效率来评估。 作为一种更简单(但更弱)的替代方案,可以通过测量它学习掌握一组以前从未玩过的全新角色的效率来评估在 16 个特定 DotA2 角色上训练的 AI——例如,一个强大的人类 DotA2 玩家可以在第一次尝试时与一个新角色进行高水平的游戏。

III.3.2开放式对抗性或协作性方法

我们在III.2中指出了必须手动制作评估任务的一些关键局限性:这是一个劳动密集型过程,很难正式控制泛化难度,这可能会导致一组低多样性的任务,并且不容易扩展(尽管众包任务可能部分解决了这个问题)。 多样性和可扩展性点尤为重要,因为我们需要不断提供大量新的任务,以保证基准测试正在衡量开发人员感知的泛化。

解决方案可能是以编程方式生成新任务。我们在 III.1.3 中指出,从静态的“主”程序生成程序是不可取的,因为它对可以生成的任务集的多样性和复杂性设置了上限,并且它提供了一种潜在的途径,通过对主程序进行逆向工程来“欺骗”基准测试。 相反,我们建议通过称为“教师”程序的不断学习程序生成任务,与称为“学生”程序的应试系统进行循环交互(图 12)。教师计划将优化任务生成,以增加给定学生的新颖性和趣味性(任务应该是新的和具有挑战性的,同时学生仍然可以解决),而学生将不断发展以学习解决越来越困难的任务。 这种设置也有利于课程优化,因为教师计划可以配置为寻求优化学生的学习效率。这个想法类似于[38]中提出的“随时智力测试”和[96]中提出的POET系统。

为了确保生成的任务的空间随着时间的推移保持足够的复杂性和新颖性,教师程序应从外部来源(假定具有不可压缩的复杂性)中提取信息,例如现实世界。 这种外部复杂性使设置真正具有开放性。 一个教师计划可以生成部分模拟与人类相关的任务的新任务,这将具有额外的优势,即它将引导由此产生的学生计划走向一种可以转移到现实世界中与人类相关的问题的智能形式。

图12:师生学习与评价体系

盘点

对通用人工智能的研究仍处于起步阶段,我们不希望给人留下这样的印象,即我们已经为表征和测量人工智能系统所拥有的智能的问题提供了明确的解决方案。 相反,我们引入了一种定义和评估智力的新视角,围绕以下想法构建:

  • • 智力是学习系统将经验和先验转化为以前未知任务的技能的效率。
  • • 因此,智力的衡量标准必须考虑先验、经验和概括困难。
  • • 所有智能都与应用范围有关。两个智能系统只能在共享范围内进行有意义的比较,并且它们具有相似的先验。
  • 因此,通用人工智能应以人类智能为基准,并应建立在一组类似的知识先验(例如核心知识)之上。

我们还提供了一种基于算法信息理论的新形式主义(参见II.2),以严格和定量地推理这些想法,以及一套用于开发通用智能基准的具体指导方针(参见II.3.1和II.3.2)。

我们的定义、正式框架和评估指南并没有涵盖情报的所有方面,而是被开发为可操作的、解释性的和可量化的,而不是描述性的、详尽的或双方同意的。 它们并不意味着使其他关于智能的观点无效,相反,它们旨在作为一个有用的目标函数来指导对广义人工智能和通用人工智能的研究,如II.2.3所述。我们希望,在人工智能社区中,对通用人工智能感兴趣的一些人能够打破一种长期和持续的趋势,即在无限的经验和无限的先验知识下,寻求在具有挑战性的任务中获得原始技能。

为了让我们的想法扎根,并让其他人能够建立在它们的基础上,我们还提供了一个实际的基准,即抽象和推理语料库,或ARC:

  • • ARC的立场是,智力测试应该控制范围、先验和经验:每个测试任务都应该是新颖的(衡量理解新任务的能力,而不是技能),并且应该假设所有应试者共享一组明确的先验。
  • • ARC明确地假设了人类与生俱来的相同核心知识。
  • • ARC可以完全由人类解决,但目前的机器学习技术(包括深度学习)无法有意义地解决。
  • • ARC可以为那些有兴趣开发能够像人类一样广泛泛化的算法的人工智能研究人员提供一个有趣的游乐场。它还可以提供一种比较人类智能和机器智能的方法,因为我们假设相同的先验。

重要的是,ARC仍在进行中,已知的弱点列在III.2中。我们计划在未来进一步完善数据集,既作为研究的游乐场,又作为机器智能和人类智能的联合基准。

衡量我们信息成功与否的标准是,它能够转移对通用人工智能感兴趣的社区中某些部分的注意力,从在技能测试中超越人类,转向通过程序综合、核心知识先验、课程优化、信息效率、 并通过强抽象实现极端泛化。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CreateAMind 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 定义智能
  • III.1描述和目标
    • III.1.1什么是ARC?
      • III.1.3与心理智力测验的主要区别
        • III.1.4ARC的解决方案可能是什么样子的,它对AI应用意味着什么
        • III.2弱点和今后的改进
        • 三.3可能的备选办法
          • III.3.1重新调整技能基准的用途,以衡量广泛的泛化程度
            • III.3.2开放式对抗性或协作性方法
            • 盘点
            相关产品与服务
            腾讯云服务器利旧
            云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档