简介
人工智能现在正深刻地影响着我们的生产与生活,甚至关系到人类未来的前途命运,但究竟什么是人工智能?人工智能背后的原理是什么?从问世到演化至今,人工智能经历了怎样的历史变迁?当下人工智能的能力边界在哪里?人工智能与人类智能的差异是什么?未来人工智能又将面对什么样的挑战和机遇?关于这些疑问,《AI 3.0》将为你一一揭晓答案。 《AI 3.0》是超级畅销书《复杂》作者、复杂系统前沿科学家梅拉妮•米歇尔历经10年思考,厘清人工智能与人类智能的全新力作。本书源自米歇尔多年来对人工智能领域发展真实状态的记录,她在书中通过5个部分揭示了“现在的人工智能可以做什么,以及在未来几十年我们能从它们身上期待什么”。在描述了人工智能的发展历史之后,作者通过对视觉识别、游戏与推理、自然语言处理、常识判断这4大人工智能领域的热门应用的发展现状和局限性的探究,厘清了人工智能与人类智能的关系,书中关于人脸识别、无人驾驶、机器翻译等方面的案例分析都充满了巨大的启示!而这些,都是当下人工智能发展所面临的困境、人工智能想要取得突破性进展所必须重新思考的。看懂这本书,你将对人工智能领域有一个全景式的认知。 “GEB”作者侯世达曾逐章审读本书,并为每一页都写满了意见!《AI 3.0》是智能觉醒的启蒙,将掀起第三波人工智能热潮!《AI 3.0》所要传达的观点是:我们人类倾向于高估人工智能的进步,而低估人类自身智能的复杂性。目前的人工智能与通用的、人类水平的智能还相距甚远。我们应该感到害怕的不是智能机器,而是“愚笨”的机器,即那些没有能力独立做决策的机器。相比于机器的“智能”,我们更应关注如何规避“愚笨”机器的潜在风险。
作者介绍
梅拉妮·米歇尔 波特兰州立大学计算机科学教授,曾在美国圣塔菲研究所(Santa Fe Institute)和洛斯阿拉莫斯国家实验室(Los Alamos National Laboratory)工作,主要的研究领域为类比推理、复杂系统、遗传算法等。在圣塔菲研究所时,米歇尔主导了复杂系统领域的研究工作,并教授了相关的在线课程。她的在线课程《复杂性入门》已经被近30 000名学生选修,成为Coursera排名前50位的在线课程之一。 米歇尔拥有密歇根大学计算机科学博士学位,师从认知科学家和作家侯世达(Douglas Hofstadter),两人共同创建了Copycat程序,该程序可以在理想化的情境里进行创造性的类比。米歇尔还是知名畅销书作家,著有《复杂》(Complexity: A Guided Tour)《遗传算法导论》(Genetic Algorithms)等。
部分摘录:
从起源到遭遇寒冬,心智是人工智能一直无法攻克的堡垒
达特茅斯的两个月和十个人
创造一台和人类一样聪明,甚至比人类更聪明的智能机器的梦想,已有几个世纪的历史,而随着数字计算机的崛起,这一梦想已成为现代科学的一部分。第一台可编程计算机的构建想法,实际上来自数学家将人类思想,特别是逻辑,当作“符号操纵”的机械过程的尝试。数字计算机本质上是符号操纵器,操纵符号“0”和“1”的各种组合。艾伦·图灵和约翰·冯·诺伊曼等计算机领域的先驱认为,人脑与计算机之间存在着极强的相似性,因而可以将人脑类比为计算机,并且在他们看来,人类智能显然能够被复制到计算机程序中。
人工智能领域的大多数从业者认为,该领域的正式确立可以追溯到1956年由一位名叫约翰·麦卡锡的年轻数学家在达特茅斯学院举办的一场小型研讨会。
1955年,28岁的麦卡锡进入了达特茅斯学院的数学系。在读本科时,他就学过一点儿心理学和“自动机理论”(后来演变为计算机科学)这一新兴领域的知识,并对创造一台能够思考的机器产生了兴趣。在普林斯顿大学数学系的研究生学院,他遇到了和自己一样对智能计算机的潜力十分着迷的学长马文·明斯基(Marvin Minsky)(12)。毕业后,麦卡锡在贝尔实验室和IBM曾经短暂任职,其间,他分别与信息论的发明者克劳德·香农(Claude Shannon)以及电气工程先驱内森尼尔·罗切斯特(Nathaniel Rochester)合作过。在达特茅斯时,麦卡锡曾说服明斯基、香农和罗切斯特帮助他组织一个人工智能研究项目,这个项目计划在1956年夏天开展,为期两个月,共10个人参与1。“人工智能”一词就是麦卡锡发明的,他希望将这一领域与一项名为“控制论”2的研究区分开来。麦卡锡后来承认:“当时没有人真正喜欢这个名字——毕竟,我们的目标是‘真正的’智能,而非‘人工的’智能,但是我必须得给它起个名字,所以我称它为‘人工智能’。”3
他们4位组织者向洛克菲勒基金会递交了一份提案,请求其为这一夏季研讨会提供资助。他们写道,这一提案是基于“学习的每个方面,或者说智能的任何特征,从原则上来说都可以被精确地描述,因此,可以制造一台机器来进行模拟”4。该提案列出了一系列需要讨论的主题,如自然语言处理(natural-language processing, NLP)、神经网络、机器学习、抽象概念和推理、创造力等,这些主题至今仍定义着人工智能这一领域。
在1956年,即便是最先进的计算机,其速度也达不到现代智能手机的百万分之一,但麦卡锡和他的同事依旧非常乐观地认为人工智能是触手可及的:“我们认为,只要精心挑选一组科学家共同针对这其中的一个或多个课题研究一整个夏天,就能够取得重大的进展。”5
然而很快就出现了问题,一个对今天任何一位科学研讨会的组织者来说都很熟悉的问题——洛克菲勒基金会只批准了他们所需资助金的一半,而且事实证明,说服参与者来参加会议并留下来做研究,要比麦卡锡想象的困难得多,更别提在任何问题上达成共识了。会上出现了很多有趣的讨论,但并没有达成什么一致意见,这类会议常常就是这样:每个人都有不同的想法和强烈的自我意识,并对自己的计划充满热情6。尽管如此,达特茅斯的这次夏季人工智能研讨会还是获得了一些非常重要的成果:该领域得到了命名;其总体目标也基本明确了;即将成为该领域“四大开拓者”的麦卡锡、明斯基、艾伦·纽厄尔(Allen Newell)和西蒙得以会面,并对未来做出了一些规划,而且不知出于什么原因,这4个人开完会后都对该领域持极大的乐观态度。20世纪60年代初,麦卡锡创立了斯坦福人工智能项目(Stanford Artificial Intelligence Project),其目标是:“在10年内打造一台完全智能的机器。”7大概在同一时间,后来的诺贝尔奖得主西蒙预测:“用不了20年,机器就能够完成人类所能做的任何工作。”8不久之后,麻省理工学院人工智能实验室(MIT AI Lab)的创始人明斯基就预言:“在一代人之内,关于创造‘人工智能’的问题将得到实质性的解决。”9
定义,然后必须继续下去
这些预期事件至今一件都没有发生。那么,我们距离构建一台“完全智能的机器”的目标还有多远?构建这样的机器会需要我们对人脑的所有复杂性进行逆向工程吗?或者,是否存在一条捷径、一套智能但未知的算法,可以产生我们所认为的完全智能?完全智能究竟意味着什么?
“定义你的术语……否则我们将永远无法相互理解。”10这一来自18世纪的哲学家伏尔泰的忠告,对于任何谈论人工智能的人来说都是一个挑战,因为人工智能的核心概念——“智能”(intelligence)仍然没有明晰的定义。针对类似“智能”及其引申词,如“思想”(thinking)、“认知”(cognition)、“意识”(consciousness)、“情感”(emotion)这样的词语,明斯基创造了“手提箱式词汇”(suitcase word)11这一术语,其意思是:每个词语就像是打包封装了不同含义的手提箱。人工智能就经过了“打包”,在不同的上下文中承担不同的含义。
大多数人会认同人类是智能的,而尘埃颗粒不是。同样的道理,我们普遍认为人类比虫子更加智能。对于人类智能,智商(IQ)是在单一尺度上衡量的,但我们也会探讨智能的不同维度,如情感、语言、空间、逻辑、艺术、社交等。因此,智能的定义可能是二元的(一个物体是或不是智能的)、在一个连续统(13)上的(一个物体比另一个物体更智能),或者是多维的(一个人可以具有高语言智能和低情感智能)。确实,“智能”这个词语是一个满载的手提箱,而拉链就在随时可能撑破的边缘上。
然而,人工智能领域在很大程度上忽略了这些各式各样的区别,它聚焦于两方面的工作:一方面是科学性工作;另一方面是实践性工作。在科学性工作中,人工智能研究者通过将“自然的”即生物学上的智能机制嵌入计算机的方式来研究它;而在实践性工作中,人工智能研究者单纯地希望创造出像人类一样,甚至可以比人类更好地执行任务的计算机程序,并不担心这些程序是否真的在以人类的思维方式进行思考。当被问及他们的研究动机来自哪一方面时,人工智能领域的很多从业者会开玩笑地说,这取决于他们目前的资助是来自哪一方。
2016年,一份关于人工智能领域现状的报告称,由著名研究人员组成的某委员会将该领域定义为“一个通过合成智能来研究智能属性的计算机科学分支”12。是的,这有点儿拗口,但该委员会也承认很难对该领域进行定义,而这可能是一件好事:“缺乏一个精确的、得到普遍接受的人工智能的定义,可能有助于该领域更快地成长、繁荣和进步。”13此外,该委员会还指出:“由于以上各种不确定,人工智能领域的实践者、研究者以及开发者都在一个大致的方向感和势在必行的信念的引导下继续前进。”
任何方法都有可能让我们取得进展
1956年,在达特茅斯的研讨会上,不同领域的参会者对采用何种方法来研究人工智能产生了分歧。数学家提倡将数学逻辑和演绎推理作为理性思维的语言;另一些人则支持归纳法,这是一种运用程序从数据中提取统计特征,并使用概率来处理不确定性的方法;其他人则坚信应该从生物学和心理学中汲取灵感来创造类似大脑的程序。令人惊讶的是,这些不同研究方法的支持者之间的争论一直持续到了今天,每一种方法都形成了自己的一套原则和相关技术,它们又通过在各自领域的专业会议和期刊上传播得以巩固,但这些有待深入研究的领域之间却几乎没有交流。2014年,有一篇人工智能调研文章对此总结道:“因为我们并未深入了解智能,也不知道如何创造通用人工智能,因此,想要真正取得进展,我们应当拥抱人工智能‘方法论的无政府状态’,而不应切断任何一种探索途径。”14
2010年以后,有一类人工智能研究方法已经超越这种“无政府状态”成了主流的人工智能研究范式,那就是深度学习,其工具就是深度神经网络(deep neural network,DNN)。事实上,在大众媒体上,“人工智能”这一术语基本上已经等同于深度学习了,然而,这是一种令人感到遗憾的、不准确的描述,我需要澄清这两者之间的区别。人工智能是一个包括广泛研究方法的领域,其目标是创造具有智能的机器,而深度学习只是实现这一目标的一种方法。深度学习本身是机器学习领域众多研究方法中的一种,后者又是人工智能的一个子领域,着重关注机器从数据或自身的“经验”中进行学习。为更好地理解这些不同领域的区别,了解早期人工智能研究领域出现的一个哲学分歧是很重要的,那就是所谓的符号人工智能和亚符号人工智能之间的分歧。
符号人工智能,力图用数学逻辑解决通用问题
我们先来看一下符号人工智能。一个符号人工智能程序里的知识包括对人类来说通常可以理解的单词或短语(即“符号”),以及可供程序对这些符号进行组合和处理以执行指定任务的规则。
举个例子,一个早期的人工智能程序被创建者自信地命名为“通用问题求解器”15,其英文简称为“GPS”。这个首字母缩写的确让人感到困惑,但通用问题求解器的出现早于全球定位系统(global positioning system, GPS)。通用问题求解器可以解答诸如“传教士和食人者”之类的智力游戏题,但这些题目你可能在孩童时期就已经知道如何解决了。在这个众所周知的难题中,3个传教士和3个食人者都需要过河,但一艘小船上只能载2人。如果河岸一边饥饿的食人者的数量超过了“美味的”传教士的话……好吧,你知道会发生什么。那么,他们如何成功地渡过这条河?
通用问题求解器的创建者,认知科学家西蒙和纽厄尔,记录了几个学生在解决这个问题以及其他逻辑难题时“自言自语”的过程。西蒙和纽厄尔随后设计了他们认为能够模仿学生的思考过程的程序。
这里我就不详细介绍通用问题求解器的工作原理了,但是从其程序指令的编码方式中可以看出它的符号性质。为了解决这个问题,人类会为通用问题求解器编写类似以下内容的代码:
CURRENT STATE: LEFT-BANK = [3 MISSIONARIES, 3 CANNIBALS, 1 BOAT] RIGHT-BANK = [EMPTY] DESIRED STATE: LEFT-BANK = [EMPTY] RIGHT-BANK = [3 MISSIONARIES, 3 CANNIBALS, 1 BOAT]
上面这组代码描述了这样一个事实:最初,河的左岸(LEFT-BANK)包含了3名传教士(3 MISSIONARIES)、3名食人者(3 CANNIBALS)和1艘船(1 BOAT),而右岸不包含以上这些元素。理想状态表示程序的目标:让他们全部都到河的右岸。
通用问题求解器每运行一步,都会试图改变当前状态,以使其更接近理想状态。通用问题求解器的代码中,有能够把当前状态转变到一个新状态的“运算符”(operators,以子程序的形式存在),还有能够编码任务约束的规则。例如,有一个运算符是把一定数量的传教士和食人者从河岸的一边移动到另一边:
MOVE(# MISSIONARIES, # CANNIBALS, FROM-SIDE, TO-SIDE)
括号内的单词称为参数,当程序运行时,它用数字或其他单词替换这些单词。也就是说,程序用要移动的传教士的数量来替换“MISSIONARIES”,用要移动的食人者的数量来替换“CANNIBALS”,用“LEFT-BANK”和“RIGHT-BANK”替换“FROM-SIDE”和“TO-SIDE”,这取决于传教士和食人者将被转移到河岸的哪一边,而船随着传教士和食人者一起移动这一信息,是被编码在程序之中的。
在调用运算符和使用特定值替换这些参数之前,程序必须检查其编码规则。例如,一次最多可以移动2人,并且如果该运算符会导致在同一河岸的食人者数量超过传教士的数量,则它不能被调用。
这个案例中的符号表示的都是人类可理解的概念,如传教士、食人者、船只、河岸等,但运行该程序的计算机并不知道这些符号的含义。你可以用“Z372B”或任何其他无意义的字符串替换所有的“MISSIONARIES”,程序也会以完全相同的方式工作,这就是通用问题求解器中“通用”一词的部分含义。对于计算机,符号的意义来自它们之间组合、相互关联和相互作用的方式。
符号人工智能的支持者认为,想要在计算机上获得智能,并不需要构建模仿大脑运行的程序。相反,其观点是,通用智能完全可以通过正确的符号处理程序来获得。我同意这种看法,构建这样一个程序要比构建传教士和食人者这个例子中所使用的程序复杂得多,但它仍然会由符号、符号组合、符号规则和运算组成。
由通用问题求解器所阐释的这类符号人工智能,在人工智能领域发展的最初30年里占据了主导地位,其中以专家系统最为著名。在专家系统中,人类专家为计算机程序设计用于医疗诊断和法律决策等任务的规则。人工智能领域有几个活跃的分支到现在仍在采用符号人工智能,我将在后面的章节中讲述其中的一些例子,特别是在探讨推理和“拥有常识”的人工智能方法的相关章节。