PDF 物理页索引 280
文件中的第 281 页 · 印刷页码:265
而辛顿所提出的具备更多隐层的神经网络的表示能力将会更强,具体表现为具有更多隐层的网络可以用更少的神经元节点来表示更复杂的目标函数。虽然辛顿并没有针对这个结论给出严谨的数学证明,但毋庸置疑,他已从众多实验数据的统计结果中证明了这个结论是正确的。表 7-1 是笔者引用的论文“ Conversational Speech Transcription Using Context-Dependent Deep NeuralNetworks”<sup>○一</sup>中使用不同深度的神经网络去做语音识别的实验数据,从这个对比结果可以看出,相比增加单层的神经元数量,增加网络的深度更有助于降低错误率。
图 7-12 是生成式对抗网络的发明者伊恩·古德费洛(Ian Goodfellow,1987—)所著的《深度学习》中的一张图片,古德费洛希望表明对某个特定问题,神经网络的深度越深,可以达到的拟合精确度就越高。人们已经在大量深度学习的任务中观察到了同样现象。
只有在一定数量的隐层的支持下,神经网络才既能处理复杂问题的建模,又能从得到理想拟合精确度时所需要的天文数字一般的神经元和权值中解脱出来,用当下硬件可承受的计算代价来解决实际应用问题。
第二个优势更加重要,我们已经知道,除了拟合能力和算力资源的限制外,以单层神经网络为代表的浅层学习算法的局限性在于特征选择过于依赖人类先验知识,在很多问题中,人类都难以描述清楚哪些特征对解决问题是重要的,这需要相当的工程技巧和问题领域的专业知识。依靠人类来做好特征选择并非易事,所以,深度学习能够自动找出关键特征的特性,是对应用神经网络来解决机器学习问题的极大解放,是深度学习的革命性突破。
第 7 章 深度学习时代
265
○一 Seide, Frank, Gang Li, and Dong Yu.Conversational Speech Transcription Using Context-Dependent Deep Neural Networks. Interspeech. 2011。
PDF 物理页索引 281
文件中的第 282 页 · 印刷页码:266
有了能够自动逐层提取特征的深度学习的加入,机器学处理问题的视野一下子就拓宽了很多,那么辛顿到底是如何做到的呢?笔者举一个具体实例来说明。
一般来说,机器学习算法倾向于对输入样本的无关变化不敏感,譬如,处理图像识别这类问题时图片中物体的位置、方向或者物体上的装饰图案,处理语音识别问题时声音的音调或者口音,这些都属于与结果无关的变化,不应该影响识别任务的结果。但与之相对的是,有一些识别场景又需要对某些细微差异特别敏感,譬如图 7-13 那样,要分辨一匹白色的雪狼和一种长得很像狼的被称作萨摩耶的狗,两只萨摩耶在不同的环境里摆着不同姿势的照片,从像素级别来说可能会非常不一样,然而在类似背景下摆着同样姿势的一只雪狼和一只萨摩耶的照片,从像素级别来说又很可能非常相像。人类确实不难将雪狼和萨摩耶分辨出来,但无法解释清楚两者在像素级别的区分特征是怎样的。
266
第三部分 第三波高潮
PDF 物理页索引 282
文件中的第 283 页 · 印刷页码:267
而浅层的机器学习算法与人类认知正好相反,它能够分辨像素级特征中的细微差异,但无论是浅层神经网络、线性分类器还是其他基于原始像素操作的浅层分类模型,几乎都不可能把相似背景下摆着同样姿势的萨摩耶和雪狼区分开,也无法把两只在不同的环境里摆着不同姿势的萨摩耶分到同样的类别里,这种现象被称作“选择性 – 恒常性困境”(Selectivity–Invariance Dilemma)。这类问题直接以像素为特征是行不通的,传统机器学习方法依赖人工设计好的“特征提取器”,深度学习则主张通过构建具有多隐层的机器学习模型和大量的训练数据来自动地提取出有用的特征。
基于深度学习的解决方案,通常会训练一个卷积神经网络(卷积神经网络会在 7.6.1 节详细介绍),在网络里设计若干个卷积层,每个卷积层识别一种特征,逐级完成从像素到线条、从线条到器官、从器官到物体对象的抽象升级,再通过大量的标注数据,使得每一个卷积层都能抽象出层次越来越高的特质属性,让神经网络能够逐步知道“这些像素能构成哪些线条?”“这些线条能构成哪些器官?”“这些器官是不是萨摩耶应该拥有并且在合适位置出现的?”等问题的答案,如图 7-14 所示。
至于有怎样特征的像素才能构成线条、有怎样特征的线条才能构成器官等,不需要也不应该由人类去告知计算机,而是由已经标注好分类结果的训练数据来告诉神经网络这些问题的答案。如何逐层抽象特征的问题,已经在 1995年被康奈尔大学的戴维·菲尔德(David Field)教授提出的“稀疏编码”(SparseCoding)解决了。原本菲尔德提出的问题是类似这样的:
第 7 章 深度学习时代
267
PDF 物理页索引 283
文件中的第 284 页 · 印刷页码:268
在一批风景照片中,提取出一组大小相同、位置随机的图像片段,譬如提取 1000 个 16×16 像素的源片段,再随机选定一个与源片段大小相同的目标片段,然后在这 1000 个源片段范围内,选取数量尽可能少的片段,使得每一个被选取的片段乘以适当的权重系数之后,叠加出与目标片段尽可能相似的新片段。
菲尔德给出了解决这个问题的迭代算法,经过若干轮迭代后,被遴选出来的片段令人惊讶,基本上每个片段都处于照片上不同物体的边缘线,区别只在于方向不同,而无论目标片段是何种形状的图形,均可由这些线条构成。也就是说,计算机不仅知道复杂形状是由一些基本结构组成的,而且能够自己找出这些形状。菲尔德的稀疏编码算法的结果,与休伯尔和威泽尔视觉分层的生理学发现不谋而合!图 7-15 便是一个通过三个源片段叠加合成出一个新形状的例子。
不仅图像存在这个规律,声音也同样存在。科学家从未标注的声音中发现了 20 种基本的声音结构,由这 20 种基本结构可以合成所有其他声音,如图 7-16 所示。
268
第三部分 第三波高潮
PDF 物理页索引 284
文件中的第 285 页 · 印刷页码:269
与人工规则构造特征的方法相比,依靠大量数据来学习特征,更能够刻画数据的丰富的内在信息。它为“人类无法描述清楚问题本身如何解决,计算机就无法解决”这个问题提供了一种可行的解决方案,使得人类设计下棋程序可以不完全依靠运算能力而是在“棋力”上战胜人类,使得人类设计的图片识别程序可以高于人类本身的识别能力,这就是深度学习今天受到广泛关注的原因。
2006 年,辛顿发表的开创深度学习的第二篇文章《一种基于深度信念网络的快速学习算法》,可以算作深度学习的首个具体应用范例。“深度学习”中“深度”这个词就是从这篇文章而来的。说起这个名字,有一个值得一说的段子:
第 7 章 深度学习时代
269
PDF 物理页索引 285
文件中的第 286 页 · 印刷页码:270
“深度学习”这个词听起来很酷,但其实是辛顿无可奈何的变通产物,因为当时很多杂志期刊只要发现稿件的标题中包含“神经网络”这个词就会拒稿。如果读者有兴趣翻看 2006 年以前电气电子工程师学会(Institute of Electrical andElectronics Engineers,IEEE)和机器学习国际会议(International Conferenceon Machine Learning,ICML)的各种学刊的话,将会发现几乎没有任何一篇文章的标题包含“神经网络”这类字眼。ICML 的编辑公开宣称“ ICML 不应该接受神经网络的文章”这样的言论,IEEE 期刊也有“不被接受的文章”的官方准则,里面就有“神经网络”。可见,2006 年之前“神经网络是歪理邪说”这样的信念真的非常强烈,因此辛顿不得不使用“深度学习”的概念来重新包装多层神经网络,让论文得以刊登。
在这篇论文里,辛顿提出了一个称为“深度信念网络”(Deep Belief Network,DBN)的全新的生成式神经网络模型。深度信念网络诞生的最大意义不在于它本身能够做什么,而在于它成功地将无监督学习引入了神经网络的训练过程中。此前神经网络在训练初始化时,网络的所有权值都是随机数(详见误差反向传播算法的第一步),然后使用误差反向传播算法训练得到权值的最优解,虽然这也可以训练多层网络,但是网络的深度越深,显现出来的问题就越多,难度就越大,这是神经网络长期陷于浅层状态难以自拔的重要原因之一。稍后笔者会回过头来讨论具体有哪些困难,为什么神经网络层次越深会越难训练,现在先把问题放一下,读者暂且记着这个结论就可以了。
为了缓解深度神经网络难以训练的问题,辛顿设计了一种称为“逐层预训练”(Layer-Wise Pretraining)的方法,利用无监督的训练方式去一层一层地训练每一层的权重初始值,实践证明,这比一开始完全靠随机初始化方法在效果上要好得多。
有了无监督学习逐层预训练方法的帮助,我们只需要在网络训练的后半阶段对机器进行干预,为更理想的结果添加标签,对正确的结果给予激励。虽然逐层预训练被实践证明运作得相当不错,但与神经网络这个领域的大量其他技巧类似,辛顿也没有给出严格的数学证明来说明它一定优于传统的随机初始化方法。辛顿自己解释了其中的原理,他认为逐层预训练的过程就像是:
270
第三部分 第三波高潮
PDF 物理页索引 286
文件中的第 287 页 · 印刷页码:271
“想象一下小孩子,当他们学着辨认牛时,并不需要去看几百万张妈妈标记上‘牛’的图片,他们仅仅是学习牛的样子,然后询问‘这是什么?’,妈妈会说‘这是一头牛’,然后他们就学会了,深度学习就应该类似这样。”
辛顿提出的深度信念网络的每一层都是用“受限玻尔兹曼机”(RestrictedBoltzmann Machine,RBM)堆叠组成的。受限玻尔兹曼机也是辛顿得意的发明之一,它是一种统计力学里的“玻尔兹曼分布”的概念机器,形式上如图 7-17 所示,由分别称为“隐藏单元”和“可见单元”的两层以及它们之间的无向连接所构成,这里的无向连接是指两层之间的连接没有方向,或者说它们之间的连接是双向的(其实深度信念网络只允许顶层的 RBM 是双向连接),但同一层之间不允许连接,所以叫作“受限”。辛顿把多个受限玻尔兹曼机堆叠起来,让前面受限玻尔兹曼机的隐藏单元作为后面受限玻尔兹曼机的可见单元,构成了深度信念网络。
受限玻尔兹曼机本身就是一种基于概率模型的特征学习器,辛顿使用它来对输入数据进行预训练,在逐层预训练完成之后,神经网络每一层连接的权重就都被初始化了,这种初始化方式比原本纯粹随机的初始化有效。在这些初始化的权重值的帮助下,对于具有相同特征的样本,神经网络更倾向于给出相近的输出,这样更便于后续神经网络自己发现重要的特征。这就好比说:“咦?这两个东西长得好像啊,虽然我不知道它们是什么,但我不妨先把它们放到一块吧。”等到后面进行有监督的训练时,我们就会告诉神经网络这个东西叫作“萨摩耶”,然后神经网络就会推断说:“哦,原来那一群长成这
第 7 章 深度学习时代
271
PDF 物理页索引 287
文件中的第 288 页 · 印刷页码:272
样的东西叫作萨摩耶!”
在辛顿构建深度信念网络之前,人们对特征提取器相关的各种技巧已进行过大量研究,这种技术也被称作“自编码器”(Auto Encoder),是无监督神经网络的一种常用形态。
深度信念网络是一种随着网络深度增加,模型性能能够随之得到增强的神经网络应用模式。这令一些人从此开始关注到了神经网络的巨大潜力,当网络深度与应用效果有正相关关系的时候,提升深度的价值就显而易见了。今天,我们不仅可以使用深度信念网络来进行特征识别、数据分类,还可以使用深度信念网络按照最大概率来生成特定数据。下面展示了一个学习了大量英文维基百科文章之后的深度信念网络所生成的自然语言段落<sup>○一</sup>:
这种生成效果在当下(2024 年)GPT 等大语言模型盛行的背景下并没有什么出彩之处,但在当时(2006 年),这种已经接近于人类手工编写的文字效果是相当令人震撼的。事实上,在前 LLM 时代里,许多国内外的内容提供商,如 Meta、谷歌、百度、今日头条等,都使用了这种方式让机器自动编写新闻或者给图片配以文字介绍。谷歌曾发表过一篇名为《神经图片标题生成器》(“Neural Image Caption Generator”)的文章<sup>○二</sup>,介绍在没有人类介入的情况下,计算机如何自动为图片生成标题,这个系统在谷歌中充当了报纸的图片编辑的角色。如果雇一个人专门为照片写标题的话,这项工作是非常枯燥乏味的,难以长时间坚持下来,让机器完成这种任务就非常合适。其中一些生成的例子包括“一群正在玩飞盘游戏的年轻人”“一个正在泥泞路上骑着摩托的人”“一群正穿过干旱草地的大象”。系统可以对飞盘、马路和大象生成自己的概念主体,找到适合的量词、连词、动词,组织成正确的自然语言语法结构并把图片的意思表达出来。
272
第三部分 第三波高潮
○一 案例来源:https://www.cs.toronto.edu/\~tijmen/csc321/slides/lecture\_slides\_lec2.pdf。
○二 资料参考:https://www.cv-foundation.org/openaccess/content\_cvpr\_2015/app/2A\_101.pdf。
PDF 物理页索引 288
文件中的第 289 页 · 印刷页码:273
7.5.4 锋芒毕露
深度学习和深度信念网络于 2006 年诞生后,经过 6 年的酝酿和准备,终于在 2012 年一鸣惊人,爆发了一件真正震撼产学研三界的大新闻—在 2012年的 ImageNet 图像识别竞赛上,深度学习不仅击败了所有传统的浅层学习方法夺得冠军,而且是以碾压式的姿态战胜对手。
ImageNet 是斯坦福大学华裔女科学家李飞飞(Fei-Fei Li,1976—)和美国工程院院士、有着“华人教授首富”之称的普林斯顿大学华裔教授李凯(Likai,1954—)联合开发的大型图像识别项目。自 2010 年以来,ImageNet 每年都会举办一次“ ImageNet 大规模视觉识别挑战赛”(ImageNet Large Scale VisualRecognition Challenge,ILSVRC),看看哪一款参赛程序能以最高的正确率对物体和场景进行分类与检测。这种能够量化并带有对抗性质的活动,除了人工智能学界关注外,也很受媒体欢迎,十分容易吸引公众的目光,因此它很快成为各团队展示实力的竞技场。
2012 年,辛顿和他的两名学生伊尔亚·苏茨克维(Ilya Sutskever)和亚历克斯·克里切夫斯基(Alex Krizhevsky)(见图 7-18)组成团队,设计了一款名为“ AlexNet”的深度神经网络程序并参加了 ILSVRC 2012。AlexNet 犹如一匹惊人的黑马,首次参赛就一举夺得了当年的桂冠。
获得一次比赛的冠军算不上多么了不起的成就,最引人关注的是辛顿的小组用了与其他参赛者完全不同的方法,并且取得了颠覆性的结果。竞赛中,他们采用了基于卷积神经网络的识别方法<sup>○一</sup>,设计出来的 AlexNet 的表现异常出色,准确率超过第二名东京大学团队参赛程序的 10% 以上。第二到第四名参赛团队都采用传统的基于支持向量机的浅层模型图像识别方法进行分类,其程序的准确率差距均不超过 1%,这些程序与前两届冠军的差别也在 1% 至 2% 这个范围之内,可以说这个准确率就算是当时工业界的最高水平了。传统方法已经达到极限,遇到了很大的瓶颈,即使想再取得 1% 的进步也非常困难,可是采用了深度学习方法的 AlexNet,把计算机图像识别的准确率一下子提高了一个档次。
第 7 章 深度学习时代
273
○一 AlexNet 是基于杨立昆提出的卷积神经网络实现的,杨立昆也参与了这次比赛,但是杨立昆自己的团队反而没有办法得到辛顿团队那么好的结果,据说团队成员还专门开了会议进行反思检讨。
PDF 物理页索引 289
文件中的第 290 页 · 印刷页码:274
2012 年 10 月,在意大利佛罗伦萨的赛后研讨会上,竞赛组织者李飞飞教授宣布了这一压倒性的结果,该事件首先在计算机视觉领域产生了极大的震动,然后迅速波及整个人工智能学术界和产业界。这里还应该提到一段不为人知的历史:“谷歌大脑”团队其实也秘密地参加了这届比赛,而且由谷歌的技术奠基人、高级副总裁,同时也是后来 DeepMind 的首席科学家杰夫·迪恩(Jeff Dean,1968—)直接带队参赛,他们同样被辛顿小组的程序击败。这个结果让迪恩彻底震惊了,也为不久的将来谷歌不计成本地把辛顿招揽到旗下埋下了伏笔。
在这一届比赛之后,ILSVRC 赛场上再也见不到浅层学习算法的身影了,参赛的程序全部都是基于深度神经网络设计的,否则连排名榜单都挤不进去。而且,这些程序使用隐层的数量在逐年增加<sup>○一</sup>。如图 7-19 所示,从 2012 年
274
第三部分 第三波高潮
○一 内 容 引 自:https://stats.stackexchange.com/questions/182734/what-is-the-diference-between-a-neural-network-and-a-deep-neural-network/184921#184921。