新闻中心

EEPW首页 > 嵌入式系统 > 业界动态 > Nature重磅:Hinton、LeCun、Bengio三巨头权威科普深度学习

Nature重磅:Hinton、LeCun、Bengio三巨头权威科普深度学习

作者:时间:2016-12-28来源:网络收藏

  一个典型的卷积网络架构的每一层(水平)输出(不是过滤器)应用到一个萨摩耶犬的图像(图2左下方,RGB输入(红绿蓝),下方右侧)。 每一个长方形图片都是一张对应于学习到的输出特征的特征地图,这些特征可以在图片的各个位置被侦测到。信息流是从下往上的,低级的特征充作导向性边际检测因子( edge detectors),每个输出图像类都会被计算出一个分值。ReLU,整流线性单元。

本文引用地址:http://www.eepw.com.cn/article/201612/342188.htm

  架构由简单模组多层堆叠而成,全部(或绝大部分)模组都从事学习,大部分会计算非线性的输入输出映射。堆叠架构中的每个模组都会转换它的输入,同时增强可选择性和所呈现状态的一致性。 通过多个非线性层面(例如,深度5-20层),系统可以实现对于输入数据的极其微小细节的敏感性功能 --- 例如,区别开白色的狼和萨摩耶犬 --- 并且对于较大的无关变量会不敏感(例如,主体周围的环境、姿势、光照条件和周围物体。)

  训练多层架构的反向传播算法

  从最早的模式识别开始,研究者们就一直试图用可训练的多层网络代替人工设计特征,尽管这种解决方案很简单,直到20世纪80年代中期,它才得到人们的广泛认可。事实证明,多层架构可以通过简单的随机梯度下降法得以训练。只要模组是由它们的输入值及其内部权重构成的相对平滑的函数(relatively smooth functions),人们就可以使用反向传播算法来计算梯度。20世纪70至80年代,几个不同的研究小组分别发现这一方法确实可行、有用。

  计算一个目标函数关于一个多层堆叠模组的权重梯度的反向传播过程,只不过是导数链式法则的一个实际应用。其中关键之处在于,关于模组输入值的函数的导数(或梯度),可以借助关于该模组的输出值(或序列模组的输入值)的梯度反向计算出来(图1)。反向传播方程可在所有模组中传播梯度时被反复应用,从顶部(top)(神经网络产生预测的那一层)输出开始,一直到底部(bottom)(被接收外部输入的那一层)。这些梯度一经计算,就可直接计算出关于每个模组权重的梯度。

  的许多应用,都会使用前馈神经网络架构( feedforward neural network architectures)(图1)——该架构可学习将一个固定大小的输入映射到(例如,一幅图像)到一个固定大小的输出上(例如,每种分类的概率)。从一层到下一层,单元组计算其前一层输入的加权总和,并通过一个非线性函数输出结果。目前,最受欢迎的非线性函数是整流线性单元(ReLU),一个简单的半波整流器f(z) = max(z, 0)。在过去的几十年里,神经网络使用的是更平滑的非线性,比如,tanh(z)或1 /(1 + exp(−z)),但ReLU在多层网络中的学习速度通常更快,可允许在没有无监督预训练(without unsupervised pre-training)的情况下进行深度监督网络训练。不在输入或输出层中的单元通常被称为隐层单元(hidden units)。隐层可被看作是以非线性方式变换输入,从而使所有类别在最后一层变得线性可分( linearly separable by the last layer)(图1)。

  20世纪90年代末,神经网络和反向传播被机器学习社区大量遗弃,同时也被计算机视觉和语音识别领域忽略。人们普遍认为,学习有用的、多层级的、几乎不靠先验知识的特征提取器并不现实可行。尤其是,人们通常认为简单的梯度下降法会深陷局部极小的泥潭——在这种权重配置当中,除非进行大的改动,否则很难降低平均误差。

  实践中,对大型网络而言,局部极小几乎不构成问题。无论初始条件如何,系统基本总能得到质量非常相似的解决方案。最近的理论和实证研究结果均有力地表明,总的来说,局部极小不是一个严重问题。相反,解空间( landscape)充满了大量梯度为0的鞍点( saddle points ),且在多数维度中表面向上弯曲,少数维度中表面向下弯曲。分析结果似乎表明,向下弯曲的鞍点在整体中占比相对较小,但这些鞍点的目标函数值大多相近。因此,算法陷入这些鞍点(不能继续寻优),无关紧要。

  2006年前后,加拿大高级研究所(CIFAR)聚集了一批研究人员,他们重燃了人们对深度前馈网络的兴趣。这些研究人员引入无监督学习程序——无需标记数据便可创建特征检测器层。各层特征检测器的学习目标便是在下一层重构或模拟特征检测器(或原始输入)的活动。利用这种重构学习目标来「预训练(pre-training)」几层复杂度递增的特征检测器,深层网络的权重可以被初始化为合理值。接着,最终层的输出单元可被添加到网络顶端,整个深度系统可被微调至使用标准的反向传播。在识别手写数字或检测行人时,特别是当标记的数据量非常有限的时候,这一程序非常有效。

  这种预训练的方法的首次重要应用是在语音识别上,这之所以可行归功于便于编程的GPUs的诞生,它让研究人员可以用10到20倍的速度训练神经网络。2009年,这个方法被用来计算一段声音采样中提取短时系数窗口对应的一系列概率值,这些概率值反映出由窗口中帧表示语音各个段落的可能性。在小词汇表的标准语音识别测试上,这种方法的训练效果打破纪录,很快它又发展到打破大词汇表的标准语音测试纪录。

  到2012年,2009年以来的各种深度网络一直的得到多个主要语音研究小组持续开发并被布局在安卓手机上。对于较小数据集来说,无监督预训练有助于防止过拟合( overfitting), 当标注数据样本小( number of labelled examples is small)或需要迁移( in a transfer setting )——有很多源领域的标注数据样本但缺少目标领域的标注数据样本——的时候,深度网络的泛化( generalization)效果显著提升。重新获得认识,人们发现,预训练阶段只是小规模数据集的必需品。

  然而,还有一种特殊类型的深度前馈网络( deep feedforward network),不仅更易训练而且泛化能力要比那些相邻两层完全相连的神经网络强大很多。这就是卷积神经网络 (ConvNet)。 在神经网络「失宠 」的日子里,卷积神经网络在实践运用中获得许多成功,最近已被计算机视觉领域广泛采用。

  卷积神经网络

  卷积神经网络最初是用来处理多维数组数据,比如,一张由三个2D数组组成、包含三个彩色通道像素强度的彩色图像。大量的数据模式都是多个数组形式:1D用来表示信号和序列信号包括人类语言;2D用来表示图片或声音;3D代表视频或有声音的图像。卷积神经网络利用自然信号特征的核心理念是:局部连接(local connections),权重共享,池化(pooling)和多网络层的使用。

  典型的卷积神经网络的架构(图二)包括一系列阶段:最初的几个阶段由卷积层和池化层组成,卷积层的单元被组织到特征图(feature map)中,每个单元通过一组被称作滤波器(filter bank)的权值被连接到前一层的特征图的局部数据块。接下来,得到的局部加权和会传递至一个非线性函数,例如ReLU。同一个特征图中的所有单元共享相同的滤波器,不同特征图使用不同滤波器。采用这种架构有两方面的原因。首先,在诸如图像这样的数组数据中,数值与附近数值之间通常是高度相关的,容易生成易被探测到的局部特征(motif)。其次,图像和其他类似信号的局部统计特征通常又与位置无关,易言之,出现在某处的某个特征也可能出现在其他任何地方,因此,不同位置的单元会共享同样的权值并且可以探测相同模式。数学上,由一个特征图完成的过滤操作是一个离线的卷积,卷积神经网络由此得名。

  和卷积层用来探测前一层中特征之间的局部连接不同,池化层的作用则是对语义相似的特征进行合并。由于构成局部主题的特征之间的相对位置关系不是一成不变的,可以通过粗粒度检测每个特征的位置来实现较可靠的主题识别。一个池化层单元通常会计算一个或几个特征图中一个局部块的最大值,相邻的池化单元则会移动一列或一行从小块读取输入,这种设计不仅减少了数据表征需要的维数,而且也能对数据小规模的偏移、扭曲保持不变。两到三个卷积层,非线性层和池化层被叠加起来,后面再加上更多的卷积和全连接层。在卷积神经网络的反向传播算法和在一般深度网络上一样简单,能让所有滤波器中的权值得到训练。

  多数自然信号都是分级组合而成,通过对较低层信号组合能够获得较高层的信号特征,而深度神经网络充分利用了上述特性。在图像中,线条组合形成图案,图案形成部件,部件组成物体。类似的层次结构存在于由声音到电话中的语音及文本形成过程,音素组成音节,音节组成单词,单词组成句子。当输入数据在前一层中的位置有变化的时候,池化操作让这些特征表示对变化具有鲁棒性。

  卷积神经网络中的层次的卷积和汇聚的灵感直接来源于视觉神经科学中的简单细胞和复杂细胞的经典概念,并且其整体架构让人想起视觉皮层腹侧通路的LGN-V1-V2-V4-IT层次结构。当向卷积神经网络模型和猴子同时展示相同的画面时,卷积神经网络的高级单元被激活,解释了猴子颞下皮层随机设置的160个神经元的变化。卷积神经网络有着神经认知机的基础,两者的体系结构有些类似,但是,卷积神经网络没有诸如反向传播的那种端对端的监督学习算法。原始的1D卷积神经网络被称为「延时神经网络(time-delay neural net )」,用于识别语音和简单的单词。

  早在20世纪90年代初,卷积网络就已有非常广泛的应用 ,最开始延时神经网络被用在语音识别和文档阅读上。文本阅读系统使用了受过训练的延时神经网络以及一个实现了语言约束的概率模型。到20世纪90年代末,该系统能够读取美国超过十分之一的支票。随后,微软发明了许多基于卷积神经网络的光学字符识别和手写识别系统。卷积神经网络在20世纪90年代初就被尝试用于包括脸、手、面部识别的自然图像目标检测中。

  使用深层卷积网络进行图像识别

  从21世纪初开始,卷积神经网络就被成功用于检测、分割和物体识别以及图像各区域。这些应用都使用了丰富的标签数据,比如,交通标志识别、生物图像(特别是神经链接组学方面)分割、面部探测、文本、行人和自然图像中的人体的检测。近些年来,卷积神经网络的一项重要成功应用就是人脸识别。

  值得注意的是,图像可以在像素级别上被标记,这样就能被用于诸如自主移动机器人(autonomous mobile robots)和无人驾驶汽车等技术中。像Mobileye和NVIDIA 这些公司正在将这些基于卷积神经网络的方法应用于即将面世的汽车视觉系统中。其他重要的应用程序涉及到自然语言理解和语音识别。

  尽管取得了这些成就,但在2012年ImageNet竞争之前,卷积神经网络在很大程度上并未获得主流计算机视觉和机器学习团体的青睐。当深层卷积网络被应用于来源于包含1000个不同类型约100万个图像的数据集中,它们取得了惊人的成果,错误率仅是当时最佳方法的一半。该成功源于高效利用了GPUs和ReLUs、一项新的被称为「dropout 」的正规化技术( regularization technique )以及分解现有样本产生更多训练样本的技术。成功给计算机视觉领域带来一场革命。如今,卷积神经网络几乎覆盖所有识别和探测任务,在有些任务中,其表现接近人类水平。最近一个令人震惊的例子,利用卷积神经网络结合递归网络模块来生成图像标题( image captions )(如图3)。

    

  图3 |从图像到文本



关键词: Nature 深度学习

评论


相关推荐

技术专区

关闭