辛顿(图
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
)]
谷歌采取了不同寻常的一步,将两个神经网络背靠背连接起来。在该方案中,编码器(第一个网络)的输出被作为解码器(第二个网络)的输出提供给解码器。谷歌的想法是,编码器可以将英文文本转换为抽象的数字向量。解码器可以把这个过程逆转过来,把抽象的数字向量转换成法语。研究人员没有规定中间的数字向量是什么。他们只是依靠训练程序来寻找合适的表征数字。
经过两年的努力,谷歌完成了一个