第1章
深度学习概述
作为人工智能的一个子领域,深度学习致力于构建能够在数据驱动下做出精确决策的大规模神经网络模型。深度学习特别适合于复杂数据和有大规模数据集的情形。如今,大部分在线公司和高端消费级技术都在使用深度学习。比如脸书(Facebook)就使用了深度学习来分析在线对话中的文本。谷歌、百度和微软也不例外,它们借助深度学习实现图片搜索和机器翻译。当代所有的智能手机上也都运行着深度学习系统,比如基于深度学习的语音识别和与手机上嵌入式摄像头相结合的深度学习人脸检测。在医疗健康领域,深度学习已被用来处理医学影像(X射线、CT与MRI影像)和诊断健康状况。深度学习还是自动驾驶汽车的核心技术,用于实现定位、地图生成、运动规划和导航、环境感知以及跟踪驾驶员的状态。
深度学习最广为人知的例子或许就是DeepMind团队研发的阿尔法狗(AlphaGo)[1]。围棋(Go)是与国际象棋类似的棋盘类游戏。阿尔法狗是世界上第一个击败人类专业围棋手的计算机程序。2016年3月,在一场有两亿多人观看的比赛中,阿尔法狗打败了来自韩国的世界顶级专业围棋手李世石。第二年,也就是2017年,阿尔法狗又赢了世界排名第一的围棋手—来自中国的柯洁。
时间退回到2016年,阿尔法狗的成功在当年让人们感到非常惊讶。那个时候,人们普遍认为计算机程序还要经过很多年研究才能击败人类顶级围棋手。长久以来,人们已经知道让计算机学会下围棋要比让它学会下国际象棋难得多,因为相比于国际象棋,围棋棋盘更大、规则更简单,这使得围棋的棋局比国际象棋的要多得多。事实上,围棋的棋局数量比宇宙中的原子数量还要多。如此巨大的搜索空间和庞大的分支数(也就是从一个棋局通过一步棋能够到达的棋局数)使围棋对于人类和计算机来说都是一项极具挑战的游戏。
回顾一下计算机程序与人类选手下围棋和下国际象棋的历史,我们就能更好地理解这两种棋类游戏的相对难度了。早在1967年,麻省理工学院研发的MacHack-6国际象棋程序就已经能够下赢人类棋手了,在埃洛评级[2]中可以达到远高于新手级别的水平。而到了1997年5月,深蓝(DeepBlue)已经能够击败国际象棋世界冠军加里·卡斯帕罗夫了。与此相比,第一个完整的围棋程序直到1968年才被写出来,而在1997年的时候,比较厉害的人类棋手依然能够轻而易举地击败最好的围棋程序。
国际象棋和围棋计算机程序发展过程中的这些时间差反映出了这两种棋类游戏在计算复杂度上的差异。然而,如果换一个角度对它们的发展历史进行比较,我们就能看出深度学习在提高计算机程序的围棋水平方面的革命性影响。国际象棋程序从1967年的人类水平提高到1997年的世界冠军水平整整用了30年。尽管在2009年的时候,世界上最好的围棋程序还只能排在高级业余选手的末位,但在深度学习的加持下,围棋程序从高级业余选手水平到世界冠军水平仅仅用了7年。借助深度学习实现如此显著的性能提升,这一点在很多其他领域也已司空见惯。
阿尔法狗使用深度学习对棋局进行评估,并决定下一步棋的走法。阿尔法狗的这一事实能够帮助我们理解为什么深度学习在如此多的不同领域和应用中都能够大显身手。决策是我们生活中至关重要的一部分,虽然我们可以根据自己的直觉进行决策,但是很多人还是认同最好的决策方法是基于相关的数据。深度学习便提供了这样的数据驱动的决策,它能从大量将复杂输入精确映射到好的决策结果的数据中发现和提取模式。
[1] https://deepmind.com/research/alphago/。
[2] 埃洛评级系统(Elo rating system)是一种评价像围棋这样的零和游戏中的玩家的技术水平的方法,它的命名是为了纪念其发明者阿帕德·埃洛(Arpad Elo)。