一、学术AI
为了讲述这个故事,我将学术AI分为三个时期:早期时代,象征时代,自然计算(统计)时代。当然,这是一个过度粗略的简化,它们在某种程度上都有重叠,但我发现这是一个有用的区别。如果要收集一份更细致和充实的报告,见文章《Max Lungarella, Fumiya Iida, Josh Bongard, and Rolf Pfeifer. 50 Years of Artificial Intelligence. Springer Science & Business Media, 2007. 》
1.1 早期时代
早期包括在计算机出现之前,心智哲学偶尔会以诸如:什么产生思想?你能赋予无生命的物体生命吗?尸体和以前的人类有什么不同?与此相关的是,自18世纪以来,人们对自动机、机械机器人的普遍偏好。复杂的发条模型被创建出来,显示了一种动画、动物或类人行为,我们现在雇佣游戏艺术家在一个建模包中创建这些行为。
在20世纪40年代的战争中,为了破解敌人的密码和执行原子战争所需的计算,第一台可编程计算机应运而生。鉴于这些机器被用来执行原本由人来完成的计算,程序员对人工智能感兴趣是很自然的。一些计算机先驱(如图灵、冯·诺伊曼和香农)也是早期人工智能的先驱。特别是图灵,由于他在1950年发表的一篇哲学论文,他成了这一领域之父。
1.2 象征时代
从20世纪50年代末到80年代初,人工智能研究的主要方向是“象征性”系统。符号系统是指算法被分为两部分的系统:一组知识,该知识以文字、数字、句子或图片等符号表示;一个推理算法,该算法操作这些符号以创建新的组合,用来表征问题的解决方案或新的知识。
专家系统是这种方法最纯粹的表现之一,也是最著名的人工智能技术。今天所有的人工智能新闻标题谈论“深度学习”有多热闹,那么在20世纪80年代,新闻标题讨论“专家系统”就有多热闹。专家系统拥有一个庞大的知识数据库,它应用一系列规则来得出结论或发现新事物。其他适用于游戏的符号方法包括黑板结构、寻路、决策树和状态机。以上方法和更多的其它方法会在后面的篇章中具体描述。
符号系统的一个共同特征是一种权衡:在解决一个问题时,你拥有的知识越多,在推理上需要做的工作就越少。推理算法通常包括搜索:尝试不同的可能性以获得最佳结果。这将我们引向人工智能的黄金法则,我们将在本书中以各种形式看到:
搜索和知识有着内在的联系:你拥有的知识越多,寻找答案的次数就越少;你可以做的搜索越多(相当于你搜索得越快),你需要的知识就越少。
研究人员 Newell 和 Simon 在1976年提出,知识注入搜索(也称为启发式搜索“heuristic search”)是所有智能行为产生的方式(见文章《A. Newell and H. A. Simon. Computer science as empirical enquiry: Symbols and search. Communications of the Association for Computing Machinery, 19(3), 1976.》)。不幸的是,尽管这一理论有几个坚实而重要的特征,但作为所有智力的解释,它在很大程度上已被怀疑。然而,许多最近接受过人工智能教育的人并没有意识到,作为工程权衡,知识和搜索是不可避免的。关于解决问题的数学研究从理论上证明了这一点(见文章《David H. Wolpert and William G. Macready. No free lunch theorems for optimization. IEEE Transactions on Evolutionary Computation, 1(1), 1997.》)。在实践层面上,人工智能工程师一直都知道这一点。借用知乎用户“听日出”同学的回答用通俗的语言解释:
有一段时间大家很喜欢做优化算法的研究,灌了不少水。一般一个领域灌水是难免的,但是很多“外行”灌得过分了。比如,通过三个算例说明自己改进的算法适用于多么普适的问题集之类的论断云云。后来如题主所见,David 和 William 就啪啪啪打了众人的脸。他们要说的是一件很简单的事情:如果一个算法对于某个类型的问题比另外的算法效率高,那么它一定不具有普适性,即一定存在另外一类问题使得这个算法的效率低于随机搜索。
1.3 自然计算/统计 时代
从20世纪80年代到90年代初,人们对象征性的方法越来越失望。挫折来自各个方面。
从工程的角度来看,在简单问题上的早期成功似乎无法扩展到更困难的问题上。例如:开发能理解(或似乎能理解)简单句子的人工智能似乎很容易,但开发能理解完整人类语言的人工智能似乎并没有更近一步。而炒作更是加剧了这种情况:当人工智能被吹捧为下一个重要产品时,人们对整个行业的信心崩溃了。
还有一种很有影响力的哲学观点认为,象征性方法在生物学上是不可信的。你不可能通过符号路线规划算法来理解人类是如何规划路线的,就像你不可能通过研究“货品装卸车”来理解人类肌肉是如何工作的一样。 其结果是向自然计算迈进了一步:这是一种受到生物学或其他自然系统启发的技术。这些技术包括神经网络、遗传算法和模拟退火。许多自然计算技术已经存在很长时间了。例如,神经网络早于符号时代,它在1943年就首次被提出了。在20世纪80年代到21世纪初,他们得到了大量的研究成果。
尽管它的起源与生物学相关,人工智能很依赖使用数学,特别是概率和统计,以理解和优化自然计算技术。与符号方法清晰和严格的边界形成对比的是,处理真实世界数据的所有不确定性和混乱的能力导致了大量其他概率技术的发展,如贝叶斯网络、支持向量机和高斯过程。
过去10年人工智能领域的最大变化并非来自学术界的突破。我们生活在一个人工智能再次出现在报纸上的时代:自动驾驶汽车、深度伪造、世界冠军围棋程序和家庭虚拟助手。这是深度学习的时代。虽然使用了许多学术创新,但这些系统从根本上仍然是由神经网络驱动的,现在由于计算能力的提高而变得实用。
二、工程AI
尽管在过去五年中,报纸头条和备受瞩目的应用蓬勃发展,人工智能几十年来一直是解决现实世界问题的关键技术。汽车的导航系统、工厂的工作调度、语音识别和听写以及大规模搜索都有20多年的历史。例如,谷歌的搜索技术长期以来一直得到人工智能的支撑。彼得•诺维格(Peter Norvig)既是谷歌的研究主管,也是《现代学术人工智能》(modern academic AI)本科经典教材的合著者,这并非巧合。
当某物很热时,人们很容易认为它是唯一重要的东西。当自然计算技术占据中心位置时,人们倾向于认为象征性方法已经死了。同样,随着关于深度学习的讨论无处不在,如果你认为应该使用深度学习,那你可能会被原谅。
但我们总是会回到同样的取舍:搜索vs知识。深度学习是计算密集型搜索的终极形态,AlphaGo Zero(AlphaGo软件的第三次迭代)对游戏规则的了解非常少,但却有大量的计算资源和处理时间来尝试不同的策略并学习到最好的。另一方面,需要在受伤时使用生命包的角色被明确告知以下逻辑:IF injured THEN use health pack。不需要任何搜索。
任何算法能够超越其他算法的唯一方法是要么消耗更多的处理能力,即更多的搜索;要么针对特定的问题进行优化,即对问题有更多的了解。
在实践中,工程师同时从两方面工作。例如,语音识别程序使用已知的公式将输入信号转换成神经网络可以解码的格式。然后作为一系列符号算法(模型)的输入,这些算法(模型)查看字典中的单词以及单词在语言中的组合方式。优化生产线顺序的统计算法将把有关生产的规则编码到它的结构中,因此它不可能产生一个非法的输入。以上例子解释了:知识是用来减少所需的搜索量。
然而不幸的是,游戏通常被设计为在消费硬件上运行。虽然人工智能很重要,但图形处理一直占据了大部分的处理能力。这似乎没有改变的危险。对于AI设计运行在设备上的游戏,低计算、高知识的方法通常是明显的赢家。这些通常都是象征性方法,也就是学术界在七八十年代提出的方法。
后面,我们将介绍几种统计计算技术,这些技术对于特定问题非常有用。但我有足够的经验来确信,对于游戏来说它们通常是不必要的:同样的效果通常可以通过更简单的方法获得更好、更快和更多的控制。长久以来直到可预见的短期未来,绝大多数在游戏中使用的人工智能仍然是一种象征性技术。