CMU论文:一部深度学习发展史,看神经网络兴衰更替

简介:

以古为鉴,可知兴替。今天为大家带来一篇来自CMU的最新论文:On the Origin of Deep Learning,为读者回顾和解析深度学习的发展历史。


论文地址:https://128.84.21.199/abs/1702.07800


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=



提要



本文回顾了深度学习模型的演化历史。作者从神经网络的滥觞——联想主义心理学出发,讲到引领了过去10年研究方向的深度学习模型,比如卷积神经网络、深度置信网络、递归神经网络,一直延伸至最近流行的一些模型,如变分自编码器。作为对这些模型回顾的补充,本文特别关注了它们的前世今生,审视了早期模型是如何由初始概念组合构建而成的,以及它们如何发展成为了今天的形式。其中不少演化路径持续了半个多世纪,并朝着多元化的方向发展。例如,CNN的创建是基于生物视觉系统的先验知识; DBN是由图像模型的建模能力和计算复杂性的折衷演变而来的,现在的许多模型还是古老的线性模型的在神经层面的对应。本文回顾了这些演化路径,提供了关于这些模型是如何被开发的简明思路,旨在为深度学习提供一个全面的背景知识。更重要的是,沿着演化的路径,本文总结了这些里程碑背后的思想,提出了很多未来深度学习研究的方向。



目录


  • 从亚里士多德的联想主义心理学谈起

  • 从现代神经网络到深度学习

  • 深度学习的理论基石universal approximation,以及关于“深度”的讨论

  • 深度生成模型

  • 卷积神经网络和人类视觉

  • 递归网络

  • 神经网络的优化

  • 结论:一些启发


从亚里士多德的联想主义心理学谈起


人工智能的发展或许可以追溯到公元前仰望星空的古希腊人,当亚里士多德为了解释人类大脑的运行规律而提出了联想主义心理学的时候,他恐怕不会想到,两千多年后的今天,人们正在利用联想主义心理学衍化而来的人工神经网络,构建超级人工智能,一起又一次地挑战人类大脑认知的极限。


联想主义心理学是一种理论,认为人的意识是一组概念元素,被这些元素之间的关联组织在一起。受柏拉图的启发,亚里士多德审视了记忆和回忆的过程,提出了四种联想法则:


•  邻接:空间或时间上接近的事物或事件倾向于在意识中相关联。

•  频率:两个事件的发生次数与这两个事件之间的关联强度成正比。

•  相似性:关于一个事件的思维倾向于触发类似事件的思维。

•  对比:关于一个事件的思维倾向于触发相反事件的思维。


亚里士多德描述了这些在我们意识中作为常识在起作用的法则。例如,苹果的触感、气味或味道会很自然地引出苹果的概念。令人惊讶的是,如今这些提出了超过2000年的法则仍然是机器学习方法的基本假设。例如,彼此靠近(在限定距离下)的样本被聚类为一个组; 经常与响应变量发生的解释变量引起模型更多的注意; 相似/不相似数据通常用潜在空间中更相似/更不相似的嵌入表示。


此后两千年间,联想主义心理学理论被多位哲学家或心理学家补充完善,并最终引出了Hebbian学习规则,成为神经网络的基础。


表1:深度学习发展历史上的里程碑


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

表1

 


从现代神经网络到深度学习



Hebbian学习规则以Donald O. Hebb(1904-1985)命名。Donald O. Hebb在1949年的论著《The Organization of Behavior》中提出了这一法则。Hebb也因为这篇论文被视为神经网络之父。


1949年,Hebb提出了那条著名的规则:一起发射的神经元连在一起。更具体的表述是:

“当神经元A的轴突和神经元B足够接近并反复或持续激发它时,其中一个或两个神经元就会发生增长或新陈代谢的变化,例如激发B的神经元之一——A efficiency——会增加。”


这个拗口的段落可以重写为现代机器学习的语言:


gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAA


其中gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAA代表输入信号为gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAA的神经元gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAA的突触权重(gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAA)的变化。gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAA表示突触后反应,gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAA表示学习率。换句话说,“Hebbian学习规则”指出,随着两个单位共同出现频率的增加,两个单位之间的联系会加强。


尽管Hebbian学习规则被视为奠定了神经网络的基础,但今天看来它的缺陷是显而易见的:随着共同出现的次数增加,连接的权重不断增加,主信号的权重将呈指数增长。这就是Hebbian学习规则的不稳定性(Principe et al., 1999)。幸运的是,这些问题没有影响Hebb作为神经网络之父的地位。


ErkkiOja扩展了Hebbian学习规则以避免不稳定性,并且他还表明,遵循此更新规则的神经元的行为,近似于Principal Component Analyzer(PCA)的行为(Oja, 1982)。


FrankRosenblatt通过引入感知器的概念进一步实现了Hebbian学习规则(Rosenblatt, 1958)。像Hebb这样的理论家专注的是自然环境中的生物系统,而Rosenblatt构建了一个名为感知器的电子设备,它具有根据关联进行学习的能力。


早期神经元模型和现代感知器之间的一个区别是非线性激活函数的引入。


将感知器放在一起,就变成了基本的神经网络。通过并列放置感知器,我们能得到一个单层神经网络。通过堆叠一个单层神经网络,我们会得到一个多层神经网络,这通常被称为多层感知器(MLP )(Kawaguchi, 2000)。单层神经网络具有局限性,正是这种局限性导致了相关的研究曾经一度停滞了进二十年,但同时,也正是这种局限性刺激了神经网络向更高层结构进发,渐渐迎来了如今的深度学习时代。

 

深度学习的理论基石universal approximation,以及关于“深度”的讨论


神经网络的一个显著特性,即众所周知的通用逼近属性,可以被粗略描述为MLP可以表示任何函数。可以从以下三方面探讨这一属性:

布尔逼近:一个隐藏层的MLP可以准确的表示布尔函数;

连续逼近:一个隐藏层的MLP可以以任意精度逼近任何有界连续函数;

任意逼近:两个隐藏层的MLP可以以任意精度逼近任何函数。


universal approximation成为如今神经网络与深度学习一片繁荣景象的重要理论基石,universal approximation的相关理论——一个多层神经网络具备表达任何方程的能力——已经成为深度学习的标志性特点。本章节的一个最大的贡献在于将过去在这个问题上的相关理论研究工作加以整理,分三个脉络阐释了三种不同的universal approximation。作者重新整理了从上世纪八十年代末期到本世纪初期的相关理论工作,把原本艰深晦涩的理论证明以形象的语言重新描述出来。如图1所示,无数个线性decision boundary组合叠加可以制造出圆形边界,而无数个圆形边界的叠加何以逼近任何一个方程。 


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

图1


浅层神经网络的通用逼近属性以呈几何级数增长的神经元为代价,因此是不现实的。关于如何在减少计算单元数量的同时维持网络的表达力,这个问题已被追问多年。从直觉出发,Bengio和Delalleau(2011)认为追求更深的网络是自然的,因为1)人类神经系统就是一个深层次的结构;2)人类倾向于将一个抽象层次的概念表示为较低层次的概念组合。今天,我们的解决方案是建立更深的结构,这一方案的理论支撑是,要想达到一个具有多项式的k层神经网络的表达能力,如果使用k-1层结构,则神经元的数量需要以指数级增长。不过,理论上,这仍是一个尚未最终证明的结论。但这仍可以看出,深度学习中“深度”二字的重要性:从姚期智老师1985年的工作,到Yoshua Bengio近几年的成果,无一不在重复“深度”的价值。在深度学习炙手可热的今天,在还有很多同学讨论“深度”的必要性的今天,我们建议相关的老师和同学们仔细审视前人的成果。


深度生成模型


第四节到第七节是本文最激动人心的章节。第四节重点介绍了Generativemodel的进化过程。从八十年代的Self Organizing Map到 Hopfield Network, 再到鼎鼎大名的BoltzmannMachine和RestrictedBoltzmann Machine,直到Hinton塑造的Deep Belief Network。深度学习的研究一路走来,悠长的历史之中,作者带领我们研读了这几个璀璨明星的诞生过程,以及这些作品诞生时的内在联系。


图2总结了本节将涉及的模型。 水平轴代表这些模型的计算复杂度,而垂直轴代表表达能力。 这是六个里程碑式的模型。


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

图2


其中,早先的模型,比如Self Organizing Map和Hopfield Network,它们的诞生主要基于人们对于这个世界基本的认知,因而相关的介绍也更加的浅显易懂。中期的模型,比如Boltzmann Machine和Restricted Boltzmann Machine虽然依然是前面模型的改进,当时的学者却更依赖于相关的数学和物理理论,因而本文在此处的介绍也是理论韵味十足,用公式铺路,步步前行。当Hinton介绍了Deep Belief Network之后,深度学习更依赖于经验性的结论的特点又将本文重点转为文字性的介绍。


Self Organizing Map(SOM)由Kohonen(1990)发明。 SOM是一种强大的技术,主要用于减少数据维度,通常减少到一维或二维(Germano, 1999)。在降低维度的同时,SOM还保留了数据点的拓扑相似性。它也可以被看作是用于聚类的工具,同时将拓扑强加在聚类表示上。


Hopfield Network历史上被描述为一种recurrent3形式的神经网络,由Hopfield创造(1982)。此处的“recurrent”是指连接神经元的权重是双向的。Hopfield Network因其内容可寻址的存储器属性而被广泛认可。


Boltzmann Machine,由Ackley等人发明(1985),是随机隐藏单元版的Hopfield Network。它的名字来自Boltzmann分布。


Restricted Boltzmann Machine(RBM),最初称为Harmonium,由Smolensky(1986)发明,是一种带有限制的Boltzmann Machine,其限制实在可见单元或隐藏单元之间没有连接。


深度置信网络由Hinton等人(2006)创造,他指出RBM可以以贪婪的方式进行堆叠和训练。


最后给大家介绍的是深度生成模型谱系里的最后一块里程碑,Deep BoltzmannMachine,由Salakhutdinov andHinton (2009)创造。DBM和上文提到的DBN的区别在于,DBM允许在底层中双向连接。因此,用DBM表示堆叠的RBM,比用DBN好得多。当然如果DBM Deep Restricted Boltzmann Machine可能更清楚。


在DBM之后,又出现了很多研究论文,未来的工作则更多。


卷积神经网络和人类视觉


卷积神经网络的谱系主要是从对人类视觉皮层的认识演变而来。卷积神经网络的视觉问题的成功原因之一是:复制人类视觉系统的仿生设计。第五节主要介绍了深度学习在计算机视觉角度上的发展,也就是卷积神经网络的发展,侧重于各个在ImageNet比赛中所有作为的神经网络模型。本章节以介绍人类的视觉神经网络开始,所有的后续介绍都将围绕着人类的视觉神经网络展开。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

图3


在介绍了视觉神经网络之后,作者重点介绍了卷积在计算机视觉问题上的巨大意义。这些意义对于资深研究计算机视觉的老师同学来说可能已是陈词滥调,但是对于刚刚从深度学习时代开始接触计算机视觉问题的同学来说却可能至关重要。卷积作为一个非常有效的视觉特征提取工具,几乎是深度学习在计算机视觉问题上如此成功的基石。在介绍了卷积的意义之后,作者先介绍了LeNet,进而带领读者回顾了近几年在ImageNet上有所作为的重要模型,包括AlexNet,VGG,和ResNet。值得一提的是,即便是在人们开始用计算机模仿人类视觉神经网络之后近四十年的今天,即便是在一个模型是否与人类视觉神经网络相似已经不再重要的今天,ResNet的成功的重要创新模块依然可以在四十年前人类视觉神经网络的研究中找到影子。由此可见本文重新审视前人工作的重要性。本节的最后,作者介绍了一些在计算机视觉领域内的非常有趣的关键性问题,这些问题看似是计算机视觉问题的死穴,然而值得庆幸的是,人类视觉系统同样有这种盲点。卷积神经网络与人类视觉神经网络如此相似,甚至连缺陷都如此相似,究竟是喜是悲,还待更多后续工作揭晓。


递归网络


递归神经网络(RNN)是神经网络的一种,其单位的连接形成了有向循环; 这种性质赋予了其处理时间数据的能力。


“递归(recurrent)”的现代定义由Jordan(1986年)最早提出:

如果网络具有一个或多个cycle,即,如果可以遵循从单元返回到其自身的路径,则网络被称为循环(一般将Recurrent Neutral Network译为“递归”神经网络)。非递归网络没有cycle。


他的模型(Jordan, 1986年)后来被称为Jordan Network。

几年后,Elman(1990)发明了另一个形式略有不同的RNN 。

从Jordan网络到Elman网络的变化引人注目,因为它引入了从隐藏层传递信息的可能性,这显著提高了后来工作中结构设计的灵活性。


Hochreiter和Schmidhuber(1997)为RNN谱系引入了一个新的神经元,称为Long Short-Term Memory(LSTM)。这一术语“LSTM”最早用于指称借助于特殊设计的存储器单元,设计用来克服消失梯度问题的算法。如今,“LSTM”广泛用于表示具有该存储器单元的任何递归网络,其现在被称为LSTM单元。


LSTM被用于克服RNN不能长期依赖的问题(Bengio et al.,1994)。为了克服这个问题,它需要专门设计的存储单元,如图4(a)所示。

LSTM包括几个关键组件:

• states: 用于为输入提供信息的数值。

• gates: 用于决定states信息流的数值。



640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

图4 LSTM单元和功能


我们用6张图详细解释了LSTM的多个gate与state之间复杂的相互协同作用,强大而又神秘的LSTM在6张深入浅出的图片中一目了然。这或许是迄今能找到的最清晰的LSTM解析了!


所有的权重都是需要在训练期间学习的参数。因此,理论上,如果必要的话,LSTM可以学习记住长时间依赖,并且可以学会在必要的时忘记过去。这使它成为一个强大的模型。


神经网络的优化


优化是深度学习发展历史上不可回避的课题。目前存在的优化方式有:


梯度法:尽管神经网络已经发展了50多年,神经网络的优化仍然严重依赖于反向传播算法内的梯度下降法。


剔除(dropout)法:剔除法由(Hinton et al., 2012;Srivastava et al., 2014)创造。这种技术很快拥有了影响力,不仅因为它具有良好的性能,而且实施简单。这个想法很简单:在训练时随机剔除一些单位。更正式的表述是:在每次训练中,每个隐藏单元以概率p随机地被从网络中省掉了。


BatchNormalization:由Ioffe和Szegedy(2015)发明的BatchNormalization是深度神经网络优化的另一个突破。他们解决了他们称为内部协变量移位的问题。直观上看,问题可以理解为以下两个步骤:1)如果输入改变(在统计学中,函数的输入有时被表示为协变量),则学习的函数几乎无用; 2)每层都是一个函数,下层参数的变化改变了当前层的输入。这种变化可能很剧烈,因为它可能改变输入的分布。


结论:一些启示


回顾深度学习的发展史,从方法论的层面,我们可以得到如下启示:


奥卡姆剃刀定律:人们一方面将结构层层叠加,另一方面希望反向传播可以找到最佳参数。看上去他们有追求更复杂模型的倾向。但历史表明,大道至简。比如dropout被广泛认可,不仅因为它表现出色,更多是因为它的推理简单而直观。

 

要有野心:如果一个模型提出时具有比同时期更多的参数,它必须能解决掉一个其他模型不能漂亮解决的问题。LSTM比传统的RNN复杂得多,但它出色地解决了消失梯度的问题。DBN之所以出名并不是因为它是第一个提出将一个RBM放到另一个RBM的网络,而是因为他们提出了一个算法,使得深层架构能够被有效地训练。

 

广泛阅读:许多模型受机器学习或统计学科以外的领域知识的启发。比如人类视觉皮层极大地启发了卷积神经网络的发展。甚至最近流行的残差网络也可以在人类视觉皮层中找到相应的机制。

 

希望这些启发能给读者朋友们未来的研究工作一些帮助。


文章转自新智元公众号,原文链接

相关文章
|
1月前
|
机器学习/深度学习 数据采集 人工智能
m基于深度学习网络的手势识别系统matlab仿真,包含GUI界面
m基于深度学习网络的手势识别系统matlab仿真,包含GUI界面
38 0
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的火焰烟雾检测系统matlab仿真
基于yolov2深度学习网络的火焰烟雾检测系统matlab仿真
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的视频手部检测算法matlab仿真
基于yolov2深度学习网络的视频手部检测算法matlab仿真
|
1月前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能与图像识别:基于深度学习的卷积神经网络
人工智能与图像识别:基于深度学习的卷积神经网络
34 0
|
8天前
|
机器学习/深度学习 算法 PyTorch
【动手学深度学习】深入浅出深度学习之线性神经网络
【动手学深度学习】深入浅出深度学习之线性神经网络
54 9
|
1月前
|
机器学习/深度学习 并行计算 算法
m基于深度学习网络的瓜果种类识别系统matlab仿真,带GUI界面
m基于深度学习网络的瓜果种类识别系统matlab仿真,带GUI界面
31 0
|
2天前
|
机器学习/深度学习 数据可视化 测试技术
深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据
深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据
|
2天前
|
机器学习/深度学习 API 算法框架/工具
R语言深度学习:用keras神经网络回归模型预测时间序列数据
R语言深度学习:用keras神经网络回归模型预测时间序列数据
13 0
|
8天前
|
机器学习/深度学习 自然语言处理 算法
|
1月前
|
机器学习/深度学习 开发者
论文介绍:基于扩散神经网络生成的时空少样本学习
【2月更文挑战第28天】论文介绍:基于扩散神经网络生成的时空少样本学习
14 1
论文介绍:基于扩散神经网络生成的时空少样本学习