从RNN到LSTM再到GRU总结

参考文章:从RNN到LSTM再到GRU

GNN

\LARGE x_{t} 是一个输入的向量(假设是一个n维向量)

\LARGE h_{t-1} 表示前一个时刻的隐藏状态,初始为0向量。

\LARGE o_{t} 是当前时刻的输出。
​    
\LARGE h_{t} 是当前时刻的隐藏状态。

隐藏状态更新:

\LARGE h_t=tanh(W_{hh}h_{t-1}+W_{hx}+b_h)

 理解:这里我们假设x的维度是10000维,其中我们的第一层隐藏神经元个数为100个,进行降维处理,可以将神经网络的权重理解为矩阵之间的乘法。最后加上激活函数。

 input:10000 

 output:100

 

 我们这里将\LARGE x_{t} ,\LARGE h_{t-1} 共同作为输入,input=10100维

 

 

        RNN虽好,但是存在梯度消失和梯度爆炸的问题,导致一旦序列过长,在反向传播时RNN就会出问题。

        其中梯度爆炸问题,有一个解决方法是梯度修剪(gradient clipping),就是设定一个阈值,当梯度向量超过某个阈值时,将它减少到阈值。而梯度消失问题更难解决。因此有人提出了GRU来解决这个问题。

 

LSTM

        LSTM是RNN的变种,是为了解决RNN存在的长期依赖问题而专门设计出来的。所谓长期依赖问题是,后面的单词在很长的时间序列后还依赖前面的单词,但由于梯度消失问题,导致前面的单词无法影响到后面的单词。

在这里插入图片描述

 

GRU
GRU 旨在解决RNN 中出现的梯度消失问题。GRU也可以被视为LSTM的变体,启发于LSTM,但更易于实现和计算,且在某些情况能产生同样出色的结果。

GRU把遗忘门和输入门合并成为一个“更新门”,把单元状态和隐藏状态合并,还有其他变化。这样做使得 GRU比标准的LSTM模型更简单
 

在这里插入图片描述

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值