你的位置:首页 > 软件开发 > 数据库 > 理解LSTM一种递归神经网络(RNN)

理解LSTM一种递归神经网络(RNN)

发布时间:2016-09-26 10:00:06
1 递归神经网络结构一个简单的传统神经网络结构如下图所示:给他一些输入x0,x1,x2 … xt, 经过神经元作用之后得到一些对应的输出h0,h1,h2 … ht。每次的训练,神经元和神经元之间不需要传递任何信息。递归神经网络和传统神经 ...

理解LSTM一种递归神经网络(RNN)

1 递归神经网络结构

一个简单的传统神经网络结构如下图所示:

理解LSTM一种递归神经网络(RNN)

给他一些输入x0,x1,x2 … xt, 经过神经元作用之后得到一些对应的输出h0,h1,h2 … ht。每次的训练,神经元和神经元之间不需要传递任何信息。

递归神经网络和传统神经网络不同的一个点在于,每次的训练,神经元和神经元之间需要传递一些信息。本次的训练,神经元需要使用上一次神经元作用之后的状态信息。类似递归函数一样。

理解LSTM一种递归神经网络(RNN)

3 传统RNN的瓶颈

如果我们尝试预测这句话 “云飘在天空”里的最后一个词,我们只需要参考之前的几个词,就可以很容易的得出结果是“天空“,

理解LSTM一种递归神经网络(RNN)

但是有些时候,我们需要之前的更多内容才可以得出结果。假设我们想要预测这句话 ”我家小狗从小接受握手训练,所以现在会和人握手”里的最后一个词,最近的几个词只能帮助我们限制最后一词的范围,如果想进一步缩小这个范围,就需要更多之前的内容。当需要的之前内容越来越多时, RNN恐怕很难处理了。

理解LSTM一种递归神经网络(RNN)

4 LSTM网络

LSTM是一种特殊的RNN, 用来解决长期依赖问题。和传统的RNN一样,网络结构是重复的,每次的训练,神经元和神经元之间需要传递一些信息。传统的RNN,每个重复的模块里都有一个简单tanh层。

理解LSTM一种递归神经网络(RNN)

LSTM拥有同样的结构,唯一不同的地方在于每个模块里面的结构不同,它里面有4个网络层,以一种特殊方式的相互作用。

理解LSTM一种递归神经网络(RNN)

理解LSTM一种递归神经网络(RNN)

5 具体怎样相互作用

状态单元(cell state) 可以长期保存某些状态,cell state的值通过忘记门层(forget gate),输入门层(input gate layer), 更新门层来控制实现保留多少旧状态,更新多少新的状态。

理解LSTM一种递归神经网络(RNN)

上图中Ct-1就是上一次神经元传递过来的状态信息,Ct就是经过本次神经元作用之后更新的状态信息,然后继续往后传递。

6 忘记门层(fortget gate layer),输入门层(input gate layer)

首先fortget gate layer使用Ht-1和Xt的值, 经过sigmoid函数作用之后,值Ft落在0~1之间,用来控制需要忘记多少Ct-1里的内容,0到1之间的值相当于一个百分比。

理解LSTM一种递归神经网络(RNN)

接着input gate layer同样使用Ht-1和Xt的值,经过sigmoid函数作用之后,值It落在0~1之间,然后经过tanh函数作用之后,值理解LSTM一种递归神经网络(RNN)落在-1~1之间,-1到1之间的值相当于是减少多少或者增加多少信息。

理解LSTM一种递归神经网络(RNN)

7 更新层(update layer)

接着通过下图中的函数来更新本单元里的Ct,用来传递到下一个单元里去。函数中加号左边用的算式用来控制需要忘记多少Ct-1里的内容,加号右边的算式用来控制需要改变多少本单元里的内容是减少还是增加,最后相加的结果Ct用来传递到下一个单元里去。

理解LSTM一种递归神经网络(RNN)

8 输出层(output layer)

接着我们需要决定输出什么,使用Ht-1和Xt的值,经过sigmoid函数作用之后,值Ot落在0~1之间 。然后使用Ct的值,经过tanh函数作用之后,值变成-1~1之间,接着乘以Ot,这样就可以控制想要输出的那一部分内容了,变成下一个单元的Ht-1。

理解LSTM一种递归神经网络(RNN)

 

参考:

http://colah.github.io/posts/2015-08-Understanding-LSTMs/

http://deeplearning.net/tutorial/lstm.html

http://karpathy.github.io/2015/05/21/rnn-effectiveness/

 

(完)


 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:理解LSTM一种递归神经网络(RNN)

关键词:网络

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。