了解RNN和对RNN感兴趣之间的threshold大概是关注assocative memory和longshort term memory (LSTM) 的结构开始,这次笔记主要整理18日的课程内容,最后汇总下我觉得Bengio的新书关于这部分比较有意思的点。当然,这里所说的RNN是recurrent neural networks,而不是recursive,当然,这两类RNN在训练算法上有相通的地方。


I. RNN的发展历程

1982年,J.Hopfield提出了Hopfield networks,这个网络的结构如图1所示。从这个结构中,我们可以看出,Hopfield 网络其实是一个单层的循环网络。事实上,这个网络还要求每个节点的取值只有两个:0和1(或:+1和-1,这两组取值之间可以互相转换)。

集智

图1:Hopfield网络的基本结构,可以看出来,是一个单层的循环神经网络。


基于Hopfield的训练算法最出名的就是Hebb学习规则,简单说,就是:从神经元i到神经元j的突触权值定义为:

集智
这里,ξµ(µ = 1,··· ,M)是M个基本记忆。当然,由于Hopfield网络中没有自连接,因 此要求wii = 0,所以,也经常写成:

集智
这里,I是一个单位矩阵。事实上,还有一个学习规则交Storkey learning rule,这个规则和Hebb相比的特点是有可以存储更大的容量(capacity),突触权值的学习表达式是:

集智
其中,

集智

而后,很多文献还指出,Hopfield 网络可以纠错和按内容寻址,而Hebb规则和Storkey规则都是在存储阶段的算法。


1986年和1990年,Michael Jordan和Jeffery Elman分别提出了Jordan Network和ElmanNetwork,它们的结构如下图所示。

集智

图2:Jordan网络和Elman网络结构。


当然,这两个网络都不是现在人们用的RNN,但是,从结构上看已经很相似了,例如,Jordan 网络少了不同时刻的hidden layer的循环部分,但是多了feedback。


在训练算法上,1990年P. Werbos提出了Back Propagation Through Time (BPTT),这个算法的本质其实和back propagation很像,就是加上了关于时间的演化。而backpropgation的基本思想是基于gradient descent的。

集智

图3:Back Propagation Through Time模型。


紧接着,long-short term memory (lstm)和bidirectional RNN (brnn)均被提出,相应的结构如下图所示。从左图可以看出,之所以lstm可以用在associative memory上,主要是因为本身就有一个储存memory的结构。我认为lstm的结构上最巧妙的部分是有一个forget gate。

集智

图4:LSTM和BRNN结构。


单独看lstm的结构好像蛮复杂,但是通过下面的公式,就会觉得其实流程很清晰(PS:我一开始就是通过公式自己反推结构,发现,其实结构也很简单。。单独看NLP集智课程笔记图,总觉得怪怪的。):

集智

这里,⊙表示向量之间的点乘,xt是在时刻t的输入向量,W和R分别是不同层 之间feedback过程和recurrent的连接矩阵,p是peephole的权重,σ、g和h都是激活函数。其实在lstm的这个原始结构的基础上,不同的结构都有不同的作用,这个问题说的最清楚的一篇论文是2015 年3 月放到arxiv上的“LSTM: A Search SpaceOdyssey”,这篇文章最重要的部分就是通过实验给出了如果删掉lstm中的某部分结构会出现什么情况。


而后,2014年Neural turing machine (NTM)和Gated Recurrent Unit (GRU)均被提出,其结构如图5所示。这两个结构目前在machine translation, sequence to sequence等方面都有应用。

集智

图5:NTM和GRU的结构。


II RNN的结构及训练

集智

图6:rnn的结构。


rnn的结构如图6所示。其实,rnn也可以看成一个feedback模型,不过rnn的结构里面加上了在隐藏层的循环结构而已。从它对应的公式中也能看出这一点:

集智

这里,xt、yt和ht分别是t时刻的输入、输出和隐藏层的值。rnn的结构图也可以画成下面的样子:

集智

图7:rnn的结构。


根据图7,我们可以给出下面的updated rules,当然是基于BPTT算法的:

集智
那么,BPTT算法会出现的问题是什么呢?比较传统的两个问题就是梯度消失(vanishing gradient)和梯度爆炸(exploding gradient)。从公式中我们也可以看出端倪:

集智
如果t − k比较大,当∥Whh∥ < 1或∥f′∥ < 1时,会发生梯度消失,这时gradient descent(在这里可以理解成BPTT)肯定就进行不下去了,在很多地方(包括memory networks中)也将这个情况理解为长期记忆衰减为短期记忆,从表达式中也可以看出:

集智

而当∥Whh∥ > 1 或∥f′∥ > 1 时,将发生梯度爆炸,这就意味着训练不收敛。 


解决梯度消失和爆炸的方法有很多,例如,在处理梯度消失问题时,我们可以采用identity function和从统计物理角度出发的重整化群(regularization group),这里值得一提的是,现在也有人用重整化群来处理overfitting,其本质是用更加非线性的函数来代替之前的active function,效果也不错。当然,也可以用LSTM中的门函数来预防梯度消失。而人们常用gradients clipping和在目标函数中加上权值矩阵的L1或者L2regularization来防止梯度爆炸。关于L2 regression,值得一提的是有人也称之为ridgeregression或者weight decay。


III. RNN在NLP中的应用

由于RNN的结构特征,它自然可以处理变长、时序序列,例如,下图就是从结构的角度解释了如何将RNN应用到自然语言生成模型和文本标注(词性标注和句法分析等)中。

集智

图8:NTM和GRU的结构。


IV. Bengio的书中关于RNN值得注意的tips

在第10章sequence modeling的第2节,是重点介绍RNN的一节。作者给出了这样的一个模型:

集智

图9:rnn的feedback结构。


与普通的RNN不同的是,在output和hidden layer之间有一个feedback循环(可能这个模型的构造参考了Jordan网络)。但是由于feedback的作用,导致这样构造的rnn不如传统的rnn更powerful,因为传统的rnn可以选择任何初值传入到hidden layer,然后再由hidden layer传出去,但是如图9构造的rnn是希望可以得到specified output。但是,一旦output是一个很高很高维度的,也许这个模型会比传统的rnn更有用。


另一个很有意思的结构叫做“time-unfolded rnn”,其结构如图10所示。

集智

图10:Time-unfolded rnn。


这类rnn的特点是:在sequence的最后只有一个output。这样的结构可以用在总结(summarize a sequence)和产生固定大小的表达(fixed-size representation)。


RNN除了可以只有一个output,其实也可以只有一个input,如图11所示。

集智

图11:RNN that maps a fixed-length vector x into a distribution over sequence Y。


这这个模型中,只需要通过rnn这样的一个结构将一个固定长度(fixed-length)的向量x表示成一个sequence,例如,用在image captioning,也就是说,一个单独的image作为输入,要产生一个连续的句子来描述这个image。


最后一个很有意思的结构部,是如图12所示的,过去的output会对现在有影响的rnn结构,这类rnn被称为conditional rnn。

集智

图12:A conditional recurrent neural network mapping a variable-length sequence of x into adistribution over sequences of y of the same length。


从结构中就可以看出,上一时刻的output是如何影响的这一时刻。值得一提的是,所有的这些RNN的训练算法都可以在BPTT中找到依据。


作者介绍:

甄慧玲,中国科学院理论物理所第二实验室博士后,应用数学博士,统计物理博士后。研究兴趣:深度学习,尤其是记忆网络(包括LSTM, question answering, neural turing machine, attention)和机器翻译的统计物理机制。目前正在研究的内容与RBM及其各种varients有关。


集智

让苹果砸得更猛烈些吧!!!



集智著作:《走近2050:注意力、互联网与人工智能》

集智


集智
集智识别二维码购买~


随着人工智能程序AlphaGo以4:1的大比分战胜人类围棋世界冠军李世石,机器将征服人类的担忧正在甚嚣尘上。《走近2050:注意力、互联网与人工智能》则为我们描绘了一幅人机和谐共生、协同演化的全新场景。在看得见的未来,人类将越来越多地沉浸于五花八门的虚拟世界以获取各式体验,与此同时,我们将心甘情愿地将自己的注意力源源不断地输入给机器世界以促使它们进化。

本书从注意力的角度解读了包括互联网、人工智能、众包、人类计算、计算机游戏、虚拟现实在内的技术领域及其对社会生活的影响,还创造性地提出了一系列全新的概念:占意理论、图灵机-参与者模型、“游戏+”时代、意本家、自动游戏设计、自动化创业、占意通货、许愿树,等等。所有这些将为我们理解技术与人类的关系、透视人类社会的未来发展和走向提供深刻的洞察。


集智


集智

集智

长按识别二维码,关注集智Club微信,

让我们离科学探索更近一步。

始发于微信公众号: 集智俱乐部