目录
1.0 引言
1.1 目的
1.2 背景
2.0 方法
2.1 阶段
3.0 人工智能中的技术
3.1 问题求解(搜索)
3.2 知识、推理与规划
3.2.1 逻辑
3.2.2 规划
3.2.3 知识表征和推理
3.2.4 概率模型
3.3 学习
3.3.1 决策树/决策规则学习
3.3.2 支持向量机
3.3.3 K-最近邻
3.3.4 集成学习
3.3.5 回归分析
3.3.6 神经网络
3.3.7 强化学习
3.3.8 聚类分析
3.3.9 关联规则学习
3.3.10 推荐系统
3.4 通讯、感知与行动
3.4.1 信息检索
3.4.2 文本挖掘/分类
3.4.3 信息抽取
3.4.4 机器翻译
3.4.5 语音识别
3.4.6 计算机视觉
3.4.7 机器人
4.0 总结和影响
参考文献
1.0 引言
1.1 目的
本报告的目的是纵览人工智能(AI)的分支技术,明晰它们的发展路径,从而让读者能够更加准确和全面地了解人工智能研究领域的过去、现在和未来。
1.2 背景
人们很容易混淆人工智能和机器学习(甚至深度学习),觉得它们是一样的。这是一个很大的误解。除了流行的神经网络模型之外,人工智能的历史可以追溯到 1956 年,在达特茅斯那场名为「达特茅斯人工智能夏季研究项目(Dartmouth Summer Research Project on Artificial Intelligence)」的研讨会上,「人工智能(Artficial Intelligence)」(AI)这一术语被首次提出,人工智能研究领域也就此形成[1]。
本报告所讨论的「人工智能」主要是指可以通过机器体现的智能(也叫做机器智能(Machine Intelligence))。在学术研究领域,就是指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent) [1]。
一般而言,人工智能的长期目标是实现通用人工智能(AGI),这被看作是「强人工智能(strong AI)」。在处理交叉领域问题时,AGI 的表现会远远超过普通的机器,并且它还能同时处理多个任务。而弱人工智能(weak AI,也被称为「狭隘人工智能(narrow AI)」)无法解决之前未见过的问题,而且其能力仅局限在特定的领域内。但是,人工智能专家和科学家现在对 AGI 的确切定义仍然含混不清。区别强人工智能和弱人工智能的常见方法是进行专业测试,比如咖啡测试、图灵测试、机器人大学生测试和就业测试 [28]。
本报告所讨论的「技术(technology)」是一个广泛的概念,包含了人工智能领域所使用的方法、算法和模型,我们将使用「技术」一词指代这三者。
与人工智能相关的工作可以追溯到 20 世纪 40 年代,那时候 Warren McCulloch 和 Walter Pitts 的研究表明可以通过互连的神经元网络执行计算,Donald Hebb 也演示了赫布学习(Hebbian learning)。1956年,当「人工智能(AI)」这一术语正式成型的时候,相应的研究也开始快速发展。那时候,人工智能还主要被用于问题求解。尽管在 20 世纪 60 年代和 70 年代期间,神经网络缓慢的发展速度和有限的进展受到过批评,但专家系统的出现维持了人们对人工智能的兴趣和相关研究的增长。不久之后,在 20 世纪 80 年代,因为大多数人工智能研究都无法实现它们原先过度的承诺,对人工智能研究的资助也流向了其它领域,由此人工智能学术研究步入了所谓的「人工智能冬天(AI Winter)」[1]时期。幸运的是,联结主义者重新发明的反向传播将神经网络带回了舞台。在 20 世纪 90 年代,研究者开始应用概率模型等更科学的方法;与此同时,支持向量机(SVM)在很多领域都超过并取代了神经网络。不久之后就进入了崭新的21世纪,大数据的时代到来了,这帮助研究者开发了多种学习算法,使得深度学习在近些年来得到了蓬勃发展。关注人工智能研究的团队越来越多,在专注人工智能的顶级会议(比如 AAAI、IJCAI、AUAI 和 ECAI)上发表的论文也急剧增长。(专注于那些范围更小的研究主题的会议将在第 3 节进行介绍。)
在第 2 节中,我们将介绍设置的研究方法和标准。在第 3 节中,我们将讨论多种人工智能技术。对于每种人工智能技术,我们都确定了当前所处的发展阶段并进行了详细讨论,并且还简要概述了相应历史或主要事件。此外,我们还将从各种角度分析每种技术的瓶颈和未来。本报告不包含技术细节,但提供了一般性的概述,并希望能根据发展历史确定它们之间的关系。在第 4 节本报告的结尾,我们将讨论人工智能技术的一些影响和局限。
2.0 方法
我们研究的主要方法和信息来源是查阅文献。对于我们覆盖的每种技术,我们都参考了最新的文章、新闻和论文,以帮助确定当前所处的发展阶段。此外,通过研究之前发表的文献,我们也讨论了与特定技术相关的主要事件。
除了定性地查阅文献,我们也使用了一种量化方法来帮助读者理解每种技术的普及程度和成长情况。我们分析了研究者的数量、期刊、出版物、会议、组织、知名奖项授予和对应的资助情况。我们也对适用的案例使用了谷歌趋势工具来大概了解公众对特定技术的认识情况。
2.1 阶段
技术发展阶段的分类学方法有很多,目前常用的是技术生命周期(Technology Life Cycles)方法,其中也包括「衰落」阶段。但是,对于这份针对人工智能技术的研究报告而言,我们没有考虑「衰落」阶段。我们认为尽管一种特定技术的发展可能会在某个时候停滞,但其发展(在科学进步方面看)不会退步;对技术「衰退」的引证通常是在商业角度上考量的。根据我们对 [20][21][22][23] 等多个信息来源的评估和分析,我们确定了人工智能技术发展将会经历的四个周期:研究、工程、应用和社会影响。这里给出了每个阶段的详细定义,以作为未来详细分析的范式:
注:实际上这里涵盖了很多技术的子类别,而我们将它们当作一个整体来确定它们的发展阶段。一旦有特定的迹象说明一种技术已到达特定阶段,那么整个技术类别都将被置于该阶段——尽管对该技术可能还有一些持续性的研究、工程或应用工作。
3.0 人工智能中的技术
根据书籍、论文、博客、视频和 MOOC(大型开放式网络课程)等介绍性材料,我们发现 Stuart J. Russell 和 Peter Norvig [1] 合著的经典教材《人工智能:一种现代方法》最有帮助。根据这些材料,我们确定了 23 种不同的人工智能技术并将它们分成了 4 大领域:
问题求解(搜索)知识、推理与规划学习通讯、感知与行动
我们根据这23种技术在人工智能领域内的基本机制、方法和应用相似度进行了分类。这些分类并不是互斥的。你可以将它们看作是人类具有的能力,每种能力都有不同的功能,共同协作才能实现更高级更复杂的目标。
3.1 问题求解(搜索)
搜索算法的历史始于 20 世纪 50 年代人工智能的孕育时期,那时候人们关注的重点是问题求解。「搜索(search)」这个术语在人工智能领域内的意思主要是指驱动计算机/智能体的搜索算法,它们可以使计算机以人类的方式求解各种问题。搜索算法一般可以分成两类:无信息(uninformed)搜索和有信息(in-formed)搜索。其中有信息启发式搜索是相当流行的,因为它能根据一些指示快速找到解答。这一类别中包含一种最受欢迎的搜索算法:A*搜索。A*搜索可被定义为是一种(贪婪)最佳优先搜索((greedy) best-first search)。其它的启发式(有信息)搜索算法还包括递归最佳优先搜索(RBFS)、简化有限内存 A*(Simplified Memory-Bounded algorithm/SMA*)、蒙特卡洛树搜索(MCTS)和束搜索(Beam Search)。无信息搜索算法包括宽度优先搜索、深度优先搜索、深度限制搜索、双向搜索和迭代深化搜索。启发式搜索算法有一个特定类别是局部搜索算法,其对于约束满足问题(CSP)[26]尤其有效。流行的本地搜索算法还包括爬山算法、模拟退火算法、局部束搜索和遗传算法(随机束搜索的变体)。
关于上面提到的约束满足问题(CSP),其求解通过满足一组特定约束条件的变量来表示。这是一个在人工智能和运筹学领域都非常热门的研究课题。局部搜索算法可用于解决这类问题,其中使用最小冲突启发式的局部搜索在解决 CSP 方面取得了不小的成功。除此之外,相关的技术还包括回溯搜索算法(一种深度优先搜索算法)以及树分解技术。
除了用于传统优化问题的单智能体搜索之外,还有专注于「针对不同一方进行规划」的搜索算法(例如竞争性博弈问题),这种算法被称为对抗搜索算法(adversarial search algorithm)。对抗搜索问题的经典算法包括极小极大(Minimax)搜索和 α-β 剪枝。
主要事件:
当前阶段:因为对抗搜索技术已经在游戏博弈领域广泛应用很长时间了,所以用于问题求解的搜索算法的发展阶段被确定为应用阶段。
瓶颈:尽管不同的搜索算法都有应用,但目前搜索算法技术还没有明确直接的商业化解决方案。
未来:随着深度学习的发展,与搜索算法进行整合是很有前景的(比如使用深度强化学习的MCTS)。最近,整合了一些对抗搜索元素的生成对抗网络(GAN)大受欢迎。可以预见,未来将会有更多智能体出现在更多不同的应用领域。
会议:
遗传与进化计算会议(Genetic and Evolutionary Computation Conference/GECCO)约束编程原理与实践国际会议(International Conference on Principles and Practice of Constraint Pro- gramming)
3.2 知识、推理与规划
这个技术类别可以帮助机器构建知识库,并让它们像人类一样进行推理和规划。这里讨论的技术包括逻辑、规划、知识表征(专家系统)和概率模型。
3.2.1 逻辑
人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。
主要事件:
当前阶段:逻辑不仅已经对人类心智产生了根本性的影响,也极大地影响了对机器的设计,所以逻辑的发展阶段被确定为社会影响阶段。当在谷歌趋势上搜索「logic」时,我们可以看到和「人工智能」相比,人们对逻辑的兴趣一直很高;而从谷歌学术上收集的数据也反映出了类似的结果。当然,这并不奇怪,因为在人工智能出现很久之前,逻辑就已经是一大学科了。人类会使用逻辑来解决日常生活中的很多问题(包括程序设计),而机器也要使用逻辑来理解和执行命令。
瓶颈:逻辑所面临的瓶颈不是其在人工智能领域的应用,而是其内在的局限性,比如为逻辑推理设定的假设是否正确。
未来:克服逻辑本身固有的局限性并不容易,但逻辑在人工智能领域的应用还会得到扩展。比如说,逻辑学与机器人的整合可以给我们带来「家用的亚里士多德」,为我们答疑解惑,成为我们的朋友和导师。
会议:
计算机科学逻辑专题研讨会(Symposium on Logic in Computer Science/LICS)国际编程逻辑会议(International Conferences on Logic for Programming /LPAR)
3.2.2 规划
人工智能领域的「规划」通常是指智能体执行的任务/动作的自动规划和调度,其目的是进行资源的优化。常见的规划方法包括经典规划(Classical Planning)、分层任务网络(HTN)和 logistics 规划。
主要事件:
当前阶段:规划技术已经实现了很多发展,并且也已经赢得了广泛的公众认知。它目前正处于成熟阶段,且类似于逻辑的出现和发展。我们认为规划当前正处于社会影响的发展阶段,因为它已经在社会中无处不在,而且对社会的运作有重大的影响。
瓶颈:规划的天生之敌是不确定性,这个问题有可能摧毁通过规划设计的整个流程。
未来:规划的未来发展方向可能是智能风险管理领域,另外也可以预见规划在医学和机器人领域的应用。
会议:国际自动规划与调度会议(International Conference on Automated Planning and Scheduling / ICAPS)
3.2.3 知识表征和推理
知识表征(KR)研究的是如何表征有关世界的事实,也被称作本体工程( Ontological Engineering)。知识表征和推理的一个早期成功应用是专家系统,即带有推理引擎的知识库。本节也将涵盖本体论和语义网/语义网络(Semantic Webs/Networks)的发展。
主要事件:
当前阶段:知识表征的基础最早在 1959 年开始得到探索,那时候研究者发明了GPS(通用问题解算器)系统。自那以后,知识表征得到了很大的发展。因为过去几十年来出现了很多研究和工程开发,在专家系统商业化之后知识表征就已经进入了应用阶段。但是,在本体论、描述逻辑和语义网络领域,知识表征仍旧处于工程阶段,因为其中的技术大都处于原型开发阶段,并且在各种教育机构中被作为开源项目使用。当使用谷歌趋势搜索关键词「Knowledge Representation」和「Expert System」时,可以看到在 2004 年到 2006 年之间,专家系统和知识表征之间存在很大的差距。相比于知识表征的应用专家系统,知识表征本身所得到的研究关注相对更加稳定。
瓶颈:
知识表征和推理的研究非常依赖数据。一方面,仅使用少量数据无法驱动专家系统;另一方面,随着数据/知识规模的大幅增长,其复杂度也将成比例增长。本体论研究的应用有限。专家系统的能力受限于知识库。
未来:
可以预见知识表征技术将会出现在更多领域的更多应用中。专家系统的未来应该是「世界大脑(World Wide Brain)」,它能知道、连接和推理各种知识,而不再只是单一领域的知识。
会议:
国际知识表征与推理原理会议(International Conference on Principles of Knowledge Representation and Reasoning /KR)人工智能中的不确定性会议(Conference on Uncertainty in Artificial Intelligence/UAI)国际数据库与专家系统应用会议(International Conference on Database and Expert Systems Applica- tions /DEXA)
3.2.4 概率模型
概率模型是用于描述不同变量之间的不确定概率关系的数学模型。之前的章节(3.2.1~3.2.3)主要讨论的是对某些知识的推理,而概率模型则主要是基于概率理论进行不确定的知识推理和推导。用于人工智能的概率模型包括期望最大化法(EM)、卡尔曼滤波器(1960,Rudolf Kalman)、粒子滤波(自 1969 年以来)和隐狄利克雷分布(LDA)。本节将讨论两个最受欢迎的概率模型家族:贝叶斯模型和马尔可夫模型。
3.2.4.1 贝叶斯模型
贝叶斯模型基于贝叶斯定理,即:
经典的贝叶斯模型包括朴素贝叶斯、贝叶斯网络和动态贝叶斯网络(DBN);它们主要用于基于给定条件查找事件的概率。
主要事件:
当前阶段:贝叶斯模型的发展始于 1763 年贝叶斯定理的出现。经过近二百年的研究和实验,贝叶斯模型在 1941 年后进入了应用阶段。此时正值第二次世界大战,贝叶斯定理在密码破译中得到了应用。现在,贝叶斯模型在各种模型中得到了广泛应用,比如垃圾消息过滤(朴素贝叶斯)、保险损失预测和客户行为推断。现在还有一些应用贝叶斯模型进行 HIV 预测的研究[29]。
瓶颈:
如果假设太复杂,贝叶斯网络的效果会很差。因为当前状态取决于之前所有的状态,所以它事先可能就会包含大量变量,计算这些变量需要大量内存。当使用朴素贝叶斯模型时,如果变量之间是高度相关的,那就会生成误导性的结果。作为已知条件的先验假设在得到最终结果上发挥着重要的作用。但是,确定先验假设有时候是很困难和耗时的。
未来:如果能找到一种解决方案,让模型的计算可以使用更加无偏差和合理的先验条件,那么就能降低计算成本,使贝叶斯模型的估计和预测更加值得信任,并将其应用到更多领域。
会议/组织:
计量经济学与统计学中的贝叶斯推理研讨会(Seminar on Bayesian Inference in Econometrics and Sta- tistics/SBIES)贝叶斯非参数会议(The Bayesian nonparametrics conference /BNP)Bayesian,Fiducial, and Frequentist Conference (BFF)国际贝叶斯分析协会(International Society for Bayesian Analysis/ISBA)
3.2.4.2 马尔可夫模型
「马尔可夫模型」是指基于马尔可夫性质的模型,其假设一个给定过程的未来状态仅取决于当前状态。根据系统状态是否完全可被观测以及系统是自动的还是受控的,可以将常见的马尔可夫模型分成四种:马尔可夫链、隐马尔可夫模型(HMM)、马尔可夫决策过程(MDP)和部分可观测马尔可夫决策过程(POMDP)。另外马尔可夫随机场(MRF)和马尔可夫链蒙特卡洛(MCMC)这两个模型也常常被用于近似和预测。
主要事件:
当前阶段:自 1906 年马尔可夫链出现以来,马尔可夫模型已经得到了数十年的研究,并在 20 世纪 70 年代早期进入了应用阶段——HMM在语音识别领域得到了应用。现在,这些模型在人工智能的不同领域有着广泛的应用,比如预测输入的词(马尔可夫链)、语音识别(HMM)和强化学习(MDP、POMDP)。
瓶颈:
在应用马尔可夫模型之前需要确保它满足「无记忆(memor y-less)」的性质。马尔可夫链收敛到静态分布的速度可能很慢。隐藏状态之间的关系不是非常明显和清晰。因为状态之间的方向问题,模型在使用时可能会出现无限循环。
未来:在不久的将来,会有改善收敛速度的新模型/算法出现。也许会有新方法能帮助我们清晰准确地确定状态之间的依赖关系和过渡概率。因此,马尔可夫模型可以在更多领域和有更多目标客户的行业得到应用。
会议:科学计算中的蒙特卡洛和准蒙特卡洛方法国际会议(International Conference on Monte Carlo and Quasi-Monte Carlo Methods in Scientific Computing/MCQMC)
3.3 学习
「学习」代表机器学习技术,有时候也被称为模式识别、数据挖掘或数据库知识发现(KDD)。这一节将涵盖决策树/决策规则学习、支持向量机(SVM)、K-最近邻(KNN)、集成学习、回归分析和神经网络等监督学习技术。注意贝叶斯分类器(Bayesian Classifiers)也是一种监督学习方法,但因为前面的章节已经讨论过了,所以在此略过。深度学习将包含在神经网络那一部分中。聚类分析作为一种典型的无监督学习技术也将被包括。此外,本节还将涉及强化学习、关联规则学习和推荐系统。专注这一领域的顶级会议包括COLT、ICML、ICLR和SIGKDD,细分领域的会议将在对应章节被提及。
3.3.1 决策树/决策规则学习
决策树/决策规则学习是一种决策支持工具,使用了树状图来模拟决策和对应结果。它的现实应用包括业务管理、客户关系管理和欺诈检测。最流行的决策树算法包括ID3、CHAID、CART、QUEST和C4.5。
主要事件:
当前阶段:根据谷歌趋势和谷歌学术的数据,C4.5仍然是各种决策树学习算法中最受关注和相关论文数量最多的。因此我们可以将其看作是单决策树学习应用中最流行的算法。过去几十年来,决策树已经在很多不同行业领域得到了应用,为管理和决策提供支持。决策树也可以为欺诈检测和故障诊断提供帮助[32]。因此,我们将决策树/决策规则学习划在应用阶段。
瓶颈:
在特定条件下的过拟合或欠拟合问题限制了决策树的应用。随着树规模的增长,树可能会变得无法被解释。
未来:
决策树的当前发展趋势更多关乎其结果的可靠性和算法的适应性。因此,可以预见会有集成学习等更多扩展或集成,也可能出现集成了本体论的「现代专家系统」。随着深度学习的发展,影响决策树表现的特征选择可能会得到显著改善。
3.3.2 支持向量机
支持向量机(SVM)是一种二元分类模型,它的目的是找到具有最大余量的线或超平面,从而将数据分开。它既可以用于分类任务,也能用于回归任务。SVM的应用包括手写数字识别、目标识别、预测金融时间序列和蛋白质分类。
主要事件:
当前阶段:对 SVM 的研究已经持续了大约半个世纪。因为 SVM 已经有相当多的应用,而且也有「早期采用者」开始在商业应用中使用SVM,所以我们将 SVM 分类到应用阶段。
瓶颈:
SVM天生只能解决二元分类问题,而且也不易被解释。SVM对噪声很敏感,核函数参数的选择会造成很大影响。算法复杂度高,内存要求多,使得训练速度很慢。
未来:该算法可能会得到简化,对核函数的更多研究将能让 SVM 发挥更多潜能。
—上期完—
关注“机器之心”百家号,进入个人主页快速查找《一文纵览人工智能的23个分支技术(下)》。