程序员的资源宝库

网站首页 > gitee 正文

深度学习——人工神经网络再掀研究热潮

sanyeah 2024-04-13 16:18:35 gitee 6 ℃ 0 评论

深度学习——人工神经网络再掀研究热潮

胡晓林

 

人工神经网络起源于上世纪40年代,到今天已经70年历史了。就像人的一生,经历了起起落落,有过辉煌,有过黯淡,有过嘈杂,有过冷清。总体说来,过去的20年中人工神经网络的研究不温不火,直到最近三五年,随着深度学习概念的提出,人工神经网络才又重新焕发生机,甚至再度掀起研究热潮。本文简述一下人工神经网络的“前世今生”,并简单展望一下它的未来。

第一个神经元模型是1943年McCulloch和Pitts提出的,称为threshold logic,它可以实现一些逻辑运算的功能。自此以后,神经网络的研究分化为两个方向,一个专注于生物信息处理的过程,称为生物神经网络;一个专注于工程应用,称为人工神经网络。本文主要介绍后者。1958年Rosenblatt提出了感知机(perceptron),它本质上是一个线性分类器,1969年Minsky和Papert写了一本书“Perceptrons”,他们在书中指出:①  单层perceptron不能实现XOR功能;②  计算机能力有限,不能处理神经网络所需要的长时间运行过程[1]。鉴于Minsky在人工智能领域的影响力——他是人工智能的奠基人之一,也是著名的MIT CSAIL实验室的奠基人之一,并于1969年获得图灵奖——这本书令人工神经网络的研究进入了长达10多年的“冬天”。事实上,如果把单层感知机堆成多层(称为multilayer perceptron或MLP,如图1所示),是可以求解线性不可分问题的,但当时缺乏有效的算法。尽管1974年哈佛大学的博士生Paul Werbos提出了比较有效的BP算法[1],但没有引起学界的重视。直到1986年多伦多大学的Geoff Hinton等人重新发现这一算法,并在“Nature”上发表[2],人工神经网络才再次受到重视。

图1  多层感知机。每个神经元接受下层神经元的输入,与对应的权值相乘并加上一个偏置,

通过sigmoid函数转换后将值传给上层神经元

 

与此同时,带反馈的神经网络开始兴起,其中以Stephen Grossberg和John Hopfield的工作最具代表性。很多复杂的认知现象比如联想记忆都可以用反馈神经网络进行模拟和解释。所有这些因素促成了上世纪80年代神经网络的研究热潮。一位在神经网络领域非常资深的学者跟我聊天时说,在那个年代,只要你的文章跟神经网络扯上点关系,无论什么杂志,都很容易发表。2008年左右我在清华听了哈佛大学的一位华人学者的讲座,名字我忘了,内容是关于SVM的。演讲过程中他突然用英语来了一句: I really miss the happy days when I was doing researches in neural networks. 令我印象深刻。

但是BP算法在神经网络的层数增多时很容易陷入局部最优,也很容易过拟合。上世纪90年代,Vladimir Vapnik提出了SVM,虽然其本质上是一特殊的两层神经网络,但因其具有高效的学习算法,且没有局部最优的问题,使得很多神经网络的研究者转向SVM。多层前馈神经网络的研究逐渐变得冷清。

直到2006年深度网络(deep network)和深度学习(deep learning)概念的提出,神经网络又开始焕发一轮新的生命。深度网络,从字面上理解就是深层次的神经网络。至于为什么不沿用以前的术语“多层神经网络”,个人猜测可能是为了与以前的神经网络相区分,表示这是一个新的概念。这个名词由多伦多大学的Geoff Hinton研究组于2006年创造[3]。事实上,Hinton研究组提出的这个深度网络从结构上讲与传统的多层感知机没有什么不同,并且在做有监督学习时算法也是一样的。唯一的不同是这个网络在做有监督学习前要先做非监督学习,然后将非监督学习学到的权值当作有监督学习的初值进行训练。这个改变其实对应着一个合理的假设。我们用P(x)表示用无监督学习对网络进行预训练得到的数据的一种表示,然后用有监督学习对网络进行训练(如BP算法),得到P(Y|X),其中Y 为输出(比如类别标签)。该假设认为P(X)的学习有助于P(Y|X)的学习。这种学习思路相对于单纯的有监督学习而言有助于降低过拟合的风险,因为它不仅学习了条件概率分布P(Y|X),还学习了X 和Y 的联合概率分布。关于预训练有助于深度学习的原因还有其他解释,其中最直接的解释是预训练将网络参数训练到一组合适的初始值,从这组初始值出发会令代价函数达到一个更低的值,但Erhan等人的实验证明并不一定是这样的[4]。事实上,他们发现不做预训练,网络能在训练数据集上收敛到更低的误差值,但在测试集上表现却不好,即出现过拟合,如图2所示。

图2一个深度网络在训练集和测试集上的negative log-likelihood(nll)[4]。从左至右分别表示网络有1、2、3层。 从图中看出,相对于有预训练过程,虽然没有预训练过程时训练数据集上的nll值可以更低,但测试数据集上的nll值却更高

 

由上可以看出,深度网络从结构上讲不是一件新事物,它的兴起主要归功于学习方法的变革。那么,Hinton研究组到底提出了一个什么样的学习方法呢?这要从受限玻尔兹曼机(RBM,restricted Boltzmann Machine)讲起。

RBM是一个单层的随机神经网络(通常我们不把输入层计算在神经网络的层数里),如图3所示,本质上是一个概率图模型。输入层与隐层之间是全连接,但层内神经元之间没有相互连接。每个神经元要么激活(值为1)要么不激活(值为0),激活的概率满足sigmoid函数。RBM的优点是给定一层时另外一层是相互独立的,那么做随机采样就比较方便,可以分别固定一层,采样另一层,交替进行。权值的每一次更新理论上需要所有神经元都采样无穷多次以后才能进行,即所谓的contrastive divergence (CD)算法,但这样计算太慢,于是Hinton等人提出了一个近似方法,只采样n次后就更新一次权值,即所谓的CD-n 算法[5]。

图3  RBM的结构示意

 

学好了一个RBM模型后,固定权值,然后在上面垒加一层新的隐层单元,原来RBM的隐层变成它的输入层,这样就构造了一个新的RBM,然后用同样的方法学习它的权值。依此类推,可以垒加多个RBM,构成一个深度网络(如图1所示)。令RBM学习到的权值作为这个深度网络的初始权值,再用BP算法进行学习。这就是深度信念网络的学习方法。

图4的左边给出一个例子[6]。这个网络有4层,将一个高维的图像信号压缩到30维,即最顶层的神经元个数为30。我们还可以将这个网络对称展开,从30维回到原来的高维信号,这样就有了一个8层的网络(见图4的中间)。如果该网络用于信号压缩,那么可以令该网络的目标输出等于输入,再用BP算法对权值进行微调(见图4的右边)。

图4  一个深度信念网络的例子[6]

 

这项工作重新燃起了学术界对于神经网络的热情,一大批优秀的学者加入到深层神经网络的研究中来,尤其是蒙特利尔大学的Bengio研究组和斯坦福大学的Ng研究组。从提出的模型种类上分析,Bengio研究组的一个重要贡献是提出了基于自编码器(auto-encoder)的深度学习网络。自编码器与RBM的激活函数都是sigmoid函数,学习原则也是一致的,都可以看成是最大化数据的似然概率,只是实现方式不同。而Ng研究组的一个重要贡献是提出了一系列基于稀疏编码的深层学习网络。他们的工作延伸了深层网络的定义:在同一个网络中,不同层之间的学习方式可以是不一样的。

值得强调的是,在2006年之前也有一个学习效率非常高的深度网络(从历史的角度可能称为多层神经网络更为合适)——卷积神经网络。这个网络由纽约大学的Yann LeCun于1998年提出[7],并在图像分类(包括手写体认别、交通标志识别等)中得到了很多应用。比如在IJCNN2011年的交通标志识别竞赛中,一组来自瑞士的研究者使用基于卷积神经网络的方法一举夺魁。这个网络本质上是一个多层感知机(如图5所示),那为什么它能够成功呢?人们分析关键可能在于它所采用的局部连接和分享权值的方式,一方面减少了的权值的数量;另一方面降低了过拟合的风险。近年来,人们发现如果卷积神经网络先进行无监督学习,再进行有监督学习,效果会更好。

图5  卷积神经网络示意[8]

 

与Hinton一样,LeCun也是一个对神经网络异常痴迷的人,在几乎所有人都放弃了神经网络的时候,他们一直坚持着。

学术界对神经网络的再度热情迅速感染了工业界,一些嗅觉敏锐的公司迅速跟进。2010年,微软雷德蒙研究院的Deng Li博士与Hinton合作发现深层网络可显著提高语音识别的精度[8]。这项成果被微软亚洲研究院进一步深化,他们建立了一些巨大的神经网络,其中一个包含了6600多万神经连结(如图6所示),这是语音识别研究史上最大的同类模型。该模型在Switchboard标准数据集的识别错误率比最低错误率降低了33%!要知道,在语音识别领域,这个数据集上的最低的错误率已多年没有更新了。为此,Deng Li 博士还接受了《纽约时报》的专访。关于这项工作的台前幕后,微软亚洲研究院在人人网上有一篇日志[2], 里面有详细介绍。

图6  一个结合了深度网络的语音识别模型[8]

 

谷歌研究院也迅速加入到神经网络的研究中来。通过与Ng研究组合作,谷歌的研究人员建立了一个巨大的深度网络[9],见图7,共有10亿个参数要学习,堪称史上最大的神经网络。他们用了2000台机器共32000个核训练了1周,在ImageNet数据集上得到的分类准确率比当前最好的结果提高了70%!这项工作在《纽约时报》、《BBC》、《TIMES》等新闻媒体上进行了广泛报道。

图7  一个深度自编码器的子网络[9]。多个同样的子网络需要垒加在一起

 

总而言之,深度学习这个概念目前炙手可热,得到了学术界和工业界的广泛认可,大批学者正从不同的领域赶来凑热闹,ICML、NIPS、IEEE Trans. PAMI等著名会议和期刊上的相关论文越来越多。从目前的情况看,这场声势浩大的盛宴至少要持续好几年。

最后,针对深度网络未来几年的可能动向简单谈谈个人看法。我认为至少以下两个方面值得重视。

首先,如何在深度网络中加入反馈连接以提高性能。现有的深度网络中只有前馈连接没有反馈连接,这与真实的神经网络不同。反馈神经网络由于其动态过程比较复杂,没有一般规律可循,训练算法一般不具普适性,往往要针对不同的网络设计不同的算法。更糟的是,相对于近年来兴起的其他机器学习方法,这些学习算法效果不好,也不具有数据的可扩展性,无法很好地适应当前网络时代下的大数据处理需求。近年来这方面也有一些重要进展,比如蓄水池网络和回声状态网络[10],其基本思想是将权值分为两部分,一部分有复杂的前馈、反馈连接,权值固定,不需要学习;另一部分连接比较简单(比如只有线性前馈),只学这部分权值。但是如何将这个思想用到深度网络中去提高性能还是一个正在探索的问题。

第二,硬件与软件的配合。目前绝大多数深度网络都需要进行大量的计算,并行化必不可少。这一点其实很自然,因为毕竟大脑对信息的处理基本是并行的。并行的一种方式是机器的并行,像谷歌2012年在ICML上发表的工作那样[9];另一种方式是使用GPU并行。显然后者对于个人研究者而言更加经济可行。但目前编写GPU代码对于大部分研究人员来讲还是比较费时费力,这有赖于硬件厂商和软件厂商通力合作,为业界提供越来越傻瓜的编程工具。

参考文献:

[1] Werbos P J. Beyond regression: new tools for prediction and analysis in the behavioral sciences[D].  Boston: HarvardUniversity, 1974.

[2]  Rumelhart D, Hinton G, Williams R. Learning representations by back-propagating errors[J]. Nature, 1986, 323:533–536.

[3]  Hinton G E, Osindero S, Teh Y-W. A fast learning algorithm for deep belief nets[J].  Neural Computation,2006,18: 1527-1554.

[4]  Erhan D, Bengio Y, Courville A, et al.  Why does unsupervised pre-training help deep learning?[J].  Journal of Machine Learning Research, 2010,11:625-660.

[5]  Hinton G E. Training products of experts by minimizing contrastive divergence[J].  Neural Computation, 2002,14: 1771-1800.

[6]  Hinton G E, Salakhutdinov R R. Reducing the dimensionality of data with neural networks[J]. Science, 2006, 313(5786):504-507.

[8]  LeCun Y, Bottou L, Bengio Y, et al. Gradient-based learning applied to document recognition[J]. Proc of the IEEE, 1998, 86(11): 2278-2324.

[7]  Dahl G, Yu D, Deng L, et al. Context-dependent pre-trained deep neural networks for large-vocabulary speech recognition[J].  IEEE Transactions on Audio, Speech, and Language Processing, 2012,20(1):30-42.

[8]  Le Q, Ranzato M, Monga R, et al. Building high-level features using large scale unsupervised learning[C]//ICML2012. Edinburgh:[s.n.],2012:81-88.

[9]  Jaeger H, Haas H.  Harnessing nonlinearity: predicting chaotic systems and saving energy in wireless communication[J]. Science, 2004,304:78-80.

 

作者简介: 胡晓林,清华大学计算机科学与技术系、智能技术与系统国家重点实验室教师,研究方向为人工神经元网络、神经与认知计算,E-mail:xiaolin.hu@gmail.com

 

 


[1]① http://en.wikipedia.org/wiki/Neural_network

[2]① http://page.renren.com/600674137/note/761726816

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表