RNN——LSTM——GRU

 RNN

 可以更好的理解序列问题,因为S的值取决于上一个输入的S的值

U是输入层到隐藏层的权重矩阵,o也是一个向量,它表示输出层的值;V是隐藏层到输出层的权重矩阵

 

由上图, 循环神经网络可以往前看任意多个输入值

BPTT(RNN的反向传播算法)Back-Propagation Through Time

https://www.cnblogs.com/xweiblogs/p/5914622.html#undefined

RNN有梯度下降或者梯度爆炸的特征

LSTM

RNN不能解决长序列的问题,长短期记忆网络(LSTM)的全称是Long Short Term Memory networks,是RNN的一种特殊形式,特点是能够学习长距离依赖关系。

https://blog.csdn.net/hust_tsb/article/details/79485268

RNN与LSTM最大的区别在于LSTM中最顶层多了一条名为“cell state”的信息传送带,其实也就是信息记忆的地方;

LSTM的核心思想:

(1)理解LSTM的核心是“cell state”,暂且名为细胞状态,也就是上述图中最顶的传送线,如下:

(2)cell state也可以理解为传送带,个人理解其实就是整个模型中的记忆空间,随着时间而变化的,当然,传送带本身是无法控制哪些信息是否被记忆,起控制作用的是下面将讲述的控制门(gate);

(3)控制门的结构如下:主要由一个sigmoid函数跟点乘操作组成;sigmoid函数的值为0-1之间,点乘操作决定多少信息可以传送过去,当为0时,不传送,当为1时,全部传送;

(4)LSTM中有3个控制门:输入门,输出门,记忆门;

LSTM工作原理:

(1)forget gate:选择忘记过去某些信息:

(2)input gate:记忆现在的某些信息:

(3)将过去与现在的记忆进行合并:

(4)output gate:输出

PS:以上是标准的LSTM的结构,实际应用中常常根据需要进行稍微改善;

 LSTM反向传播:https://www.cnblogs.com/pinard/p/6519110.html

GRU Gated Recurrent Unit

LSTM相比较最基本的RNN,在NLP的很多应用场景下都表现出了很好的性能,至今依然很常用。但是,LSTM存在一个问题,就是计算开销比较大,因为其内部结构相对复杂。GRU 也是为了旨在解决标准 RNN 中出现的梯度消失问题,可以看做是LSTM的一种变种。其实在大多数情况下GRU的性能和LSTM几乎相差无几(甚至有时候LSTM效果更好,且LSTM是1997年提出的,经受了更多的历史考验),但GRU最大的优势就是 简单(因为只有两个门),计算开销小,更加适用于大规模数据集。

首先上个图来看下GRU的结构(图片来自:colah’s blog《Understanding LSTM Networks》),为了让大家看的更明白,我把图片做了细微的改动,其实就是多加了几个箭头。。如下图所示:

https://blog.csdn.net/u012328159/article/details/87907739
​    

Rt为重置门,Zt更新门

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值