第1部分 人工智能简介
第1章 AI介绍
人工智能(AI)多年来有几次错误的开始和停滞,一部分原因是人们没有真正理解AI是什么,甚至不明白它能做什么。主要的问题是:电影、电视节目和书籍共同导致了人们对AI能做什么抱有错误的希望。此外,人类倾向于人性化(赋予人类特性)技术,使得AI似乎必须超其能力去做更多。所以本书开始的部分首先定义AI究竟是什么、它不是什么以及今天它如何与计算机联系在一起。
当然,你对AI的期望基于你如何定义AI、你所拥有的实现AI的技术以及你的AI目标。因此每个人眼中的AI都不一样。本书采用了折中的方案,尽可能从多个不同的角度观察AI。本书定义AI时,力争做到既不受鼓吹者的蛊惑,又不被诋毁者的消极情绪所影响,以便从技术的角度得到对AI的更好的理解。因此,你在本书读到的可能与你期望的有所不同,这很好,重要的是考虑技术真正能为你做什么而不是期望它做不可能的事。
1.1 AI定义
在使用任何有意义和有用的术语之前,你必须先定义它。毕竟如果没有人同意其含义,那么这个词就仅仅是一个字符集合,而不是一个术语。使用在不同时期以不同方式经常出现在新闻中的技术术语来定义习语(单从它的组成成分来看,其意义并不清晰)非常重要。
说AI是人工智能,这并没有真正告诉你任何有意义的事情,这也是为什么针对这个词有这么多的讨论和分歧的原因。当然,你可以说人工的(artificial)意味着人为的,不是来源于自然资源。但智能(intelligence)一词充其量是模棱两可的。即使你不一定同意下面章节中AI的定义,但本书是基于此定义来使用AI这个词,所以了解这个定义将帮助你更容易理解书中的其他部分。
1.1.1 智能
人们用多种方式来定义智能(intelligence),但你可以认为智能包括下列活动中的智力行为。
● 学习:具有获取和处理新信息的能力。
● 推理:能够用多种方式处理信息。
● 理解:考虑信息处理的结果。
● 发现真理:确定处理信息的有效性。
● 查看关系:推测如何验证数据与其他数据的相互作用。
● 考虑含义:在关系一致的情况下,将真理应用于特定情况。
● 分离事实与信念:确定数据是否被可靠的、可证明是一贯有效的来源充分支持。
列表容易变得很长,但即使是这样也比较容易被任何接受它的人解释为可行的。正如你从列表中看到的,智能通常伴随着计算机系统所能模仿的过程,是仿真的一部分。
(1)根据需要设定目标。
(2)评估所支持目标的所有当前已知信息的价值。
(3)收集可以支持目标的附加信息。
(4)处理数据使其形式与现有信息的形式一致。
(5)定义现有信息和新信息之间的关系和真值。
(6)确定目标是否实现。
(7)根据新数据和新数据对成功概率的影响来修改目标。
(8)根据需要重复步骤2~步骤7,直到实现目标(目标可真实实现)或耗尽实现目标的可能性(目标不可能实现)。
即使你能创建算法并提供数据访问来支持计算机的处理过程,但计算机实现智能的能力仍是严重受限的。例如,计算机无法理解任何东西,因为它依赖于机械过程,该过程以严格的机械方式使用纯数学来操作数据。同样,计算机不易分辨真理与谬误(详见第2章)。事实上,没有计算机能够完全实现智能列表中描述的任何心理活动。
作为智能真正包含的一部分,对智能进行分类也是很有帮助的。人类不是只使用一种智能,而是依靠多种智能来完成任务。
哈佛大学的Howard Gardner已经定义了很多类型智能,了解它们有助于将其与计算机能模拟的智能任务的类型联系起来(表1-1列出了这些智能类型的改良版并辅以说明)。
表1-1 智能类型
1.1.2 定义AI的4种方法
正如前一节所描述的,首先要理解的概念是AI与人类智能没有真正的关系。当然,一些AI被建模为模仿人类智能,但仅是模仿而已。想到AI时,需注意到目标探索、用于达成该目标的数据处理和为了更好地理解目标的数据获取之间的相互作用。AI根据算法得到一个结果,该结果可能与人类的目标或实现这些目标的方法无关。基于此,可以将AI分为4种。
● 行为类似人类:计算机行为类似人类,这在图灵测试中有很好的反映,当无法区分计算机和人类时,计算机在图灵测试中胜出。这也反映了媒体对AI的看法。你可以看到它被应用于自然语言处理、知识表示、自动推理和机器学习等技术中(所有这4种都必须通过测试方可使用)。
● 思考类似人类:当计算机像人一样思考时,它可以执行需要人的智能(与死记硬背相反)才能完成的任务,如驾驶汽车。为了确定程序是否像人类一样思考,你必须用认知建模的方法来确定人类如何思考,这个建模依赖于3种技术。
〇 反思:通过监控自己的思维过程来检测和记录实现目标的技术。
〇 心理测试:观察一个人的行为,并将其添加至记录其他人的类似行为的数据库中。测试中注意给予一系列类似的境况、目标、资源和环境条件等。
〇 脑成像:通过各种机械手段,如计算机轴向断层扫描(CAT)、正电子发射断层扫描(PET)、磁共振成像(MRI)和脑磁图(MEG)直接监测脑活动。
● 在建模之后,可以编写一个模拟模型的程序。考虑到人的类思维过程中的变化,以及准确地将这些思维过程表示为程序的困难程度,结果最好是实验性的。这类像人类一样思考的智能通常被用于心理学以及其他领域,其中为人类的思考过程建模以创建逼真的模拟是必不可少的。
● 理性思考:研究人类如何使用某些标准来创建描述典型人类行为的准则。当一个人在一定程度的偏差中遵循这些行为时,这个人可以被视为理性的。计算机的理性思考依赖于其根据手头数据记录下的行为而创建的与环境交互的准则。这种方法的目的是尽可能理性地解决问题。多数情况下,这种方法用于创建解决问题的基本技术,然后再进行修改以便解决实际问题。换句话说,理论上解决问题不同于实际解决问题,但你仍需要一个起点。
● 理性行为:研究人类在特定情况下的反应能帮助你确定哪些技术有效又高效。计算机依赖与环境(包括条件、环境因素和现有数据等因素)交互的动作记录作出理性反应。与理性思维一样,理性行为依赖于原则上的解决方案,但在实践中可能无效。但理性行为确实为计算机探索以便成功完成目标提供了起跑线。
人类过程与理性过程
人类处理过程跟理性处理过程的结果并不相同。之所以说一个过程是理性的,是因为它总是能基于当前信息,给出理想的权衡,做正确的事情。简而言之,理性过程就是遵照书本,并假设书本是真正正确的。人类处理过程包括本能、直觉和其他不一定出现在书本中的因素,有些甚至没有体现在现存数据中。举例来说,理性驾车总是遵循法律。然而,交通不是理性的。如果你严格遵守法律,最终可能会因为别的司机不严格遵守法律而被困住。为了成功,自动驾驶汽车必须像人一样灵活驾驶而不是理性驾驶。
定义人工智能的类别提供了一种考虑AI用途和应用方式的方法。一些用于分类AI的系统是模糊不清的。例如,有的将AI分为强的(能适应各种情况的通用智能)或弱的(设计为执行特定任务的具体智能)。“强”人工智能的问题在于它不能执行好任何任务。而“弱”人工智能则太具体,无法独立执行任务。将AI分为两种类型,即使在普通情况下也不能满足需求。由Arend Hintze推广的4种分类方法为理解AI提供了更好的基础。
● 响应式机器:你在下棋或玩游戏节目中看到的机器就是响应式机器的例子。响应式机器没有记忆或经验来辅助做决定。相反,每次它依赖于纯计算能力和智能算法来做出决策,这种机器是特定用途的弱人工智能的例子。
● 有限记忆:一辆自动驾驶车辆或自主机器人不能花费时间从碰撞或剐蹭中学会做决定。这些机器依靠少量的存储来提供各种情况的先验知识。当遇到相同情况时,这种机器能依靠经验来减少反应时间,并为后续决策提供更多资源,这是一个展现“强”人工智能当前水平的例子。
● 意识理论:今天,一个机器能够评估在相同环境中自己所要达到的目标和其他实体的潜在目标,只在某种意义上是可行的,但尚没有商业化。然而,自动驾驶汽车要能真正自主驾驶,必须充分发展这种AI技术。一个自动驾驶汽车不仅要知道它如何从一点驶向另一点,还需直觉地意识周围的驾驶员与其自身之间存在的潜在冲突,并作出相应反应。
● 自我意识:这是你在电影中看到的那种AI。然而,它需要的技术远超现在可能实现的技术,因为这样的机器需要自我意识和觉悟。此外,不仅能基于环境和其他实体的反应来通过直觉反应其他实体的目标,这类机器还能基于经验知识来推断别人的意图。
1.2 理解AI历史
本章的前面几节有助于从人类的角度理解智能,了解现代计算机完全不能模拟这种智能,更不用说让它们自己变得智能化。然而创造智能机器的愿望由来已久,跟人类一样古老。在宇宙中不感到孤单是一个强烈的愿望,人类希望有机器能与之交流且没有人类之间交流的矛盾。当然,一本书不能涵盖整个人类历史,所以下面章节简要概述了现代AI探索与发展的历史。
1.2.1 从达特茅斯的符号逻辑开始
早期的计算机仅仅是:计算工具。它们模仿人类的运算能力,以便执行基本的数学任务,如加法运算。逻辑推理是后来增加的能力,能通过比较(如确定一个值是否大于另一个)进行数学推理。然而,人类仍需要定义执行运算的算法,以正确的格式提供所需的数据,然后解释结果。在1956年夏天,多门学科的科学家参加了在达特茅斯学院举行的研讨会。他们预测要研发出像人类一样思考的机器至少需要一代人的努力,但他们错了。直到现在,我们才意识到机器能像人类一样有效地进行数学运算和逻辑推理,但计算机在达到与人类接近的智能水平前,必须掌握至少6种智能。
达特茅斯学院陈述的问题和其他与硬件相关的努力都剑指硬件,即运算处理能力必须足够快,以便创建模拟。然而,这并不是问题的全部。硬件虽在考虑的范畴中,但你不能模拟自己不理解的过程。即便如此,AI今天有些成绩还是因为硬件最终强大到足以支持所需的计算。
这些早期尝试中最大的问题(今天仍然是应注意的问题)是我们没有很好地理解人类的推理过程以便创建各种模拟过程,即使这种模拟是可能的。再次探讨本章早些时候描述的载人飞行问题。莱特兄弟的成功是因为理解了鸟的飞行原理而不是简单的模仿鸟类,从而创建了空气动力学学科。因此,当有人说下一个AI伟大变革即将到来,却没有具体说明可能涉及的过程,那么变革很快到来是不可能的。
1.2.2 专家系统的继续发展
专家系统首次出现在20世纪70年代,并在20世纪80年代因为使用专家知识来减少AI带来的计算要求而再次获得发展。这个时期涌现了一批有代表性的专家系统,包括基于规则的(使用if...then凭借经验进行决策)、基于框架的(将通用信息组织为相关层次的数据库,称为框架)和基于逻辑的(依赖于集合理论来建立关系)。专家系统的出现非常重要,因为它们是第一个真正有用并成功实现的AI。
今天,你仍能在实际应用中看到专家系统(虽然它们不再被称为专家系统)。例如,应用程序中的拼写和语法检查就是一种专家系统。尤其语法检查器更是典型的基于规则的专家系统。在这个方面,值得我们细心发现,以便了解专家系统在日常应用中仍存在的实际使用。
专家系统的一个问题是它们很难创建和维护。早期用户必须学习专门的编程语言如List Processing(LisP)或Prolog。一些供应商看到了商机,通过提供类似VP-Expert(依赖基于规则的方法)的产品,使经验不足的或还是新手的程序员也能创建或维护专家系统。然而这些产品通常使用极少的知识库提供极其有限的功能。
在20世纪90年代,专家系统这个术语开始消失,出现了专家系统失败了的说法,但事实是,专家系统如此成功以至于它们与所支持的应用程序已经融为一体。以字处理器为例,你曾经需要单独购买语法检查程序如RightWriter,但现在字处理器都内置了语法检查器,因为经证明语法检查器虽然并不总是准确但非常有用。
1.2.3 AI的冬天正在过去
AI的冬天是指投向AI的资金被缩减的时期。通常在AI的发展中,AI支持者们夸大其词,引诱有很多钱但没有技术知识的人进行投资。当AI没有达到预期时,就会引来批评,并最终导致投资缩减。多年来,这样的周期不断重复,不断地破坏真正的进步。
因为机器学习的出现,AI正处在新一轮的炒作阶段。机器学习是帮助计算机从数据中学习的技术。让计算机从数据中学习意味着不是依赖于人类程序员来设置操作(任务),而是从演示计算机如何运行的例子中直接学习如何操作。这好比通过示范来教育孩子应该如何去做。机器学习是有缺陷的,因为计算机经过粗略的学习后,可能学到的是不正确的操作。
研究机器学习的科学家分为5派,每一派都基于不同的视角(详见本章后面的1.4“避免AI炒作”部分)。现在最成功的是深度学习,它是一种力图模仿人脑的技术。深度学习是可行的,因为有功能强大的计算机和更聪明的算法,社会数字化产生的大数据集以及来自谷歌、脸书、亚马逊和其他从AI复兴中受益的企业的巨额投资。
人们说因为深度学习的出现,AI的冬天已经过去,现在这是事实。然而,当你环顾四周去观察人们看待AI的方式时,你很容易就会发现,除非支持者降低华而不实的说法,否则最终会进入另一个批评阶段。AI可以做令人惊奇的事情,但只是寻常的惊奇,正如下节所述。
1.3 AI用途
今天,你会发现AI有很多实际用途。唯一的问题是AI工作得太好,以至于你都没意识到它的存在。事实上,你可能会很惊讶地发现家中的很多设备都已经使用了AI技术。例如,一些智能恒温器能根据你手动控制温度的习惯来为你创建温度设置方案。同样,用于控制某些设备的语音输入设备会学习你说话的方式以便能更好地与你交互。AI肯定会出现在你的车里,也一定会出现在你的工作场所。事实上,AI的应用数以百万计。即使AI应用在自然界中相当戏剧化,却容易被人们视而不见。下面是几种你可能会看到的AI的使用方式。
● 欺诈检测:当你接到了信用卡公司的电话,询问你是否进行了某项特定的交易时,信用卡公司并不是多管闲事,它只是在警告你可能有人在盗刷你的信用卡。嵌入在信用卡公司代码中的AI发现了某种不熟悉的消费模式,并相应地发出警告。
● 资源调度:许多组织需要有效地安排资源调用。例如医院根据患者的需要、资深专家的时间和医生预计患者待在医院的时间来安置患者。
● 复杂分析:面对复杂分析时,人们经常需要帮助,因为需要考虑太多的因素。例如,一组相同的症状可能由不同的问题导致。医生或其他专家可能需要及时做出诊断以便挽救患者的生命。
● 自动化:任何形式的自动化都能借助AI的帮助以处理意想不到的变化或事件。今天,有些类型的自动化面临的问题是突发事件(如对象位置错误)能导致自动化过程停止。在自动化中添加AI,可以处理突发事件并继续自动化过程,就像无意外发生一样。
● 客户服务:今天,你拨打的客户服务电话甚至可能没有一个人类客服。根据脚本和各种资源,自动化系统能处理好你的绝大多数问题。再配以良好的语调(也由AI提供),你甚至无法识别自己正在与电脑谈话。
● 安全系统:今天,各种类型机器中的安全系统在危机时刻都依赖AI来接管车辆。例如,很多自动制动系统依赖AI基于车辆提供的所有信息(如侧滑的方向)来制动。
● 机器效率: AI能帮助我们控制机器以获得最大效率。AI控制资源的使用以便系统不会在速度或其他目标上超调。按需精确地使用每一点功率以便提供所需的服务。
1.4 避免AI炒作
本章提过很多次AI炒作。然而,本章并没有解开所有炒作的面纱。如果你看了电影如“她(Her)”和“机械姬(Ex Machina)”,你可能会被导向认为AI比其实际更强大。问题是,实际上AI尚在幼年阶段,而电影里所演示的任何应用都是过度活跃的想象力的创造性输出。
你可能听说过“奇点”,它代表了媒体或电影中暗示的时刻。“奇点”的本质是机器学习中的五大学派的主算法,为了理解资源,机器必须像人类一样学习,使用本章前面1.1.1节中所讨论的7种智能。以下是机器学习的五大学派。
● 符号学派:该学派起源于逻辑和哲学,依赖逆演绎来解决问题。
● 联结学派:该学派起源于神经科学,依赖反向传播来解决问题。
● 进化学派:该学派起源于进化生物学,依靠遗传编程来解决问题。
● 贝叶斯学派:该学派起源于统计,依赖概率推理来解决问题。
● 类推学派:该学派起源于心理学,依赖内核机器来解决问题。
机器学习的最终目标是组合五大学派的技术和策略,以创建一个可以学习任何事情的单一算法(主算法)。当然,实现这一目标还有很长的路要走。即便如此,像Pedro Domingos一样的科学家仍在向着这个目标不懈努力。五大学派可能无法提供足够的信息来实际解决人类的智力问题,反而使事情变得更不清楚,所以为五大学派创建主算法可能仍不会产生“奇点”。基于这一点,你可能会惊讶有多少人不知道他们自己如何思考或者为什么他们会以某种方式思考。其实,任何你听到的有关AI能统治世界或AI比人类更先进的说法都是假的。
1.5 计算机是AI的基础
你需要有某种计算系统、一个包含所需软件的应用程序和一个知识库,才能使AI工作。计算系统可以是内置芯片的任何系统。事实上,对某些应用程序来说智能手机就像台式电脑一样。当然,如果你是亚马逊(Amazon),你想为特定顾客的下一次购买决定提供建议,智能手机就不行了,因为你需要一个很强大的计算系统以支持这个应用。计算系统的大小与你预期AI执行的工作量成正比。
应用程序也可能在大小、复杂度,甚至位置上发生变化。例如,你是一个企业,你想分析客户数据以便决定如何更好地宣传自己,你可以依靠基于服务器的应用程序来执行这个任务。另一方面,如果你是客户,你想在亚马逊上找到自己想购买的产品,不需要调用计算机上的程序,亚马逊服务器上的基于Web的应用程序将帮助你实现这个功能。
知识库的位置和大小也是变化的。数据越复杂,你从中获取的就越多,但需要操作的也越多。在知识管理方面,天下没有免费的午餐。位置和时间之间的相互作用也很重要。网络连接允许你在线访问大量知识库,但网络连接的延迟也花费了时间。相对来说,本地数据库虽然很快,但多数情况下容易缺乏细节。