从监督学习到人工智能
OpenAI是一家成立于2015年的非营利性人工智能研究公司,由Elon Musk投资数十亿美元支持,其总体目标是发现通向人工智能的途径。2018年8月,他们的一名AI代理Five赢得了Dota游戏。这一时刻是人工智能不断取得成就的又一个里程碑,这些成就包括在国际象棋和围棋中的超常表现。Dota中的状态比之前的游戏更加复杂,这使得OpenAI所解决的问题在性质上有所不同。OpenAI Five的成功是在数百万的模拟Dota游戏(https://openai.com/five/)中训练出一套完善的机器学习算法的结果。机器学习技术,尤其是强化学习技术,有可能被用于创造真正的通用智能,但媒体经常过度渲染机器学习目前的能力,忽略了它的基本局限性。
人工智能,特别是机器学习,最近引起了媒体的极大关注,并且它已经成为我们日常生活的核心。然而,媒体中描绘人工智能的方式常常歪曲其能力以及它如何影响我们的生活。实际上,今天人工智能的所有实际用途都被归类为“狭义人工智能”,或者为单个高度特定的任务设计的人工智能。例如,机器学习的广泛使用是通过在线媒体公司分析在线行为数据来决定向您展示哪些广告。分析过去数据中的模式不是真正的智能,也不是我们希望计算机能够做到的全部。
另一方面是人工智能。这是许多人工智能研究人员的终极梦想,人工智能的新发展往往与人类大脑类似,尽管他们实际上是多么牵强。然而,现代机器学习可能不是正确的道路。未来的人工通用智能可能与机器学习有很大不同,它结合了许多其他领域的技术和知识。
背景
人工智能包含了广泛的技术。至少从1956年起,学者们就一直在做人工智能方面的研究,当时达特茅斯学院(Dartmouth College)的学生教计算机下跳棋、解决代数单词问题、证明逻辑定理,以及说英语(Russel and Norvig, 2003)。神经网络是现代机器学习的核心部分,它起源于感知器,感知器是1958年发明的一种模式识别算法(Haykin, 2009)。
使用和研究神经网络的领域被称为深度学习。AI的现代应用已经充分利用了神经网络。由于计算能力和可用数据有几个数量级的增加,神经网络的实际应用远远超过21世纪之前(Amodei和Hernandez,2018)。尽管如此,深度学习本质上是来自随机样本的模式识别,并且擅长从输入到输出的映射。例如,一个应用是根据住房市场数据的随机样本,从房屋的特征到其价格进行映射。强化学习建立在深度学习的工具之上,允许计算机通过将不同的动作映射到不同的用户定义的奖励值来选择动作。虽然深度学习是人工智能现代实际应用的前沿,但强化学习是一个快速发展的领域,在过去几年里出现了巨大的创新和许多新的发展。
机器学习,深度学习和强化学习:力学
为了帮助读者理解机器学习的局限性,我将概述有监督机器学习领域,并指导基础知识。在它最基本的形式中,有监督的机器学习是找到从输入到输出映射的数学函数的过程。深度学习是机器学习的一个子领域,它代表使用神经网络的映射函数。然而,有监督的机器学习可以以超越简单的输入到输出映射的新颖方式应用。深度强化学习算法,如OpenAI Five背后的算法,利用机器学习在某些动作之间进行选择,以最大化人类定义的奖励。下面,我将对每个子字段进行技术洞察,并提供现代实际应用的示例。
在基本步骤中,监督机器学习包括修改给定的函数。例如,假设我们试图找到一个函数来映射从房子的大小到它的价格,我们从以下函数开始:。
输入:x 输出:y 权重:a,b
“a”和“b”是算法将学习的“权重”,在接收到每个新数据点之后改变。如果给定某个房屋的大小,我们的函数输出的价格大于实际价格,我们的算法就会根据对“a”和对“b”的误差斜率,简单地将“a”和“b”减少一定的量。
我们可以找到一个最佳线吗?
该算法将最终得到一个函数,该函数对其训练的数据点具有最小的总误差。如果我们提供了足够的数据,该函数将捕获房屋价格随着房屋大小增加而增加的模式,这意味着它的参数“a”将是正数。我们还可以通过使用等式来扩展这个想法以使用多个输入值
输入:x1,x2 输出:y 权重:a1,a2,b
在我们的房屋函数经过足够的数据训练后,我们可以给它一个未经过训练的房屋大小作为输入,它将输出预测的价格。本质上,该函数对我们提供的数据中的相关性进行编码。这些数据(房屋的大小和价格),可以被认为是来自完整人口的随机样本。因此,机器学习本质上是来自随机样本的模式识别。随机样本越大或越具代表性,该函数将更好地泛化到未来样本。
令人惊讶的是,这个简单的过程非常强大,可以用于各种有用的应用,从图像识别到自然语言处理再到医疗保健。
当然,算法可以表示的模式受其使用的函数形式的限制。深度学习使用神经网络来表示复杂的函数,其结构由神经网络的体系结构指定。每个“神经元”接受一组输入,将它们一个接一个地乘以一组参数,然后在通过“激活函数”之后输出总和。对于称为ReLU的高效激活函数,这意味着如果它小于0,则将总和设置为0。
具有3个输入和1个输出的神经元
神经网络中的全连接层由多个神经元组成,每个神经元采用相同的输入集并产生不同的输出。然后将该组输出用作下一层的输入。在训练时,深度学习算法将修改每个神经元的参数以最小化误差。
两个全连接层(为简单起见,仅显示每层中第一个神经元的输入)
还有其他类型的层。在卷积神经网络中,优化后的卷积神经网络以图作为输入,使用一组神经元作为网格状的“filter”,可以检测边缘等特征。循环神经网络通过拥有不同的神经元集合来负责读取序列中不同点的数据,从而优化处理时间序列或序列数据。
神经网络的使用允许发现更复杂的函数。这些函数以函数参数的形式编码大量关于输入和输出之间相关性的信息,也称为神经元权重。然而,由于存在如此多的权重,导致如此大的灵活性,神经网络容易出现称为“过度拟合”的现象。由于神经网络仅对数据的真实数量的样本(理想地是随机的)进行训练(因为人们只能向网络提供有限数量的数据),神经网络可以对只在训练数据中发现的随机相关进行编码。这提高了训练数据的准确性,但降低了非训练数据的准确性。减少过度拟合是机器学习研究中一个成熟且活跃的领域,但是减少过度拟合的一种通用方法是增加样本的大小 - 即收集更多的训练数据。从本质上讲,因为神经网络非常灵活,所提供的数据越多,它们就越准确和强大。
最终,深度学习允许在各种不同领域中使用寻找映射函数的简单过程。例如,图像识别自然适合卷积神经网络。为了检测图像是否是猫,深度学习算法可以简单地通过它的像素值表示图像,并通过二进制标签0或1来输出。因为神经网络可以输出多个值(一个用于最后一层中的每个神经元),它可以同时预测多个不同的标签,因此算法也可以同时决定图像是否是狗。所需要的只是足够大的图片集,标记为猫,狗,两者,或两者都没有,以便算法训练。
强化学习是机器学习的一个子领域,它将监督学习的能力扩展到输入到输出的映射之外。在强化学习中,计算机在动作之间进行选择。强化学习可以应用于各种决策任务。然而,强化学习极其缺乏数据效率。因此,学术研究人员研究强化学习的最大两个领域是视频游戏和机器人技术,这两个领域都易于数字化模拟。
在强化学习中,计算机控制环境中的代理,并在给定的一组动作之间进行选择以最大化用户定义的奖励值。
动作是在持续有限时间步骤的事件中采取的。在每个步骤中,环境都处于某种状态。根据状态和代理采取的动作,代理将获得奖励,环境将转换到另一个状态。最终,任何强化学习算法的目标都是找到一个策略,这个策略是一个以状态作为输入,并以选择的动作作为输出的函数(Sutton and Barto, 2018)。
The Atari game Breakout,一个简单的RL环境
强化学习领域研究各种不同的算法来选择最佳动作,但这些算法可以分为两类:model-free和model-based。model-free算法旨在直接评估不同的操作,而model-based算法旨在首先构建环境的内部“估计”,预测环境对每个动作的响应。
model-free算法是值估计算法,其中值被分配给每个可能的状态 - state-action pair。基本上,一旦代理在特定状态下采取某种动作,该算法将跟踪从该点开始直到结束时的总奖励,这称为返回。在一个非常基本的算法中,分配给每个state-action pair的值将是所有返回(多次)的平均值。然后,当在某个状态下决定动作时,策略将仅采取具有与该状态配对的最高值的操作。在值估算算法类中进行的研究围绕着寻找最有效和准确的方法来为状态赋值。
然而,任何算法开发的策略都是针对环境和它所训练的奖励。例如,经过训练来玩街机游戏Pong的代理将不会精通玩Dota。
然而,根据人们选择定义的奖励,仍然可以以质量不同的方式训练两个Pong代理。如果代理1在击败对手时获得正面奖励,而代理2在每次失球时获得负面奖励,则代理1将尽可能多地尝试获胜,而代理2将尝试将游戏延长至尽可能长。这个简单的例子表明,奖励仍然最终决定了训练过的代理的行为,因此强化学习算法显然仍然依赖于人类定义的目标,并且只能在一个特定环境中最大化这一目标。
然而,有一个研究领域专注于解决这种缺乏普遍性的问题。元学习又称迁移学习,是指学习到学习的过程。本质上,元学习算法的目标是将它在一项任务中学到的知识转移到其他任务上(Finn, Abbeel, & Levine, 2017)。
为了直观了解某些元学习算法的工作原理,回顾一下神经网络的构建是很有用的。一组神经元形成一层。第一层从输入中获取和操作数据,然后将其传递到下一层,然后将其传递到下一层,依此类推,直到最后一层输出结果。
在大多数任务中,当训练神经网络时最终发生的事情是较早的层成为基本特征检测器。例如,在训练用于检测猫的图像的卷积神经网络中,当输入图像的特定区域中存在边缘时,可以“训练”第二层中的神经元网格以输出high value。未来的层将更具体地解决问题,利用前面层中基本特征的信息来确定图像是否是猫。
Visualization of what a CNN’s neuron grids “look for”
很明显,经过训练的神经网络现在包含的信息已经超出了检测猫的具体问题。如果我们现在用相同的参数创建一个初始化为cat网络副本的新网络,那么这个新网络将从能够检测边缘等基本特征的早期层开始。如果我们训练这个网络来检测狗的图像,它应该能够比参数初始化为随机值的网络更快地学习。事实上,图像识别是一个有用的信息能够从一个任务转移到另一个任务的领域,使用一个训练有素的网络作为另一个图像识别任务的初始网络的过程已经通过实验验证,提供了性能提升。在工业和研究中,通常从图像识别任务的预训练模型开始,而不是用随机参数初始化模型。
这个神经网络层存储有用的信息可以应用于强化学习。为某些源任务训练模型以提高不同但相关的目标任务的学习和表现速度的过程称为多任务或迁移学习。根据Matthew E. Taylor教授的说法,使用迁移学习来改进某组目标任务涉及三个单独的步骤。必须确定一组源任务,发现源任务和目标任务之间的关系,然后将知识从源任务迁移到目标任务(Taylor,2009)。虽然这些步骤是相关的,但没有一种迁移学习算法可以无缝地执行所有这些任务。相反,每个迁移学习算法都关注于特定步骤。
迁移学习已应用于各种不同的强化学习任务中。在机器人技术中,可以在模拟环境中收集比在现实生活中更多的数据。当然,模拟环境永远不会与现实完全相同,因此迁移学习技术可以提高准确性。
最近,研究人员还研究了电子游戏水平之间的迁移学习。这个月OpenAI发布了一个新的基准,Coin Run,用来测试强化学习代理在共享相同基本机制的不同层次之间传递知识的能力。他们的基准程序生成独特的关卡,但所有关卡都有一个共同的目标,即在关卡结束时获得金币(Cobbe, 2018)。
Coin Run,RL程序的新泛化基准,具有程序生成的级别
在讨论迁移学习领域的进展时,重要的是要认识到知识迁移可以带来质的不同的好处。例如,可以通过预训练源任务来改进代理在目标任务上的初始和/或最终性能。因此,可以使用许多可能的度量来评估迁移学习算法,例如总奖励,与非墙衣学习代理相比的奖励,或达到某个预先指定的性能阈值所需的时间。因此,由于目的和评估指标的差异,没有一种“最先进的”迁移学习方法。
尽管如此,迁移学习的各个领域都在不断取得积极进展。我们很自然地会想到,迁移学习是如何导致人工通用智能的。它在这方面的能力取决于一个人对人工一般智能的准确定义。在大多数人看来,一个具备足够能力完成足够多任务的情报机构,将被视为AGI。目前,如果计算机也接受了目标任务的训练,那么迁移学习技术的表现仍然要好得多——迁移学习可以简单地提高初始性能。虽然这意味着学习大量的任务要花费大量的时间,但我们有可能在这方面的转移学习和人脑之间画出一个关系。作为小孩子,我们的能力很低。我们花了很长时间来学习如何做简单的事情。然而,随着我们年龄的增长,我们积累了更多的经验,当我们面对一个新的情况,我们可以借鉴我们过去的经验。尽管人类远比机器学习算法更强大,但我们可以想象,在未来,迁移学习机器已经掌握了一组数量惊人的任务,其能力甚至超过了普通人。虽然这样的机器不一定是有意识的,也不一定经历情感,但它符合“人类智能”的定义。
然而,这样的机器是纯粹的推测,并且由于资源限制或理论限制,使用类似于当前使用的强化学习和迁移学习技术训练的机器可能永远不会达到人类智能。
超越机器学习
深度学习本质上是有限的。今天媒体中讨论的许多人工智能应用程序,如对象检测,基本上是模式识别。需要为深度学习模型提供大量数据,以便找到该数据的统计趋势。由人们设计模型以使其发现的趋势有意义且有用,这取决于人类。任何一种深度学习模型的应用通常都非常狭窄。由于神经网络是一个黑盒子 - 学习的信息被编码为一组参数,研究人员尚未找到理解的方法 - 我们不知道为什么深度学习模型会做出决策。因此,即使有人为干预,深度学习模型通常仅对单个任务有用。
在对20世纪90年代深度学习兴起期间最有影响力的贡献者之一Yoshua Bengio的采访中,Bengio表达了他对最终接近人类AI的人工智能研究现状的不满。Bengio强调“我们需要考虑人工智能的艰难挑战,而不是对短期的渐进式进展感到满意”。深度和强化学习领域的大部分工作都集中在著名基准测试的性能上的逐步改进,如图像识别数据集ImageNet。Bengio强调需要在更新颖,更具创意的领域扩展研究工作:“我不是说我想忘记深度学习......但我们需要能够扩展它来做推理,学习因果关系和探索世界等事情。 “(奈特,2018年)。
可能仅靠现代深度学习还不足以实现人工智能。由于其强大而丰富的实际应用,深度学习是人工智能领域发展最快的领域,但目前还有其他研究领域可能是通往AGI的必要条件。
一家名为Numenta的小公司正在人工智能领域进行一项鲜为人知的努力。他们正在构建一种他们称之为“分层时间记忆”(HTM)的实用实现。它们的HTM实现与神经网络有相似之处,但HTM的目的是尽可能接近地模拟人类的新皮层。然而,由于深度学习技术在许多任务上都优于Numenta的HTM,因此,他们的HTM实现目前在实际应用中受到了限制。此外,许多深度学习研究人员没有足够的神经科学知识来充分理解HTM背后的动机和理论,这使得HTM的曝光度和关注度更低。尽管如此,取得人工智能可能需要神经科学的深刻见解,不管它最终是否需要通过神经网络技术来模仿人类的大脑。
HTM中“神经元”的结构
然而,人工智能领域还有另一面。在人工智能中,“symbolic”和“connectionist”AI之间存在区别。
我们迄今为止讨论的所有人工智能技术都被认为是connectionist AI,包括Numenta的HTM。connectionist AI使用“大量并行模型[由大量简单和统一的处理元素组成”],并存储分布式数据表示。神经网络显然属于这个定义,由大量处理分布式输入表示的简单元素组成,如图像的像素值。另一种范式,symbolic AI,涉及依赖于symbolic操作的模型。与 connectionist AI相反,在symbolic模型中,“聚集信息被明确表示为由组成符号和这些符号的句法组合构成的聚合结构”(Sun,2000)。
尽管symbolic人工智能在今天的媒体上还没有出现,但它至少已经和connectionist人工智能一样存在了很长一段时间,而且在人工智能历史上占据了更重要的地位。在20世纪60年代,人工智能的symbolic方法开始取代connectionist方法,尤其是感知器,最早的神经网络之一,由于缺乏处理能力和数据,在当时的实际应用有限。一些symbolic人工智能研究者认为人工通用智能是他们研究领域的目标,因为他们真正相信通过symbolic方法是可以实现的(McCorduck, 2004)。
如今,由于数据量的不断增加和计算能力的大幅提高,潮流发生了逆转。深度学习比symbolic学习有更广泛的实际应用,也更受欢迎。然而,我们没有理由忽视symbolic的方法,将其视为实现AGI的潜在必要基石。
一种比较成功的symbolic方法是专家系统。专家系统涉及一组“生产规则”,它们基本上是if-then语句。这些生产规则是人类知识,作为计划的一部分。最终,专家系统将“推理”使用这些规则,操纵和处理它们以及某些输入,得出某些结论,或确定它需要哪些额外信息(Novak,1998)。最终,专家系统得出结论的步骤将是人类可以理解的。
虽然专家系统不一定能够“推理”事物,因为生产规则的计算排列量比人类更快,但它们最终可以产生人类可以理解的推理。虽然专家系统远非自动智能化,因为它们需要生产规则形式的人类知识,但它们的基本推理过程是标准深度学习模型所缺乏的。
一般而言,connectionist方法缺乏因果推理,这是确定因果关系的过程。标准监督学习不能识别因果关系 - 它只识别输入和输出之间的相关性。当然,这限制了监督学习模型的泛化能力。人类依赖于能够从一项任务中获得对过程的因果理解,然后我们可以将其应用于其他任务。用Yoshua Bengio的话来说,“如果你有一个很好的因果模型,你可以处理,你甚至可以在不熟悉的情况下进行泛化。这至关重要。我们人类能够将自己投射到与我们日常体验截然不同的情境中。机器不是,因为他们没有这些因果模型“(Knight,2018)。以前的研究已将因果推理纳入connectionist方法。在做出某些假设的要求下,可以从数学上识别仅来自观测数据的因果关系(Ranganath和Perotte,2018)。尽管如此,这些connectionist方法仍然存在黑盒问题 - 尽管模型可以识别变量x导致变量y,但它无法识别原因 - 并且不代表统计推断之外的自主推理。
尽管如此,机器学习是当今最广为人知和实际使用的人工智能形式。最终,connectionist方法编码分布在许多单独的简单组件上的大量信息已被证明是非常强大的。查找从输入到输出的复合函数映射的过程可以扩展并应用于各种字段。然而,现代方法需要人为每个新任务产生影响,而神经网络依赖于特定领域的数据才能成功。为了实现能够以可传播的方式推理并且将旧体验自主应用于新任务的一般智能,我们必须超越数据驱动的连接主义方法,并将信息研究引入其他领域,例如符号推理和因果推理。