奎克的藏经阁 · MinerU 解析内容

智慧的疆界 从图灵机到人工智能

456 个 PDF 物理页 · 本页显示文件第 301–310 页

PDF 物理页索引 300

文件中的第 301 页 · 印刷页码:285

第 7 章 深度学习时代

285

PDF 物理页索引 301

文件中的第 302 页 · 印刷页码:286

286

第三部分 第三波高潮

PDF 物理页索引 302

文件中的第 303 页 · 印刷页码:287

第 7 章 深度学习时代

287

PDF 物理页索引 303

文件中的第 304 页 · 印刷页码:288

288

第三部分 第三波高潮

PDF 物理页索引 304

文件中的第 305 页 · 印刷页码:289

(续)

第 7 章 深度学习时代

289

PDF 物理页索引 305

文件中的第 306 页 · 印刷页码:290

290

第三部分 第三波高潮

PDF 物理页索引 306

文件中的第 307 页 · 印刷页码:291

第 7 章 深度学习时代

291

PDF 物理页索引 307

文件中的第 308 页 · 印刷页码:292

7.6.1 卷积神经网络

卷积神经网络(Convolutional Neural Networks,CNN)可以说是深度神经网络中最有影响力的一种模型,今天它早已大名鼎鼎,从某种意义上它还是为深度学习打下大好江山的“第一功臣”。卷积神经网络同时也是一个计算机科学从脑神经科学借鉴并获得成功的很好的例子,它的思路与人脑和视觉系统分层抽象识别物体的过程十分相似。卷积神经网络最初诞生是为识别高分辨率的图片提供良好的解决办法,在第 4 章里给出了一个字符识别的例子,用了两层分别是 196 个和 10 个神经元的浅层网络去识别 196(14×14)像素分辨率的图片中的数字符号。可是读者不妨设想一下,现在就连手机摄像头拍出来的照片都是动辄上千万像素的,如果要识别这种图片,那每一层的神经元就得上千万,两层之间做全连接的话,则有 100 万亿个权重值需要计算,若在中间再多加上几层隐层的话,再强大的超级计算机也支撑不住。既然人类肯定不是在像素层面去认知物体的,计算机当然也不应该直接对着像素硬来,所以,模仿人类分层识别的认知,以及识别大分辨率的图片,就是卷积神经网络要解决的两个问题。

1980 年,日本广播协会基础科学研究所的福岛邦彦(Kunihiko Fukushima)受到休伯尔和威泽尔的“小猫视觉实验”(见 7.5.1 节)的启发,提出了“新认知机”(Neocognitron)的设想,“新认知机”中就包含了很多现代卷积神经网络的要素,如卷积、池化等。

1989 年,杨立昆发表了一篇名为《反向传播算法在手写邮政编码识别中的应用》(“ Backpropagation Applied to Handwritten Zip Code”)的论文,把新认知机中的概念与辛顿的误差反向传播算法结合到一起,正式提出了卷积神经网络。这篇论文基本上是现在业界所认可的卷积神经网络的开端,所以大家认为杨立昆是卷积神经网络的缔造者。

到了 1998 年,杨立昆又发表了另一篇论文《基于梯度的学习方法在文档识别中的应用》(“Gradient-Based Learning Applied to Document Recognition”),他设计了一个名为 LeNet-5 的神经网络,LeNet-5 网络是卷积神经网络的第一个具有影响力的完整实现,今天很多卷积神经网络的入门资料都以 LeNet-5 网络作为例子进行讲解。图 7-25 是广为流传的 LeNet-5 网络结构,来自杨立昆的《基于梯度的学习方法在文档识别中的应用》这篇论文。LeNet-5 麻雀虽小,却五脏俱全,卷积层、池化层、全连接层这些卷积神经网络的核心元素都是在此论文中明确定义出来的。

292

第三部分 第三波高潮

PDF 物理页索引 308

文件中的第 309 页 · 印刷页码:293

这里出现了一系列新的名词,我们已经知道全连接是什么意思,这里再简单说明一下什么是卷积和池化。“卷积”(Convolution)原本是泛函分析中的概念,它是一种数学计算,信号变换中经常要用到它。在我们现在讨论的语境里,它是一种特征提取操作,最初被引入神经网络,就是为了处理模式识别中的图像特征提取的。它就像是一个漏斗,不断地在图片中平移,从下层图像中筛选数据。这个“漏斗”(专业上称作“卷积核”,Convolution Kernel)可以是各种形状的,经过漏斗过滤后,筛掉了一些数据,但可以获得更高维度的特征。譬如漏斗从像素中找出边缘,从边缘中找出形状,从形状中找出物体。漏斗对数据运算处理的过程,就像是人脑对物体分层抽象的过程。这个过程在图片识别里很关键,无论是对缩减数据规模(譬如 1000 万像素的图片,以10×10 的方形作卷积的话,下层节点规模可以缩小到 10 万)还是对提取特征都是极为有用的。

而“池化”(Pooling)的本质就是采样共享,譬如以颜色采样为例,采样区域中存在若干个像素,可能每个像素的颜色值都有少许差异,原本需要若干个对应的数字去存储它们的颜色,而池化过程是用同一个采样值(最大值或者平均值之类)来代替所有像素的颜色值,这样多个像素共用一个颜色值,便能够降低数据量。

前面 7.5.4 节提到的拉开深度学习热潮序幕的标志性事件—辛顿小组设计的 AlexNet 就是一个很成功的卷积神经网络,它是一个 8 层网络,其中包括 5 个卷积、池化和 Dropout 层(Dropout 是辛顿发明的一种用于避免过拟合的技巧)以及 3 个全连接层,使用 ReLU 作为激活函数,使用批量随机梯度下降算法训练。辛顿小组共使用两块 GTX 580 GPU 训练了 5 到 6 天,完成了ImageNet 数据库中 22000 种共 1500 万个标签数据的学习,达到了 16.4% 的最低错误率而夺得冠军。

第 7 章 深度学习时代

293

PDF 物理页索引 309

文件中的第 310 页 · 印刷页码:294

大概是因为卷积神经网络最初设计的目的就是处理图像识别问题的,所以现在大家也经常喜欢把它和图片处理联系在一起,而事实上卷积神经网络可以处理大部分格状的结构化数据。举个例子,图片的像素是二维的格状数据,声音序列在时间上抽取相当于一维的格状数据,而视频数据可以理解为对应视频帧宽度、高度、时间的三维数据,现在这些领域的应用都离不开卷积神经网络。卷积神经网络也成为近十年来应用范围最广、最成功的深度神经网络形式,许多硬件公司如英伟达、英特尔、高通、三星电子都在开发卷积神经网络芯片,以支持智能机、相机、机器人以及自动驾驶汽车中的实时视觉系统。

7.6.2 循环神经网络

循环神经网络(Recurrent Neural Network,RNN)<sup>○一</sup>是深度神经网络的另一种常见应用形式。大多数神经网络假设所有的输入和输出之间是相互独立的,每一次输入网络的数据也是相互孤立的,譬如前面介绍的利用卷积神经网络处理图片识别的过程中,每一个相同颜色的像素、相同大小和形状的线条或者色块、相同部件或者对象所代表的含义是相同的,与时间和顺序无关。但是在另外一些场景中,譬如最典型的使用神经网络进行自然语言处理的应用,不同语种之间的机器翻译、语言理解等,相同词语出现在不同的时间、上下文中时所代表的含义是不一样的,文章后面的内容需要在前文构建的上下文中才能消除歧义,如下面这句话:

294

第三部分 第三波高潮

○一 还有另一种简称为 RNN 的神经网络是指“ Recursive Neural Network”,译为“递归神经网络”,它与循环神经网络有一些相似之处,可以认为循环神经网络是递归神经网络的一种特例。