深度40年认知架构研究概览:实现通用人工智能的道路上我们走了多远?(附论文)选自arxiv.org机器之心编译参与:机器之心编辑部今日,加拿大约克大学(YorkUniversity)电气工程与计算机科学系在arXiv上发表了一篇关于认知架构研究的概览性论文,在感知、注意、学习和应用四个方面对认知架构方面的研究和应用进行了概述性的总结。机器之心对该论文进行了略有删减的编译,原论文可点击文末「阅读原文」下载。另外,作者还为本项目开发了直观的交互示意图,连同相关的额外资料可以在这里查看:摘要在这篇论文中,我们呈现了关于过去40年认知架构(cognitivearchitecture)研究的宏观概述。尽管目前已有架构的数量已经有数百种了,但绝大多数已有的调研都没有反映出这种增长,而只是重点强调了一小部分地位稳固的架构。虽然它们的贡献是不可否认的,但它们只能代表该领域研究的一部分。因此,在这篇调研中,我们将超越对重点的关注,而将我们的范围扩展成对认知架构研究的更具包容性和高层面的概述。我们最终的集合有86种架构,其中包括55种仍在活跃发展的架构,另外还从一些不同的学科(涵盖从心理分析学到神经科学等)中借用了一些。为了保证本论文长度合理,我们仅讨论了核心的认知能力,比如感知(perception)、注意机制(attentionmechanism)、学习(learning)和记忆(memory)结构。为了评估认知架构的实际应用的广度,我们收集了超过700个使用了我们列表中的认知架构的实际项目的信息。我们使用多种可视化工具重点突出了该领域发展的整体趋势。我们对实际应用的分析表明大部分架构都非常关注于一个特定的应用领域。因此,在机器人和计算机视觉领域的一般研究和在认知架构领域内的研究之间存在一个明显的鸿沟。可以非常明显地看到:生物启发的模型与基于工程原理和启发式的系统相比,在范围和效率上都不一样。我们观察到的另一个情况是合作的普遍缺乏。有几个因素妨碍了人们的交流沟通,比如许多项目封闭的本质(这里审查的架构中仅有三分之一是开源的)和术语差异。1介绍本论文的目标是提供关于过去40年认知架构研究的宏观概述,并重点关注了感知、注意和实际应用。尽管认知架构领域一直以来都在稳健地增长,但过去10年来发表的大多数调研都没有反映出这种增长,而基本上只是关注了十几个最成熟的架构。上一次大规模的研究是在2010年由Samsonovichetal.[1]进行的,他们试图编目已经实现的认知架构。他们的调查包含了54种由它们各自的作者提交的认知架构。这些信息以「认知架构对比表」的形式发表到了网上()。当然,也还有其它认知架构的列表,但它们通常只是一个简短描述加上一个项目网址或软件库的链接而已。由于目前还没有详尽的认知架构列表,所以它们的准确数字还是未知的,但是据估计应该有大约300种左右,而且其中至少有三分之一的项目目前是活跃的。为了为我们的研究得到这份最初的列表,我们组合了其它调查(发表于最近10年内)中提及的架构以及一些大型的在线编目。我们还包含了这些调研文献未提及的最近的架构。图1展示了来自17个来源(调查、在线编目和谷歌学术)的195种认知架构的可视化。很明显可以看到ACT-R、Soar,CLARION、ICARUS、EPIC、RCS和LIDA等一小部分架构出现在了许多来源中,而所有其它项目只是在在线编目中有简短的提及。尽管这些主要架构的理论和实际贡献是不可否认的,但它们只能代表该领域研究的一小部分。因此,在这篇概述中,我们将避开对重量级架构的特别关注(其他人已经做了很多了),而是将对这整个领域进行一次高层面的概述。图1.来自调查、在线编目和谷歌学术的认知架构的组合列表。左侧的节点表示架构的调查和在线编目,右侧的节点表示单独的项目。节点的厚度表示连接到该节点的边(edge)的数量,即该架构出现的次数(右侧)或所包含的架构的数量(左侧)。为了使这次调研足够可操作,我们将原有架构列表缩减到了86项。因此,我们重点是至少有一个实际应用和多篇有同行评议的论文的已经实现的架构,我们没有考虑一些哲学上的架构(如CogAff、SocietyofMind、GlobalWorkspaceTheory、Pandemoniumtheory)。我们也排除了大规模脑建模项目(brainmodelingproject),这是较低层面的,不能轻易映射到由其它认知架构所建模的认知能力的广度上。另外,许多脑模型尚还没有任何实际的应用,因此也不满足本调查的参数。图2显示了本调查给出的所有架构和它们根据发表情况得出的大概时间表。它们中有55个项目目前是活跃的。正如我们早些时候提到的,给已经实现的认知架构创建一个广泛的和有组织的编目的第一步是[1]。这个概述包含了26个项目的扩展描述,其中包含的信息有:简要概述、主要元素的原理图、共同组分和特征(记忆类型、注意、意识等)、学习和认知发展、认知建模和应用、扩展性和局限性。这一类的调查将一些不相交的社区的研究者聚集到了一起,并帮助建立了这些不同方法和他们所使用的术语之间的映射。但是,这种描述性的和表格式的格式让我们无法对这些架构轻松地进行比较。因为我们的架构样本很大,所以我们实验了可做替代的可视化策略,例如冲积图(alluvialdiagram)和圆图(circulardiagram),它们常常被用于组织复杂的表格数据。这些图的交互式版本让我们可以探索这些数据和查看相关索引。在后续的章节中,我们将提供关于认知的定义和分组认知架构方法的整体概述。作为我们的贡献之一,我们会根据认知架构的感知模式(perceptionmodality)、注意的实现机制、记忆组织、学习类型和实际应用对它们进行映射。认知架构的其它特征,比如元认知(metacognition)、意识(consciousness)和情绪(emotion),不在本次调查的范围内。在准备这篇论文的过程中,我们广泛地审阅了文献,这项活动让我们得到了一个包含2000项的相关发表情况的参考目录(bibliography)。我们提供了这份参考目录,同时还带有每篇论文的简短摘要作为补充材料(发布地址:)2什么是认知架构?认知架构是通用人工智能(generalAI)的一个研究分支,它起源于20世纪50年代,其目标是创建能够解决不同领域问题的程序、培养洞察力、能自己适应新情况并做出反应。同样,认知架构研究的最终目标是实现人类水平的人工智能。根据Russell和Norvig[2],这样的人工智能可以以四种不同的方式实现:像人类一样思考的系统,能理性思考的系统,像人类一样行动的系统,以及能理性行动的系统。现有的认知架构已经探索了所有四种可能性。例如,像人类一样的思想是源于认知模型的架构所追求的。因此,只要智能系统造成的错误如同相似情况下人类通常做出的错误,则它们的错误是可以容忍的。这与理性思维系统相反,理性思维系统需要为任意任务作出一致和正确的结论。像人类一样行动的机器和理性行动的机器之间的区别也与之相似。在后两种情况中,机器并不期望能像人类一样思考,我们关注的只是它们的行动或反应。图2此次调查的86种认知架构的时间表。每条线对应一个认知架构。认知架构按照开始日期排序,因此最老的认知架构在图的最下部。由于只明确知道几个项目的开始和结束日期,因此我们按照项目网页的发布和活动日期还原了时间表。颜色对应于不同类型的架构:symbolic(符号式,绿色),emergent(层创式,红色)和hybrid(混合式,蓝色)。然而,由于认知没有明确的定义和一般理论,每个架构都是基于不同的前提和假设,使得比较和评估不同的认知架构变得困难。几篇论文试图解决这种不确定性,最著名的是Sun对认知架构的期望[3]和Newell的实用性标准(最初发表在论文[4]和[5]中,后来重新被Anderson和Lebiere提及[6])。Newell的标准包括灵活的行为、实时操作、理性、海量知识库、学习能力、发展能力、语言能力、自我意识和大脑觉悟。Sun的期望更广泛,包括生态、认知和生物进化现实主义、适应性、模块化、常规化和协同互动。除了定义标准,并把它们应用到认知架构的范围,Sun也指出,明确界定认知的假设和方法存在缺失,这种缺失阻碍了智能研究的进展。他也提到了关于基本二分法(essentialdichotomy)(隐式/显式,程序化/声明化等)、模块化认知和结构化记忆,存在一种不确定性。但是,快速浏览一下这些已有的认知架构就可以发现,这些架构在研究目标、结构、操作和应用方面长久存在分歧。图31973至2016年间,活跃的符号式(symbolic)、层创式(emergent)和混合式(hybrid)架构的可视化。在图上显示了同时活跃的项目的最大数量。相比于为智能寻求一个特定的定义,也许将智能定义为一个系统所体现的能力和行为的集合更为实际。虽然不存在一个智能所要求的能力的综合列表,但一些已经被认可的宽泛的方向也许可以作为目前认知架构领域工作的指导。例如,Adams等[7]提议了14个方向,分别是感知、记忆、注意、社会交互、规划、动机、驱动、推理、交流、学习、为自身/他人建模、建造/创造以及算术能力(perception,memory,attention,socialinteraction,planning,motivation,actuation,reasoning,communication,learning,emotion,modelingself/other,building/creationandarithmeticabilities.)。这些可以进一步划分为更小的领域。可以说,其中一些类别也许看起来比其他的更重要,且历史上也受到更多关注。比如,根据Metzler和Shea[8],在近期认知架构的发表中最常被提到的认知功能仅包括感知、学习、推理、决策、计划和行动。然而,即使在一个单一架构中仅实现一个缩减的功能集合,也是一个任务繁重的工程。因此,目前只有一小部分架构(如:Soar,ACT-R,NARS[9],LIDA[10])和几个最近的项目(SiMA[11]和OpenCogPrime[12])在追求通用人工智能(ArtificialGeneralIntelligence,AGI)。其他架构则专注某一特定的认知功能,例如注意(ARCADIA[13],STAR[14])、情绪(CELTS[15]),对称感知(认知对称引擎(CognitiveSymmetryEngine)[16])或者问题解决(FORR[17],PRODIGY[18])。还有一些为特定应用设计的专门的架构,比如为平面视觉检测设计的ARDIS[19],以及为音乐理解和分类设计的MusiCog[20]。使得一个软件系统能够被称为认知架构的标准也鲜被强调。大多数综述宽泛地定义认知架构为智能的一个蓝图,更具体地,是一个关于心智表征以及运行在这些表征之上的计算过程的设想,它们使得一定范围内的智能行为成为可能([21],[22],[23],[24],[25])。总的来说,新的认知架构不需要包括已有的认知架构,例如Soar,ACT-R,EPIC,LIDA,ICARUS等。然而,当它并不是那么常见或是一个全新的项目时,我们并不知道考虑现有的这些认知架构是否必要。举个例子,AKIRA是一个明显的不能自我统一地认为其是一个认知架构[26],但是它的特性仍然被很多综述提及[27]。类似的,知识库Cyc[28]从未对任何通用智能有所声称,却仍然在一篇论文中被总结为一个AGI架构[29]。Larid