辛顿(图11.7)1947年出生于战后的英格兰温布尔登。他认为自己在学校时数学不是特别好。尽管如此,他还是被剑桥大学录取,在那里攻读物理与生理学专业。由于对专业不太满意,他转而学习哲学。最后,他选择了心理学。回首过往,辛顿说他想要了解人类思维是如何运作的。他的结论是,哲学家和心理学家都没有答案。此后他又转向了计算机科学。
图11.7 深度神经网络先驱杰弗里·辛顿,2011年(图片来自杰弗里·辛顿)
毕业后,他先做了一年的木匠,然后去爱丁堡大学攻读博士学位。在导师不情愿的默许下,辛顿坚持进行ANN的研究。在完成博士学位后,辛顿作为一个新手学者走上了一条四处流动的道路。在进入多伦多大学担任教授职位之前,他曾在萨塞克斯大学、加利福尼亚大学圣迭戈分校、卡内基梅隆大学和伦敦大学学院工作过。
2004年,辛顿向加拿大高等研究院(Canadian Institute For Advanced Research,CIFAR)提交了一份为神经计算研究项目申请资助的提案。CIFAR以资助基础研究闻名,但此次申请获批的希望仍旧不大。蒙特利尔大学的约书亚·本吉奥(Yoshua Bengio)教授后来评论道:
那是最糟糕的时间点。其他人都在忙着做不同的事情。杰夫不知道怎么说服了他们。
这笔数额不大的经费被用于组织一系列只有受邀才能参加的聚会,受邀人中有一些世界上顶尖的ANN研究者。本吉奥又讲道:
在广义的机器学习领域,我们有点像一群边缘人:我们的论文无法发表。聚会为我们提供了一个交换意见的地方。
这项拨款后来被证明是一次结构性变革的开端。
2006年,辛顿和多伦多大学的西蒙·奥辛德洛(Simon Osindero)以及新加坡国立大学的郑宇怀发表了一篇革命性的论文。该论文标志着现在被称为深度学习(deep learning)的开端。文章描述了由3个全连接的隐藏层组成的网络。这个网络有太多的参数,用反向传播算法的方式进行训练会非常缓慢。为了解决这个问题,辛顿和他的团队设计了一种新的方法来加速训练。
通常,反向传播算法以随机参数值开始训练。但在这项新研究中,团队在反向传播之前插入了一个预训练阶段。这个新增阶段的目的是快速找到一组好的参数,以支持反向传播算法的启动。
反向传播算法是监督(supervised)训练的一个例子。这意味着训练要为网络提供输入和输出相匹配的示例。在这个新的初步阶段中,辛顿和其他共同作者建议采用无监督(unsupervised)训练。无监督训练只使用输入示例。
在无监督的预训练中,示例输入被提供给网络。通过算法调整网络参数,使ANN学会探测输入中的重要模式。不需要让网络知道这些模式与什么类相关—它学习的只是区分这些模式。对于手写文字识别,这些模式可能是线条的长度和方向,或者曲线的位置和长度。为了实现这一点,训练算法每次只更新一层的参数,从输入层开始。换句话说,该算法从输入向前构建出网络参数。该方法的计算复杂度明显低于反向传播算法。
一旦预训练完成,网络就能够在输入数据集中区分出最显著的模式。之后,用预训练得到的参数开始进行正常的监督训练。由于反向传播算法有了很好的起点,因此它用更少的迭代就能完成训练。
跟随贝尔实验室的脚步,辛顿的团队选择了以攻克手写数字识别问题为目标。这一次,有一个更大的数据集可供使用。该项目使用了由杨立昆、谷歌实验室的科琳娜·科尔特斯(Corinna Cortes)和微软研究院的克里斯托弗·伯吉斯(Christopher Burges)构建的MNIST数据集。MNIST收录了7万个手写数字,这些数字是从美国人口普查报告和高中考试答卷中获取的。
最终得到的ANN达到了89.75%的准确率,这个成绩不如杨立昆的卷积神经网络。然而,这不是重点。他们已经证明,通过预训练,可以训练出一个深度的、全连接的网络。获得更深入和更有效的网络,这是行得通的。
在接下来的10年中,深度学习发展势头良好。3种进步的融合使研究人员能够建立更大、更深层次的网络。更智能的算法减少了计算复杂度,更快的计算机缩短了运行时间,更大的数据集允许对更多的参数进行优化。
2010年,瑞士的一组研究人员进行了一项实验,希望看看增加神经网络的深度是否真的能提高其准确性。在资深神经网络专家于尔根•施米德胡贝(Jürgen Schmidhuber)的领导下,该团队训练了一个6层神经网络来识别手写数字。他们训练的神经网络含有多达5 710个神经元。和辛顿的团队一样,他们使用的是MNIST手写数字数据集。然而,即使是MNIST,也不足以满足施米德胡贝团队的目标。他们通过扭曲MNIST中的照片,人为地生成了额外的数字图像。
得到的ANN达到了99.65%的准确率。这不仅是一项世界纪录,其表现也已经达到了人类的水平。
突然,所有人都意识到,ANN太小了,无法实现任何实际用途。深度网络才是前进的方向。一场人工智能革命近在眼前。
海啸
深度学习的海啸分3波袭来:首先是语音识别,然后是图像识别,再之后是自然语言处理。半个世纪的模式识别研究在短短3年内被淘汰出局。
60年来,科技界一直在努力将口语表达准确地转化为文本。最好的算法依赖傅里叶变换(见第2章)来提取谐波的振幅。然后利用隐马尔可夫模型(Hidden Markov Model,HMM),根据观察到的谐波情况和声音序列在真实语音中已知的出现概率来判断发出的音素。
在辛顿实验室的实习生纳夫迪普·贾特利(Navdeep Jaitly)的帮助下,谷歌去除了他们语音生成识别系统的一半,用深度神经网络取而代之。他们得出的ANN-HMM混合体语音识别系统包含一个4层的ANN。该团队使用来自谷歌语音搜索的5 870小时的语音录音来训练ANN,并添加了来自视频网站YouTube的1 400小时的对话音频。新的ANN-HMM混合体比谷歌先前使用的基于HMM的语音识别系统性能高出4.7%。在自动语音识别的领域,这算是一个巨大的进步。完成了在谷歌的任务后,杰出的实习生贾特利返回多伦多大学去完成他的博士学位。
在接下来的5年里,谷歌逐步扩展和改进了他们基于ANN的语音识别系统。截至2017年,谷歌的语音识别系统达到了95%的准确率,这是前所未有的水平。
2012年,辛顿的团队报告了一种深度神经网络,旨在从静态图像中识别出真实世界的物体。这些物体是常见的东西,如猫、狗、人、面孔、汽车和植物。这个问题远不像识别数字那么简单。数字是由线条组成的,但识别物体需要分析其形状、颜色、纹理和边缘。除此之外,要识别的物体类的数量也大大超过了微不足道的10个印度—阿拉伯数字。
这个网络被以首席设计师亚历克斯·克里泽夫斯基(Alex Krizhevsky)的名字命名为“亚历克斯网”(AlexNet),包含65万个神经元和6 000万个参数。它整合了5个卷积层和其后的3个全连接层。此外,这项工作还引入了一种简单但却有效得惊人的技术。在训练过程中,随机选择少量神经元并使其沉默。换句话说,它们被禁止放电。这项技术被命名为丢弃(Drop-out),它迫使神经网络将决策负载分散到更多的神经元上。这使网络面对输入的变化更加稳健。
该团队在2012年用这个网络参加了图像网大规模视觉识别挑战赛(ImageNet Large Scale Visual Recognition Challenge)。比赛的数据集包括大约120万张训练图像和1 000个物体类。克里泽夫斯基、伊利娅·苏特斯科娃(Ilya Sutskever)和辛顿的深度卷积网络大获全胜。亚历克斯网前5项识别结果的总准确率达到了84.7%。也就是说,真正的物体类落在这个ANN的前5大选择中的情况占比超过84%。该网络的错误率几乎是排名第二的系统的一半。
与此同时,在多伦多以东仅500千米的圣劳伦斯河河畔,蒙特利尔大学的一个团队正在研究如何将深度神经网络应用于文本处理。该团队由约书亚·本吉奥(图11.8)领导。
本吉奥生于1964年,来自法国巴黎,是神经网络复兴的领军人物之一。他在位于蒙特利尔的麦吉尔大学学习电子工程和计算机科学,获得工学学士、理学硕士和博士学位。本吉奥在青少年时期是科幻小说迷,在读研究生时期对神经网络研究充满热情。他如饥似渴地阅读有关这个主题的所有早期论文。作为一个自称书呆子的人,他开始建立自己的ANN。在AT&T贝尔实验室和MIT做过博士后之后,本吉奥于1993年加入了蒙特利尔大学。本吉奥的团队训练ANN来预测文本中单词序列出现的概率。
2014年,谷歌选择了本吉奥的工作,将其用于解决把文档从一种语言翻译成另一种语言的难题。那时,谷歌翻译网络服务已经运行了8 年。该系统依靠传统的方法将句子分割并将短语从一种语言映射到另一种语言。总的来说,这个系统的翻译不是特别好。翻译出来的句子大多可读,但并不流畅。
图11.8 神经网络研究者约书亚·本吉奥,2017年[©巴黎综合理工学院-J. 巴朗德(J. Barande)]
谷歌采取了不同寻常的一步,将两个神经网络背靠背连接起来。在该方案中,编码器(第一个网络)的输出被作为解码器(第二个网络)的输出提供给解码器。谷歌的想法是,编码器可以将英文文本转换为抽象的数字向量。解码器可以把这个过程逆转过来,把抽象的数字向量转换成法语。研究人员没有规定中间的数字向量是什么。他们只是依靠训练程序来寻找合适的表征数字。
经过两年的努力,谷歌完成了一个8层编码器和一个配套的8层解码器的开发。该网络是用一个包含3 600万对人工翻译句子的语料库进行训练的。新系统优于之前的谷歌翻译系统,翻译错误减少了60%,令人惊叹。该系统在谷歌网站上线后,双语用户报告说,翻译质量有了立竿见影式的显著提高。
一次又一次的成功催生了深度学习的热潮。很多公司预见到了由深度学习驱动的大量新应用—自动驾驶汽车、智能相机、下一代推荐系统、增强的网页搜索、精确的蛋白质结构预测、加速药物设计和很多其他方面的应用。谷歌、脸书、IBM、苹果、亚马逊、雅虎、推特、奥多比(Adobe)和百度都在抢夺深度学习方面的人才。据很多传言称,神经网络界名人的起薪高达七位数。杨立昆被任命为脸书AI研究总监。吴恩达(Andrew Ng)加入百度担任首席科学家。在65岁那年,杰弗里·辛顿成为谷歌的暑期实习生!
2015年,在这场淘金热中,杨立昆、辛顿和本吉奥在《自然》杂志上发表了一篇调研行业发展的论文。在文章发表之前,深度神经网络已经席卷了整个人工智能领域,方方面面都发生了翻天覆地的改变。
杨立昆、辛顿和本吉奥于2018年获得了图灵奖,他们分享了谷歌赞助的100万美元奖金。
随着深度学习的巨大成功,一些人推测人类智能水平的人工通用智能(见第5章)已经不远了。但杨立昆提出了异议:
我们是否能够使用新方法创造出人类水平的智能,嗯,解决这个问题可能有50座山要爬,包括我们还看不到的那些山。我们目前只爬了第一座,也许是第二座。
到目前为止,我们所拥有的只是复杂的模式识别引擎。然而,我们可以推测穿过这些大山的路径。目前,最好的猜测是我们需要一个ANN的网络。想要有显著的改进,可能还需要对ANN进行根本性的重新开发。现今的ANN只是对生物神经网络的一种大致的近似。也许我们需要一个更现实的模型。魔鬼很可能藏在细节中。
对于计算机科学界以外的人来说,深度神经网络的力量第一次显现是在2016年。那一年,一个人工智能登上了世界新闻媒体的头条。尽管这是在一个狭窄领域的努力,但这也许是人工智能第一次获得了超越人类的能力。
本文摘自《算法简史:从美索不达米亚到人工智能时代》,作者:[英] 克里斯·布利克利
在这个万物皆算法的新时代
写给知道算法重要
但不知道算法是什么的读者
不使用编程语言,几乎没有使用一个公式
中学生、文科生也能轻松读懂
带你深入了解算法是什么,
算法从何而来,算法如何运作