您的位置:首页 > 理论基础 > 计算机网络

早期递归神经网络初探

2016-12-07 12:10 302 查看

博客初衷

现在我们常用递归神经网络如普通RNN,LSTM和GRU来处理时序的数据,所以本人以前一直将递归神经网络理解成诞生伊始就是用来处理时序数据的,然而一翻开wikipedia上RNN的介绍,发现自己的理解还是过于简单了。维基百科对于RNN的定义如下:

A recurrent neural network (RNN) is a class of artificial neural network where connections between units form a directed cycle.

对应的中文定义如下

递归神经网络(RNN)是两种人工神经网络的总称。一种是时间递归神经网络,另一种是结构递归神经网络。时间递归神经网络的神经元间连接构成有向图,而结构递归神经网络利用相似的神经网络结构递归构造更为复杂的深度网络。

看来只要隐层神经元连接构成有向图,就可被称为递归神经网络,而自己一直理解的RNN只是时间递归网络而已,对这一概念的理解是有偏差的。由于本人对历史也比较感兴趣,这激发我去查阅从八九十年代开始RNN发展的历史,看看这一概念在历史上是怎么演变的,惊讶的发现,我们今天理所当然理解的处理时间序列数据的RNN结构(图1),似乎在1995年到2000年间才出现,而早期的递归神经网络于今天火热的RNN似乎并不完全相同。



图1 2000年RNN结构

这使得我对于早期研究者们对RNN的研究以及他们提出递归神经网络的初衷产生了兴趣。

Hopfield network

Hopfield网络是 John Hopfield于1982年提出的一种递归神经网络 link,这篇文章已经被引用了16596次,可见当年有多少火热,这篇文章对我来说比较有意思的一点是Hopfield教授对记忆和物理系统不停变化中的稳定部分之间的联系的描述:

There are classes of physical systems whose spontaneous behavior can be used as a form of general (and error-correcting) content-addressable memory. ……but the systems of use for memory particularly include those that flow toward locally stable points from anywhere within regions around those points.

简单的来说就是一个动态系统虽然不断地变化,但是其变化还是有一定的稳定性,这可以看出系统的一种联想记忆。(简单看一下Hopfield教授的简历,可以发现其是物理的学士和博士,而教授生涯却一直在生物学领域,大概是学科交叉下产生了这样的思想吧),进而其由这种insight提出了一种神经网络结构(图2)。



图2 4神经元Hopfield网络

Hopfield网络的结构和之前的感知器最大的不同在于,其

Perceptrons were modeled chiefly with neural connections in a “forward” direction. The analysis of networks with strong backward coupling.

当然在那样一个年代(三十余年前),网络结构还是比较简单,神经元的状态V也只有0,1两种选择。

Vi=0Vi=1if∑j≠iTijVj<Ui>Ui

其中,V是神经元的状态,T为神经元之间的连接强度,U是神经元的阈值属性。Hopfield进而提出了Hopfield神经网络的能量函数:

E=−12∑∑i≠jTijViVj

虽然提出了网络结构的能量函数,但与今天的RBM作为深度神经网络预训练不同,当时似乎对“训练”神经网络不感兴趣,他的兴趣在于随着最小化能量函数网络状态V的变化,而Hopfield网络的“训练过程”实际就是在能量地形上寻找能量最小值的过程(图3),而对能量赋的初值可被看做提供记忆的线索,能量最小值时的状态则是需要回忆的主题。有意思的是,最小化能量过程状态的变化确实是和人根据线索进行记忆具有很多相似情况,比如如果初值较好(线索很好),网络会快速的掉入能量最小值(局部)(记起了事情);有些线索会造成记忆状态在几个状态之间震荡(我们经常会有的记忆现象);混沌现象,记忆掉入到一个区域之中。



图3 能量地形上的记忆link

总结,虽然Hopfield网络和三十年后在各处大放异彩的深度学习网络结构相比显得很简单,但是其提出了神经网络和记忆之间的联系,相信对今天效果最好的LSTM(长短时记忆)递归神经网络这样类型的方法有巨大的影响。

能量函数的方法对RBM等方法有巨大的影响,而利用RBM对深度神经网络预训练的方法首次成功训练了具有深层结构的全连接神经网络。

Hopfield教授本是物理专业出身,又作为分子生物学教授,学科的交叉对于研究非常重要,而神经网络本身亦是对人类对神经结构这一动态系统的模仿而产生的计算方法,对于物理生物等基础学科的知识对做其它领域的研究是非常重要的(看来自己也需要多对基础学科领域的研究和发展加深了解)。

附加,对于什么是学习的理解,苏格拉底有一个思想,学习的本质是认识自己,也可以说实现自己的潜能,而人类的大脑拥有1014的神经突触,我们的生命只有109秒,就人类大脑而言参数远远多于我们可感受的实存,而人生的学习也可看做在有限实存的线索引导下,实现我们自有参数巨大潜能的一个过程。

JORDAN和ELMAN的工作

如前所述,递归神经网络诞生伊始,并非理所当然的被运用于时序数据,而递归神经网络在什么时候才开始如今日般用于建模时序数据呢?这一想法的动机是什么呢?根据本人之考证,这始于MICHAEL I. JORDAN于1986年对于有序行为“Serial Order”的研究link

人类即使最为粗略的计划也都是由一系列时间上缜密有序的行为所组成的,而且这些行为比如语言,很多都是从经验中学习所得的。正是观察到人类智能行为的这些基本点(特定的计划对应有序的动作,可从大量经验中学习),JORDAN提出了使用递归神经网络建模顺序动作。

假设xn为n时间的行为,sn为n时间的状态,p为计划向量,则根据自动机理论,则有序行为可用输出函数f和状态函数g建模,xn=f(sn,p),sn+1=g(sn,p)(与现在的普通递归神经网络已经非常相似)。JORDAN采用这一建模方式避免了计划和行为直接接触,两者是通过暂态状态s互相影响,这样计划p可作为神经网络的输入来进行学习,而非一组必须严格遵行的僵硬动作。



图4:JORDAN NETWORK

基于自动机的有序行为模型,JORDAN提出了如图4所示的递归神经网络模型,而学习过程则采用了当时还叫做“error correction”(即BP反向传播)的方法来进行学习。可见今日流行的递归神经网络在1986年终见雏形。

受到JORDAN工作的启发,ELMAN于1990年提出了一种更加简单的递归神经网络,并将其用于自然语言处理之中,其文章有一个霸气的名字“Finding Structure in Time”link,这篇文章据说在认知学和语言学领域是一件开天辟地的大事,因为其将语言的产生完全看做一种从词句序列中学习的过程,而完全不考虑语言中有所谓的先验知识(音素),其神经网络如下图所示:



图5 ELMAN NET

与Jordan的工作不同,Elman简化了神经网络的结构,Jordan神经网络的中状态部分被看做了记忆单元,且不与输出相连接,ELMAN用这样一种网络结构发现了一些有意思的语言想象。

其中很有意思的一点是ELMAN用神经网络的输出误差来分析何为词,人是怎么区分词这一单元的,就比如didn’t,这里面有两个词,人类是怎么知道did和not之间的边间是在什么位置的,Elman将5000个词作为序列输入,并在分析这一神经网络的误差时发现神经网络倾向于在预测每个词的第一个单词时有较高误差,之后预测误差越来越低,直到预测一个新词首个单词的误差时突然升高(如图6所示)。此外Elman还用这一神经网络得到了词语的分类结果,到今天为止,递归神经网络仍然在自然语言处理领域取得的成果最为丰硕,可以说这一切很多都是Elman的工作为基础的。



图6:词语预测的误差分布

一些总结,今天流行的递归神经网络的雏形产生于Jordan和Elman等研究者对人类行为,尤其是语言这一时间上有序的行为的洞察,其的提出本就是对有序行为的模仿。

现在某一些领域流行的观点普遍将神经网络看做一种黑箱计算模型,把其看做是一种对真实输入输出关系的拟合,而非一种体现事物本真的模型。而早年Elman和Jordan等研究者似乎并没有这种意识,他们似乎认为神经网络这一模型本身就能很好建模语言等有序行为,且很能体现行为中学习这一重要要素。

现在对神经网络的批判集中在其难以提供知识,然而早年的研究本身就是用神经网络来发现像语言这样复杂的系统中人类难以通过传统手段发现的知识的,而如Elman所言,从神经网络中发现知识与传统方法可能不尽相同,仍需探索。

One would like to know …….? It is a problem, of course, that the networks studied here are high-dimensional systems, and consequently difficult to study using traditional techniques.

关于早期的递归神经网络,暂时写到这里,之后在陆续写其它相关RNN的工作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  神经网络 递归