人工智能核心概念解析与机器人技术演进
引言
人工智能自问世以来,仅仅用了六十余年,就已经能够完成人脸识别、精准推送广告、自动驾驶车辆、击败世界围棋冠军……如今,这项技术正以指数级的增长速度渗透人类生活的各个领域,想要回避已经不再可能。面对如此压倒性的力量,人们不由得产生疑问:人工智能是否会超越人类? 在本书中,英国国宝级人工智能学者、牛津大学计算机学院院长,首次融合科技、商业、人类学、心理学、社会学等学科领域的前沿知识,全方位多维度解答人工智能的"能"与"不能"。跟随作者一步步澄清对人工智能的夸大和恐惧后,我们会发现:尽管飞速发展的人工智能已无限逼近人类智慧,但机器和人类之间,仍然存在难以逾越的鸿沟。 翻开本书,刷新对人工智能的认知,迎接人机共存的未来带来的巨大改变和挑战。
核心要点
1. 打造出具备人类理解力(或称意识)的程序目标,被称为通用人工智能,而次一级的目标,即构建虽不具备人类理解力,但能模拟特定能力的程序,则被称为专用人工智能。
2. 通用智能系统的另一个关键能力是通过学习积累经验,这引出了一个名叫机器学习的人工智能研究分支。就像"人工智能"这个名字本身一样,机器学习也是一个极其不恰当的术语,听起来像是一台机器自己在引导自己学习,从无知开始,变得越来越聪明。事实上,机器学习跟人类学习是完全不同的,它涉及解析和预测数据。
问题解决和制订计划是两个相关联的能力,它们也与智能行为有关。它们都要求用给定的动作组合来达成目标,而实现的关键在于找到正确的动作序列。
推理或许是众多与智能相关的行为中最令人崇拜的一种:它基于现有的事实,用强大的逻辑方式获取新的知识。
最后是自然语言理解,这涉及让计算机理解人类的语言,比如中文或者英文。目前,计算机程序员为计算机编程时,必须使用人造的机器语言:某种有着精确定义、明确规则、专门为计算机构造的语言。这些语言(目前最著名的应该是Python、Java和C语言)比起自然语言(如中文或英文)简单得多。很长一段时间以来,让计算机理解自然语言的主要方法是试图为自然语言加以精准的定义和明确的规则,就像我们定义计算机语言一样。而事实证明,这是不可能的。自然语言太过灵活、模糊和易变,无法用这种方式严格定义,而语言在日常生活中的使用方式更是阻碍了对其进行精确定义的尝试。
3. SHAKEY是人类首次认真尝试构建可移动的、实体的机器人,它可以在现实世界完成各项任务,并且自己想出完成这些任务的方法。要做到这些,SHAKEY需要感知所处环境,了解自己身处的位置和周围的状况;还要能接收任务,并自己制订完成任务所需要的步骤;然后按步骤执行任务,同时确保在执行过程中一切顺利,达到预期效果。它所需要完成的任务主要是在类似办公室这样的环境里移动各种盒子。听上去跟SHRDLU很像,不过SHAKEY可不是SHRDLU那样虚拟的系统,它是一个真实的机器人,能够真真正正地操作物体,这可是一项伟大的挑战。
要想达成目标,SHAKEY要集成好多令人望而生畏的智能系统。首先,建造它的工程师得解决一个大难题:开发人员要自行建造机器人,它必须足够小,足够灵活,才能在类似办公室的环境里移动。还得拥有足够强大和精准的传感器,使机器人能够了解周围的情况。为此,SHAKEY配备了一个电视摄像机和激光测距仪,用来确定它和各物体之间的距离。为了探知障碍物,它还配备了一个名叫"猫须"的碰撞探测器。然后,SHAKEY必须拥有在环境中导航的能力,它还能够制订执行任务所需要的步骤。为此,开发人员设计了一个名为STRIPS(斯坦福研究所问题解决系统Stanford Research Institute Problem Solver的缩写)的系统,现在,人们公认STRIPS系统是人工智能规划技术的鼻祖。最后,所有的智能系统必须流畅、完美地彼此配合,协同工作。任何人工智能研究人员都会告诉你,上述的所有系统,能成功实现其中一个,都是攻克了大难关;若是能让它们作为一个整体工作,其难度会直线跃升好几个数量级。
4. 除了太多重复和低效率以外,穷举搜索还有一个根本的问题。
5. 搜索树这种迅速、荒唐的增长速度导致了无法想象的问题,我们称之为组合爆炸,它是人工智能所面临的最重要的实际问题,因为搜索技术在人工智能领域使用得非常广泛。
6. 一种是以某种方式集中搜索。其中一种典型的方式是并非逐级建立完整的搜索树,而是沿着其中一个分支构建搜索树。这种方式被称为深度优先搜索。
7. 在实践中,要考虑比简单的启发式算法更复杂的情况:因为跳棋是一种对抗游戏,你必须考虑到对手可能如何行动。塞缪尔的跳棋程序会认为你的对手会做出对你最不利的举动。这种"最坏情况推理"的方法(即假设对手的行为会使得自己的得分最大化,让你的得分最小化)称为极大极小值搜索,是对抗性游戏的基本概念。
8. 不可判定的问题存在层次结构:即存在某些问题,不仅不可判定,还是高阶不可判定的(这对某些研究特定领域的数学家而言很棘手)。
9.(NP完全问题)"NP"代表"不确定多项式时间",具体的技术定义相当复杂。幸运的是,NP完全问题背后的逻辑很简单。
所有的NP完全问题都能共通,可以互相转换。这就意味着一个很明显的事实:要么所有NP完全问题存在通用的解,要么它们都无解。如果你能找到高效又准确解决某个NP完全问题的方法,就意味着你能够解决所有NP完全问题。但是,到目前为止,还没有任何人寻找到解决NP完全问题的高效准确的方法。事实上NP完全问题能否有效解决,是当今科学界最重要的开放性问题之一。这个问题被称为P与NP问题,如果你能证明这个问题是否有解,并且能让科学界认同,你将获得克雷数学研究所提供的100万美元奖金,正是该研究所于2000年将其确定为"千年问题"之一。精明的投资商认为NP完全问题不能得到有效解决,同样也是精明的投资商告诉我们,要确切知道这一点,还有很长的路得走。
10. 一种基于知识的人工智能系统——专家系统开始出现,它能利用人类专业的知识来解决特定的、狭义领域的问题。
专家系统与通用人工智能不同,它的目标是解决非常狭义、非常具体的问题,解决这类问题通常需要相当专业的知识。通常,能够解决这类专业问题的人类专家都需要花费极长的时间来学习相关知识,而这类专家相当稀少。
11. 每一条规则都有前因条件(即"如果"之后的部分)和后果结论(即"那么"之后的部分)。
12. 正向推理:从数据推理到结论。
13. MYCIN的透明推理与信任
首先,MYCIN的系统操作和人类专家进行交互类似——向用户提出一系列问题,并且记录用户的响应。
其次,MYCIN的推理是可以还原和解释的。推理透明度的问题在人工智能应用方面有时极其重要。如果一个人工智能系统被应用在一些生死攸关的决策中(以MYCIN而言,比如治疗方案事关病人的生死),要想让人们遵从它的建议,就需要人们信任这个系统。因此,解释和证明人工智能建议的合理性是非常有必要的。经验表明,作为"黑盒"运行的系统,如果没有能力证明其建议的合理性,就会受到用户的严重质疑。
MYCIN至关重要的能力是它可以明确给出得出这一结论的原因,它是通过一系列推理链来得出最终结论的,即那些被触发的规则和触发规则的信息,都是有迹可寻的。在实践中,大多数专家系统的解释能力最终都归结为类似的东西。虽然不是特别理想,但这样的解释很容易追根溯源,并且有助于理解系统运作的机制。
最后一点,MYCIN能够应对不确定性:有些时候用户向系统提供的信息并不是完全真实和准确的。应对和处理不确定性是对专家系统及人工智能系统的一个普遍要求,在MYCIN这样的系统中,极少根据某个单一的特性就得出明确结论的规则。
14.
脚本→语义网
逻辑学的发展是为了理解推理,特别是区分好的(完备的)推理和坏的(不完备的)推理。
逻辑告诉我们怎样正确地从前提中得出结论,这个过程被称为演绎。
这个系统被称为一阶逻辑,一阶逻辑是数学和推理的通用语言。这个框架涵盖了亚里士多德、弗雷格、德·摩根、布尔和其他人的所有类型的推理。
逻辑编程使用的是一种非常有名的语言:PROLOG。
15. 首要的问题在于,以前从来没人试图将人类所有的基础常识组织汇编,你到底该从哪里开始?第一步,你得定义将使用到的所有词汇,还有各种术语,它们之间是怎么关联的。定义基本术语和概念,并围绕它们组织整个知识体系,被称为本体工程。
16. 布鲁克斯提出了三个关键原则,确定了他的理论体系:首先,他确信,人工智能要取得有意义的进步,只能通过与现实世界中的系统互动来实现——它们必须直接处于某个现实环境,感知并与之互动。其次,他认为,不管是以知识还是以逻辑为基础的人工智能,清晰而全面的知识储备及推理并不是它们智慧行为产生的必要条件,尤其是以逻辑为基础的人工智能。最后,他认为,智慧是一种涌现性质,