朱浩然 翻译
人工智能和机器学习的最新研究在很大程度上强调了通用学习和越来越大的训练集以及越来越多的计算。
相反,我提出了一种以认知模型为中心的混合,知识驱动,基于推理的方法,该方法可以为比当前可能的更丰富,更健壮的 AI 提供基础。
1. 迈向强大的人工智能
尽管没有人完全知道深度学习或人工智能将在未来几十年发展,但是如果我们要达到一个新的水平,那么既要考虑过去十年所学到的知识,又要研究下一步应该研究的东西。
让我们将其称为健壮的人工智能新水平:虽然不一定是超人或自我完善的智能,但可以依靠它以系统和可靠的方式将其所学知识应用到广泛的问题中,从各种知识中综合知识来源,这样它就可以灵活,动态地对世界进行推理,以一种我们对普通成年人所期望的方式,将它在一个环境中学到的东西转移到另一环境中。
从某种意义上说,这是一个微不足道的目标,既不像“超人”或“人工智能”那样雄心勃勃,也没有像它那样无边无际,但也许是迈出重要的一步,并且是可以实现的,如果我们要实现这一目标,那是至关重要的一步。创建我们可以信赖的人工智能,无论是在我们的家中,在道路上,在医生的办公室和医院,在企业中还是在社区中,我们都可以信赖。
简而言之,如果我们不能指望人工智能能够可靠地表现,那么我们就不应该信任它。(当然,事实并非如此:可靠性不能保证可信度;相反,可靠性不能保证可信度。 这只是许多前提条件之一,包括价值和良好的工程实践; 请参阅 Marcus 和 Davis ( Marcus & Davis , 2019 )进行进一步讨论。)
§
有人可能会将强大的 AI 与例如狭义的智能,可以很好地完成单个狭窄目标(例如下棋或识别狗的品种)的系统进行对比,但这些系统往往以非常单一的任务为中心,并且不健壮且无法转移到甚至适度不同的环境(例如,到不同尺寸的电路板,或从一个具有相同逻辑但字符和设置不同的视频游戏到另一个视频游戏),而无需进行大量的重新培训。当将这些系统应用到要在其上进行训练的确切环境时,它们通常会表现出令人印象深刻的良好效果,但是,如果环境与他们在其上进行训练的环境有所不同,有时甚至是很小的差异,我们通常就无法指望它们。这种系统在游戏环境中已显示出强大的功能,但在现实世界的动态,开放式流程中尚未被证明是足够的。
还必须将强大的智能与我称之为点画式智能进行对比,点智能在许多情况下都有效,但在许多其他情况下却失败了,表面上看起来很相似,以某种无法预测的方式。图 1 展示了一个视觉系统,该视觉系统通常可以识别校车,但是在积雪的道路中(左)无法识别翻倒的校车(左),而阅读系统(右)可以正确地解释一些句子,但在阅读过程中却失败。存在无关的干扰物。
任何密切关注 AI 文献的人都将意识到,健壮性从一开始就一直遥遥无期。 尽管已经投入了巨大的资源,但深度学习迄今仍未解决该问题。
相反,到目前为止,深度学习技术已证明是数据饥渴,浅薄,易碎且泛化能力有限( Marcus , 2018 )。 或者,正如 Francois Chollet ( Chollet , 2019 年)最近所说的那样, 人工智能一直未能达到其理想:尽管我们能够设计出在特定任务上表现出色的系统,但它们仍然存在明显的局限性,脆弱性,数据量 饥饿,无法理解与培训数据或创建者的假设略有不同的情况,并且在没有人类研究人员的大量参与的情况下无法调整自己的工作方式来应对新颖的任务。
用 Facebook AI 研究人员团队的话说( Nieet al 。, 2019 )
“越来越多的证据表明,最先进的模型学会了利用数据集中的虚假统计模式……而不是像人类那样灵活而可概括地学习意义。”
正如 Yoshua Bengio 在最近的一篇文章( Bengio 等人, 2019 年)中所指出的那样, 一个关键的弱点是当需要将机器学习方法推广到训练分布之外时,当前的机器学习方法似乎很薄弱,而这在实践中通常是需要的。
我们怎样才能将 AI 提升到一个新的水平?
§
我认为,如果不首先开发具有我和ErnieDavis所说的深刻理解的系统的能力,我们就不会获得强大的情报,这不仅具有关联和辨别复杂数据集中细微模式的能力,而且还具有查看任何场景并解决一些问题,例如记者可能会问:谁,什么,什么地方,为什么,何时以及如何。
在美好的一天,像被广泛讨论的神经网络GPT-2这样的系统可以产生故事和类似的给定句子片段,可以传达表面上似乎反映出深刻理解的东西。例如,给定一个句子片段(以粗体显示),例如“ 两个士兵走进酒吧 ”,它通常可以产生流利且听起来似真实的连续感,例如人 , 酒吧,饮料和金钱之间的关系:
两名士兵走进摩苏尔的一家酒吧,把所有的钱都花在了喝酒上。
但是,无论许多GPT-2例子看起来多么引人注目,事实都是它的表示很 单薄 且不可靠,类似于Nie等人(2019)所指出的那样,通常在密切检查下会崩溃(Marcus,2020)。这是两个典型案例,取材自我于2019年12月在NeurIPS(Marcus,2019)上提出的开发中基准测试。
•昨天我把衣服放在干洗店里了,还没捡起来。我的衣服在哪里?在我妈妈的房子里。
•原木上有六只青蛙。两 只 离开,三 只 加入。现在原木上的青蛙数是十七 。
首先,GPT-2可以正确预测查询片段后面的元素类别(即位置),但无法跟踪干洗位置。在第二篇中,GPT-2再次正确预测了正确的响应类别(在这种情况下为数字),并且再次无法掌握细节。正如Marcus(Marcus,2020; Marcus,2019)所讨论的那样,这种错误非常普遍。显然,我们将需要更稳定的基材以实现坚固性。
一切照旧主要集中在稳步改善深度学习工具箱中的函数逼近和组合工具,以及收集更大的训练集并扩展到越来越大的GPU和TPU集群。可以想象通过收集更大的数据集,以各种方式扩充这些数据集以及在基础架构中纳入各种改进来改进像GPT-2这样的系统。尽管这些方法具有价值,但需要进行更根本的重新思考。
可能会采用更多激烈的方法。例如,Yoshua Bengio为大幅扩展深度学习工具包提出了许多复杂的建议,包括开发通过对分布变化的敏感性统计提取因果关系的技术(Bengio等人,2019)和自动提取模块化的技术。结构(Goyal et al。,2019),我都十分同情。
但我认为这还不够,可能需要更强有力的药物。特别是,本文的建议,即我们必须重新集中精力,致力于开发一个框架,用于构建能够常规获取、表示和操作抽象知识的系统,使用这些知识来构建、更新和推理复杂的外部世界内部模型。 §
从某种意义上说,我将要咨询的是回归到三个问题:经典人工智能知识、内部模型和推理,但希望以新的方式,用现代的技术来解决它们。
这些问题都是经典人工智能的核心。例如,约翰·麦卡锡在他的开创性论文《程序与常识》(Programs withCommon Sense)中指出了常识知识的价值[McCarthy 1959];道格·莱纳特(Doug Lenat)将常识知识的机器表达形式作为他毕生的工作来解释(Lenat,Prakash,&Shepherd,1985;Lenat,2019)。由TerryWinograd(谷歌创始人Larry Page和Sergey Brin的导师)设计的经典AI“blocks world”系统SHRLDU围绕一个内部的、可更新的世界认知模型展开,该模型表示软件对一组堆叠物理对象的位置和属性的理解(Winograd,1971)。然后,SHRLDU对这些认知模型进行推理,以便推断出随着时间的推移,世界的状态 。
浏览一下机器学习领域最新论文的标题,你会发现很少有人引用这些观点。一小部分人会提到推理,另一小部分人可能会提到实现常识的愿望,大多数人会(故意地)缺乏丰富的认知模型,比如个人和物体,它们的属性,以及它们之间的关系。
例如,一个像 GPT-2 这样的系统,做它所做的事情,不管是好是坏,没有任何明确的(直接表示和随时共享的)常识知识,没有任何明确的推理,也没有任何它试图讨论的世界的明确的认知模型。
许多人认为这种缺乏费力编码的显性知识的优势。 GPT-2 并不是反常的,而是一种当前趋势的特征,即远离经典人工智能的关注,转向一种不同的、更为数据驱动的范式,这种范式是由深度学习的复苏所推动的(大约 2012 年)。随着 DeepMind 备受推崇的 Atari 游戏系统( Mnihet al. , 2015 )的出现,这一趋势加速发展,正如后面所讨论的,该系统在不使用任何详细认知模型的情况下成功地玩了各种各样的游戏。
最近,强化学习的创始人之一 Rich Sutton 在一篇广为阅读的文章中明确了这一趋势。这篇名为“痛苦的教训”的文章明确建议不要利用人类的知识:
从 70 年的人工智能研究中可以得到的最大教训是,利用计算的一般方法最终是最有效的,而且在很大程度上……研究人员试图利用人类对该领域的知识,但从长远来看,唯一重要的是利用计算。…人类知识方法倾向于使方法复杂化,使它们不太适合利用利用计算的一般方法。
在某种程度上,将人类知识构建到机器学习系统中甚至在机器学习界被视为作弊,当然也不可取。在 DeepMind 最有影响力的论文之一“掌握围棋的游戏而不需要人类知识”中,其目标是完全放弃人类知识,以便“学习、制表、超人在挑战领域的熟练程度”( Silver 等人, 2017 )。如果能从大规模的语料库中归纳出常识,并且有最小的先验约束,那么机器学习社区的一大群人将非常高兴。【当然,盲目地同化所有人类所说的一切,都会以自己的方式产生问题。正如 ConceptNet 的主要维护者 Robyn Speer 所说,我们的雄心壮志应该更好:“我们希望避免仅仅因为电脑对人来说很糟糕就让电脑对人来说很糟糕。我们希望提供的(知识表达)不仅是技术上最好的,而且在道德上也很好。】模型构建也被证明是一项艰苦的工作,而且普遍的看法是,如果能跳过这一步,生活会更轻松。
§
问题是,即使有大量数据,也有像 GPT-2 ( Radford 等人, 2019 )那样的 Transformer ( Vaswani 等人, 2017 )这样的 基础 ,当代神经网络收集的知识仍然是零散的和点状的,可以说是有用的,当然令人印象深刻,但永远不可靠( Marcus , 2020 )。
上面的例子(如果你把洗好的衣服放在家里,显然不可能还在你妈妈家里)和更明确的 GPT-2 测试中都暗含着这种不可靠和不可靠,比如:
如 果打破玻璃瓶水,水可能会滚动。
如果打破玻璃瓶水,水可能会破裂一些并溅到地板上。 水会产生气泡,当瓶子中的水量增加时气泡会膨胀。
如果您打破了一个装有玩具兵的玻璃瓶,玩具兵可能会跟随您到那里。
至关重要的是,萨顿关于用“通用方法”代替人类知识的价值的例子来自封闭性领域,例如游戏,对象分类和语音识别,而常识则是开放性的。 在 Go 之类的游戏中获胜与解释和评估新闻故事或解决现实世界中意料之外的计划问题大不相同,例如阿波罗 13 号机如何确定如何在宇航员所在的濒危航天器上解决空气过滤器问题 快速耗尽。这是一种一次性解决方案,似乎超出了无知识的深度强化学习所可能管理的范围。 当要知道干洗地点在哪里时(就像前面的例子一样,昨天,我把衣服放在干洗店里了,还没有捡起来。),您需要一个世界的内部模型,以及一种随着时间的推移更新模型的方法,这是一些语言学家称为话语更新的过程( Bender & Lascarides , 2019 )。 像 GPT-2 这样的系统根本没有那样的功能。
当纯粹的计算能力应用于开放式领域,如会话语言理解和对世界的推理时,事情就不会完全按照计划进行。结果总是过于尖刻和零散,不可靠。
是时候反思一下了:如果我们接受了深度学习的教训,但人类的知识和认知模式再次成为寻求人工智能的一流公民,我们的系统会是什么样子?
2 ,一种混合的、知识驱动的、基于认知模型的方法
许多认知科学家,包括我自己,都以一种循环的方式来对待认知:有机体(例如人类)从外部吸收感知信息,他们基于对信息的感知建立内部认知模型,然后做出尊重的决策。 这些认知模型,其中可能包括有关外部世界中存在哪种类型的实体,它们的属性是什么以及这些实体之间如何关联的信息。 认知科学家普遍认识到,此类认知模型可能不完整或不准确,但也将它们视为有机体如何看待世界的关键( Gallistel , 1990 ; Gallistel & King , 2010 )。 即使是不完美的形式,认知模型也可以作为世界的有力指南。 在很大程度上,有机体在世界上的繁荣程度取决于这些内部认知模型的良好程度。
电子游戏实质上是按照类似的逻辑运行的:该系统具有某种世界内部模型,并且该模型会根据用户输入(以及游戏模拟世界中其他实体的活动)定期进行更新。 游戏的内部模型可能会跟踪角色的位置,角色的健康状况和所有物等。) 游戏中发生的事情(用户朝特定方向移动后是否发生碰撞)是该模型动态更新的功能。
语言学家通常根据一个相似的循环来理解语言:句子中的单词被解析成一个语法,映射到一个语义上,这个语义指定了各种实体参与的事件之类的事情。该语义用于动态更新世界模型(例如,各种实体的当前状态和位置)。机器人学的许多工作(虽然不是全部)都是以类似的方式进行的:感知、更新模型、做出决策。(有些工作,特别是对物体抓取的端到端的深度学习不起作用。)
当前论文最强烈、最核心的观点是,如果我们不做类似的事情,我们就不会成功地寻求强大的智能。如果我们的人工智能系统不能利用对世界及其动力学的大量知识,对外部世界的过于详细、结构化、内部模型进行描述和推理,它们将永远类似于 GPT-2 :它们会利用大量的相关数据库,正确地处理一些事情,但它们不会理解正在发生的事情,我们也不会能够依靠他们,特别是当现实世界中的情况偏离训练数据时,就像他们经常做的那样。【如果 GPT-2 的输入范围扩大到包括感性输入而不仅仅是文本输入,它会做得更好吗?也许,但我不认为仅仅扩大输入范围就能解决系统缺乏明确的内部模型的根本问题。同时,值得注意的是,盲童发展出丰富的内部模型,学习了相当多的语言以及如何将其与这些模型联系起来,完全没有视觉输入( Landau , Gleitman , &Landau , 2009 )。】
§
为了拥有能够以健壮的方式对世界进行推理的系统,我们需要什么计算先决条件? 想要将 深度学习(主要侧重于学习)和经典 AI (更关注知识,推理和内部认知模型)之间的桥梁联系起来,将需要做什么?
作为热身运动,可以考虑将简单的任务作为较大挑战的替代品。 假设您正在构建一个机器学习系统,该系统必须基于少量数据来获得广泛范围的概括,并且您将获得少量这样的训练对,其输入和输出均表示为二进制数:
Input |
Output |
0010 |
0010 |
1000 |
1000 |
1010 |
1010 |
0100 |
0100 |
对于任何人来说,很快就会发现这里有一个笼统的概括(称为“规则”),例如恒等式的数学定律 f ( x ) = x +0 。 适用于新案例 [f ( 1111 ) = 1111; f ( 10101 ) = 10101 ,依此类推 ] 。
令人惊讶的是,一些神经网络体系结构(例如,多层感知器,最近被一本教科书描述为深度学习的典型例子)遇到了麻烦。这是一个多层感知器的示例,输入在底部,输出在顶部,中间是一个隐藏层。 对于任何接触过神经网络的人来说,它应该看起来很熟悉:
多层感知器接受身份功能训练
这样的网络可以容易地学习将输入与输出相关联,并且实际上“通用函数逼近”的各种定律可以保证这一点。 给定足够的训练数据和通过训练数据进行的足够迭代,网络可以轻松掌握训练数据。
当一切顺利的时候(例如,如果架构设置正确,并且没有陷入学习的局部极小值),它还可以推广到其他示例,这些示例在重要方面与所看到的示例相似。 在“培训分配范围内”,例如:
Test Input |
Typical Test Output |
1110 |
1110 |
1100 |
1100 |
0110 |
0110 |
但是,在训练分布之外进行泛化却是完全不同的局面:
Test Input |
Typical Human Response |
Typical Test Output |
0011 |
0011 |
0010 |
1001 |
1001 |
1000 |
1101 |
1101 |
1110 |
1111 |
1111 |
1110 |
这样的例子表明,尽管在训练分布范围内的案例表现良好,多层感知器神经网络毕竟还没有学习到身份关系。如果同一系统仅针对偶数在f(x)=x上进行训练,则不会将身份函数扩展到奇数,这不在训练分布范围内(Marcus,1998)。举几个例子,每个输出节点,包括最右边的代表“ 1”位的节点,都应以类似的方式处理:我们采用了最左边的位抽象为最右边的位的抽象概念。经过反向传播训练的多层感知器对不同的东西有反应。最右边的节点始终为零,因此网络将继续预测最右边的节点将始终为零,而不管输入的性质如何,例如,得出f(1111)=1110。网络以其自己独特的方式进行了概括,但并未概括人类自然会发生的身份关系。
添加隐藏层不会改变网络的行为(Marcus,1998);添加具有更多节点的隐藏层也不会改变(Marcus,1998)。当然,可以将任意数量的解决方案组合在一起来解决特定的问题(仅从偶数、二进制示例中学习身份),我在这里仅使用简单的身份示例,仅用于说明目的,但是在训练分布之外进行外推的问题很普遍,并且越来越得到认可。JoelGrus在这里给出了一个类似的例子,游戏fizz buzz和Lake and Baroni(Lake&Baroni,2017)展示了一些现代自然语言系统如何容易受到类似问题的影响,无法以各种方式将抽象模式概括为新单词。Bengio在最近的NeurIPS演讲(Bengio,2019)中对现存的中枢神经网络的能力进行了限制。在规范的神经网络架构中,广泛的共性(如同一性)的非均匀扩展是非常普遍的,在我看来,它仍然是进展的主要障碍。
§
从本质上讲,某些种类的现存神经网络(例如此处讨论过的反向传播训练的多层感知器)在两方面表现出色:记忆训练示例,以及在围绕这些示例的点云内插点,这些点围绕超维空间的某些簇(我称之为在培训空间中进行概括),但在培训空间之外(在Bengio的措辞中,即培训分布)中,它们的推广效果很差。
多层感知器:善于在训练样本空间内推广,而不善于在训练样本空间外推广同一性函数。
结果是出现了两个密切相关的问题 :
1. 特质 :在开放式领域中,如果系统缺乏可靠的方法来概括超出训练示例空间的内容,则不能信任这些系统。如果你把每个单独的系统看作一个函数逼近器,那么目前流行的系统往往擅长于记忆示例,并且擅长于训练示例附近的许多(尽管不是全部)示例,这使得它们对于围绕分类的许多应用程序很有用。但是,如果超出培训范围,他们就很穷了。例如,最近的一个数学学习系统擅长于1+1=2;1+1+1=3到1+1+1+1+1=6,但在1+1+1+1+1+1+1=7和所有更大的例子中都失败了。(想象一下,在一个计算机程序中编写一个FOR循环,其中只有小于7的计数器值才能信任执行)。(相比之下,微软Excel的Flash-fill是一种基于归纳程序综合的符号系统,在许多情况下更有效(Polozov&Gulwani,2015)。
2. 过分依赖训练制度的具体细节 :尽管所有正常的人类学习者都掌握了他们的母语和对世界的理解,但尽管环境千差万别,神经网络往往对确切的细节非常敏感,例如训练项目的呈现顺序(因此有一篇关于神经网络“课程”的文献)。同样地,三十年来人们已经知道,它们容易受到灾难性干扰的影响,即早期的关联被后来的关联覆盖(McCloskey&Cohen,1989),这使得它们对项目呈现的顺序非常敏感。潜在的解决方案仍在定期提出(McClelland,2019年),但问题仍然存在。同样,正如最近的一篇论文(Hillet al.,2019)所说,“网络表现出的泛化程度在很大程度上取决于给定任务实例化的环境细节。”
§
特质和无法推断超出训练分布范围与我们许多常识性知识的普遍性相矛盾。这也使因果关系难以估量;另见Pearl和Mackenzie(Pearl&Mackenzie,2018)。
从引言中扩展一个例子,大多数普通的成年人和儿童将认识到(大概是从特定的经验中得出的)以下抽象的因果归纳是正确的:如果您打破了一个盛装液体的瓶子,一些液体将会(其他事情正在发生)相等)可能会越过瓶子。
这样的真理是抽象的,因为它们不仅适用于某些特定项目,而且适用于大型的,不限成员名额的实体类别,而与瓶子的颜色或形状或瓶子的大小无关,无论瓶子是否装有水,咖啡,或不寻常的软饮料。我们希望对于装有滚珠轴承或游戏骰子的瓶子也能有类似的概括,即使我们以前对破碎瓶子的经验几乎只涉及盛装液体的瓶子。
几乎每个人也都会意识到以下概括是不切实际的:如果您打破了一个盛装液体的瓶子,那么一些液体(其他东西将相等)可能会卷走300米。
同样,无论个人经验如何,我们都可以通过多种方式扩展此知识,因为对于大小不一的瓶子,甚至比以前遇到的瓶子大或小的瓶子,这种主张都不太可能成立。
在这种意义上,我们如何代表和操纵并获得抽象的知识,不仅涉及特定实体,还涉及整个事物类?
外推的挑战意味着像反向传播训练的多层感知器这样的通用工具本身并不是适合该工作的工具。相反,我们必须找到一种替代的机制来学习,表示和扩展抽象知识。
2.1 混合架构
2.1.1 变量上的符号运算提供了唯一的已知解决方案,但解决方案是局限的
解决方案变量上的符号运算提供了一个潜在的答案 - 每天几乎每秒使用数万亿次的解决方案,几乎是世界上所有软件的基础。特别是,实际上,每个计算程序都包含四个基本概念:变量,实例,将变量绑定到实例的绑定以及对变量的操作。
这些想法中的每一个都是小学代数所熟悉的,其中像 x 和 y 这样的实体是变量。 特定数字( 2 、 3.5 等)是这些变量可能绑定的实例(例如, x 当前可能等于 3 )。操作包括加法和乘法。这些使得可以表示诸如 y = x + 2 之类的关系,这些关系自动扩展到某个类中的所有值(例如,所有数字)。将变量连接到实例的过程有时也称为变量绑定。
当然,计算机程序是建立在同一根基石上的。算法主要是根据对变量执行的操作来指定的。将变量绑定到实例,调用算法,执行操作,并返回值。
重要的是,核心操作的指定方式通常适用于某个类的所有实例(例如所有整数、所有字符串或所有浮点数)。核心操作通常包括一些基本操作,如算术运算(加法、乘法等)、比较( x 的值是否大于 y 的值)和控制结构(对变量 n 当前绑定到的任何值执行 n 次操作;如果 x 的值超过 y 的值,则选择备选方案 a ),否则选择备选方案 b 等)。一级近似(忽略 bug 、程序员逻辑中的错误等),这意味着正确实现的函数适用于某个类中的所有输入,完全独立于它们可能暴露于或不暴露于的输入。
值得注意的是,这种根据操作定义的功能定义事物的方法是与标准机器学习完全不同的范例。机器学习系统通常通过 Judea Pearl 将其比作曲线拟合的过程来学习将输入变量与输出变量相关的函数,而程序员通常根据变量的运算来独立于训练数据来定义其算法。不用说,它已经很好地服务于传统的计算机程序员,支持从操作系统到 Web 浏览器到视频游戏再到电子表格等的所有内容。
至关重要的是,通常将系统对变量的核心操作构建为独立于经验而系统地工作。例如,微处理器中的循环移位操作的机制是由一组并行的子操作定义的,每个子操作一个位,直到微处理器字的宽度。不管以前是否使用过该操作,其操作都相同,因此无需学习。 程序员可以放心地预期,无论经验如何,换档操作都将起作用,并且无论经验如何,将来都将以此方式继续进行。所有这些机制(变量,实例,绑定和操作)的优点在于,它允许程序员以某种抽象级别指定事物,并以某种可靠性作为副产品。
总的来说,关于变量,绑定,实例和对变量的操作的这四个假设构成了符号操纵的核心( Newell , 1980 ; Marcus , 2001 )。(符号本身只是对其他系统使用的事物进行编码的简单方式,例如用于表示 ASCII 代码中的字母的二进制数字模式,或允许神经网络中的输出节点表示特定单词的编码 据我所知,目前所有的系统都使用它们;请参阅 Marcus 2001 ,第 2 章。 某些符号处理系统可能只有少量的操作,例如加法,连接和比较,而另一些符号可能具有更丰富的操作(例如,复杂逻辑公式的统一),就像微处理器的大小可能有所不同一样。 他们的核心指令集。 可以在符号处理体系结构上构建递归,但这并不是绝对的逻辑要求。
正如我所说( Marcus , 2001 ; Marcus , 1998 ; Marcus , Vijayan , Bandi Rao ,& Vishton , 1999 ; Berent , Marcus , Shimron ,& Gafos , 2002 ; Berent , Vaknin ,& Marcus , 2007 ),某种形式的符号操纵似乎对人类认知是必不可少的,比如当一个孩子学会了一种抽象的语言模式,或者一个像姐妹这样的词的含义可以被理解应用于无限多的家庭,或者当一个成年人以一种新颖的方式扩展了一种熟悉的语言模式,这种方式超越了训练分布( Berent et al. , 2002 ; Berent et al. , 2007 )。一些最有力的证据来自 1999 年的一项研究( Marcus 等人。, 1999 年),我的同事和我展示了 7 个月大的婴儿能够识别简单的抽象模式,比如拉塔塔中的 ABB 模式,并将它们从一组训练样本中推断出完全由不同音节组成的新字符串,这些音节在语音上与他们的训练集没有重叠。随后的研究表明,即使是新生儿似乎也有能力进行这种推断。 Gallistel 和 King ( Gallistel 和 King , 2010 )认为变量的存储和检索对于动物认知至关重要。例如,蜜蜂似乎能够将太阳方位角功能扩展到它们未曾接触过的光照条件。( Dyer 和 Dickinson , 1994 年)。
符号处理的通用机制也为结构化表示提供了基础( Marcus , 2001 )。例如,计算机程序通常使用由符号构成的树形结构,这些符号通过对变量的操作组合而成,以表示各种各样的事物(例如层次结构文件夹或目录)。
同样,符号操纵的机制允许跟踪个体随时间变化的属性(例如,以数据库记录的形式)。这些能力似乎对于人类语言(如递归句子结构)以及随着时间的变化而对个体和对象的了解至关重要( Marcus , 2001 )。【《代数思维》的第 5 章提供了一些示例,这些示例在消除连接主义模型的范围之外,其中许多示例依赖于实体随着时间的推移而存在。)这种机制非常强大。 世界上所有的 Web 浏览器,世界上所有的操作系统,世界上所有的应用程序等都建立在它们之上。 (具有讽刺意味的是,几乎在世界上所有神经网络的规范和执行中都使用了相同的工具)。】
然而,在历史上,主流的深度学习在很大程度上试图摆脱符号操纵机制,而这种机制往往是有意回避的,这是为什么神经网络提供了一种替代经典范式的号召的一部分。鲁梅尔哈特和麦克莱兰( 1986 , #39979 ;)在著名的 PDP 书籍中,将符号操纵视为一种边缘现象,而不是人类计算的本质。 2015 年,辛顿将符号比作“发光的以太”,认为将符号逻辑作为人工智能的一个组成部分的追求是,
认为光波只能通过在发光的以太中造成干扰而在太空中传播的信念,这是不正确的……与科学家……被令人信服的但不正确的类比误导了,他们只知道他们知道具有所需特性的系统。
令人惊讶的是,在神经网络上的大量工作中也缺少个人的数据库式记录之类的想法,而仅在很小的研究中发现了诸如层次结构化句子之类的复杂结构化表示形式,而这两者的规范输入和输出是简单的矢量或二维位图,而巧妙地避免了针对个人的分层数据结构和记录。( DeepMind 有趣的新 MEMO 架构( Banino 等人, 2020 年)几乎代表了一个记录数据库。)
并非一定要这样。例如,原则上,人们可以尝试构建与符号操纵兼容的神经网络采用的术语中的“实现连接主义”,也可以尝试建立与之兼容的神经网络。 无需依靠符号操纵原理(“消除联系主义”)或两者之间的某种混合,就可以进行操作。到目前为止,绝大多数工作都是消除主义的,但这种优势反映了社会学事实 ,而不是逻辑上的必要性。
我预计,几年内,许多人会想,为什么这么长时间以来,深度学习在很大程度上没有使用符号操纵这一极具价值的工具;实际上,人类所有伟大的工程成就都依赖于某种符号推理,人类在日常认知中利用它们的证据是巨大的。事实上,正如我将在下面讨论的,随着一种新的、更广泛的实用主义的暗示,事情终于开始改变了,我希望这种实用主义能够克服先前的教条。
本文的第一个主要主张是:要建立一种强大的,知识驱动的 AI 方法,我们必须在工具包中使用符号处理机制。太多有用的知识是抽象的,如果没有表示和操纵抽象的工具就无法做到,并且迄今为止,我们知道的唯一可以可靠地操纵这种抽象知识的机器就是符号操纵的设备。
遗憾的是,就变量本身而言,运算的手段对学习没有任何帮助。【归纳逻辑编程( Cropper , Morel 和 Muggleton , 2019 年)是一种纯粹基于规则的学习方法,值得一些考虑,尽管不在本文的讨论范围之内。】
正是从那里,混合架构的基本需求,结合符号操作和其他技术,如深度学习,最根本的东西出现了。深度学习提高了学习的门槛,特别是在大型数据集上,符号操作为表示和操作抽象设置标准。很明显,我们需要把两者(或类似的东西【虽然我很有信心,强大的智能将依赖于某种混合,将符号运算与机器学习机制相结合,但目前尚不清楚深度学习(如目前实践的)是否会在其作为主导机器学习机制的角色中发挥最后的作用,或者这种角色是否会在某种继承者身上发挥, e 、 例如,在数据和能源使用方面更易处理或更高效。诸如统计关系学习( Raedt , Kersting , Natarajan , &Poole , 2016 )和概率规划( Bingham et al. , 2019 )等受到较少关注的方法非常值得考虑;有关概述,请参见 van den Broeck ( van den Broeck , 2019 )。】)结合起来。
2.1.2 混合动力通常是有效的
混合动力并不是什么新鲜事物: Pinker 和我在三年前( Marcus 等, 1992 )提出,关于儿童如何学习英语过去时的最好解释是混合动力:一条规则(添加到 动词词干)形成规则动词的过去式,以及类似神经网络的系统来获取和检索不规则动词。长期以来,明显需要将符号知识与感知知识相结合(例如,人们希望能够通过将对马的外观的感知知识与将斑马比作有条纹的马相类似的语言定义相结合来识别斑马【现有的零射击学习文献试图整合各种形式的多模态知识,但据我所知,目前没有一个系统能够利用字典定义中的精确信息。】)。
像 Ron Sun ( Sun , 1996 )这样的计算机科学家在整个 1990 年代都倡导混合模型。 Shavlik ( Shavlik , 1994 )表明,有可能将(有限的)逻辑子集转换为神经网络。 D ’ AvilaGarcez , Lamb 和 Gabbay ( D ’ Avila Garcez , Lamb 和 Gabbay , 2009 年)是有关神经符号方法的重要早期工作。
坏消息是这些早期的混合方法从来没有受到太大的关注。 当时的结果并不令人信服(可能部分是因为在 TPU 之前的日子里,神经网络本身的能力不足)。 而且神经网络社区经常不屑一顾混合动力(以及涉及符号操纵的任何事物)。 直到最近,混合符号在历史上一直被困在符号方法和神经方法之间的交火中。
好消息是,符号操纵世界和深度学习领域之间的早就应该融化了。例如, Yoshua Bengio 在我们 2019 年 12 月的辩论中谈到了合并可以按名称传递变量的技术,这是一些早期计算机语言中使用的标准符号操作技术。越来越多的努力正在积极尝试将符号和神经网络更紧密地构建在一起,有时出于实际需要,有时出于研究工作以开发新方法。
世界上一些最庞大、最活跃的商业人工智能系统,比如谷歌搜索,实际上是混合了符号操作和深度学习的混合体。虽然 Google 搜索并不是我们心目中强大的人工智能,但它是一个高效的人工智能信息检索系统,能够以高精度、大容量的方式工作。它的设计者以高度数据驱动的方式对其进行了广泛的优化,目前(根据多种来源)通过混合经典的、符号操作的人工智能技术(例如,表示和查询谷歌知识图的工具,它使用经典的符号图结构表示知识,这些符号图结构使用神经网络社区的工具(例如, BERT 和 RankBrain )。谷歌做了大量的实证实验,看看什么在大范围内运作良好,而事实上,即使在深度学习的时代,他们仍然使用谷歌知识图,这既说明了符号的价值,也说明了混合动力车的价值。(不幸的是,我知道没有详细的公开讨论各个组成部分的相对优势和劣势。)
OpenAI 的 Rubik 求解器( OpenAI 等人, 2019 )(尽管它并未如此推销)是用于解决 Rubik 立方体的认知方面的符号算法与针对手动操作方面的深度强化学习的混合体。
Mao 等人( Mao , Gan , Kohli , Tenenbaum , &Wu , 2019 )最近提出了一种用于视觉问答的混合神经网络符号系统,称为 NS-CL (神经符号概念学习者的缩写),该系统超过了他们研究的深度学习方案。 Janner 等人的相关工作( Janner 等人, 2018 年)。通过对单个对象的显式记录进行深度学习,以便做出预测和基于物理的计划,远远超过可比的纯黑盒深度学习方法。 Evans 和 Grefenstette ( Evans 和 Grefenstette , 2017 )展示了混合模型如何更好地捕捉各种学习挑战,例如挑战 multlayer 感知机的游戏 fizzbuzz 。 Smolensky 和 Schmidhuber 等团队将 BERT 与张量积( Smolensky et al. , 2016 )相结合,形成了一个表示符号变量及其绑定的正式系统( Schlag et al. , 2019 ),创建了一个称为 TP Transformer 的新系统,从而在一个数学问题集上取得了更好的结果。
神经符号模型的基础工作是( D'Avila Garcez , Lamb , &Gabbay , 2009 ),它检验了符号系统和神经网络之间的映射,并显示了传统神经网络中可以表示的知识种类的重要限制,并从表征和推理能力的角度论证了符号和神经网络在构建混合系统中的价值。在一级近似下,传统的神经网络可以被认为是命题逻辑的引擎,并且缺乏表示量化语句的好方法,就像在谓词演算中使用诸如 every 和 some 之类的量词一样。逻辑张量网络( Serafini&Garcez , 2016 )旨在在深度张量神经网络中实现形式逻辑。
统计关系学习( Raedtet al. , 2016 )代表了另一种有趣的方法,旨在将逻辑抽象和关系与概率和统计结合起来,正如 Vergari et al. 最近关于概率电路的工作一样( Vergari , Di Mauro , &Vanden Broek , 2019 )。 Domingo 的 Markov 逻辑网络试图将符号操作与机器学习的优势结合起来( Richardson&Domingo , 2006 )。 Uber 的 Pyro ( Bingham 等人, 2019 年)
Arabshahi 等人( Arabshahi , Lu , Singh , &Anandkumar , 2019 )展示了如何通过用作堆栈的外部内存来扩充树 LSTM 。 Fawzi 等人( Fawzi , Malinowski , Fawzi , &Fawzi , 2019 )最近提出了一个用于搜索多项式不等式证明的混合系统。 Minervini 等人( Minervini 、 Bo š njak 、 Rocktäschel 、 Riedel 和 Grefenstette , 2019 )最近提出了一种混合神经符号推理系统,称为贪婪神经定理证明器( GNTP ),可用于大规模数据库; Gupta 等人( Gupta 、 Lin 、 Roth 、 Singh 和 Gardner , 2019 )也在推理方面取得了进展。艾伦人工智能研究所( Allen Institute for AI )的亚里士多德( ARISTO )是一个复杂的多部分混合系统,在八年级科学考试中显著优于其他系统( Clark et al. , 2019 )。 Battaglia 已经发表了许多关于物理推理系统的有趣论文,这些系统集成了符号图和深度学习(例如, Cranmer , Xu , Battaglia , &Ho , 2019 )
所有这些只是一个快速发展领域的几个例子。现在阻碍胜利者还为时过早,但要构建将符号方法的优势与机器学习的见解相结合的体系结构,还有很多第一步,以便开发更好的技术,从大型、通常是嘈杂的数据集中提取和概括抽象知识。 2.1.3 对混合模型和符号操纵的普遍反对意见
尽管人们对研究混合模型的兴趣日益浓厚,并且有多种考虑,但是在机器学习社区的某些地方,人们对符号操纵的厌恶情绪日益高涨。 如前所述,例如,杰弗里·欣顿( Geoffrey Hinton )认为,欧洲对混合动力汽车的投资将是“巨大的错误”,并将混合动力汽车的研究比作电动汽车时代使用过时的汽油发动机。
但是据我所知, Hinton 近年来没有写过多篇有关他为何反对部分象征性混合模型的文章。
以下是我从其他人那里听到的一些常见异议,并对每个异议都做出了简短回应:
• 符号在生物学上不合理 。对此异议至少存在四个问题(关于相似的观点,另请参见 Gallistel 和 King ( Gallistel & King , 2010 年))。
首先,仅仅因为我们还没有确定支持符号操纵的神经机制并不意味着我们永远不会。已经确定了一些有希望的可能的神经基质( Frankland&Greene JD , 2019 ; Marcus , Marblestone , &Dean , 2014 ; Legenstein , Papadimitriou , Vempala , &Maass , 2016 ),其他文献指出了理论上合理的神经基质( Marcus , 2001 )。没有令人信服的证据表明,没有这样的机制根本不可能存在于大脑的湿部。今年我们已经看到树突中的一个小隔间可以计算 XOR ( Gidon etal. , 2020 ),这增加了单个神经元可能比通常假设的复杂得多的可能性。例如,对符号操作至关重要的变量值的存储和检索可能在单个神经元内起作用( Gallistel&King , 2010 )。
第二,大量心理学证据(见上文第 2.1.1 节)支持这样一种观点,即符号操作在大脑中是具体化的,比如婴儿将新的抽象模式扩展到新项目的能力,成年人将抽象的语言模式概括为他们没有直接数据的非本族语的能力,蜜蜂将太阳方位角函数概括为他们没有直接观察到的光照条件的能力。人类还可以学习在外部表示的符号上应用形式逻辑,并编程和调试符号表示的计算机程序,所有这些都表明,至少在某些配置中,神经软件确实可以(在某种程度上,部分受内存限制)操纵符号。我们可以理解语言本质上是无限多样的,从无数的句子中推断出无数的意义。在整个认知过程中,作为变量运算特征的自由概括是普遍存在的。
第三,现有的神经认知证据的缺乏几乎没有告诉我们什么。我们目前还没有详细了解加里·卡斯帕罗夫水平的象棋是如何在大脑中实现的,但这并不意味着加里·卡斯帕罗夫的象棋在某种程度上依赖于非神经机制。
最后,即使结果表明大脑没有使用符号操纵机制,对于人工智能为什么不能使用这些机制,也没有原则性的论据。人类没有浮点运算芯片,但这并不意味着他们在人工智能中应该是多余的。人类显然有写一次的机制,可以立即检索短期记忆,这是某种形式变量绑定的前提,但我们不知道相关机制是什么。这并不意味着我们不应该在人工智能中使用这种机制。
• 过去,符号系统 / 混合系统运行不佳 。我经常听到这种说法,但是在我看来,这是一个奇怪的说法。将混合模型描述为明显无效或过时的混合体,这并不是现实的准确描述,而实际上已经对其进行了积极有效的研究,如 2.1.2.10 节中所述。
• 符号操纵 / 混合系统无法缩放。 尽管这里有一些真正的问题需要解决,而且必须花大量的精力来约束符号搜索,以便能够实时处理复杂的问题, Google 说
知识图似乎至少是这一异议的部分反例,最近在软件和硬件验证方面取得的大规模成功也是如此。 Minervini 等人( Minervini 等人, 2019 年)和 Yang 等人( Yang , Yang , &Cohen , 2017 年)等论文在构建端到端可区分的混合神经符号系统方面取得了实际进展,这些系统在规模上起作用。与此同时。没有正式的证据证明不可能充分缩放,给予适当的启发,存在。
在过去的三十年中,我看到了很多对符号的偏见,但是我还没有看到对它们的有说服力的论据。
2.1.4 确定给定系统是否为混合系统并不总是一件容易的事
一种常见的(虽然不是普遍的)对符号的偏见产生了一个特殊的社会学事实:研究人员偶尔会建立包含符号操纵装置的系统,却不承认(甚至不考虑事实)他们已经这样做了;我在马库斯, 2001 中给出了一些具体的例子。例如,如上所述, OpenAI Rubik 的立方体解算器( OpenAIet al. , 2019 )包含了一个被称为 Kociemba 算法的符号组件,但只有非常细心和成熟的读者才会认识到这一点。“混合”和“象征”这两个词从未被提及。而“神经”这个词出现了 13 次。
因为你不能总是通过粗略的检查来告诉我们一个给定的系统是如何工作的,所以从逻辑上讲,有可能无意中构建一台有效地执行符号操作的机器,而没有意识到这样做。事实上,一个网络设计师可能会无意中发现一些与符号 FPGA 同构的东西,而从来没有意识到它。
正如本吉奥在我们最近的辩论后对话中所建议的那样,深度学习系统可以为符号操纵提供一个真正的替代方案,这是可以想象的:
我敢打赌,深度学习变体可以实现人类可能实际执行的类似符号的计算形式,但使用的基底与 GOFAI 非常不同,限制与人类经历的类似(例如,只有很少的递归级别),在 GOFAI 推理中,除了能够学习和处理不确定性之外,还避免了与搜索问题相关的主要效率问题。
我们不能想当然地认为任何给定的神经网络都提供了一种替代方法。
评估一个系统是执行“类似符号的计算”的替代方案,还是使用真正的符号操纵操作进行计算的唯一方法是探索映射:考虑该体系结构及其组件是否映射到符号操纵的组件(在某种意义上,化学映射到物理学)。 Marr ( Marr , 1982 )的计算水平清楚地表明了这一点:任何给定的计算都可以以多种方式实现,并且不是每个实现都是透明的。化学映射到物理上,但这并不意味着映射很容易被发现。“正确”的神经网络可能映射到符号操纵机器上,也可能映射到符号操纵机器上;真相可能很难辨别。
我坚信,任何健壮的系统都会有某种机制来绑定变量,并在绑定后对这些变量执行操作。但我们看不出来。
§
为了避免这听起来很奇怪,回想一下映射对于理解神经科学以及它与计算的关系同样重要。无论我们的大脑中实现了什么样的计算,都是在没有任何有意识的决策的情况下实现的;它们是进化的。其中很少有透明的。这是神经科学家和那些致力于以大脑为灵感的人工智能方法的人工智能研究人员的工作,他们对大脑进行逆向工程,以找出存在哪些计算。任何驱动大脑的东西都可能会或不会映射到我们目前的理论。当我们评估大脑如何工作的一些理论时,我们正在评估大脑的机制是否符合这个理论。有些理论将包含与大脑中发生的实际过程同构的结构,而另一些则不会。 Knudsen 和 Konishi ( Knudsen 和 Konishi , 1979 )对谷仓猫头鹰声音定位的仔细研究是一个很好的例子,说明了一个神经回路最终是如何被破译并映射到基础计算上的;很少有研究项目能与之相媲美。
人工智能中也出现了类似的问题:当一个系统工作时,理解是什么驱动了它的性能是有价值的,但往往是不重要的。
一个系统将所有的经验存储在一个单独的内存中,而不是可以检索和计算出来的,可以用“神经”的术语来描述,但是它的组件可以识别地起到维护变量、绑定、实例和变量操作(如检索)的作用。
如果我们通过某种搜索过程(无论是随机的、试错的、进化的、 AutoML 的或其他方法)来创建适当的综合系统,我们将解决部分工程问题,但不一定科学地理解是什么使这些模型起作用。后者是逆向工程的工作,是发现和拒绝可能的映射,就像神经科学一样。
如果完美的神经网络降临到我们身上,我们可能会通过广泛的测试发现它是有效的;要理解它是如何工作的,还需要另一个科学发现阶段。如果我们发现一些成功的神经网络,结果发现它的组成部分恰好完美地映射到符号操作上,那么这将不仅是神经网络的胜利,而且也是符号操作的胜利——不管系统设计者的意图是什么。相应地,如果没有一个系统的组成部分映射到符号操纵上,这将是符号操纵的失败。
任何一个通情达理的人都会认识到,到目前为止,理解人类大脑是如何工作的是多么的困难,而当神经网络变得越来越复杂时,同样的道理也会变成现实。人类大脑本身就是一个令人印象深刻的神经网络的例子,它有效地(通过进化)降临到我们身上;它似乎工作得很好,但我们不知道为什么【寻求实现细节和算法描述之间的映射(如果它们存在的话)也可能具有实际价值,因为,例如,一旦发现了那些映射,一些低级的神经网络类计算可能会更有效地在纯符号级别上进行计算。相反,一些被称为神经网络的模型,如 Lample 和 Charton 最近关于符号集成的研究( Lample 和 Charton , 2019 ),经过仔细检查,结果发现有严重的局限性,并且严重依赖于符号处理器( Davis , 2019 )。对符号和神经成分如何协同工作有一个清晰的、有原则的理解可能是非常有价值的。】
2.1.5 总结
符号操作,特别是对变量的操作机制,提供了一个自然但不完整的解决方案,来解决在训练机制之外进行外推的挑战:用对变量的操作来表示一个算法,并且它固有地被定义为扩展到某类的所有实例。它还提供了一个清晰的基础来表示结构化的表示(例如在生成语言学中被视为基础的树结构)和记录个人及其行为属性。
它所缺乏的是一个令人满意的学习框架。混合可以是两个世界的最佳结合的一种方式:从大规模数据集学习的能力,如深度学习所示,以及表示抽象表示的能力,这些抽象表示是世界上所有计算机编程语言的语法和语义货币。我猜想它们是安全获得可靠情报的先决条件。
用于研究混合模型的资源远远少于用于避免符号操纵的“纯”深度学习系统的资源,但第 2.1.2 节中回顾的来自广泛研究实验室的越来越多的工作,更不用说谷歌搜索的成功,所有这些都表明了对混合体系结构进行更深入研究的价值。
|
杭州日报 · 婴儿房间里的恐怖一幕,超1800万次点击!网友:令人毛骨悚然.... 8 年前 |
|
知心 · 惊爆市场!布局10年200倍收益的个股,这不是吹牛!(附股) 8 年前 |
|
刺猬公社 · “真实电视女杰”陈晓楠告别凤凰卫视,她说转投腾讯是为了止“痒” 7 年前 |
|
佳木斯日报 · 【佳市】四月份市级领导信访值班表 7 年前 |
|
百年招商局 · Happy Birthday To 小新! 7 年前 |