理解计算:从根号2到AlphaGo第8季 深度学习发展简史

2019-08-29 10:09:08 浏览数 (1)

1 引子

在本系列的2,3,4季中,我们分别介绍了神经网络的生物学背景,最早的关于神经元的数学模型,以及具有学习功能的感知机。我们现在已经知道,如何学习神经网络的参数是最为关键的问题,这个问题从宏观上看实际上跟求解2的平方根并没有本质不同,即需要一个迭代过程(梯度下降)不断更新模型的参数。在一个著名的Adaline模型(第4季)的基础上,我们首次看到了激活函数、代价函数,梯度(导数)这些概念在求解模型参数中的核心作用,梯度下降法首次被运用到神经元模型中。接下来的第5季则专门介绍了导数的概念以及求解方法。逆向求导由于其极高的性能,看起来极具吸引力。从现在的眼光来看,在上个世纪80年代的时候,所有的基础几乎已经准备妥当,只是在等一个适当的机会,一些零星的在当时并不那么惹眼的研究,逐渐将神经网络以一种更加高大上外表包裹起来,深度学习开始了它的统治时代。本主要介绍从神经网络到深度学习发展过程中的几个重要的模型及其人物的简单历史,希望能帮助大家宏观上了解深度学习发展的基本脉络。

2 统计物理与神经网络

在从神经网络到深度学习过程中,物理学中的一个重要分支:统计力学,对其产生了深远的影响,实际上,统计力学的发展几乎影响了整个世界。牛顿的经典力学与统计是不沾边的。当19世纪后半,物理学家们在利用经典力学研究气体分子碰撞时发现,对分子的运动本身进行描述是不切实际的,分子碰撞每秒钟发生几百万次。因此转而以气体的总体状态,例如温度、密度、压强等来估计分子的平均速度。1860年,詹姆斯·克莱斯·麦斯威尔(James Clerk Maxwell)在研究气体分子的速度的分布函数中,提出了一个早期的论据,认为这些分子碰撞需要平衡的趋势。传奇并兼具悲剧色彩的伟大的奥地利物理学家,统计物理学的奠基人路德维希·玻尔兹曼(Ludwig Edward Boltzmann),也认为由于碰撞气体应该随着时间的推移趋向于某种分布。他后来(1877年)在统计热力学的框架下导出热平衡态下的气体分子按能量(而不是速度)的分布规律玻尔兹曼分布,后来也被称为吉布斯分布。1877年,波尔兹曼把物理体系的熵和概率联系起来,提出用“熵”来量度一个系统中分子的无序程度。作为一名教师,他讲课极为风趣、妙语连篇,但敏感和不自信也对这位天才的心灵损害极大,自杀倾向一直伴随着他,直到1906年不幸终于降临,亲手将自己的熵调到了最大。当时19岁的薛定谔和17岁的维特根斯坦还准备在几个月内投奔其门下。玻尔兹曼的分子运动论是在预设原子和分子确实存在前提下建立的。尽管当时由于实验仪器的缺失,关于原子的实在性存在很大争论,玻尔兹曼坚持原子是切实存在的。玻尔兹曼坚持的原子论在1905年被证实。

图1 玻尔兹曼

在20世纪70-80年代,统计学已成为物理学的最重要工具,随着电子计算机的发展,统计学也开始逐渐渗透到计算机科学领域,这要归功于几位当今机器学习领域中举足轻重的人物。首屈一指的要数现在的“机器学习之父” 迈克尔·乔丹(Michael I.Jordan)。没错,在计算机科学领域这个乔丹与篮球飞人相比,几乎一样出名,他们是同一时代两种完全不同领域的绝顶飞人。乔丹刚开始想从事心理学研究,出于对实验中数据分析的需要,他开始学习统计学的相关课程。他很快意识到,统计学的工具并非仅仅用来分析数据,而是可以建立新的模型,并进而探索统计推理与人类思维的关系。在拿到他的认知科学博士学位后,他开始致力于统计学与计算机学科的结合。乔丹教授在机器学习领域里一个重要的贡献就是关于参数化模型和非参数模型的研究,特别是在非参数和参数贝叶斯网络的研究上取得了极大的成功。所谓参数模型通常假设总体(随机变量)服从某一个分布,该分布由一些参数确定(比如正太分布由均值和方差确定),在此基础上构建的模型称为参数模型;非参数模型对于总体的分布不做任何假设,只是知道总体是一个随机变量,其分布是存在的,但是无法知道其分布的形式,更别说未知参数了。在不对分布做假设的前提下的进行统计建模的方法莫名其妙的被称为无参数方法。实际上,有没有参数并不是参数模型和非参数模型的区别,其区别主要在于总体的分布形式是否已知。非参数方法很多情况下并非没有参数,而是包含更多参数。这种说法难免让人迷惑,强调“参数”与“非参数”,主要原因可能在于参数模型的分布可以由参数直接确定。Michael I. Jordan教授桃李满天下,所教过的学生人才辈出,占据了机器学习学术界的半壁江山,他的学生们包括深度学习三大开山鼻祖之一、2019年图灵奖得主,蒙特利尔大学教授 Yoshua Bengio;贝叶斯学习领域权威 Zoubin Ghahramani;以及主题模型领域权威、哥伦比亚大学教授 David M. Blei;还包括前百度首席科学家、斯坦福大学教授 Andrew Ng(吴恩达)。

另一位在物理学和计算机科学方面均有造诣的约翰·霍普菲尔德(John Hopfield),在1982年提出了一种新的Hopfield网络,与罗森布拉特一样,这个网络深受神经生物学的启发,霍普菲尔德对大脑中的一个特殊功能联想记忆尤为关注,看见一个人就能联想起他的名字,或者听到他的名字就能想起他的长相,这种看似平常却又十分令人的着迷的工作方式启发了具有深厚物理学背景的John Hopfield,,使他在物理学与神经生物学之间建立了一个联系。他发现神经网络与统计物理学中磁性材料的伊辛模型有相似之处。这使得物理学中许多已存在的理论可用来对神经网络进行分析。

图2 John Hopfield与Hopfield网络结构

网络结构上,Hopfield神经网络是一种单层互相全连接的反馈型神经网络,与之前见到的神经网络不同,反馈神经网络中每个神经元既是输入也是输出,网络中的每一个神经元都将自己的输出通过连接权传送给所有其它神经元,包括自己本身,同时又都接收所有其它神经元传递过来的信息。网络中的神经元在t时刻的输出状态实际上与自己t-1时刻的输出状态有关。神经元之间互连接,所以得到的权重矩阵将是对称矩阵。Hopfield神经网络引入能量的概念,用于训练反馈网络中的权重参数。Hopfield认为当网络达到稳定状态的时候,也就是它的能量达到最小的时候。当Hopfield网络最终能够到达具有某个极小值的时,网络训练结束。

根据神经元输出的值的范围,Hopefield网络又分为离散型DHNN和连续型CHNN,前者主要用于联想记忆,因为每个离散型DHNN都有特定的稳定状态,就相当于该网络对这些状态具有了记忆。以T这个字母为例,如果T字上的黑色像素看做神经元,对应状态1,白色像素的神经元对应状态0,训练Hopefield网络主要是为保持状态不变,通过更新神经元之间的权值,使得定义的能量函数最小。训练完成后,网络便记忆了这个T的像素状态。当只有一半的T字图片,网络参数不变,通过不断修改神经元的状态,能量函数到达训练时的最低点时,神经元的状态最终便会变成完整的T字形。从一些相关的,不全的记忆,可以触发类似联想的过程,最终稳定到某个稳定状态,这非常类似人类的记忆和联想过程。

图3 联想记忆

CHNN则主要用于解决组合优化问题,此时关键是把问题映射为神经网络动力系统,并写出相应的能量函数表达式和动力学方程,以保证网络的稳态输出与能量函数的极小值和组合优化问题的解相对应。一个著名的组合优化问题是:旅行商问题TSP。该问题假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。1985年Hopfield和Tank用Hopfield网络求解N=30的TSP问题,将TSP映射到一神经网络上,通过网络的动力学方程自动演化到网络的平衡态,自动搜索到局部最优解。尽管Hopfield确实取得了一些成果,1987年贝尔实验室还在Hopfield神经网络的基础上成功研制出了神经网络芯片,这极大的鼓舞了许多物理学家和工程师开始注意对神经网络的研究。然而 Hopfield网络并未取得决定性的成功。幸运的是,它却成功吸引了一位英国人杰佛瑞·艾佛斯特·辛顿(Geoffrey Everest Hinton)的关注,而他将在神经网络崛起的过程中起到决定性的作用。

3 深度信任网络

Geoffrey Hinton出生于战后不久的英国,他的外高祖父是大名鼎鼎的逻辑学家乔治布尔George Boole,父亲是昆虫学家,舅舅是著名的经济学家。尽管有着非凡的科学家基因,但Hinton早期的求学生涯并不十分顺利。这主要是由于他在“教育上有点多动症”。他在剑桥大学过物理、化学,建筑学,生物学以及哲学。最后他选择研究人类意识的心理学,最终他于1970年获得剑桥大学实验心理学学士学位。接着他开始从事木匠的工作,做了一段时间的木门和书架。1973年,正是人工智能凛冬将至的时候,他却选择了在爱丁堡大学攻读人工智能博士,而且对神经网络一往情深,就算他的导师再怎么与他争吵也改变不了他的坚持。这个坚持直到40多年后,才得到了丰厚回报。

3.1 玻尔兹曼机

Hiton在Hopfield网络中加入概率因素,提出了玻尔兹曼机的网络模型,这个网络并不是确定的向能量函数减小的方向演化,而是以一个较大概率向这个方向演化,以保证正确的迭代方向,同时能量函数增大的概率也存在,以防止陷入局部极小值。BM机的结构介于DHNN全互连与BP网络的层次结构之间,形式上与单层反馈网络DHNN相似,权值对称,功能上BM机与三层BP网相似,具有输入节点、输出节点和隐节点,但是这三类节点并没有明显的层次。

图4 Hinton与玻尔兹曼机

BM是一种根植于统计力学的随机神经网络,这种网络中神经元只有两种状态(未激活、激活),用二进制0、1表示,状态的取值根据概率统计法则决定。当所有的神经元都不再更新的时候,网络达到了一个平稳状态,即Boltzmann Distribution,BM机采用的与DHNN网络相同的能量函数描述网络状态,对于BM机,随着网络状态的演变,从概率意义上网络的能量总是朝着减小的方向变化。这就意味着尽管网络能量的总趋势是朝着减小的方向演进,但不排除在有些神经元状态可能会按照小概率取值,从而使网络能量暂时增加。正是因为有了这种可能性,BM机才具有了从局部极小的低谷中跳出的“爬山”能力,这一点是BM机与DHNN网能量变化的根本区别。这种搜索机制保证了神经元的状态,即网络在运行过程中不断地搜索更低的能量极小值,直到达到能量的全局最小。这个思想类似于模拟退火的思想,模拟退火是一种寻找全局最优的近似方法,其名字来自冶金学的专有名词“退火”,即将材料加热后再以一定的速度退火冷却,可以减少晶格中的缺陷。固体中的内部粒子会停留在使内能有局部最小值的位置,加热时能量变大,粒子会变得无序并随机移动。退火冷却时速度较慢,使得粒子在每个温度都达到平衡态。最后在常温时,粒子以很大的概率达到内能比原先更低的位置。可以证明,模拟退火算法所得解依概率收敛到全局最优解。BM机与HNN一样,可以进行联想学习,此时它是通过学习用网络稳定状态的概率来模拟训练样本的出现概率。

玻尔兹曼机(BM)可以用在监督学习和无监督学习中。在监督学习中,可见变量又可以分为输入和输出变量,隐变量则隐式地描述了可见变量之间复杂的约束关系。在无监督学习中,隐变量可以看做是可见变量的内部特征表示,能够学习数据中复杂的规则。玻尔兹曼机代价是训练时间很长很长很长。

3.2 受限玻尔兹曼机

所谓“受限玻尔兹曼机”(RBM)就是对“玻尔兹曼机”(BM)进行简化,使玻尔兹曼机更容易更加简单使用,原本玻尔兹曼机的可见元和隐元之间是全连接的,而且隐元和隐元之间也是全连接的,这样就增加了计算量和计算难度。

“受限玻尔兹曼机”(RBM)同样具有一个可见层,一个隐层,但层内无连接,层与层之间全连接,节点变量仍然取值为0或1,是一个二分图。也就是将“玻尔兹曼机”(BM)的层内连接去掉,对连接进行限制,就变成了“受限玻尔兹曼机”(RBM),这样就使得计算量大大减小,使用起来也就方便了很多。

图5 受限玻尔兹曼机

可是RBM依然是挺复杂的,计算也还是挺花时间的。RBM的本质是非监督学习的利器,可以用于降维(隐层设置少一点)、学习提取特征(隐层输出就是特征)、自编码器(AutoEncoder)以及深度信念网络(多个RBM堆叠而成)等等。

3.3 深度置信网络

2006年,Hinton大神又又又出手了,提出了“深度信念网络”(DBN):

图6 深度信念网络

并给出了该模型一个高效的学习算法,这也成了深度学习算法的主要框架,在该算法中,一个DBN模型由若干个RBM堆叠而成,训练过程由低到高逐层进行训练,如下图所示:

图6 深度信念网络的训练

回想一下RBM,由可见层、隐层组成,显元用于接受输入,隐元用于提取特征,因此隐元也有个别名,叫特征检测器。也就是说,通过RBM训练之后,可以得到输入数据的特征。另外,RBM还通过学习将数据表示成概率模型,一旦模型通过无监督学习被训练或收敛到一个稳定的状态,它还可以被用于生成新数据。

正是由于RBM的以上特点,使得DBN逐层进行训练变得有效,通过隐层提取特征使后面层次的训练数据更加有代表性,通过可生成新数据能解决样本量不足的问题。逐层的训练过程如下:

(1)最底部RBM以原始输入数据进行训练 (2)将底部RBM抽取的特征作为顶部RBM的输入继续训练 (3)重复这个过程训练以尽可能多的RBM层

这个框架绕过直接从整体上对DBN高度复杂的训练,而是将DBN的训练简化为对多个RBM的训练,从而简化问题。而且通过这种方式训练后,可以再通过传统的全局学习算法(如BP算法)对网络进行微调,从而使模型收敛到局部最优点,通过这种方式可高效训练出一个深层网络出来,更加重要的是,不是只有RBM可以堆叠成一个深度网络,其它类型的网络也可以使用相同的方法来生成网络。尽管DBN是作为深度学习崛起的代表作品,但当时并未引起太多关注,2006年左右的时候,贝叶斯模型的研究才是整个机器学习界研究的主流。Hinton的成功,必须等待另一件事情的完成。

3.3 从WordNet到ImageNet

在 20 世纪 80 年代后期,普林斯顿心理学家乔治·米勒(George Miller)创建了一个名为 WordNet 的项目,旨在建立一个英语层级结构。WordNet 像字典一样,但其中单词会被显示为与其他单词相关的形式,而不是依照字母顺序排列。例如在 WordNet 中,“狗”这个词将被嵌套在“犬”这个类别下,而“犬”又被嵌套在“哺乳动物”下,以此类推。同样是2006年,在伊利诺伊大学香槟分校(UIUC)任教的年轻教师李飞飞正在思考如何解决过拟合和泛化。她发现问题的核心不是算法而是数据,因此开始虚招如何构建数据集对世界进行真实表示的文献。李飞飞见到了普林斯顿大学维持WordNet 项目的 Christiane Fellbaum教授,这次会见后,李飞飞产生了一个更宏大的想法——一个大规模的数据集,每个单词都有很多张图像例子。然而,建立这个数据库并非易事,以本科生收集图像的速度,项目需要 90 年才能完成。学生向她推荐了亚马逊劳务众包平台“Amazon Mechanical Turk” ,群众的力量才是伟大的。而这个Turk项目只是在一年前才刚刚上线。李飞飞的团队最终为众包工人的行为创建了一批统计模型,帮助确保数据集只包含正确的图像。经过两年的的辛苦收集,2009 年,李飞飞和她的团队发表了 ImageNet 数据集的论文,却基本没有引发什么反响。为了尽快推广,李飞飞联系了欧洲知名图像识别大赛 PASCAL VOC,宣传ImageNet,当时大赛 PASCAL 数据集只有 20 个类别,而 ImageNet 则有1000类。

图7 李飞飞与ImageNet

随着 ImageNet 在 2011 年和 2012 年连续举办,它很快成为图像分类算法在处理当时最复杂视觉数据集时的基准。在第一次 ImageNet 竞赛的两年后,2012 年,发生了一件更大的事情。事实上,如果我们今天看到的人工智能繁荣可以归功于2012 年 ImageNet 竞赛结果的公布。多伦多大学的 Geoffrey Hinton,Ilya Sutskever 和 Alex Krizhevsky 提交了一个名为 AlexNet 的深度卷积神经网络架构——至今仍在研究中使用——实现了准确率 10.8% 的大幅提升,高出第二名 41%。对于 Hinton 和他的两个学生来说,ImageNet 的出现恰逢其时。2012年的比赛让Hinton和深度学习从此名扬天下,现在ImageNet 数据集——经过多年来更新,现在已经超过 1300 万张图片,并将会继续增加。除了数据以外,GPU也功不可没,硬件性能的提升,才使得之前不敢想象的模型的训练得以成功。

今天,混AI圈的人很少有人没听过Geoff Hinton。他现在是谷歌大脑研究小组的负责人,多伦多大学的荣誉教授。尽管已经成为了深度学习的领袖人物,Hinton的脚步却从没有停歇。2017年10月26日,Hinton发表了一篇在AI圈掀起轩然大波的论文——Capsule Networks(胶囊网络)。 他从神经科学中借用了一些想法,即认为大脑被组织成了叫做胶囊的模块。这些胶囊特别擅长处理物体的姿态(位置、大小、方向)、变形、速度、反照率、色调、纹理等特征。而传统的CNN对目标的朝向和空间上的相对关系是不能处理的,它只在乎有没有特征。例如同一个物体,尽管拍摄的角度不同,但我们大脑可以轻易的辨识不同角度的对象本质上都是同一对象,而CNN却没有这样的能力。它不能举一反三,除非扩大训练的数据量才能得到相似的能力。CapsNet和其他模型相比表现就要好很多。据说,最新的论文降低了45%的错误率,这是压倒性的优势。

4 卷积神经网络

1980年,一位法国的大学生Yann LeCun通过《Perceptron》接触到了神经元模型,这种看起来具有智慧的机器让他十分着迷,可是他发现关于神经网络的资料简直少的可怜,实际上,就像我们前面所提到的那样,在60年代已经出现的一个关于多层神经网络如何训练这个重要问题,几乎没多少人研究,更别说解决问题了。那个时候,大多数关于神经网络的研究成果都是日本人做出来的,因为西方人已经几乎抛弃了这个领域了。在法国,由于Hopfield的振奋人心的作用,依然有一些人坚守这神经网路的研究阵地,Yann LeCun通过这些人的推荐,看到了Geoffrey Hinton 和 Terrence Sejnowski关于玻尔兹曼机的研究论文,这让他们的相遇几乎成为必然。

在一次学术会议上,Yann LeCun结实了Terrence, Terrence立即告诉Hinton,一个法国的小孩也在做与他们几乎相同的研究。他们都意识到了求导(梯度)中链式规则的重要性,着手研究反向传播。也可以说,这几组人几乎同时各自独立地发现了反向传播算法。没过多久,Yann LeCun见到了Hinton,之后来到多伦多大学跟随Hinton做博士后研究工作,从那时起,他就已经开始着手现在称之为卷积神经网络的研究。1988年,同样是在那次会议上结识的在ATT工作的研究人员将Yann LeCun招入ATT的贝尔实验室。3年后,支持向量机和统计学习理论的大牛Vapnic也来到AT&T。那时贝尔实验室财大气粗,专门给Yann LeCun购买了高性能的电脑Sun 4。三个月后,在这崭新的电脑上,诞生了第一代LeNet开始字母识别的工作。尽管LeNet非常成功,并在ATM取款机上部署了支票识别。但贝尔实验室研究的基因太过深厚,并没有将这个应用推广到更多的领域。1994年,在Yann LeCun与另一位深度学习元老级人物Yoshua Bengio 在《Gradient-based learning applied to document recognition》中,提出了用反向传播算法训练的多层网络LeNet5,它应该是最著名的卷积神经网络了。可没过多久,AT&T 被拆分成了三个公司,AT&T、朗讯和 NCR,贝尔实验室隶属朗讯,握有LeNet专利的却是ATM取款机制造商NCR。作为新的实验室主管,Yann LeCun并没有坚持在利用神经网络网络继续在字符识别方面进行研究,而是主导开发了一个DjVu项目,相信很多的读者都在百度搜索过“DjVu用什么软件打开”,DjVu是一项将纸质文档扫描成数字格式的技术,这项技术是将扫描的页面的文字和背景图像分开处理,用高分辨率来还原文字,用较低的分辨率来压缩背景图片。300dpi分辨率扫描的彩色页面可以从25MB缩小到30KB至80KB,而且图像质量十分优秀。尽管从技术上讲DJVU几乎是完美的阅读文件格式,但是在推广能力方面,朗讯与设计了PDF的Adobe公司的面前几乎不值得一提。

LeNet5作为最早的卷积神经网络之一, 推动了深度学习领域的发展。在那时候,没有GPU帮助训练模型,甚至CPU的速度也很慢,因此,LeNet5通过巧妙的设计,利用卷积、参数共享、池化等操作提取特征,避免了大量的计算成本,最后再使用全连接神经网络进行分类识别,这个网络也是最近大量神经网络架构的起点,给这个领域带来了许多灵感。

局部感知(卷积) 人类对外界的认知一般是从局部到全局、从片面到全面,类似的,在机器识别图像时也没有必要把整张图像按像素全部都连接到神经网络中,在图像中也是局部周边的像素联系比较紧密,而距离较远的像素则相关性较弱,因此可以采用局部连接的模式:局部感受野(将图像分块连接,这样能大大减少模型的参数),如下图所示:

图8 局部感受野

权值共享 每张自然图像(人物、山水、建筑等)都有其固有特性,也就是说,图像其中一部分的统计特性与其它部分是接近的。这也意味着这一部分学习的特征也能用在另一部分上,能使用同样的学习特征。因此,在局部连接中隐藏层的每一个神经元连接的局部图像的权值参数(例如3×3),将这些权值参数共享给其它剩下的神经元使用,那么此时不管隐藏层有多少个神经元,需要训练的参数就是这个局部图像的权限参数(例如3×3),也就是卷积核的大小,这样大大减少了训练参数。如下图所示:

图9 权值共享

池化随着模型网络不断加深,卷积核越来越多,要训练的参数还是很多,而且直接拿卷积核提取的特征直接训练也容易出现过拟合的现象。为了有效地减少计算量,CNN使用的另一个有效的工具被称为“池化(Pooling)”。池化是一种简单粗暴的翻译,实际上就是将输入图像进行缩小(下采样subsampling),减少像素信息,只保留重要信息。通常情况下,池化区域是2*2大小,然后按一定规则转换成相应的值,例如取这个池化区域内的最大值(max-pooling)如下图所示。平均值(mean-pooling)等,以这个值作为结果的像素值。

图10 池化

基于以上基本模块,LeNet5的网络结构就显得容易理解了,如下图所示:

图11 Yann Lecun与络LeNet5

LeNet5由7层CNN(不包含输入层)组成,上图中输入的原始图像大小是32×32像素,卷积层用Ci表示,子采样层(pooling,池化)用Si表示,全连接层用Fi表示.近几年来,卷积神经网络(Convolutional Neural Networks,简称CNN)在图像识别中取得了非常成功的应用,成为深度学习的一大亮点。CNN发展至今,已经有很多变种,其中有几个经典模型在CNN发展历程中有着里程碑的意义,它们分别是:Alexnet、Googlenet、VGG、DRL等,这些卷积网络的都曾在ImageNet竞赛中获得过好成绩。

与他的导师Hinton一样,Lecun目前也进入了产业界,作为(纽约)大学教授以及Facebook 的首席人工智能科学家,他现在致力于联合学术界与产业界共同完成一些更实际的项目。

5 循环神经网络

循环神经网络也被称为时间递归神经网络(Recurrent neural network)在前面讨论的卷积神经网络,无法利用历史数据的时间依赖关系,来分析数据特征,对于二维图像来讲,我们已经知道局部感受视野这种空间信息是识别问题的核心,在另外一些与时间相关的问题中,输入的数据是基于时间的序列,卷积网络就无能为力了。这时候,核心问题是需要了解数据的时间序列关系,实际上,RNN最早是由Hopfiled网络启发变种而来,因此有些类似Hopfiled的联想记忆功能,例如,如果我们试图预测一下“天空飞过一只__”这句话最后一个词是什么?利用前面输入的一连串的历史信息:“天 空 飞 过 一 只”,我们就能大致猜出最后一个词可能是某种具有飞行功能的事物,历史(时间信息)对于我们推测未来,是极有帮助的,不可轻易抛弃。而RNN的核心诉求之一,就是能将以往的信息连接到当前任务之中。RNN模型有比较多的变种,一种主流的RNN模型结构如下,右图是简化的表达形式

图12 RNN时间展开 RNN简化模型

1)x(t)代表在序列索引号t时训练样本的输入。同样的,x(t−1)和x(t 1)代表在序列索引号t−1和t 1时训练样本的输入。

2)h(t)代表在序列索引号t时模型的隐藏状态。h(t)h(t)由x(t)和h(t−1)共同决定。

3)o(t)代表在序列索引号t时模型的输出。o(t)只由模型当前的隐藏状态h(t)决定。

4)L(t)代表在序列索引号t时模型的损失函数。

5)y(t)代表在序列索引号t时训练样本序列的真实输出。

6)U,W,V这三个矩阵是RNN网络模型的参数,并且时间t上是共享的,这体现了RNN的模型的“循环反馈”的思想。

为了估计RNN网络参数,依然可以采用反向传播方法,即通过梯度下降法一轮轮的迭代来解决这个问题。但是RNN是基于时间反向传播,所以RNN的反向传播有时也叫做BPTT(back-propagation through time)。但是这个反向传播的效果实在不好,传播过程中的梯度很容易消散(爆炸),导致训练终止。研究人员对于序列索引位置t的隐藏结构做了改进,可以说通过一些技巧让隐藏结构复杂了起来,来避免梯度消失(爆炸)的问题,因此能够处理更长的序列数据。这个特殊RNN就是长短记忆模型Long Short-Term Memory (LSTM),如下图所示:

图13 LSTM

这个结构的具体细节比较复杂,但是在Colah的博客中,进行了非常深入浅出的描述。在LSTM中,通过门控状态来控制传输状态,记住需要长时间记忆的,忘记不重要的信息;而不像普通的RNN那样仅有一种记忆叠加方式。对很多需要“长期记忆”的任务来说,尤其好用。但也因为引入了很多内容,导致参数变多,也使得训练难度加大了很多。

RNN网络成功离不开一位重要人物Yoshua Bengio,在2003年发表的一篇论文中,Yoshua Bengio第一次提出用神经网络结构来建立自然语言模型,这一思路和方法广泛地影响了后人用神经网络做自然语言处理的研究。这一网络结构也被迅速引入自然语言处理的应用实践中并取得了良好的成效。同样是法国人,Yoshua Bengio比Yann Lecun 小几岁,Yann Lecun比较随性而Yoshua Bengio则非常自律的、井井有条。他12岁就从法国来到加拿大,在上大学时主修的计算机工程,当他偶然看到Hinton的论文时,这改变了他一生的轨迹,Bengio找到了他在接下来的30多年中始终钟情的研究方向:神经网络。博士毕业后,Bengio也来到ATT的贝尔实验室工作,当时他的组长就是Lecun,那篇关于卷积神经网络的经典文章bengio是三作。我想他当时怎么也想不到30多年后,能够与Hinton和Lecun共同分享2019年的图灵奖。Bengio的更像一位孤独的战士,从不随波逐流,在人工智能冬天多年来,在机器学习会议上,神经网络都不受欢迎,而Bengio坚持与他的神经网络为伍。如今,在产业界主推深度学习的大形势下, 在人工智能的研究大牛纷纷加入顶级科技公司的时候,Yoshua Bengio依然显得特立独行,始终没有离开他位于蒙特利尔大学校园中的三楼办公室,尽管他现在是微软的顾问,但他依然是全职的教授。科研和教学工作对他来说才是根本。长期的教学科研使得他形成了自己的一些观点,例如“不要将每个学生束缚在他们自己的项目中,而要让他们灵活合作。学生们与教授也不是一对一的关系,应该将整个实验室的人组成一个大的网络。” “新教师就应该主动伸出手去建立联系,老教师们通常都很乐意帮忙,只是他们不会主动。”

Hinton提出深度学习概念激活了整个领域、LeCun发表了卷积神经网络(CNN)这样的阶段性突破成果的前提下,从资历上看,Bengio资历浅,但Bengio涉猎广泛,很难简单概括他做了什么,特别是他对自然语音处理难题的贡献是非常有意义的。正是由于他们三个人的坚持才有了现在的神经网络复兴。

图14 Bengio

7 结语

深度学习的崛起并非偶然,最重要的一点是在很多领域效果出奇的好,尽管面临着难以解释的风险,但是我们在这个过程中看到了坚持的重要性, 看到了时势造英雄的历史必然,尽管三位图灵奖获得者在深度学习发展的历程中,绝大多数时间是孤独的,但最后他们却拥有最多的粉丝。然而深度学习的成功也让很多其他领域的研究者摒弃的自己的研究路线,这不得不说是一件讽刺的事。但是深度学习的效果之好,让我们很难拒绝,好在现在深度学习这个领域想要在一定程度上参与进来是很简单的一件事。我们现在有很多简单好用的软件工具,加一个稍微好点的电脑就能运行得起来,我们可以训练一个卷积网络或者循环神经网络做任何想做的事情。关于深度学习的教学资源更多,没有什么门槛,高中生都能开始着手搭建自己的深度模型。我相信深度学习普及化最终会产生一个奇妙的结果,让人工智能从量变到质变的飞跃,尽管现在看来,还有很长的路要走。

参考文献

[1]机器学习是如何借鉴物理学思想的?从伊辛模型谈起https://baijiahao.baidu.com/s?id=1594715385620991258&wfr=spider&for=pc

[2] Hinton传奇:你我都是机器人 http://www.sohu.com/a/220848311_473283

[3]吴恩达对话Yann LeCun:从相识Hinton到深度学习崛起 https://baijiahao.baidu.com/s?id=1597004877298782608&wfr=spider&for=pc

[4]Understanding LSTM Networks http://colah.github.io/posts/2015-08-Understanding-LSTMs/

[5]Yoshua Bengio:纯粹与理想,深度学习的30年http://www.sohu.com/a/260312555_133098

[6]Yoshua Bengio:孤军奋战的AI学者和他的乌托邦情怀 http://baijiahao.baidu.com/s?id=1604342752064485824&wfr=spider&for=pc

[7]李飞飞深情回顾ImageNet 8年:改变AI和世界的数据 http://www.sohu.com/a/160215515_473283

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

[9]Hinton G E . Boltzmann machine[J]. Encyclopedia of Machine Learning, 2007, 2(5):119-129.

[10]Hinton G E . A Practical Guide to Training Restricted Boltzmann Machines[J]. 2012.

[11]Hinton G E. Deep belief networks[J]. Scholarpedia, 2009, 4(6):5947.

0 人点赞