RNN循环神经网络

RNN:

循环神经网络(Recurrent Neural Network, RNN)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络recursive neural network);

RNN具有时间"记忆"的功能,这是一个Simple recurrent network,主要是依靠memory,将隐藏层的输出存储在存储器中;也可以根据存储内容分为两种:Elman Network存储了隐藏层的内容,而Jordan Network存储的是输出层的内容,可能更有意义;

双向RNN,可以在产生输出时,基于更多的上下文信息;

RNN由于每一步的输出不仅仅依赖当前步的网络,并且还需要前若干步网络的状态,那么这种BP改版的算法叫做BPTT(Backpropagation Through Time) , 也就是将输出端的误差值反向传递,运用梯度下降法进行更新。但是训练起来难度较大,存在梯度消失和梯度爆炸的问题;于是LSTM可以解决该问题;

LSTM (Long Short-Term Memory):

具体来说,RNN是重复单一的神经网络层,LSTM中的重复模块则包含四个交互的层,三个Sigmoid 和一个tanh层,并以一种非常特殊的方式进行交互。

LSTM有通过精心设计的称作为“门”的结构来去除或者增加信息到细胞状态的能力。门是一种让信息选择式通过的方法。他们包含一个sigmoid神经网络层和一个pointwise乘法的非线性操作。它可以用来解决梯度消失的问题;

门包括:

输入门:用来确定什么样的新信息被存放在细胞状态中。

遗忘门:在我们LSTM中的第一步是决定我们会从细胞状态中丢弃什么信息,记住重要的信息,忘记不重要的信息;

输出门:最终,我们需要确定输出什么值。这个输出将会基于我们的细胞状态,但是也是一个过滤后的版本。

LSTM对比Original Network,参数量是4倍,4个信号输入,都要机器自己学习;

LSTM算法的还有一些变种,peehole, 让门层也接受细胞状态的输入;

GRU(Gated Reccurent Network):

GRU是2014年提出的一种LSTM改进算法. 它将忘记门和输入门合并成为一个单一的更新门, 同时合并了数据单元状态和隐藏状态, 使得模型结构比之于LSTM更为简单;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值