编者的话:
本期文章” Deep learning”发表在2015年5月的《Nature》期刊上,是由深度学习领域最为知名的学者Yann LeCun、Yoshua Bengio和Geoffrey Hinton首次合作的综述文章。 2016年初,阿尔法狗(AlphaGo)击败李世石,也让深度学习和神经网络名声大噪。然而不为人知的是,在相当长的一段时期内,神经网络经历了非常曲折的发展过程。尤其是从90年代开始,机器学习领域中向量机(SVM),可学习理论(Boosting),概率图模型(Graphical Model)等研究的兴起,导致大量研究人员的转向,神经网络的研究一度陷入停滞。而在神经网络研究最困难的时期,正是本文作者Yann LeCun、Yoshua Bengio和Geoffrey Hinton等少数学者的坚持,使人们真正认识到深度学习的价值,也让深度学习和神经网络领域的研究迎来了更加光明的时代。 因内容较多,关于深度学习浅谈,我们也会分上下两期进行介绍。上期就深度学习的概念进行介绍,下期针对深度学习的种类进行讨论。 深度学习浅谈(上) 什么是深度学习?
深度学习的概念源于人工神经网络的研究,它基于神经网络框架,通过模拟人脑学习的方式的来处理数据,通过神经网络的分层处理,将低层特征组合形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。 Geoffrey Hinton于2006年在《Science》上发表的论文首次提出深度学习的主要观点: 1)多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类; 2)深度神经网络在训练上的难度,可以通过“逐层初始化”(layer-wise pre-training)来有效克服,逐层初始化可通过无监督学习实现。 机器学习的关键在于对对象特征的处理。因此几十年来,人工智能领域一直想要构建一个模式识别系统或者机器学习系统,比如分类器,将原始数据的外部属性(如图像的像素值)转换成一个合适的内部特征表示或特征向量,来对输入的样本进行检测或分类。但是这样的处理方式需要相当专业的知识来手工获取特征。深度学习的优点在于,它用非监督式或半监督式的特征学习和分层特征提取的高效算法来替代手工获取特征的方式。因此该文章的作者Yann LeCun、Yoshua Bengio、Geoffrey Hinton(2015)将深度学习定义为“一种特征学习方法,把原始数据通过一些简单的但是非线性的模型转变成为更高层次的,更加抽象的表达。通过足够多的转换的组合,非常复杂的函数也可以被学习”。 从2012年取得ImageNet竞赛的标志性事件之后,深度学习不断取得一系列的重大进展,解决了人工智能界的尽最大努力很多年仍没有进展的问题,除了在图像识别、语音识别等领域打破了纪录,还在其他的领域击败了其他机器学习技术,包括预测潜在的药物分子的活性、分析粒子加速器数据、重建大脑回路、预测非编码DNA突变对基因表达和疾病的影响。更令人惊讶的是,深度学习在自然语言理解的各项任务中也有非常可喜的成果,特别是主题分类、情感分析、自动问答和语言翻译。如今深度学习已经成为人工智能中最炙手可热的研究方向。深度学习的原理为何?又能够取得如此突破?本文希望结合本次推送的文章,通过对深度学习的大致介绍,让读者对深度学习主要的原理和方法有一个基本的认识。
深度学习原理-来自人脑的启发机器学习中,不论是否是深层,最常见的形式是监督学习。如果要建立一个分类系统,对包含了一座房子、一辆汽车、一个人或一个宠物的图像进行分类,首先要收集大量的房子,汽车,人与宠物的图像的数据集,并对每个对象标上它的类别。在训练期间,机器会获取一副图片,然后产生一个输出,这个输出以向量形式的分数来表示,每个类别都有一个这样的向量。 图 1 特征提取
为了最终完成分类的目标,我们必须去提取被分类对象的特征来区分这些对象,比如在对摩托车进行分类识别时(如图1),传统的识别方法是将特征提取和分类器设计分开处理,然后在应用时合二为一。因此首先需要提取图中摩托车的特征,然后把提取出来的特征放到学习算法中。良好的特征提取,对最终算法的准确性起了非常关键的作用,直接决定了系统的计算和测试的效果。但是,这样的处理方式导致了两方面的问题,一方面,在传统的数据挖掘方法中,特征的选择一般都是通过手工完成的,手工选取的好处是可以借助人的经验或者专业知识选择出正确的特征;缺点是效率低,而且在复杂的问题中,人工选择可能也会陷入困惑。另一方面,许多机器学习技术使用的是线性分类器来对人工提取的特征进行分类。在图像和语音识别过程中,线性分类器需要的输入-输出函数要对输入样本中不相关因素的变化不要过于的敏感,如位置的变化,目标的方向或光照,或者语音中音调或语调的变化等,而对于一些特定的微小变化需要非常敏感(例如,一只白色的狼和跟狼类似的白色狗——萨莫耶德犬之间的差异)。在像素这一级别上,两条萨莫耶德犬在不同的姿势和在不同的环境下的图像可以说差异是非常大的,但是一只萨摩耶德犬和一只狼在相同的位置并在相似背景下的两个图像可能就非常类似。 如何区分对象细微和本质的特征上的差别呢?深度学习从人脑视觉神经的处理机制中获得了灵感。 图 2 大脑视觉处理机制
1958年,两位后来的诺贝尔医学奖得主DavidHubel 和Torsten Wiesel 发现:大脑的视觉系统在处理视网膜传递过来的感官信息时,并未直接地对数据进行处理,而是将接收到的刺激信号通过一个复杂的层状网络模型,进而得到对视觉信息的认识(如图2)。 例如,当人在看到气球的时候,大脑所获取的信息并不是一张完整的气球的图片,而是从原始信号摄入开始(瞳孔摄入像素),接着做初步处理(大脑皮层某些细胞发现边缘和方向),然后抽象(大脑判定,眼前的物体的形状,是圆形的),然后进一步抽象(大脑进一步判定该物体是只气球),也就表示,神经-中枢-大脑的工作过程,是一个不断分层抽象的过程。因此大脑视觉系统的功能是对感知信号进行特征提取和计算,而不仅仅是简单地重现视网膜的图像。 这一生理学的发现,促成了计算机人工智能在四十年后的突破性进展。深度学习恰恰是借鉴了大脑视觉系统处理信息特征的这一思路,从而实现自动的特征学习,而不需要人工参与特征的选取。2006年前后,CIFAR(加拿大高级研究院)把一些研究者聚集在一起,人们对深度前馈式神经网络重新燃起了兴趣。研究者们提出了一种非监督的学习方法,这种方法可以创建一些网络层来检测特征而不使用带标签的数据,这些网络层可以用来重构或者对特征检测器的活动进行建模。通过预训练过程,深度网络的权值可以被初始化为合理的值。然后一个输出层被添加到该网络的顶部,并且使用标准的反向传播算法进行微调。比如,一副图像的原始格式是一个像素数组,那么在第一层上的学习特征通常指的是在图像的特定位置和方向上有没有边的存在。第二层通常会根据那些边的位置而来检测图案,这时候会忽略掉一些边上的一些小的干扰。第三层或许会把那些图案进行组合,从而使其对应于熟悉目标的某部分。随后的一些层会将这些部分再组合,从而构成待检测目标。在这一过程,深度学习在多个层级中通过组合低层特征形成更抽象的高层特征。LeCun Y,Bengio Y和HintonG(2015)认为,这就是深度学习的关键优势。 深度学习的体系结构是简单模块的多层堆栈,所有(或大部分)模块的目标是学习,还有许多计算非线性输入输出的映射。堆栈中的每个模块将其输入进行转换,以增加特征的可选择性和不变性。比如说,具有5到20层的非线性多层系统能够实现非常复杂的功能,比如输入数据对细节非常敏感——能够区分白狼和萨莫耶德犬,同时又具有强大的抗干扰能力,比如可以忽略掉不同的背景、姿势、光照和周围的物体等。
参考文献: LeCun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015,521(7553): 436-444. http://www./news/201605/zZqsZiVpcBBPqcGG.html http://www./cnn-learning-notes-1.html http:///9822.html http://www./html/617/201608/2650790861/1.html http://blog.csdn.net/heyongluoyao8/article/details/48636251 https://zh./wiki/LSTM http://blog.csdn.net/zouxy09/article/details/8781543
深度学习浅谈(下) 卷积神经网络与图像理解卷积神经网络(CNN,Convolutional neural networks)是深度学习中最具代表性的一类框架,从21世纪开始,卷积神经网络就被成功的大量用于检测、分割、物体识别以及图像识别的各个领域,比如交通信号识别,生物信息分割,面部探测,文本、行人探测等,特别是最近几年,卷积神经网络在人脸识别领域更是取得了巨大的成功。 在图像识别中,卷积神经网络通过组合图像的低级特征的来合成高级特征,即先将图像局部边缘的组合形成基本图案,这些图案形成物体的局部,然后再形成物体。在这个过程中,卷积神经网络使用4个关键的想法来进行特征处理:局部连接(local connections)、权值共享(shared weights)、池化(pooling)以及多网络层(many layers)的使用。 图 3 局部连接 局部连接可以大大减少训练参数的数量(如图3)。比如,图中左边是全连接,右边是局部连接。对于一个1000 × 1000的输入图像而言,如果下一个隐藏层的神经元数目为10^6个,采用全连接则有1000 ×1000 × 10^6 = 10^12个权值参数,如此数目巨大的参数几乎难以训练;而采用局部连接,隐藏层的每个神经元仅与图像中10 × 10的局部图像相连接,那么此时的权值参数数量为10 × 10 × 10^6 =10^8,将直接减少4个数量级。 图 4 权值共享 另外一种减少参数的方式是权值共享(如图4)。局部连接中隐藏层的每一个神经元连接的是一个10 × 10的局部图像,因此有10 × 10个权值参数,将这10 × 10个权值参数共享给剩下的神经元,也就是说隐藏层中10^6个神经元的权值参数相同,此时不管隐藏层神经元的数目是多少,需要训练的参数就是这 10× 10个权值参数(也就是卷积核(也称滤波器)的大小)。在计算机视觉和图像处理中,卷积时的权值矩阵被称为卷积核(Kernel),在信号处理中也成为滤波(Filter)。不同的卷积核能够得到图像的不同映射下的特征,称之为特征映射(FeatureMap)。 卷积神经网络主要包括两种网络层(如图5),分别是卷积层(convolutional layer)和池化/采样层(pooling layers)。卷积层的作用是提取图像的各种特征,卷积层中的单元被组织在特征映射中,其中每个单元通过滤波器组的权值来连接到前一层的特征映射中的局部块,然后这个局部加权和被传给一个非线性函数(激励函数),比如ReLU。特征映射中的所有单元共享相同的滤波器组.。不同的特征映射使用不同的滤波器组。池化层的作用是对原始特征信号进行抽象,从而大幅度减少训练参数,减轻模型过拟合的程度。池化层把相似的特征进行合并,一般地,池化单元选择特征映射中的一个局部块的最大值或是平均值,由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数,降低了网络参数选择的复杂度。卷积神经网络上进行的反向传播算法和在一般的深度网络上是一样的,可以让所有的滤波器组的权值得到训练。在数学上,由于特征映射执行的过滤操作是离散的卷积,卷积神经网络因此得名。 图 5 卷积神经网络 对于卷积神经网络的应用,LeCun Y,Bengio Y,Hinton G(2015)重点提到了标志性的2012年的ImageNet竞赛。在该竞赛中,深度卷积神经网络被用在上百万张网络图片数据集,这个数据集包含了1000个不同的类。该结果获得了前所未有的成功,几乎比当时最好的方法降低了一半的错误率。这个成功来自有效地利用了GPU、ReLU、一个新的被称为dropout的正则技术,以及通过分解现有样本产生更多训练样本的技术。这个成功给计算机视觉带来一场革命。正是这次竞赛让学界重新认识到深度学习的价值,并且得到Google、Facebook、Microsoft、IBM,yahoo!、Twitter和Adobe等公司的高度重视。 分布式特征表示与语言处理深度学习在自然语言处理的应用中,将语义信息处理成稠密、低维的实值向量。向量的每一维都表示文本的某种潜在的语法或语义特征。这样的表示形式被称作分布式特征表示(Distributed representations)。将原有高维、稀疏、离散的词汇表示方法(又称One-hot表示)映射为分布式特征表示这一种降维方法,可有效克服机器学习中的维数灾难(Curseof Dimensionality)问题,从而获得更好的学习效果。在分布式特征表示中,不同维度表示了词的不同主题,各维度上的数值表示了一个词对于不同主题的权重,这相当于将原来线性不可分的一个词抽取出其各个属性,从而更有利于分类。这样的处理方式,可以通过计算向量之间相似度的方法(如余弦相似度),来计算语义的相似度。 比如西红柿和番茄的词向量比较相似,即使在训练中我们并没有观察到番茄,但通过两者的词向量,我们也可以判断两者的相似程度很高,从而缓解了自然语言处理中常见的数据稀疏问题。 LeCun Y,BengioY,Hinton G(2015)认为,特征表示基于对逻辑启发和神经网络的认识。在逻辑启发的范式中,一个符号实例表示某一事物,因为其唯一的属性与其他符号实例相同或者不同。该符号实例没有内部结构,并且结构与使用是相关的,为了理解符号的语义,就必须与变化的推理规则合理对应。与之相反,神经网络利用了大量活动载体、权值矩阵和标量非线性化,来实现能够支撑简单容易的、具有常识推理的快速“直觉”功能。这样一来,可以更容易的预测目标输出,比如将本地文本的内容作为输入,训练多层神经网络来预测句子中下一个单词。 递归神经网络递归神经网络(RNNs)又称循环神经网络,不同于传统的前馈神经网络(feedforwardneural network),递归神经网络中的每层的神经元之间是有向连接的,即神经元间连接构成有向图。利用这样的结构,递归神经网络(RNNs)将状态在自身网络中循环传递,因此可以处理更广泛的时间序列数据。RNNs一次处理一个输入序列元素,同时维护网络隐藏层中包含过去时间序列数据的历史信息的“状态向量”。 图 6 递归神经网络 RNNs一旦展开(如图6),可以将之视为一个所有层共享同样权值的深度前馈神经网络。但是在实际的训练中,这样的结构会产生“梯度的爆发与消失”(exploding and vanishing gradients)问题,难以做到长期保存信息。为了解决这个问题,一些学者提出了采用了特殊隐式单元的长短期记忆神经网络(LSTM,long short-termmemory networks),由于独特的设计结构,LSTM适合于处理和预测时间序列中间隔和延迟非常长的重要事件,该结构可以长期的保存输入。LSTM单元包含一个尝试将信息储存较久的存储单元。这个记忆单元的入口被一些特殊的门神经元(gate neurons)所保护,被保护的功能包括保存、写入和读取操作。 LSTM网络被证明比传统的RNNs效果更好。目前LSTM网络或者相关的门控单元同样用于编码和解码网络,并且在机器翻译中表现良好。而在过去几年中,几位学者提出了用于增强RNNs的记忆的其他模块,比如神经图灵机和记忆网络等。 深度学习的未来展望最后,LeCun Y,Bengio Y,Hinton G(2015)提出了对于深度学习的未来展望。 无监督学习对于重新点燃深度学习的热潮起到了促进的作用,但是纯粹的有监督学习的成功盖过了无监督学习。在本篇综述中虽然这不是重点,LeCun Y,Bengio Y和HintonG(2015)还是期望无监督学习在长期内越来越重要。无监督学习在人类和动物的学习中占据主导地位:通过观察能够发现世界的内在结构,而不是单纯被告知每一个客观事物的名称。 人类视觉是一个智能的、基于特定方式的利用小或大分辨率的视网膜中央窝与周围环绕区域对光线采集成像的活跃的过程。LeCun Y,Bengio Y,HintonG(2015)期望未来在机器视觉方面会有更多的进步,这些进步来自那些端对端的训练系统,并结合ConvNets和RNNs,采用强化学习来决定走向。结合了深度学习和强化学习的系统虽然正处于初级阶段,但已经在分类任务中超过了被动视频系统,并在学习操作视频游戏中产生了令人印象深刻的效果。 在未来几年,自然语言理解将是深度学习做出巨大影响的另一个领域。LeCun Y,Bengio Y,HintonG(2015)预测那些利用了RNNs的系统将会更好地理解句子或者整个文档。 最终,在人工智能方面取得的重大进步将来自那些结合了复杂推理表示学习(representation learning )的系统。尽管深度学习和简单推理已经在语音和手写字识别应用了很长一段时间,但仍需要通过操作大量向量的新范式来代替基于规则的字符表达式操作。
参考文献: LeCun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015,521(7553): 436-444. http://www./news/201605/zZqsZiVpcBBPqcGG.html http://www./cnn-learning-notes-1.html http:///9822.html http://www./html/617/201608/2650790861/1.html http://blog.csdn.net/heyongluoyao8/article/details/48636251 https://zh./wiki/LSTM http://blog.csdn.net/zouxy09/article/details/8781543
作者简介: |
|
来自: 東泰山人 > 《学习学\治学方法》