Skip to content

Latest commit

 

History

History
159 lines (80 loc) · 19.5 KB

resurgence-ai-1983-2010.md

File metadata and controls

159 lines (80 loc) · 19.5 KB

1983-2010 年间的人工智能复兴

原文:www.kdnuggets.com/2018/02/resurgence-ai-1983-2010.html

c 评论

序言

每个十年似乎都有其技术流行词:1980 年代有个人计算机;1990 年代有互联网和万维网;2000 年代有智能手机和社交媒体;而这个十年则是人工智能(AI)和机器学习。尽管如此,AI 领域已经有 67 年的历史,这是五篇系列文章中的第二篇,其中:

  1. 第一篇文章讨论了人工智能的起源以及 1950 年至 1982 年的首次炒作周期

  2. 本文讨论了人工智能的复兴及其在 1983-2010 年间的成就

  3. 第三篇文章讨论了人工智能系统已经与人类竞争的领域

  4. 第四篇文章讨论了人工智能当前的炒作周期

  5. 第五篇文章讨论了 2018-2035 年可能对大脑、思想和机器的预示

人工智能的复兴


我们的前 3 名课程推荐

1. 谷歌网络安全证书 - 快速开启网络安全职业生涯

2. 谷歌数据分析专业证书 - 提升您的数据分析技能

3. 谷歌 IT 支持专业证书 - 支持您组织中的 IT 工作


1950-82 年间,人工智能(AI)作为一个新领域诞生,进行了大量开创性的研究,产生了巨大的炒作,但当这种炒作没有实现时,AI 进入了休眠状态,研究资金也枯竭了[56]。在 1983 年至 2010 年期间,研究资金起伏不定,虽然“有些计算机科学家和软件工程师会避免使用‘人工智能’这一术语,以免被视为异想天开的人”[43],但 AI 研究依然持续升温。

在 1980 年代和 1990 年代,研究人员意识到许多 AI 解决方案可以通过使用数学和经济学中的技术如博弈论、随机建模、经典数值方法、运筹学和优化来改进。更好的数学描述被开发出来用于深度神经网络以及进化和遗传算法,这些在此期间得到了成熟。所有这些都导致了 AI 中新子领域和商业产品的诞生。

在本文中,我们首先简要讨论了监督学习、无监督学习和强化学习,以及在这一时期变得相当流行的浅层和深层神经网络。接下来,我们将讨论以下六个促使人工智能研究和发展加速的原因——硬件和网络连接变得更便宜和更快;并行和分布式计算变得实际可行,且大量数据(“大数据”)变得可用于训练人工智能系统。最后,我们将讨论一些在这一时期商业化的人工智能应用。

机器学习技术显著改进

监督机器学习

这些技术需要通过使用标记数据进行人工训练[58]。假设我们有几千张狗和猫的面部照片,我们希望将它们分成两组——一组包含狗,另一组包含猫。与其手动完成,不如由机器学习专家编写一个程序,程序中包括区分狗脸和猫脸的属性(例如,胡须长度、垂耳、角脸、圆眼)。在包含足够多的属性并检查程序的准确性后,将第一张图片提供给这个“黑箱”程序。如果其输出与“人类训练者”(可能是现场培训或提供了预标记图片)的输出不相同,程序会修改其内部代码,以确保其答案与训练者(或预标记图片)的答案相同。在经过几千张这样的图片并相应修改后,这个黑箱学会了区分狗脸和猫脸。到 2010 年,研究人员开发了许多可以在黑箱内部使用的算法,其中大多数在附录中提到,今天,一些常用这些技术的应用包括物体识别、说话人识别和语音转文本转换。

无监督学习算法

这些技术不需要任何预标记的数据,它们尝试从“未标记”的数据中确定隐藏的结构[59]。无监督学习的一个重要应用案例是计算相对于关键属性的隐藏概率分布并进行解释,例如,通过使用数据的属性来理解数据,然后将其分成“相似”的组。无监督学习中有几种技术,其中大多数在附录中提到。由于这些算法所处理的数据点是未标记的,它们的准确性通常很难定义。使用无监督学习的应用包括推荐系统(例如,如果某人购买了 x,那么此人是否会购买 y)、为营销目的创建群体(例如,按性别、消费习惯、教育程度、邮政编码进行聚类)和为改善疾病管理创建患者群体。由于 k-means 是最常用的技术之一,因此下面简要描述了它:

假设我们有很多数据点,每个数据点有 n 个属性(可以标记为 n 个坐标),我们想将它们划分为 k 个组。由于每个组有 n 个坐标,我们可以将这些数据点想象成在 n 维空间中。首先,算法将这些数据点任意划分为 k 个组。现在,对于每个组,算法计算其质心,这是一个虚拟点,每个坐标是该组中所有点相同坐标的平均值,即,这个虚拟点的第一个坐标是该组中所有点第一个坐标的平均值,第二个坐标是所有第二个坐标的平均值,以此类推。接下来,对于每个数据点,算法找到最接近该点的质心,并实现这些数据点的新 k 个组的划分。该算法再次找到这些组的质心,并重复这些步骤,直到它收敛或经过了指定次数的迭代。下图展示了 k=2 的二维空间示例:

另一种技术,层次聚类创建层次性组,在顶层会有‘超级组’,每个超级组包含子组,这些子组可能包含子子组,依此类推。k-means 聚类通常也用于创建层次性组。

强化学习

强化学习(RL)算法通过其行动的后果来学习,而不是通过人类教授或使用预标记的数据[60];这类似于巴甫洛夫的条件反射,当巴甫洛夫发现他的狗在他进入房间时会开始流口水,即使他没有带食物[61]。这些算法应遵守的规则事先给出,它们根据过去的经验和新选择来选择行动。因此,它们在模拟环境中通过试错学习。在每次“学习会话”结束时,RL 算法为自己提供一个“分数”,以表征其成功或失败的程度,随着时间的推移,算法尝试执行那些最大化该分数的行动。尽管 IBM 的深蓝没有使用强化学习作为例子,我们描述了一个潜在的用于下棋的 RL 算法:

作为输入,RL 算法提供了下棋的规则,例如,8*8 棋盘,棋子的初始位置,每个棋子在一步中可以做什么,玩家的王被将死时的分数为零,对方的王被将死时的分数为一,如果棋盘上只剩下两个王,则分数为 0.5。在这个实施方案中,RL 算法创建了两个相同的解决方案 A 和 B,它们开始相互下棋。在每局游戏结束后,RL 算法将适当的分数分配给 A 和 B,并且还保留了 A 和 B 所做的所有移动和反移动的完整历史,这些可以用于训练 A 和 B(各自)以更好地玩游戏。在第一轮中玩了几千局这样的游戏后,RL 算法使用“自生成”的标记数据(每局游戏的结果为 0、0.5 和 1 以及该游戏中所有的移动)并通过学习技术,确定了导致 A(以及类似地 B)获得较差分数的移动模式。因此,在下一轮中,它为 A 和 B 改进这些解决方案,并优化这些“差劲的移动”,从而在第二轮中改进它们,然后是第三轮,依此类推,直到一轮到另一轮的改进变得微不足道,此时 A 和 B 最终成为经过合理训练的解决方案。

1951 年,Minsky 和 Edmonds 建造了第一个神经网络机器 SNARC(随机神经类比强化计算机);它成功模拟了老鼠在迷宫中寻找食物的行为,当它在迷宫中移动时,一些突触连接的强度会增加,从而强化了基础行为,这似乎模拟了活体神经元的功能[5]。一般而言,强化学习算法在解决优化问题、游戏理论情境(例如,在玩掼蛋[62]或围棋[94])以及在商业规则明确的问题(例如,自动驾驶)中表现良好,因为它们可以通过与人类或彼此对抗进行自我学习。

混合学习

混合学习技术使用一种或多种监督学习、无监督学习和强化学习技术的组合。半监督学习在标记大数据集代价高或耗时的情况下特别有用,例如,在区分狗脸和猫脸时,如果数据库包含一些已标记的图像但大多数未标记的图像。它们的一些广泛用途包括分类、模式识别、异常检测和聚类/分组。

神经网络的复兴——浅层和深层

正如前一篇文章[56]中讨论的,一个单层感知器网络由一个输入层组成,连接到一个感知器的隐藏层,然后再连接到一个感知器的输出层[17]。通过连接传递的信号由该连接的“权重”重新校准,这个权重在“学习过程中”分配给连接。像人类神经元一样,如果所有的输入信号总和超过指定的潜在值,感知器就会“发射”,但与人类不同,在大多数此类网络中,信号只在一层与前面的层之间移动。术语“人工神经网络(ANNs)”由 Igor Aizenberg 及其同事于 2000 年创造,用于布尔阈值神经元,但也用于感知器和其他同类“神经元”[63]。下面给出了一个隐藏层和八个隐藏层网络的示例:

尽管多层感知器于 1965 年发明,并且在 1971 年提供了一个训练 8 层网络的算法[18, 19, 20],但“深度学习”这一术语由 Rina Dechter 在 1986 年引入[64]。就我们的目的而言,深度学习网络有超过一个隐藏层。

尽管多层感知器于 1965 年发明,并且在 1971 年提供了一个训练 8 层网络的算法,但“深度学习”这一术语由 Rina Dechter 在 1986 年引入

下面给出了在 1975 年到 2006 年期间开发的重要深度学习网络,并且今天仍然被频繁使用;它们的描述超出了本文的范围:

  • 1979 年,Fukushima 提供了第一个“卷积神经网络”(CNN),他开发了 Neocognitron,并使用了分层的多层设计 [65]。CNN 广泛用于图像处理、语音到文本转换、文档处理以及基于结构的药物发现中的生物活性预测 [97]。

  • 1983 年,Hopfield 推广了递归神经网络(RNN),这些网络最初由 Little 于 1974 年引入 [51,52,55]。RNN 类似于 Rosenblatt 的感知机网络,但由于允许连接既向输入层也向输出层延伸,因此不是前馈的,这使得 RNN 能够表现出时间行为。与前馈神经网络不同,RNN 使用其内部记忆处理任意序列的输入数据。RNN 此后被用于语音到文本转换、自然语言处理和心力衰竭早期检测 [98]。

  • 1997 年,Hochreiter 和 Schmidhuber 开发了一种特定类型的深度学习递归神经网络,称为 LSTM(长短期记忆)[66]。LSTM 解决了训练 RNN 时出现的一些问题,非常适合与时间序列相关的预测。这些网络的应用包括机器人技术、时间序列预测、语音识别、语法学习、手写识别、蛋白质同源性检测以及医疗护理路径预测 [99]。

  • 2006 年,Hinton、Osindero 和 Teh 发明了深度置信网络,并展示了在许多情况下,多层前馈神经网络可以通过将每一层视为无监督机器来逐层进行预训练,然后使用有监督的反向传播进行微调 [67]。这些网络的应用包括图像识别、手写识别以及识别肝癌和精神分裂症等疾病的发生 [100, 109]。

并行和分布式计算提高了 AI 能力

在 1983 到 2010 年间,硬件变得便宜了很多,速度提高了超过 50 万倍;然而,对于许多问题来说,一台计算机仍然不足以在合理的时间内执行许多机器学习算法。从理论上讲,1950-2000 年的计算机科学研究表明,通过同时使用许多计算机并以分布式方式处理,这些问题可以更快地解决。然而,以下与分布式计算相关的基本问题直到 2003 年才得到解决:(a)如何并行计算,(b)如何在计算机之间“公平”地分配数据并进行自动负载均衡,(c)如何处理计算机故障以及在计算机陷入无限循环时中断它们。2003 年,谷歌发布了 Google File Systems 论文,并在 2004 年发布了 MapReduce,这是一个用于在集群上处理和生成大数据集的并行分布式算法的框架及其相关实现[68]。由于 MapReduce 是谷歌专有的,2006 年,Cutting 和 Carafella(来自华盛顿大学,但在 Yahoo 工作)创建了一个开源的免费版本,称为 Hadoop[69]。此外,2012 年,Spark 及其弹性分布式数据集被发明,这相比于 MapReduce 和 Hadoop 实现降低了许多应用的延迟[70]。如今,基于 Hadoop-Spark 的基础设施可以处理 10 万台或更多计算机以及数亿千兆字节的存储。

大数据开始帮助人工智能系统

在 1998 年,John Mashey(在 Silicon Graphics)似乎首次创造了“Big Data”(大数据)这一术语,指的是数据生成和传输的巨大体量、多样性和速度[71]。由于大多数学习技术需要大量数据(尤其是标记数据),组织的存储库和万维网上存储的数据变得对人工智能至关重要。到 2000 年初,社交媒体网站如 Facebook、Twitter、Pinterest、Yelp 和 YouTube 以及博客和大量电子设备开始生成大数据,这为创建多个“开放数据库”提供了基础,这些数据库包含标记和未标记的数据(供研究人员实验使用)[72,73]。到 2010 年,人类已经创建了近一千万亿千兆字节(即一个 zettabyte)的数据,其中大多数是结构化的(例如,电子表格、关系数据库)或非结构化的(例如,文本、图像、音频和视频文件)[74]。

人工智能子领域的进展与商业应用

强化学习算法玩西洋双陆棋

在 1992 年,IBM 的 Gerald Tesauro 开发了 TD-Gammon,这是一个用来玩西洋双陆棋的强化学习程序;当时它的水平略低于顶尖的人类西洋双陆棋玩家[62]。

机器在国际象棋中战胜了人类

艾伦·图灵是 1953 年首次设计计算机象棋程序的人,尽管他是“通过翻阅算法的页面并在棋盘上执行指令来运行程序”[75]。1989 年,在卡内基梅隆大学开发的象棋程序 HiTech 和 Deep Thought 战胜了几位象棋大师[76]。1997 年,IBM 的 Deep Blue 成为第一个击败世界冠军加里·卡斯帕罗夫的计算机象棋系统。Deep Blue 的成功主要归功于其显著更好的工程设计和每秒处理 200 百万个棋步的能力[77]。

机器人技术

1994 年,Adler 及其斯坦福大学的同事们发明了一种立体定向放射外科手术机器人——Cyberknife,它能够手术切除肿瘤;它的准确性几乎与人类医生一样,在过去 20 年中,它已经治疗了超过 100,000 名患者[78]。1997 年,NASA 制造了 Sojourner,一种能够在火星表面执行半自主操作的小型机器人[79]。

更好的聊天机器人

1995 年,Wallce 创建了基于模式匹配的 A.L.I.C.E.,但没有推理能力[80]。随后,Jabberwacky(在 2008 年更名为 Cleverbot)被创造出来,具有网络搜索和游戏能力[81],但本质上仍然有限。这两款聊天机器人都使用了改进的自然语言处理算法来与人类交流。

改进的自然语言处理(NLP)

直到 1980 年代,大多数自然语言处理系统都基于复杂的手工编写规则。1980 年代末,研究人员开始使用机器学习算法进行语言处理。这是由于硬件的速度和成本的降低以及对乔姆斯基语言学理论的主导地位的削弱。于是,研究人员创建了统计模型,通过为适当的输入特征分配权重来做出概率决策,他们还开始使用监督学习和半监督学习技术以及部分标记的数据[82,83]。

语音和说话者识别

在 1990 年代末,SRI 研究人员使用深度神经网络进行说话者识别,并取得了显著的成功[84]。2009 年,Hinton 和 Deng 与多位来自多伦多大学、微软、谷歌和 IBM 的同事合作,展示了使用基于 LSTM 的深度网络在语音识别方面的显著进展[85,86]。

推荐系统

到 2010 年,几家公司(如 TiVo、Netflix、Facebook、Pandora)利用 AI 构建了推荐引擎,并开始将其用于营销和销售,从而提高了他们的收入和利润率[87]。

识别手写数字

1989 年,LeCun 及其同事首次展示了反向传播的实际应用;他们将卷积神经网络(CNN)与反向传播结合起来,以识别“手写”数字。这个系统最终被用于读取手写支票上的数字;到 1998 年及 2000 年代初,这些网络处理了美国约 10%到 20%的支票[88]。

在 1983 年至 2010 年期间,Hinton、Schmidhuber、Bengio、LeCun、Hochreiter 等人所做的杰出研究确保了深度学习的快速进展,并且一些网络也开始被用于商业应用。

结论

2000 年已过去,但艾伦·图灵关于人类创造 AI 计算机的预言仍未实现[3,4],而 Loebner 奖于 1990 年发起,旨在开发这样的计算机[89]。尽管如此,在 AI 方面取得了重大进展,特别是在深度神经网络方面,深度神经网络于 1965 年被发明,1971 年提出了训练它们的第一个算法[18,19,20];在 1983 年至 2010 年期间,Hinton、Schmidhuber、Bengio、LeCun、Hochreiter 等人所做的杰出研究确保了深度学习技术的快速进展[90,91,92,93],这些网络中的一些开始被用于商业应用。由于这些技术以及便宜的硬件和数据的可用性使其变得实际,研究和开发的步伐在 2005 年至 2010 年期间显著加快,这反过来又导致了 AI 解决方案的显著增长,这些解决方案在 2011 年至 2017 年期间开始与人类相抗衡;我们将在下一篇文章“AI 系统与人类竞争的领域”[151]中讨论这些解决方案。

本系列所有文章的参考文献可以在www.scryanalytics.com/bibliography找到。

简介: 阿洛克·阿加瓦尔博士,是Scry Analytics, Inc的首席执行官和首席数据科学家。他曾在 IBM 研究院约克镇工作,创立了 IBM 印度研究实验室,并且是 Evalueserve 的创始人和首席执行官,Evalueserve 在全球雇佣了 3000 多名员工。2014 年,他创办了 Scry Analytics。

原始。转载已获许可。

相关