1.2 人工智能:承载人类的光荣与梦想
人工智能,也称机器智能,它是计算机科学、控制论、信息论、神经生理学、心理学、语言学等多种学科互相渗透发展起来的一门综合性学科。人工智能的研究及应用领域包括问题求解、逻辑推理与定理证明、自然语言理解、自动程序设计、专家系统、机器学习、人工神经网络、机器人学、模式识别、机器视觉、智能控制、智能检索和智能调度与指挥等。自人工智能出现以来,科学家们在这些领域的研究已经取得了非常惊人的成果,同时,人工智能使人类超越了自身的局限,人工智能基于大数据分析得到各种新知识、新信息,使人们难以预测的洪水、地震等灾害的预报的精确度大大提高,使人类在自然的约束面前变得更强大,从而更新人们解决问题的方法,拓宽人们解决问题的思路。人工智能的发展已对人类及其未来产生深远影响,本章将为读者简要介绍人工智能的基础知识。
1.2.1 唤醒沉睡的机器
1.什么是人工智能
关于人工智能,历史上提出了四种定义,代表了四个研究方向。理查德·贝尔曼(Richard Bellman)于1978年称智能系统可完成“与人类思维相关的活动,诸如决策、问题求解、学习等”,主张智能机器是像人一样思考的系统。帕特里克·亨利·温斯顿(Patrick Henry Winston)定义智能为理性思考的系统,智能研究即“使知觉、推理和行动成为可能的计算的研究”。伊莱恩·瑞驰(Elaine Rich)和凯文·奈特(Kevin Knight)给出类似图灵测试的定义,称智能为“研究如何让计算机做到那些人比计算机做得更好的事情”。戴维·普尔(David Poole)等则认为“计算智能是对智能化智能体的研究”,主张设计理性行动的系统。
这些定义存在两个差异:第一个差异在于人工智能侧重思维还是侧重行为;第二个差异则是关于智能应该尽可能接近人,还是在一个可知范围内严格地正确或理性思考行事。类人派的研究者借鉴了许多生物学的研究结论和观点,并辅以诸多假设和实验验证。而理性派则更加侧重通过数学建模解决问题。从人工智能的发展史看,四个研究方向上都有许多人做出了卓越的贡献。这些成果存在互斥的方面,却也有相辅相成的方面,形成了曲折而精彩的历史。
2.人工智能简史
人工智能的故事从1956年正式展开。普林斯顿大学的约翰·麦卡锡(John McCarthy)召集了全美国对于自动机理论、神经元网络和智能研究有兴趣的学者聚集在达特茅斯召开第一次人工智能研讨会。达特茅斯会议上,麦卡锡正式提出了人工智能概念并被沿用至今。1962年,当时就职于IBM的阿瑟·萨缪尔(Arthur Samuel)在IBM 7090晶体管计算机(内存仅为32KB)上研制出了西洋跳棋程序,并击败了当时全美最强的西洋棋选手之一罗伯特·尼雷(Robert Nealey),引起了轰动。萨缪尔在研制西洋跳棋程序的过程中,第一次提出机器学习的概念。这些程序能够通过学习达到跳棋业余高手级别,有力地驳斥了计算机只能够执行人给予的命令这种观点。同一时期,艾伦·纽厄尔(Allen Newell)和希尔伯特·西蒙(Herbert Simon)设计的“通用问题求解器”问世,将计算机模型与认知科学的结论结合,证明了伯特兰·罗素(Bertrand Russell)所著《数学原理》中的大多数定理。麦卡锡在1958年搬到麻省理工学院后做出了一系列杰出贡献,包括定义高级语言Lisp,并在发表的论文中描述了使用知识求解问题的一个假想程序(Advice Taker)。该程序可以接受新的公理,并在未重写的情况下获得新的能力,在一定程度上可以实现知识表示和推理。麦卡锡的合作者马文·李·明斯基(Marvin Lee Minsky)更加注重程序如何自动开始运转,选择研究只有智能才可以解决的受限问题,如高等数学中的封闭性积分问题和智力测试中的几何类推问题等。
在研究初期,人工智能爱好者拥有十足的自信和满满的期望,但是这种豪情壮志很快就消失了。首先遇到的一类障碍源于人工智能面向的问题求解困难。大多数早期人工智能程序求解问题的方式是进行组合直至找到解,这种逻辑求解模式在面向较少的行动和较短的解序列时可以奏效,但是在涉及多条定理时,早期的算法就失败了。其次,早期程序缺乏相关主题知识的表达和支撑,导致诸如机器翻译等应用领域遭遇瓶颈。此外,早期关于神经网络的研究也由于成果不佳,科研经费几乎缩减为0。20世纪60年代关于人工智能的里程碑式的事件大致只有两件:第一,1969年,第一届国际人工智能联合会议(International Joint Conference on Artificial Intelligence, 简称为IJCAI)召开;第二,1970年,《人工智能》国际杂志(Artificial Intelligence)创刊。
20世纪70年代,人工智能的发展是一个逡巡前进的过程。研究者开发出称为弱方法的通用搜索求解机制,即将基本推理步骤串联起来以寻找完全的解,如在棋局中搜索解空间。专家系统,或称强方法在这个时期也得到关注和探索。
第一个成功的知识型专家系统是爱德华·费根鲍姆(Edward Feigenbaum)等开发的DENDRAL系统,由计算机科学家和生物学家合作而成。在DENDRAL系统输入分子式和分子的质谱仪信息,可以产生所有符合分子式的可能结构,辅以化学家已知的某些结构的质谱尖峰模式,最后输出分子的最可能形态。DENDRAL的成功不仅验证了费根鲍姆关于知识工程的理论的正确性,而且是人工智能研究的一个历史性突破。
1982年出现了第一个成功的商用专家系统R1。这个系统为Mc Dermott自动配置订单并且成功节省了数千万美元的成本。这个成功应用激发了美国许多知名公司开始投资开发人工智能专家系统。日本也启动了一项为期10年的制造智能计算机的计划。为了与之抗衡,美国和英国也在国家层面开启了相关研究计划。人工智能工业在1980—1988年期间得到的经费迅猛增加。但是研究计划中提及的目标多数并未实现,业界公司也开始承受当初的过分承诺带来的失败。
1986年后是连接主义的回归时期。这段时间有一个短暂的神经网络研究热潮。神经网络概念源于物理学、心理学和神经生理学的跨学科研究成果。早在1943年,第一个神经元数学模型就已经被提出,该模型对神经元的输入信号进行加权,并与阈值进行比较,再决定神经元是否输出。该模型证明了简单的神经元组成网络可以计算所有的数学和逻辑函数。1958年,心理学家弗兰克·罗森布拉特(Frank Rosenblatt)提出了第一个应用神经网络,即感知机,开启了在模式识别领域的神经网络应用。20世纪60 年代,巴纳德·威德罗(Bernard Widrow)等人介绍了类感知机神经网络的学习训练算法。其思想是,网络系统有固定形式的输入和针对输入期望得到的输出值,对期望输出和实际输出之间的误差进行计算以后,使用梯度下降法进行权值调整,从而达到最小均方误差。这已基本奠定了现代的神经网络训练思路。但是,由于当时计算机硬件条件存在极大局限,并且网络构造训练过程需要存储的数据量较大,神经网络的研究暂时被搁置。1980年以后,随着硬件条件改善,神经网络研究进入了新一轮高潮。由于学界对单层神经网络的性能提出了质疑,复杂多层网络被提出,以解决单层网络无法分类异或问题的缺陷。到了1980年,杰弗里·辛顿(Geoffrey Hinton)等人在《自然》杂志上发表的文章系统整理了反向传播算法思想,并为算法冠名反向传播算法,目前使用反向传播算法训练的多层感知机已成为应用最广的神经网络模型。
20世纪90年代起,最风生水起的流派是基于概率统计的建模学习。乌尔夫·格伦德(Ulf Grenander)从20世纪60年代开始发展随机过程和概率模型。朱迪亚·珀尔(Judea Pearl)于20世纪80年代提出贝叶斯网络,把概率知识应用于认知推理,并估计推理的不确定性。到20世纪90年代末,他进一步研究因果推理。2011年,他因为对概率统计的人工智能应用做出极大贡献,获得图灵奖。莱斯里·瓦利安特(Leslie Valiant)开创了学习理论,系统而完整地回答了统计学习方法需要多少数据才能以某种置信度习得一种概念。他提出将弱分类器组成强分类器的思想,这推动了一系列集成学习方法诞生。以Adaboost为代表的boosting算法,在21世纪初的计算机视觉应用中,可以说达到了深度学习时代前最好的效果。
统计学习中应用最广的算法当属支持向量机算法。支持向量机是一种分类模型。弗拉基米尔·万普尼克(Vladimir Vapnik)在1963年首次提出了支持向量的概念,将支持向量定义为对分类起决定性作用的样本。1995年,弗拉基米尔·万普尼克等人系统总结支持向量方法,提出统计学习理论。支持向量方法在小样本训练集上体现出极佳的性能,并且由于其理论系统成熟、工具包可靠易用,成为学术论文乃至业界应用中常用的基准算法。
随着电视和互联网的普及,大众传媒逐渐将人工智能技术带入了大众视野。1997年,IBM研发的“深蓝”成为第一个击败人类象棋冠军的电脑程序。人工智能开始在全球范围内引起讨论。2006年,杰弗里·辛顿发表Learning Multiple Layers of Representation一文,不同于以往学习一个分类器的目标,提出希望学习生成模型的观点。2007年,李飞飞和普林斯顿大学的同事开始建立ImageNet。这是一个大型注释图像数据库,旨在帮助视觉对象识别软件进行研究。有了理论支撑、数据集支持,加上硬件条件较20世纪有了巨大飞跃,神经网络应用开始引爆。多层神经网络,或称深度学习,成为计算机视觉领域表现最好的模型。多层神经网络由于架构灵活、变种多样,也成功适应诸如自然语言处理、推荐系统等丰富的应用场景,带来焕然一新的效果。图1-4展示了一种多层次网络结构模型,该模型基于时序分析进行迁移学习。
图1-4 基于时序分析的迁移学习模型
1.2.2 人工智能的前世今生
上一小节主要介绍了人工智能的发展背景,这一小节我们来看人工智能的分类和发展方向。人类作为具备高度社会属性的智慧生物,其智能可以分为两类:个体智能和群体智能。个体智能从个体角度出发,关注如何最大限度地提高个体的智慧程度。群体智能则从人类的社会属性出发,关注个体如何通过协作协同,共享信息,共同解决较大规模的问题和任务,以及在这样的协同过程中如何保证效率。同样,人工智能领域的研究也可以分为两类:个体人工智能与群体人工智能(以下为叙述方便,将简称个体智能和群体智能)。
纵观前面小节,近期人工智能领域的发展,主要体现在个体人工智能范畴的创新。本小节中,我们进一步梳理个体智能,给大家介绍个体智能的三大门派,同时也展示下一代人工智能——群体智能的基本知识。
1.个体智能
个体智能的相关技术例如人工神经网络、基于逻辑推理的智能系统等已经得到较为广泛的应用。目前,大家热议的人工智能的新浪潮主要集中在个体智能领域。个体智能相关技术可以细分为三大门派。
(1)“结构”门派(联结主义)
“结构”门派(联结主义)试图从人脑本身的结构研究出发,尽可能地在计算机上模拟人脑(如神经网络)相关的功能,从而实现较高程度的智能。 联结主义源自对人脑模型的研究,美国科学家沃伦·麦卡洛克(Warren McCulloch)和瓦尔特·皮茨(Walter Pitts)在1943年提出世界上第一个人工神经细胞数学模型——MP模型(McCulloch-Pitts model),奠定了智能与人脑神经科学联系的基础。联结主义主要以模拟人脑的神经网络为主要手段,因此其应用的前提有以下两个:
第一,对人脑结构的准确了解。
第二,足够的计算力进行相关模拟。
自联结主义提出之后,受到对人脑结构研究和各种硬件条件的限制,联结主义经历了多次起起落落。而近年来,随着计算力资源的充分发展,联结主义又迎来了一个高峰,目前热门的深度学习,本质就是构建大规模、多层次的人工神经网络。
如果对人脑结构有准确深入的了解,辅以足够的计算力,联结主义将会产生非常惊人的效果。但联结主义也有其局限性,实际的人脑是融合了多种功能且高度复杂的混合型神经网络,目前大多数人工神经网络都只是单一功能的,因此在处理复杂的现实问题上会有些力不从心;另外,经由人工神经网络训练建立的模型是一个黑箱,人们很难对其进行深入理解。
(2)“功能”门派(符号主义/逻辑主义)
“功能”门派(符号主义/逻辑主义)试图从逻辑推理的层面构建智能。符号主义起源于数理逻辑,通过基于逻辑推理的方法模拟人的智能。符号主义认为,人在日常活动中的各项决策都是逻辑推理的结果,基于将知识符号化,通过制定的若干逻辑推理规则,进行知识的推理。
符号主义者最先在1956年使用了“人工智能”这个词,随后在很长一段时间内,符号主义者都是人工智能的重要贡献力量,符号主义者开拓和发展了专家系统、知识工程等领域。
符号主义的挑战在于:人类的知识纷繁复杂,如何将海量的常识符号化,如何有效处理不确定性知识的表示,以及如何运用逻辑规则应对海量的现实应用场景等。
(3)“行为”门派(控制主义)
“行为”门派(控制主义)则关注行为与感知,重点从系统论角度分析智能,认为人是一个控制系统。控制主义关注这个控制系统的输入(即感知)和输出(即行为),主要目的就是让系统在特定的条件下产生预定的输出。控制主义较联结主义和符号主义更注重动态性,因此在机器人领域的应用较多,通过构造有 “反馈回路”的、具备“目的性”的系统来体现智能性,并不过分关注实际被模拟系统本身的内部结构。控制主义通常应用在输入与输出关系明确的条件下。
随着计算方法、计算能力的发展以及对于海量数据的使用,各种门派对于实现个体智能的差别越来越小,并且在特定领域已经取得了非常好的效果。然而,个体智能终究只是“单兵作战”,在解决社会生产生活中复杂的现实问题时往往显得困境重重。究其缘由,是因为个体智能的先天不足——没有考虑人类智能中的社会属性。下一小节将为读者排解“困境”,化解个体智能的先天不足。
2.群体智能
从人类社会的发展来看,人类智能不仅仅是个体智能,社会得以存在,各类商业生产生活得以进行,更为重要的元素是“群体智能”。例如,人与人之间的协作、群体之间的协同、不同商业团体之间的合作等,这些都是群体智能的体现。如前文所述,群体智能与个体智能是人工智能的两大组成部分。当然,群体智能需要个体智能的发展作为基础,如果没有个体的高度智能,那么很难达成高效、高质量的群体智能。而随着个体智能技术的发展以及个体和中心化计算能力的突破,下一代人工智能将是群体智能的时代。我们也大胆预测,人工智能的下一步突破和风口必然会在群体智能领域产生。同时,正如我们在第一节中所说的,人类社会正在迈向智能社会,而智能社会中的核心——“协作与协同”与群体智能密切相关。从根本上,人类社会协作关系的深度自动化需要群体智能方向有重要突破。
群体智能在人工智能领域的研究刚刚起步,目前研究方向主要集中在多智能体系统。智能体是人类个体的抽象,多智能体系统则研究在有多个智能体的环境中(可以认为在一定程度上的模拟人类社会)如何表达各种协作关系、定义协作行为并实现这些关系和行为。通过群体智能的发展,人类社会中的各个环节才得以有效地表达、实现自动化以及互联互通。所以,在智能社会的发展中,人工智能,尤其是群体智能是重要的技术保障,当然,个体智能作为社会中个体的能力体现,也会发挥重要作用。由于群体智能天然具备分布式特性,我们可以认为分布式智能是群体智能的基础,因此,本节首先介绍分布式人工智能(Distributed AI),然后再介绍群体智能的主要代表——多智能体系统(Multi-Agent Systems)。
(1)分布式人工智能
分布式人工智能是分布式计算与人工智能结合的产物,在20世纪70年代被提出,是一种解决复杂的学习、规划和决策问题的方法。分布式人工智能可以充分利用位于不同空间的计算资源,可以实现大规模的计算和处理大规模的数据。分布式人工智能系统包括分布式的节点以及节点之间的通信机制(通常是异步通信机制)。分布式人工智能系统可以分为以下三类。
第一类,个体智能系统的并行化
个体智能系统的并行化主要是将传统的个体智能系统通过多处理机/计算集群来并行化实现。
这一类分布式人工智能系统主要关注在算法实现层面如何分解任务,这一分解过程通常是人为进行的。例如在一个大规模的人工神经网络应用中,如何将不同的神经网络节点分布在不同的节点上,就是一个典型的例子。
第二类,分布式问题解决
分布式问题解决与个体智能系统并行化的区别在于,分布式问题解决关注问题层面/应用层面,而个体智能系统并行化关注算法实现层面。分布式问题解决考虑如何根据问题/应用的逻辑将问题分解成多个数据和知识共享的模块,进而通过模块间的协调和协作解决问题。分布式问题解决通常有全局的问题、模型和目标,是一个“自顶向下”的方法。
第三类,多智能体系统
多智能系统则较分布式问题解决更进一步,多智能体系统更加关注系统中的节点(智能体)的自主性,去中心化的程度较分布式问题解决更高,智能体之间通过协议实现协调和协作,这些协调和协作通常都不是预先设定的,而是要根据实际情况由智能体实时达成,是一个“自底向上”的方法。在下一小节中,我们将具体介绍多智能体系统。
分布式人工智能与个体智能和群体智能均有交集,是人工智能在实现层面上的技术创新。随着计算机应用日趋分布化,分布式人工智能将发挥越来越重要的作用。尤其在群体智能应用领域,分布式人工智能更是起到基础性的作用。
分布式系统固然较集中式系统更加复杂,实现难度更大,但是它能以空间换时间,能够克服单个机器的局限性,因此获得越来越广泛的应用。
(2)多智能体系统
多智能体系统是分布式人工智能的一个主要分支。多智能体系统是单个智能体技术和分布式系统相结合的产物,也是分布式人工智能研究的一个前沿领域。多智能体系统主要研究不同的智能体之间的行为协调,并进行工作任务协同,即在一群自治的智能体之间,通过协调它们的知识、目标、技能和系统规划,以确定采取必要的策略与操作,达到求解多任务系统及解决各种复杂问题的目标。多智能体系统的目标是将大的复杂系统建造成一个小的、彼此互相通信及协调的、易于管理的系统。
对多智能体的研究发现,多智能体自身拥有众多的优良特性,具有广泛的应用前景和工程背景。首先,从自然现象的角度看,一群简单的个体在一些极其简单规则的作用下能够产生不可思议的群体行为。群体呈现出比个体更有效、功能更强大的行为,通过在群内相互交流信息与协作,实现个体很难或几乎不可能实现的目标。在自然界中,这类例子很多,例如鱼群能聚集游动对抗捕食者;候鸟成群结队迁徙;蚂蚁、蜜蜂和蝗虫等大规模的觅食过程等。这些个体在自然界中往往很渺小,但是一旦组成群体,其战斗力和活动能力大大加强,得以在恶劣的自然环境中繁衍生息。这类群体一般都由数目庞大的个体组成,个体本身力量有限,结构也很简单,每个个体只具备检测局部信息的能力,只在部分个体之间进行信息的交换和分享,但是就是基于这些简单的、局部的信息作用和规则,产生出一些超出期望的宏观行为。从系统科学的角度出发,由简单个体构成的复杂群体产生的超乎预期的群体行为,为研究复杂系统提供了数学建模及分析方法的参考。近年来,基于多智能体系统的协调控制研究,飞行器的无人驾驶、足球机器人、空间卫星、水下航行器等技术都取得了很大的进展,对多智能体系统的深入研究必定具有长远意义和广泛的工程应用前景。
固然,群体智能作为下一代人工智能的代表,其战略意义不言而喻,但其大规模应用需要相应的基础设施,这是其目前面临的挑战。在后续章节中,读者将看到区块链如何为群体智能的大规模应用贡献重要力量、提供基础设施的支持。群体智能的实现可以分为几个关键层级,包括:信息共享层、信息安全层、信任机制层、协作机制层以及最终的智能社会层,每一层级都需要区块链这一重要思想与相关技术的支持。