2.1 机器学习的发展
机器学习是人工智能研究中较为年轻的分支,它的发展过程大体上分为五个时期。
第一个时期:20世纪50年代中叶到60年代中叶,属于启蒙时期。这个时期的研究目标是各类自组织系统和自适应系统,其主要研究方法是不断修改系统的控制参数和改进系统的执行能力,这种方法不涉及与具体任务有关的知识。这个时期的代表性工作主要有塞缪尔(Samuel)的下棋程序。1959年美国的塞缪尔设计了一个下棋程序,这个程序具有学习能力,可以在不断的对弈中改善自己的棋艺。4年后,这个程序战胜了设计者本人。又过了3年,这个程序战胜了美国一个保持8年不败的冠军。这个程序向人们展示了机器学习的能力,提出了许多令人深思的社会问题与哲学问题,但这种学习的结果远不能满足人们对机器学习系统的期望。
第二个时期:20世纪60年代中叶到70年代中叶,被称为机器学习的平静时期。在这个时期,机器学习的发展步伐几乎处于停滞状态。本时期的研究目标是模拟人类的概念学习过程,并采用逻辑结构或图结构作为机器内部描述。该时期的代表性工作有温斯顿(Winston)的结构学习系统和海斯罗思(HayesRoth)等的基本逻辑的归纳学习系统。这些研究虽然取得较大进展,但只能学习单一概念,而且未能投入实际应用。此外,神经网络学习机因理论缺陷未能达到预期效果而转入低潮。事实上,这个时期整个AI领域都遭遇了瓶颈。当时计算机有限的内存和处理速度不足以解决任何实际的AI问题。
第三个时期:从20世纪70年代中叶到80年代中叶,称为复兴时期。在此期间,人们从单概念学习扩展到多概念学习,探索不同的学习策略和方法。在本阶段已开始把学习系统与各种应用结合起来,并取得很大的成功,大大促进了机器学习的发展。1980年,在美国卡内基梅隆大学召开了第一届机器学习国际研讨会,标志着机器学习研究已在全世界兴起。经过一些挫折后,多层感知器由伟博斯在1981年的神经网络反向传播算法中具体提出。当然反向传播算法现在仍然是神经网络架构的关键因素。有了这些新思想,神经网络的研究又加快了。1985—1986年,神经网络研究人员(鲁梅尔哈特、辛顿、威廉姆斯·赫、尼尔森)先后提出了MLP与BP训练相结合的理念。一个非常著名的机器学习算法由昆兰在1986年提出,称之为决策树算法,更准确地说是ID3算法,这是另一个主流机器学习的火花点。决策树是一个预测模型,代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分叉路径代表某个可能的属性值,每个叶节点则对应从根节点到该叶节点所经历的路径所表示的对象的值。决策树仅有单一输出,若欲有复数输出,可以建立独立的决策树以处理不同输出。在数据挖掘中,决策树是一种经常要用到的技术,可以用于分析数据,也可以用来作预测。
第四个时期:20世纪90年代到21世纪初,称为现代机器学习技术成型期。1990年,Schapire最先构造出一种多项式级的算法,这就是最初的Boosting算法。一年后,Freund提出了一种效率更高的Boosting算法。但是这两种算法存在共同的缺陷,那就是都要求事先知道弱学习算法学习正确的下限。1995年,Freund和Schapire改进了Boosting算法,提出AdaBoost(Adaptive Boosting)算法,该算法的效率和Freund于1991年提出的Boosting算法几乎相同,但不需要任何关于弱学习器的先验知识,因而更容易应用到实际问题当中。同年,机器学习领域中一个最重要的突破——支持向量机(Support Vector Machine,SVM),由瓦普尼克和科尔特斯在大量理论和实证的条件下提出,从此将机器学习社区分为神经网络社区和支持向量机社区。支撑向量机、Boosting、最大熵方法(比如Logistic Regression,LR)等模型的结构基本上可以看成带有一层隐层节点(如SVM、Boosting),或没有隐层节点(如LR)。这些模型无论是在理论分析上还是在应用中都获得了巨大的成功。另一个集成决策树模型由布雷曼博士在2001年提出,它由一个随机子集的实例组成,并且每个节点都是从一系列随机子集中选择。由于它的这个性质,被称为随机森林,随机森林也在理论和经验上证明了对过拟合的抵抗性。甚至连AdaBoost算法在数据过拟合和离群实例中都表现出了弱点,而随机森林则是针对这些警告更稳健的模型。随机森林在许多不同的任务,像DataCastle、Kaggle等比赛中都表现出了成功的一面。这个时期的机器学习围绕三个主要研究方向进行:① 面向任务学习。在预定的一些任务中分析和开发学习系统,以便改善完成任务的水平,这是专家系统研究中提出的研究问题;② 认识模拟研究。主要研究人类学习过程及其计算机的行为模拟,这是从心理学角度研究的问题;③ 理论分析研究。从理论上探讨各种可能学习方法的空间和独立于应用领域之外的各种算法。这三个研究方向都有自己的研究目标,每一个方向的进展都会促进另一个方向的研究。这三个方向的研究都将促进各方面问题和学习基本概念的交叉结合,推动了整个机器学习的研究。
第五个时期:21世纪初至今,这是现代机器学习技术的蓬勃发展期,其研究扩展到模式识别、计算机视觉、语音识别、自然语言处理等多个领域,如图2-1所示。
图2-1 现代机器学习技术应用领域
在这个时期内,机器学习相关学习算法层出不穷,而且实用性越来越高,取得了许多突破性应用成果。
1997年,“深蓝”在国际象棋上击败当时的世界冠军,成为了第一个击败当时世界国际象棋冠军的计算机系统。“深蓝”利用了20世纪90年代已经得到了发展的计算机能力来执行潜在走子方式的大规模搜索,并从中选择最好的走子步骤。
2011年,在美国一个电视解密节目Jeopardy!上,IBM的Watson系统击败了两位人类冠军。
2012年,ImageNet分类赛与计算机视觉的进步:Alex Krizhevsky、Ilya Sutskever和Geoffrey Hinton发表了一篇很具有影响力的论文。该论文所描述的模型赢得了ImageNet年度图像识别比赛,并极大地降低了图像识别的错误率。
2016年,AlphaGo击败世界围棋冠军棋手:Google DeepMind创造的AlphaGo围棋系统以4:1的成绩击败了世界顶级围棋棋手李世石。
2017年,学习玩扑克:卡内基梅隆大学的研究者开发了一个名叫Libratus的系统,其在历时20天的无限制德州扑克比赛上击败了四位人类顶级玩家。阿尔伯塔大学研究者开发的Deepstack系统也取得了类似的成功。
早期机器学习中的专家系统曾是人工智能研究工作者的骄傲。在研究一个专家系统时,知识工作者首先从领域专家那里获得知识,但知识获取是专家系统研究中公认的瓶颈问题。其次,在整理、表达从领域专家那里获得的知识时,知识表示又成为一大难题。最后,即使某个领域的知识通过一定方式获取并表达了,但这样做成的专家系统对常识和百科知识却出奇的贫乏。以上三大难题大大限制了专家系统的应用,使专家系统目前还停留在发动机故障诊断一类的水平上。人工智能学者,尤其是从事机器学习的科学工作者开始正视现实生活中大量的、不完全的、有噪声的、模糊的和随机的大数据样本,也开始走上了数据挖掘的道路。通过50多年的发展,目前机器学习已成为计算机科学中研究内涵极其丰富、新技术和新应用层出不穷的重要研究分支。国际上关于机器学习的主要学术会议包括每年定期举行的国际机器学习会议(ICML)、国际神经信息处理系统会议(NIPS)、欧洲机器学习会议(ECML)及亚洲机器学习会议(ACML)等,主要学术期刊包括Machine Learning、Journal of Machine Learning Research、IEEE Transactions on Neural Networks and Learning Systems等。此外,人工智能领域的一些主要国际会议(如IJCAI、AAAI等)和国际期刊(如Artificial Intelligence、IEEE Transactions on Pattern Analysis and Machine Intelligence等)也经常发表与机器学习相关的最新研究成果。国内机器学习的重要学术活动包括每两年举行一次的中国机器学习会议(China Conference on Machine Learning,CCML),该会议目前由中国人工智能学会和中国计算机学会联合主办,中国人工智能学会机器学习专业委员会和中国计算机学会人工智能与模式识别专业委员会协办。此外,还有每年举行的中国机器学习及其应用研讨会(Chinese Workshop on Machine Learning and Applications,MLA)。
早期机器学习研究通常假设数据具有相对简单的特性,如数据来源单一、概念语义明确、数据规模适中、结构静态稳定等。当数据具有以上简单特性时,基于现有的机器学习理论与方法可以有效实现数据的智能化处理。然而,在大数据时代背景下,数据往往体现出多源异构、语义复杂、规模巨大、动态多变等特殊性质,为传统机器学习技术带来了新的挑战。为应对这一挑战,国内外科技企业巨头,如谷歌、微软、亚马逊、华为、百度等,纷纷成立以机器学习技术为核心的研究院,以充分挖掘大数据中蕴含的巨大商业与应用价值。可以预见,在未来相当长的一段时期内,机器学习领域的研究将以更广泛、更紧密的方式与工业界深度耦合,推动信息技术及产业的快速发展。