第二章 ai复兴:深度学习+大数据=人工智能(2 / 2)

2011年前,主流的语音识别算法在各主要语音测试数据集中的识别准确率还与人类的听写准确率有一定差距。2013年,谷歌语音识别系统对单词的识别错误率在23%左右。也就是说,深度学习技术在语音识别系统广泛应用之前,基本还停留在比较稚嫩的阶段,说话者必须放慢语速,力求吐字清晰,才能获得一个令人满意的准确率。

但仅仅两年时间,因为深度学习技术的成功应用,谷歌在2015年5月举办的Google I/O年度开发者大会上宣布,谷歌的语音识别系统已将识别错误率降低到了惊人的8%37!

而IBM的Watson智能系统也不遑多让,很快就将语音识别的错误率降低到了6.9%。

微软则更进一步。2016年9月,微软研究院发布了里程碑式的研究成果:在业界公认的标准评测中,微软最新的基于深度学习的语音识别系统已经成功地将识别错误率降低到了6.3%38。

<img src="/uploads/allimg/200412/1-2004120Q206140.jpg" />

图23 近20年来语音识别错误率的下降趋势

如图23所示,在我从事语音识别研究的时代,统计模型崛起,并在随后的一二十年中,将按照单词统计的识别错误率从40%左右降低到20%左右。但在今天的深度学习时代,只用了两三年的时间,微软、IBM、谷歌等公司就将语音识别的错误率从20%左右降低到了6.3%!

这就是为什么我们说,这一拨人工智能浪潮的最大特点是人工智能技术真正突破了人类的心理阈值,达到了大多数人心目中&ldquo;可用&rdquo;的标准。以此为基础,人工智能技术在语音识别、机器视觉、数据挖掘等各领域走进了业界的真实应用场景,与商业模式紧密结合。

例如,今天我们拿出手机,使用苹果手机内置的语音输入法,或者使用中文世界流行的科大讯飞语音输入法,我们就可以直接对着手机说话以录入文字信息。技术上,科大讯飞的语音输入法可以达到每分钟录入400个汉字的输入效率,甚至还支持十几种方言输入。在不方便用键盘打字的场合,比如坐在汽车或火车上,我就经常用语音输入法录入文字,然后再将文字信息发给别人;有时候,我还直接用语音识别系统来写大段的文章。

<h2>

深度学习携手大数据引领第三次AI热潮</h2>

语音识别系统在近年来突飞猛进,技术上只有一个原因&mdash;&mdash;深度学习!事实上,机器视觉领域,2014年在Image Net竞赛(ILSVRC)中第一次超越人类肉眼识别准确率的图像识别算法也是深度学习的杰作!

今天,人工智能领域的研究者,几乎无人不谈深度学习。很多人甚至高喊出了&ldquo;深度学习=人工智能&rdquo;的口号。

毋庸讳言,深度学习绝对不是人工智能领域的唯一解决方案,二者之间也无法画上等号。但说深度学习是当今乃至未来很长一段时间内引领人工智能发展的核心技术,则一点儿也不为过。

人工智能大师、深度学习泰斗约书亚&middot;本吉奥(Yoshua Bengio)说:&ldquo;没有可与深度学习竞争的人工智能技术。人工智能是循序渐进的耐心工作的成果,而且它总是站在巨人的肩膀上,并且这些进步在某种程度上促成了转折点&mdash;&mdash;我们可以在新服务中利用这些成果来生产新东西,进行经济转型以及改变社会。正如人们所写的那样,我们正在经历另一场工业革命,它并不是简单地增加人类的机械力;计算机将增加人类的认知能力和智力。我谈到了深度学习,因为这些变化和突破在很大程度上正是由于深度学习的进步。&rdquo;39

2006年开始的第三拨人工智能热潮,绝大部分功劳要归于深度学习!

<h3>

从神经网络到深度学习</h3>

深度学习究竟是何方神圣?

和许多人的想象相反,深度学习可不是一下子从石头缝里蹦出来、横空出世的大神,它的历史几乎和人工智能的历史一样长。只不过,数十年里,深度学习及相关的人工神经网络技术由于种种原因,蛰伏于人工智能兵器库的一角,默默无闻,任由其他门类的兵器在战场上耀武扬威。蛰伏不等于沉寂,在漫长的等待中,深度学习技术不断磨砺自己,弥补缺陷,打磨锋刃。当然,最重要的,是等待最合适的出山时机。

2000年后,计算机产业的发展带来了计算性能、处理能力的大幅提高,尤其是以谷歌为代表的前沿企业在分布式计算上取得了深厚积累,成千上万台计算机组成的大规模计算集群早已不再是稀罕物。而互联网产业的发展则使搜索引擎、电子商务等公司聚集了数以亿计的高质量的海量数据。大计算能力和大数据,正是深度学习这件深藏不露的千古神兵所等待的两大时机。

终于,万事俱备,只欠东风。2006年,深度学习泰斗杰弗里&middot;辛顿及其合作者用一篇名为《一种深度置信网络的快速学习算法》40的论文宣告了深度学习时代的到来&mdash;&mdash;当然,这么说有些夸张。准确描述是,深度学习在2010年前后的兴起是建立在以杰弗里&middot;辛顿为代表的一众大师级人物数十年的积累基础之上的,2006年前后的一系列关键论文只是加速了深度学习的实用化进程。

千古神兵重新披挂上阵!

我们可以由今天的深度学习追溯到它的核心计算模型&mdash;&mdash;人工神经网络的诞生之日。早在通用计算机问世前的1943年,神经科学家沃伦&middot;麦卡洛克(Warren Mc Culloch)和沃尔特&middot;彼茨(Walter Pitts)就提出了一种大胆假说,描述了人类神经节沿着网状结构传递和处理信息的模型。这一假说一方面被神经科学家用于研究人类的感知原理;另一方面则被计算机科学家们借鉴,用于人工智能的相关研究。后者也被学术界称为人工神经网络。

20世纪40年代,唐纳德&middot;赫布(Donald Hebb)尝试将人工神经网络用于机器学习,创建出早期的&ldquo;赫布型学习&rdquo;(Hebbian Learning)理论。1954年,计算机科学家韦斯利&middot;A.克拉克(Wesley A.Clark)在麻省理工学院尝试在计算机上实现赫布型学习的基本模型。1958年,弗兰克&middot;罗森布拉特(Frank Rosenblatt)提出了&ldquo;感知机&rdquo;(Perceptron)的概念,这是一个基于人工神经网络的两层计算结构,用于简单的模式识别。1965年,A.G.伊瓦赫年科(Alexey Grigorevich Ivakhnenko)提出建立多层人工神经网络的设想,这种基于多层神经网络的机器学习模型后来被人们称为&ldquo;深度学习&rdquo;,伊瓦赫年科有时也被称为&ldquo;深度学习之父&rdquo;。

1969年是人工神经网络遭遇滑铁卢的一年。麻省理工学院的图灵奖得主、人工智能大师、人工神经网络的早期奠基人之一马文&middot;闵斯基(Marvin Minsky)在这一年和西摩尔&middot;派普特(Seymour Papert)出版了《感知机》(Perceptrons)一书,书中讨论了当时人工神经网络难以解决的&ldquo;异或难题&rdquo;(非专业读者完全不需要了解这个古怪的名词指的到底是什么东西)。有些讽刺的是,马文&middot;闵斯基既是人工神经网络的早期奠基人之一,也是人工神经网络在1969年后陷入停滞的始作俑者。他在《感知机》一书中对&ldquo;异或难题&rdquo;的讨论打消了大多数研究者继续坚持人工神经网络研究的心思。不少人至今仍认为,马文&middot;闵斯基在《感知机》里是持悲观态度并站在人工神经网络发展的对立面的,但另一些人则认为,马文&middot;闵斯基当时是持开放的讨论态度,而不是打算消极放弃。无论这段公案的真实情况如何,马文&middot;闵斯基都是值得我们尊敬的人工智能大师。2016年年初,马文&middot;闵斯基去世时,曾经对乔布斯和苹果影响巨大的教父级人物艾伦&middot;凯(Alan Kay)是这样评价马文&middot;闵斯基的:

&ldquo;马文是为数不多的人工智能先驱之一,他用自己的视野和洞见,将计算机从一部超强加法器的传统定位中解放出来,并为其赋予了新的使命&mdash;&mdash;有史以来最强大的人类力量倍增器之一。&rdquo;41

和那个年代的许多人工智能大师一样,马文&middot;闵斯基在人工智能研究之外,也是一个跨界的天才。第二次世界大战时,马文当过兵。之后,马文在哈佛大学学习数学期间,同时也修习音乐。除了钢琴演奏,他还有一个特长&mdash;&mdash;即兴创作古典赋格音乐。他自己将音乐家分为&ldquo;创作者&rdquo;和&ldquo;即兴创作者&rdquo;两大类。显然,马文&middot;闵斯基颇以具备即兴创作的能力而自豪。

据马文&middot;闵斯基的女儿回忆,马文&middot;闵斯基的家中,每天夜晚的常态是群贤毕至,少长咸集,宏谈阔论,琴声悦耳。42为客人弹奏即兴钢琴曲的,当然是马文&middot;闵斯基本人。

基于音乐方面的才华,马文&middot;闵斯基还发明过一部名叫&ldquo;音乐三角&rdquo;(Triadex Muse)的音乐合成器。今天在苹果电脑或者i Pad上玩Garage Band的体验,不知道有没有当年玩音乐三角那么酷。而且,那个建造于20世纪70年代的音乐三角长得还非常前卫,非常时髦。据说,马文&middot;闵斯基这部合成器创造了好几个历史第一。但更加值得一提的是,这部合成器其实是马文&middot;闵斯基所做的一项融合了电子合成乐与早期人工智能探索的科技实验。在马文&middot;闵斯基自己看来,理解音乐是理解人类大脑的一种有效途径,反之,理解人类的大脑也有助于我们欣赏音乐的本质。

马文&middot;闵斯基说:&ldquo;理解大脑这件事似乎比理解音乐要难一些,但我们应该知道,有时对问题领域的扩展可以让问题变得更简单!在好几个世纪的时间里,代数方程的平方根理论都受困于由实数构成的狭小世界,但在高斯揭示出更大的复数世界后,一切都变得简单起来。类似地,一旦能穿透听众的心灵,音乐就会显示出更为丰富的内涵。&rdquo;43

1975年,马文&middot;闵斯基提出的&ldquo;异或难题&rdquo;才被理论界彻底解决。由此进入20世纪80年代,人工神经网络的发展又回到正轨。但在整个20世纪80年代和90年代,甚至直到2000年后的若干年,人工神经网络不过是作为机器学习的一种算法,与其他不同流派、不同风格的机器学习算法一道,在人工智能研究领域发挥作用。

随着PC的普及和互联网时代的到来,人们关于计算机识别图像、文字、语音的需求越来越明确。研究者们尝试着使用人工神经网络来解决类似问题,但效果并不显著。许多人试图使用基于多层神经网络的深度学习技术。据说,&ldquo;深度学习&rdquo;(Deep Learning)这个术语是从1986年起流行开来的44。但是,当时的深度学习理论还无法解决网络层次加深后带来的诸多问题,计算机的计算能力也远远达不到深度神经网络的需要。更重要的是,深度学习赖以施展威力的大规模海量数据还没有完全准备好,因而深度学习在真正横空出世前,已经经历了十几年的等待和蛰伏期。

2006年是深度学习发展史上的分水岭。此前提过,杰弗里&middot;辛顿在这一年发表了《一种深度置信网络的快速学习算法》及其他几篇重要论文,其他深度学习领域的泰斗、大师们也在这一年前后贡献了一批重要的学术文章,在基本理论方面取得了若干重大突破。深度学习也由此进入了高速发展的全盛期。

说起来,杰弗里&middot;辛顿这个人很有意思,他曾在卡内基-梅隆大学做过5年教职。我在卡内基-梅隆大学读博士时,杰弗里&middot;辛顿的办公室就在我的办公室的斜对面。有时候,人们会觉得杰弗里&middot;辛顿的思维和交流方式很奇怪,似乎是一种多维跳跃的模式。跟他讲话时,时常陷入尴尬。如果对你讲的东西没什么兴趣,他就会茫然地看着某个地方。

当时,我在做奥赛罗(黑白棋)人机对弈系统的开发。我的导师让我请杰弗里&middot;辛顿作为我这个项目的指导老师。我就去找杰弗里&middot;辛顿,跟他谈我编写奥赛罗程序的思路。

杰弗里&middot;辛顿问我:&ldquo;你这个系统里,有什么是和人工神经网络相关的吗?&rdquo;

我说,我这个程序里用的是相对简单的贝叶斯分类器,自动从每一盘对局中,提取四个原始特征,然后用贝叶斯分类器将这些特征综合起来进行计算,以估算下一步走在某个位置的赢棋概率。在这个思路的基础上,人工神经网络是可以发挥作用的。此外,我当时也使用了一个与今天Alpha Go类似的思路,就是让计算机程序自己和自己下棋,然后从几百万个已知的行棋步骤中,归纳出赢或者输的概率,并用类似的方法不断迭代,以达到最好的效果。

在我讲这些细节的过程中,杰弗里&middot;辛顿就已经开始想其他事情了,他的眼睛不再看我,而是茫茫然的,不知道在注视哪里。

好一会儿,辛顿对我说:&ldquo;开复,没问题,我来给你签字吧。&rdquo;

就这样,我的奥赛罗人机对弈程序算是通过了他的审核。前后也就是半个小时的样子。可我觉得,他根本没有注意我所讲的技术细节。虽然我当时对自己使用的技术很兴奋,但在他眼中,也许那些都只是些小儿科的玩意儿,跟他当时正在做的有关人工神经网络的研究不可相提并论吧。

<h3>

谷歌大脑:世界最强大的深度学习集群</h3>

深度学习能够大展身手的两个前提条件&mdash;&mdash;强大的计算能力和高质量的大数据,都是在2010年前后逐渐步入成熟的。深度学习、大规模计算、大数据三位一体,神兵出世,一下子就可以摧城拔寨、无坚不摧。其中,最有代表性的事件,就是谷歌大脑(Google Brain)的建立,以及谷歌、Facebook、百度等一大批顶尖科技公司纷纷将&ldquo;人工智能优先&rdquo;设定为公司的科技发展战略。

谷歌大脑是在2011年由谷歌最资深的科学家与工程师杰夫&middot;迪恩,以及后来在百度任首席科学家的吴恩达(Andrew Ng)带领团队创建的。这是一个庞大的深度学习计算框架,拥有数万台高性能的计算机和顶级的图形处理器作为计算单元(早期,谷歌大脑是只使用CPU作为计算单元,引入GPU是稍晚一些的事),可以完成大规模、多维度、多层次的深度学习模型训练和演算。

2012年6月,谷歌大脑初战告捷。据当时的《纽约时报》报道,谷歌使用了一个拥有16000个CPU的大规模计算机集群,让计算机用深度学习模型自己&ldquo;看&rdquo;了一千万段You Tube上的视频,然后,计算机自己&ldquo;学&rdquo;到了如何从视频中辨认一只猫45!

谷歌大脑的创建者杰夫&middot;迪恩在介绍谷歌大脑团队时说:&ldquo;我们专注于建造可用于机器学习的大规模计算系统,以及进行高级机器学习研究。我们同时拥有这两方面的人才,而他们联合起来解决问题,这常常会带来显著的进步,这种进步是只具有机器学习技能或只具有大规模计算技能的人无法单独取得的。我认为这是我们团队取得众多成功的原因之一。它使我们既在这两个领域取得成功,也让我们能够将&lsquo;为问题投入多少计算&rsquo;和&lsquo;如何为我们关心的问题训练大型、强大的模型&rsquo;方面的最高水平进一步提升。&rdquo;46

谷歌大脑的第一个版本建成后不久,吴恩达就离开谷歌,转而帮助百度开展人工智能技术研究。深度学习大师杰弗里&middot;辛顿则在谷歌大脑项目成立的第二年加入了谷歌,主持谷歌大脑团队中的理论研究。同时,杰弗里&middot;辛顿仍继续他在多伦多大学的教职。他目前的生活被分成了两部分:在多伦多的科研和教学生涯,以及在谷歌贴近产业前沿的研究实践。最初,杰弗里&middot;辛顿并不想正式加入谷歌,他只想利用休假时间,试着在谷歌工作三个月。为此,谷歌不得不先与他签订了一份实习生合同。这样,深度学习领域数一数二的大师级人物杰弗里&middot;辛顿,就以一个普通实习生的身份来谷歌上班了。杰弗里&middot;辛顿说:&ldquo;直到有一天,有人在午餐时对我说:&lsquo;辛顿教授!我选修了你的课!你在这里做什么?&rsquo;自此以后,再也没有人质疑辛顿作为实习生的存在了。&rdquo;47

今天,有深度学习助力,有基于互联网的海量数据支撑,有数以万计的强大计算机集群,谷歌大脑正在帮助谷歌公司解决横跨多个领域的几乎所有人工智能的相关问题:谷歌的搜索引擎正在使用谷歌大脑优化搜索结果的排序,或直接回答用户感兴趣的知识性问题;谷歌的街景服务使用谷歌大脑智能识别街道上的门牌号,以进行精准定位;使用了谷歌大脑的谷歌翻译平台在2016年连续取得翻译质量的革命性突破,将全世界一百多种语言的相互翻译质量提升了一个层次;谷歌自动驾驶汽车正基于谷歌大脑对数百万英里的行驶记录进行训练,以改进驾驶策略,保证绝对安全&hellip;&hellip;

谷歌大脑是谷歌公司人工智能优先战略的核心,也是类似谷歌这样的顶级科技公司在人工智能方面全力投入的一个缩影。国内的高科技企业,如百度、阿里、腾讯、华为、小米、搜狗、滴滴、今日头条等,都在近年纷纷建立了人工智能研究团队,搭建了类似谷歌大脑的大规模深度学习集群,而这些集群已经在诸多产品中发挥着深度学习的神奇效能。

<h3>

AI小百科 什么是深度学习?</h3>

第三拨人工智能热潮源于深度学习的复兴。那么,到底什么是深度学习?为什么深度学习能让计算机一下子变得聪明起来?为什么深度学习相比其他机器学习技术,能够在机器视觉、语音识别、自然语言处理、机器翻译、数据挖掘、自动驾驶等方面取得好得多的效果?

从根本上来说,深度学习和所有机器学习方法一样,是一种用数学模型对真实世界中的特定问题进行建模,以解决该领域内相似问题的过程。

好了,好了,我知道一提&ldquo;数学&rdquo;二字,读者就会跑掉一大半,更别说让非理工科专业的人摸不着头脑的&ldquo;建模&rdquo;一词了。有没有可能用非理工科专业也听得懂的术语,解释一下如今在人工智能领域如日中天的深度学习算法呢?

首先,深度学习是一种机器学习。既然名为&ldquo;学习&rdquo;,那自然与我们人类的学习过程有某种程度的相似。回想一下,一个人类小朋友是如何学习 的?

比如,很多小朋友都用识字卡片来认字。从古时候人们用的&ldquo;上大人、孔乙己&rdquo;之类的描红本,到今天在手机、平板电脑上教小朋友认字的识字卡片app,最基本的思路就是按照从简单到复杂的顺序,让小朋友反复看每个汉字的各种写法(大一点儿的小朋友甚至要学着认识不同的书法字体),看得多了,自然就记住了。下次再见到同一个字,就很容易能认出来。

这个有趣的识字过程看似简单,实则奥妙无穷。认字时,一定是小朋友的大脑在接受许多遍相似图像的刺激后,为每个汉字总结出了某种规律性的东西,下次大脑再看到符合这种规律的图案,就知道是什么字了。

其实,要教计算机认字,差不多也是同样的道理。计算机也要先把每一个字的图案反复看很多很多遍,然后,在计算机的大脑(处理器加上存储器)里,总结出一个规律来,以后计算机再看到类似的图案,只要符合之前总结的规律,计算机就能知道这图案到底是什么字。

用专业的术语来说,计算机用来学习的、反复看的图片叫&ldquo;训练数据集&rdquo;;&ldquo;训练数据集&rdquo;中,一类数据区别于另一类数据的不同方面的属性或特质,叫作&ldquo;特征&rdquo;;计算机在&ldquo;大脑&rdquo;中总结规律的过程,叫&ldquo;建模&rdquo;;计算机在&ldquo;大脑&rdquo;中总结出的规律,就是我们常说的&ldquo;模型&rdquo;;而计算机通过反复看图,总结出规律,然后学会认字的过程,就叫&ldquo;机器学 习&rdquo;。

到底计算机是怎么学习的?计算机总结出的规律又是什么样的呢?这取决于我们使用什么样的机器学习算法。

有一种算法非常简单,模仿的是小朋友学识字的思路。家长和老师们可能都有这样的经验:小朋友开始学识字,比如先教小朋友分辨&ldquo;一&rdquo;&ldquo;二&rdquo;&ldquo;三&rdquo;时,我们会告诉小朋友说,一笔写成的字是&ldquo;一&rdquo;,两笔写成的字是&ldquo;二&rdquo;,三笔写成的字是&ldquo;三&rdquo;。这个规律好记又好用。但是,开始学新字时,这个规律就未必奏效了。比如,&ldquo;口&rdquo;也是三笔,可它却不是&ldquo;三&rdquo;。我们通常会告诉小朋友,围成个方框儿的是&ldquo;口&rdquo;,排成横排的是&ldquo;三&rdquo;。这规律又丰富了一层,但仍然禁不住识字数量的增长。很快,小朋友就发现,&ldquo;田&rdquo;也是个方框儿,可它不是&ldquo;口&rdquo;。我们这时会告诉小朋友,方框里有个&ldquo;十&rdquo;的是&ldquo;田&rdquo;。再往后,我们多半就要告诉小朋友,&ldquo;田&rdquo;上面出头是&ldquo;由&rdquo;,下面出头是&ldquo;甲&rdquo;,上下都出头是&ldquo;申&rdquo;。很多小朋友就是在这样一步一步丰富起来的特征规律的指引下,慢慢学会自己总结规律,自己记住新的汉字,并进而学会几千个汉字 的。

有一种名叫决策树的机器学习方法,就和上面根据特征规律来识字的过程非常相似。当计算机只需要认识&ldquo;一&rdquo;&ldquo;二&rdquo;&ldquo;三&rdquo;这三个字时,计算机只要数一下要识别的汉字的笔画数量,就可以分辨出来了。当我们为待识别汉字集(训练数据集)增加&ldquo;口&rdquo;和&ldquo;田&rdquo;时,计算机之前的判定方法失败,就必须引入其他判定条件。由此一步步推进,计算机就能认识越来越多的字。

<img src="/uploads/allimg/200412/1-2004120Q20J19.jpg" />

图24 计算机分辨&ldquo;一&rdquo;&ldquo;二&rdquo;&ldquo;三&rdquo;&ldquo;口&rdquo;&ldquo;田&rdquo;的决策树

<img src="/uploads/allimg/200412/1-2004120Q20L42.jpg" />

图25 计算机学习了&ldquo;由&rdquo;&ldquo;甲&rdquo;&ldquo;申&rdquo;三个新汉字之后的决策树

图25显示了计算机学习&ldquo;由&rdquo;&ldquo;甲&rdquo;&ldquo;申&rdquo;这三个新汉字前后,计算机内部的决策树的不同。这说明,当我们给计算机&ldquo;看&rdquo;了三个新汉字及其特征后,计算机就像小朋友那样,总结并记住了新的规律,&ldquo;认识&rdquo;了更多的汉字。这个过程,就是一种最基本的机器学习了。

当然,这种基于决策树的学习方法太简单了,很难扩展,也很难适应现实世界的不同情况。于是,科学家和工程师们陆续发明出了许许多多不同的机器学习方法。

例如,我们可以把汉字&ldquo;由&rdquo;&ldquo;甲&rdquo;&ldquo;申&rdquo;的特征,包括有没有出头、笔画间的位置关系等,映射到某个特定空间里的一个点(我知道,这里又出现数学术语了。不过这不重要,是否理解&ldquo;映射&rdquo;的真实含义,完全不影响后续阅读)。也就是说,训练数据集中,这三个字的大量不同写法,在计算机看来就变成了空间中的一大堆点。只要我们对每个字的特征提取得足够好,空间中的一大堆点就会大致分布在三个不同的范围里。

这时,让计算机观察这些点的规律,看能不能用一种简明的分割方法(比如在空间中画直线),把空间分割成几个相互独立的区域,尽量使得训练数据集中每个字对应的点都位于同一个区域内。如果这种分割是可行的,就说明计算机&ldquo;学&rdquo;到了这些字在空间中的分布规律,为这些字建立了模 型。

接下来,看见一个新的汉字图像时,计算机就简单把图像换算成空间里的一个点,然后判断这个点落在了哪个字的区域里,这下,不就能知道这个图像是什么字了吗?

很多人可能已经看出来了,使用画直线的方法来分割一个平面空间(如图26所示),很难适应几千个汉字以及总计至少数万种不同的写法。如果想把每个汉字的不同变形都对应为空间中的点,那就极难找到一种数学上比较直截了当的方法,来将每个汉字对应的点都分割包围在不同区域里。

很多年里,数学家和计算机科学家就是被类似的问题所困扰。人们不断改进机器学习方法。比如,用复杂的高阶函数来画出变化多端的曲线,以便将空间里相互交错的点分开来,或者,干脆想办法把二维空间变成三维空间、四维空间甚至几百维、几千维、几万维的高维空间。在深度学习实用化之前,人们发明了许多种传统的、非深度的机器学习方法。这些方法虽然在特定领域取得了一定成就,但这个世界实在是复杂多样、变化万千,无论人们为计算机选择了多么优雅的建模方法,都很难真正模拟世界万物的特征规律。这就像一个试图用有限几种颜色画出世界真实面貌的画家,即便画艺再高明,他也很难做到&ldquo;写实&rdquo;二字。

<img src="/uploads/allimg/200412/1-2004120Q20H30.jpg" />

图26 使用空间分割法的机器学习

那么,如何大幅扩展计算机在描述世界规律时的基本手段呢?有没有可能为计算机设计一种灵活度极高的表达方式,然后让计算机在大规模的学习过程里不断尝试和寻找,自己去总结规律,直到最终找到符合真实世界特征的一种表示方法呢?

现在,我们终于要谈到深度学习了!

深度学习就是这样一种在表达能力上灵活多变,同时又允许计算机不断尝试,直到最终逼近目标的机器学习方法。从数学本质上说,深度学习与前面谈到的传统机器学习方法并没有实质性差别,都是希望在高维空间中,根据对象特征,将不同类别的对象区分开来。但深度学习的表达能力,与传统机器学习相比,却有着天壤之别。

简单地说,深度学习就是把计算机要学习的东西看成一大堆数据,把这些数据丢进一个复杂的、包含多个层级的数据处理网络(深度神经网络),然后检查经过这个网络处理得到的结果数据是不是符合要求&mdash;&mdash;如果符合,就保留这个网络作为目标模型,如果不符合,就一次次地、锲而不舍地调整网络的参数设置,直到输出满足要求为止。

这么说还是太抽象、太难懂。我们换一种更直观的讲法。

假设深度学习要处理的数据是信息的&ldquo;水流&rdquo;,而处理数据的深度学习网络是一个由管道和阀门组成的巨大的水管网络。网络的入口是若干管道开口,网络的出口也是若干管道开口。这个水管网络有许多层,每一层有许多个可以控制水流流向与流量的调节阀。根据不同任务的需要,水管网络的层数、每层的调节阀数量可以有不同的变化组合。对复杂任务来说,调节阀的总数可以成千上万甚至更多。水管网络中,每一层的每个调节阀都通过水管与下一层的所有调节阀连接起来,组成一个从前到后,逐层完全连通的水流系统(这里说的是一种比较基本的情况,不同的深度学习模型,在水管的安装和连接方式上,是有差别的)。

那么,计算机该如何使用这个庞大的水管网络,来学习识字呢?

比如,当计算机看到一张写有&ldquo;田&rdquo;字的图片时,就简单将组成这张图片的所有数字(在计算机里,图片的每个颜色点都是用&ldquo;0&rdquo;和&ldquo;1&rdquo;组成的数字来表示的)全都变成信息的水流,从入口灌进水管网络。

我们预先在水管网络的每个出口都插一块字牌,对应于每一个我们想让计算机认识的汉字。这时,因为输入的是&ldquo;田&rdquo;这个汉字,等水流流过整个水管网络,计算机就会跑到管道出口位置去看一看,是不是标记有&ldquo;田&rdquo;字的管道出口流出来的水流最多。如果是这样,就说明这个管道网络符合要求。如果不是这样,我们就给计算机下达命令:调节水管网络里的每一个流量调节阀,让&ldquo;田&rdquo;字出口&ldquo;流出&rdquo;的数字水流最多。

这下,计算机可要忙一阵子了,要调节那么多阀门呢!好在计算机计算速度快,暴力计算外加算法优化(其实,主要是精妙的数学方法了,不过我们这里不讲数学公式,大家只要想象计算机拼命计算的样子就可以了),总是可以很快给出一个解决方案,调好所有阀门,让出口处的流量符合要求。

下一步,学习&ldquo;申&rdquo;字时,我们就用类似的方法,把每一张写有&ldquo;申&rdquo;字的图片变成一大堆数字组成的水流,灌进水管网络,看一看,是不是写有&ldquo;申&rdquo;字的那个管道出口流出来的水最多,如果不是,我们还得再次调整所有的调节阀。这一次,要既保证刚才学过的&ldquo;田&rdquo;字不受影响,也要保证新的&ldquo;申&rdquo;字可以被正确处理。

<img src="/uploads/allimg/200412/1-2004120Q20J41.jpg" />

图27 用&ldquo;水管网络&rdquo;来描述教计算机识字的深度学习过程

如此反复进行,直到所有汉字对应的水流都可以按照期望的方式流过整个水管网络。这时,我们就说,这个水管网络已经是一个训练好的深度学习模型了。

例如,图27显示了&ldquo;田&rdquo;字的信息水流被灌入水管网络的过程。为了让水流更多地从标记有&ldquo;田&rdquo;字的出口流出,计算机需要用特定方式近乎疯狂地调节所有流量调节阀,不断实验、摸索,直到水流符合要求为止。

当大量识字卡片被这个管道网络处理,所有阀门都调节到位后,整套水管网络就可以用来识别汉字了。这时,我们可以把调节好的所有阀门都&ldquo;焊死&rdquo;,静候新的水流到来。

与训练时做的事情类似,未知的图片会被计算机转变成数据的水流,灌入训练好的水管网络。这时,计算机只要观察一下,哪个出口流出来的水流最多,这张图片写的就是哪个字。

简单吗?神奇吗?难道深度学习竟然就是这样的一个靠疯狂调节阀门来&ldquo;凑&rdquo;出最佳模型的学习方法?整个水管网络内部,每个阀门为什么要如此调节,为什么要调节到这种程度,难道完全由最终每个出口的水流量来决定?这里面,真的没有什么深奥的道理可言?

深度学习大致就是这么一个用人类的数学知识与计算机算法构建起整体架构,再结合尽可能多的训练数据以及计算机的大规模运算能力去调节内部参数,尽可能逼近问题目标的半理论、半经验的建模方式。

指导深度学习的基本是一种实用主义的思想。

不是要理解更复杂的世界规律吗?那我们就不断增加整个水管网络里可调节的阀门的个数(增加层数或增加每层的调节阀数量)。不是有大量训练数据和大规模计算能力吗?那我们就让许多CPU和许多GPU(图形处理器,俗称显卡芯片,原本是专用于作图和玩游戏的,碰巧也特别适合深度学习计算)组成庞大计算阵列,让计算机在拼命调节无数个阀门的过程中,学到训练数据中的隐藏规律。也许正是因为这种实用主义的思想,深度学习的感知能力(建模能力)远强于传统的机器学习方法。

实用主义意味着不求甚解。即便一个深度学习模型已经被训练得非常&ldquo;聪明&rdquo;,可以非常好地解决问题,但很多情况下,连设计整个水管网络的人也未必能说清楚,为什么管道中每一个阀门要调节成这个样子。也就是说,人们通常只知道深度学习模型是否工作,却很难说出模型中某个参数的取值与最终模型的感知能力之间,到底有怎样的因果关系。

这真是一件特别有意思的事。有史以来最有效的机器学习方法,在许多人看来,竟然是一个只可意会、不可言传的&ldquo;黑盒子&rdquo;。

由此引发的一个哲学思辨是,如果人们只知道计算机学会了做什么,却说不清计算机在学习过程中掌握的是一种什么样的规律,那这种学习本身会不会失控?

比如,很多人由此担心,按照这样的路子发展下去,计算机会不会悄悄学到什么我们不希望它学会的知识?另外,从原理上说,如果无限增加深度学习模型的层数,那计算机的建模能力是不是就可以与真实世界的终极复杂度有一比呢?如果这个答案是肯定的,那只要有足够的数据,计算机就能学会宇宙中所有可能的知识&mdash;&mdash;接下来会发生什么?大家是不是对计算机的智慧超越人类有了些许的忧虑?还好,关于深度学习到底是否有能力表达宇宙级别的复杂知识,专家们尚未有一致看法。人类至少在可见的未来还是相对安全的。

补充一点:目前,已经出现了一些可视化的工具,能够帮助我们&ldquo;看见&rdquo;深度学习在进行大规模运算时的&ldquo;样子&rdquo;。比如说,谷歌著名的深度学习框架Tensor Flow就提供了一个网页版的小工具,用人们易于理解的图示,画出了正在进行深度学习运算的整个网络的实时特征。

<img src="/uploads/allimg/200412/1-2004120Q20KP.jpg" />

图28 训练深度学习模型时,整个深度神经网络的可视化状态48

图28显示了一个包含4层中间层级(隐含层)的深度神经网络针对某训练数据集进行学习时的&ldquo;样子&rdquo;。图中,我们可以直观地看到,网络的每个层级与下一个层级之间,数据&ldquo;水流&rdquo;的方向与大小。我们还可以随时在这个网页上改变深度学习框架的基本设定,从不同角度观察深度学习算法。这对我们学习和理解深度学习大有帮助。

最后,需要特别说明的是,以上对深度学习的概念阐述刻意避免了数学公式和数学论证,这种用水管网络来普及深度学习的方法只适合一般公众。对于懂数学、懂计算机科学的专业人士来说,这样的描述相当不完备也不精确。流量调节阀的比喻与深度神经网络中每个神经元相关的权重调整,在数学上并非完全等价。对水管网络的整体描述也有意忽略了深度学习算法中的代价函数、梯度下降、反向传播等重要概念。专业人士要学习深度学习,还是要从专业教程看起。

<h3>

大数据:人工智能的基石</h3>

目前的深度学习主要是建立在大数据的基础上,即对大数据进行训练,并从中归纳出可以被计算机运用在类似数据上的知识或规律。那么,到底什么是大数据呢?

人们经常笼统地说,大数据就是大规模的数据。

这个说法并不准确。&ldquo;大规模&rdquo;只是指数据的量而言。数据量大,并不代表着数据一定有可以被深度学习算法利用的价值。例如,地球绕太阳运转的过程中,每一秒钟记录一次地球相对太阳的运动速度、位置,这样积累多年,得到的数据量不可谓不大,但是,如果只有这样的数据,其实并没有太多可以挖掘的价值,因为地球围绕太阳运转的物理规律,人们已经研究得比较清楚了,不需要由计算机再次总结出万有引力定律或广义相对论来。

那么,大数据到底是什么?大数据是如何产生的?什么样的数据才最有价值,最适合作为计算机的学习对象呢?

根据马丁&middot;希尔伯特(Martin Hilbert)的总结49,今天我们常说的大数据其实是在2000年后,因为信息交换、信息存储、信息处理三个方面能力的大幅增长而产生的数据:

&middot;信息交换:据估算,从1986年到2007年这20年间,地球上每天可以通过既有信息通道交换的信息数量增长了约217倍,这些信息的数字化程度,则从1986年的约20%增长到2007年的约99.9%50。在数字化信息爆炸式增长的过程里,每个参与信息交换的节点都可以在短时间内接收并存储大量数据。这是大数据得以收集和积累的重要前提条件。例如,根据对社交网站Twitter的统计,全球范围内每秒钟新增的推文条数约6000条,每分钟约350000条,每天约5亿条,每年约2000亿条。在网络带宽大幅提高之前,这个规模的信息交换是不可想象的。

&middot;信息存储:全球信息存储能力大约每3年翻一番。从1986年到2007年这20年间,全球信息存储能力增加了约120倍,所存储信息的数字化程度也从1986年的约1%增长到2007年的约94%。1986年时,即便用上我们所有的信息载体、存储手段,我们也不过能存储全世界所交换信息的大约1%,而2007年这个数字已经增长到大约16%。信息存储能力的增加为我们利用大数据提供了近乎无限的想象空间。例如,谷歌这样的搜索引擎,几乎就是一个全球互联网的&ldquo;备份中心&rdquo;,谷歌的大规模文件存储系统完整保留了全球大部分公开网页的数据内容,相当于每天都在为全球互联网做&ldquo;热备份&rdquo;。

&middot;信息处理:有了海量的信息获取能力和信息存储能力,我们也必须有对这些信息进行整理、加工和分析的能力。谷歌、Facebook、亚马逊、百度、阿里等公司在数据量逐渐增大的同时,也相应建立了灵活、强大的分布式数据处理集群。数万台乃至数十万台计算机构成的并行计算集群每时每刻都在对累积的数据进行进一步加工和分析。谷歌的分布式处理三大利器&mdash;&mdash;GFS、Map Reduce和Bigtable就是在大数据的时代背景下诞生并成为绝大多数大数据处理平台的标准配置。利用这些数据处理平台,谷歌每天都会将多达数百亿的搜索记录清理、转换成便于数据分析的格式,并提供强有力的数据分析工具,可以非常快地对数据进行聚合、维度转换、分类、汇总等操作。

<img src="/uploads/allimg/200412/1-2004120Q20J96.jpg" />

图29 大数据的三大支柱

从应用角度来说,今天的大数据越来越多地呈现出以下一种或几种特性:

大数据越来越多地来源于生产或服务过程的副产品,但在价值上却往往超过了为了特定目的专门采集的数据。例如,谷歌的大数据虽然主要从搜索引擎的日常使用中获得,但如果深入挖掘,这些数据往往具有非常高的专业价值。谷歌曾利用全球用户查询中,涉及流行性感冒的关键词的出现频率变化情况,对2003年到2008年全球季节性流感的分布和传播进行跟踪与预测51。这一预测的覆盖规模和价值甚至超出了各国卫生部门专门收集相关数据所做的预测。

大数据往往可以取代传统意义上的抽样调查。例如,按照传统方式,电视台某个节目的收视率往往要由专业调查公司通过抽样调查的方式,通过电话拜访等渠道获得抽样数据,再估算收视率。现在,有了微博或类似的社交网络,我们可以直接利用微博上每时每刻产生的大数据,对电视节目、电影、网络节目的热门程度进行分析,其准确性往往超过传统的抽样调查方式。

许多大数据都可以实时获取。例如,每年双十一,在阿里的淘宝、天猫这样的电子商务平台上,每时每刻都有成千上万笔交易正在进行,所有这些交易数据在阿里交易平台的内部,都可以实时汇总,供人们对双十一当天的交易情况进行监控、管理或分析、汇总。一部分数据的时效性非常强,如果不能实时利用,则数据的附加值会大幅降低。大数据的实时性为大数据的应用提供了更多的选择,为大数据更快产生应用价值提供了基础。

大数据往往混合了来自多个数据源的多维度信息。一份微博用户的ID列表虽然很有价值,但并不容易转换成商业应用所需要的完整信息。假如能利用用户ID,将用户在微博上的社交行为,和用户在电子商务平台如淘宝、京东等的购买行为关联起来,通过对不同来源的大数据的整合,采集到更多维度的数据,就可以向微博用户更准确地推荐他最喜欢的商品。聚合更多数据源,增加数据维度,这是提高大数据价值的好办法。

大数据的价值在于数据分析以及分析基础上的数据挖掘和智能决策。大数据的拥有者只有基于大数据建立有效的模型和工具,才能充分发挥大数据的价值。例如,图30是利用谷歌趋势(Google Trends)对过去5年全球地震分布进行分析汇总。我们很容易根据用户查询地震相关关键词的频率,看出过去5年内主要地震的发生时间和地点。在这里,谷歌趋势就是一个利用已有大数据建模、分析、汇总的有效工具。

<img src="/uploads/allimg/200412/1-2004120Q20L40.jpg" />

图30 利用谷歌趋势(Google Trends)分析全球近5年来的地震分布

<h3>

有大数据就有人工智能的机会</h3>

人工智能时代,深度学习和大数据成了密不可分的一对儿。深度学习可以从大数据中挖掘出以往难以想象的有价值的数据、知识或规律。简单来说,有足够的数据作为深度学习的输入,计算机就可以学会以往只有人类才能理解的概念或知识,然后再将这些概念或知识应用到之前从来没有看见过的新数据上。

《智能时代》的作者吴军博士说:&ldquo;在方法论的层面,大数据是一种全新的思维方式。按照大数据的思维方式,我们做事情的方式与方法需要从根本上改变。&rdquo;52

谷歌的围棋程序Alpha Go已经达到了人类围棋选手无法达到的境界。没有人可以与之竞争,这是因为Alpha Go在不断进行学习。Alpha Go不但从人类专业选手以往的数百万份棋谱中学习,还可以从自己和自己的对弈棋谱中学习。人类专业选手的对局、Alpha Go自己与自己的对局,这些都是Alpha Go赖以学习提高的大数据。

基于大数据的深度学习到底如何在现实生活中发挥作用呢?一个非常好的例子是,计算机可以通过预先学习成千上万张人脸图片,掌握认识和分辨人脸的基本规律。然后,计算机可以记住全国所有通缉犯的长相。没有一个单独的人类警察可以做到这一点。这样一来,全国的安防系统只要接入了这套会识别通缉犯相貌的计算机程序,通缉犯在公共场合一露面,计算机就可以通过监控摄像头采集的图像将通缉犯辨认出来。大数据和深度学习一起,可以完成以前也许需要数万名人类警察才能完成的任务。

任何拥有大数据的领域,我们都可以找到深度学习一展身手的空间,都可以做出高质量的人工智能应用。任何有大数据的领域,都有创业的机会。

金融行业有大量客户的交易数据,基于这些数据的深度学习模型可以让金融行业更好地对客户进行风险防控,或针对特定客户进行精准营销;电子商务企业有大量商家的产品数据和客户的交易数据,基于这些数据的人工智能系统可以让商家更好地预测每月甚至每天的销售情况,并提前做好进货准备;城市交通管理部门拥有大量交通监控数据,在这些数据的基础上开发的智能交通流量预测、智能交通疏导等人工智能应用正在大城市中发挥作用;大型企业的售后服务环节拥有大规模的客服语音和文字数据,这些数据足以将计算机训练成为满足初级客服需要的自动客服员,帮助人工客服减轻工作负担;教育机构拥有海量的课程设计、课程教学数据,针对这些数据训练出来的人工智能模型可以更好地帮助老师发现教学中的不足,并针对每个学生的特点加以改进&hellip;&hellip;

需要注意的是,大数据和人工智能的结合也可能给信息流通和社会公平带来威胁。在2016年的美国大选中,有一家名为Cambridge Analytica的公司就基于人工智能技术,用一整套分析和引导舆论的软件系统来操纵选情。这个系统可以自动收集和分析互联网上的选情信息,评估人们对两位总统候选人的满意度,并通过给定向用户投放信息,自动发送虚假新闻等技术手段,宣传自己所支持的候选人,还可以通过A/B组对照试验,准确判断每个州的选民特征,为自己所支持的竞选团队提供第一手的数据资料和决策依据。Cambridge Analytica的投资人是特朗普的&ldquo;金主&rdquo;,因此Cambridge Analytica在大选中就主要为特朗普服务。特朗普战胜希拉里后,美国伊隆大学的助理教授兼数据科学家乔纳森&middot;奥尔布赖特(Jonathan Albright)开始研究大选中的假新闻和舆论引导内幕,他不无忧虑地说:&ldquo;这简直就是台宣传机器。它一个个地拉拢公众,使他们拥护某个立场。如此程度的社会工程,我还是头一次见。他们用情绪作为缰绳,套住人们,然后就再也不松手了。&rdquo;53

此外,在大数据发挥作用的同时,人工智能研发者也一定不要忘了,大数据的应用必然带来个人隐私保护方面的挑战。为了给你推送精准的广告信息,就要收集你的购买习惯、个人喜好等数据,这些数据中往往包含了许多个人隐私;为了获得以人类基因为基础的医疗大数据来改进疾病的诊疗,就要通过某种渠道收集尽可能多的人类基因样本,而这些数据一旦保管不善,就可能为提供基因样本的个人带来巨大风险;为了建立智能城市,就要监控和收集每个人、每辆车的出行信息,而这些信息一旦被坏人掌握,往往就会成为案犯最好的情报来源&hellip;&hellip;

有效、合法、合理地收集、利用、保护大数据,是人工智能时代的基本要求,需要政府、企业、个人三方共同协作,既保证大规模信息的正常流动、存储和处理,又避免个人隐私被滥用或被泄露。

<h3>

AI小百科 深度学习&ldquo;三巨头&rdquo;和传奇的辛顿家族</h3>

杰弗里&middot;辛顿与约书亚&middot;本吉奥、扬&middot;勒丘恩有时也被称为深度学习领域的&ldquo;三巨头&rdquo;。

&ldquo;三巨头&rdquo;中,最年长的杰弗里&middot;辛顿生于英国,后移居加拿大。在深度学习领域,辛顿的贡献是开创性的。他最先把反向传播(Backpropagation)用于多层神经网络,还发明了玻尔兹曼机(Boltzmann machine),这些成果直接导致深度学习的实用化。教学和科研以外,杰弗里&middot;辛顿还创办了一家名叫DNNresearch的人工智能公司,然后把公司卖给了谷歌。现在,杰弗里&middot;辛顿一半时间在多伦多大学教书,一半时间在谷歌建设著名的谷歌大脑。

杰弗里&middot;辛顿教授的学生也几乎个个是人工智能领域里的权威。1987年,扬&middot;勒丘恩在巴黎获得计算机科学博士学位后,就到多伦多大学师从杰弗里&middot;辛顿教授做博士后研究。1988年,扬&middot;勒丘恩加入AT&amp;T贝尔实验室。在那里,他发展了机器视觉领域最有效的深度学习算法&mdash;&mdash;卷积神经网络(CNN),并将其用于手写识别和OCR。2013年,扬&middot;勒丘恩加入Facebook,领导Facebook的人工智能实验室。

约书亚&middot;本吉奥生于法国,后移居加拿大的蒙特利尔,在麦吉尔大学(Mc Gill University)获得计算机科学的博士学位。1992年,约书亚&middot;本吉奥加入AT&amp;T贝尔实验室。在那里,他遇见了扬&middot;勒丘恩,两位&ldquo;巨头&rdquo;一起从事深度学习的研究。1993年起,约书亚&middot;本吉奥在蒙特利尔大学任教。约书亚&middot;本吉奥的许多项研究成果对深度学习的复兴意义重大,例如,他在自然语言处理的方向上建树颇多,研究成果直接推动了近年来语音识别、机器翻译等方向的发展。

&ldquo;三巨头&rdquo;经常一起出席学术会议,一起推动深度学习和人工智能的发展。2015年5月,三人联名在《自然》杂志发表的名为《深度学习》的综述文章54,成为人工智能领域近年来最重要的文献之一。在这篇著名的文章里,&ldquo;三巨头&rdquo;是这样展望深度学习的:

&ldquo;在不久的将来,我们认为深度学习将取得更多成就,因为它只需要极少的人工参与,所以它能轻而易举地从计算能力提升和数据量增长中获得裨益。目前正在开发的用于深层神经网络的新型学习算法和体系结构必将加速这一进程。&rdquo;55

最后,顺便提一下,杰弗里&middot;辛顿教授已经很厉害了,但更厉害的是,他出生在一个只能用&ldquo;彪悍&rdquo;&ldquo;杰出&rdquo;&ldquo;神奇&rdquo;之类的字眼儿形容的恐怖家 族!