RNN循环神经网络

RNN网络引入定向循环,能够处理那些输入之间前后关联的问题。打破了传统神经网络结构层与层之间全连接,每层节点之间无连接的转态,不在是输入-隐层-输出的模式。

RNN的目的:处理序列数据

RNN的内容:一个序列当前的输出与前面的输入也有关系。

RNN的具体做法:网络会对前面的信息进行记忆,并应用于当前输出的计算中,即隐层之间的节点不再无连接,并且隐层的输入不仅包括输入层的输出,还包括上一时刻隐层的输出。

RNN的功能特点:1、隐层节点之间可以互连也可以自连

                             2、网络共享权重U、V、W

                             3、RNN网络中,每一步的输出不是必须的,每一步的输入也不是必须的。

RNN用途:语言模型和文本生成研究、机器翻译、语音识别、图像描述生成。

RNN网络结构如下:

RNNs包含输入单元(Input units),输入集标记为 {x 0 ,x 1 ,...,x t ,x t+1 ,...}  ,而输出单元(Output units)的输出集则被标记为 {y 0 ,y 1 ,...,y t ,y t+1 .,..}  。RNNs还包含隐藏单元(Hidden units),我们将其输出集标记为 {s 0 ,s 1 ,...,s t ,s t+1 ,...}  ,这些隐藏单元完成了最为主要的工作。你会发现,在图中:有一条单向流动的信息流是从输入单元到达隐藏单元的,与此同时另一条单向流动的信息流从隐藏单元到达输出单元。在某些情况下,RNNs会打破后者的限制,引导信息从输出单元返回隐藏单元,这些被称为“Back Projections”,并且隐藏层的输入还包括上一隐藏层的状态,即隐藏层内的节点可以自连也可以互连。
  上图将循环神经网络进行展开成一个全神经网络。例如,对一个包含5个单词的语句,那么展开的网络便是一个五层的神经网络,每一层代表一个单词。对于该网络的计算过程如下:

1、 x t   表示第 t,t=1,2,3...  步(step)的输入。如, x 1   为第二个词的one-hot向量(根据上图, x 0   为第一个词);

2、s t  st为隐藏层的第 t  步的状态,它是网络的记忆单元。 s t   根据当前输入层的输出与上一步隐藏层的状态进行计算。 s t =f(Ux t +Ws t1 )  ,其中 f  一般是非线性的激活函数,如tanhReLU,在计算 s 0   时,即第一个单词的隐藏层状态,需要用到 s 1   ,但是其并不存在,在实现中一般置为0向量;

3、o t  ot是第 t  步的输出,如下个单词的向量表示, o t =softmax(Vs t )  .

RNN训练:采用BP误差反向传播算法、梯度下降算法。

RNN网络的改进模型:SRN、BRNN、LSTM、GRU、Deep BRNN、ESN、CW-RNN。

参考博客:http://blog.csdn.net/heyongluoyao8/article/details/48636251



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值