LSTM与GRU

LSTM 与 GRU

一、综述

LSTM 与 GRU是RNN的变种,由于RNN存在梯度消失或梯度爆炸的问题,所以RNN很难将信息从较早的时间步传送到后面的时间步。LSTM和GRU引入门(gate)的机制,通过门控制序列信息中要丢弃或保留的数据,在一定程度上缓解了RNN无法将信息传送到较后时间步的问题。

二、LSTM

Long Shot-Term Memory(长短时记忆网络),通过引入门的机制,实现对信息的“记忆”。

  • 记忆是一种随时间变化的状态。
  • 决定记忆状态的两大因素:选择性的输入、选择性的遗忘。

LSTM中的主要概念:

  • 细胞的状态
  • 输入门
  • 遗忘门
  • 输出门
    LSTM的结构
  • 图中黄色类似于CNN里的激活函数操作
  • 粉色圆圈表示点操作
  • 单箭头表示数据流向
  • 箭头合并表示向量的合并(concat)操作
  • 箭头分叉表示向量的拷贝操作

2.1 细胞状态

LSTMs的核心是细胞状态,用贯穿细胞的水平线表示。
细胞状态像传送带一样,贯穿整个细胞 却只有很少的分支,这样能保证信息不变的流过整个RNNs。(人的记忆状态贯穿人的一生。)
细胞状态

2.2 门

LSTM网络能通过一种被称为门的结构对细胞状态进行删除或则添加信息。
门能够有选择性地决定 让哪些信息通过。其实门的结构很简单,就是一个sigmoid层和一个点乘操作的组合。
因为sigmoid层的输出是0-1的值,这代表有多少信息能够流过sigmoid层。0表示都不能通过,1表示都能通过。门结构
一个LSTM里面包含三个门:

  • 忘记门
  • 输入门
  • 输出门
2.2.1 忘记门(forget gate)

LSTM的第一步就是决定细胞状态需要丢弃哪些信息。
这部分操作是通过一个被称为忘记门的sigmoid单元来处理的。它通过查看 h t − 1 h_{t-1} ht1 x t x_t xt来输出一个0-1之间的向量,该向量里面的0-1值表示细胞状态 C t − 1 C_{t-1} Ct1中的哪些信息保留或丢弃多少。0表示不保留,1表示都保留。
LSTM忘记门

2.2.2 输入门(input gate)

第二步:决定给细胞状态添加哪些新的信息。
分为两个步骤,首先 利用 h t − 1 h_{t-1} ht1 x t x_t xt通过一个称为输入门的操作来决定更新哪些信息。
再利用 h t − 1 h_{t-1} ht1 x t x_t xt通过 t a n h tanh tanh层得到新的候选细胞信息 C t ~ \widetilde{C_t} Ct ,这些信息可能会被更新到细胞信息中。
LSTM输入门
第三步:更新旧的细胞信息 C t − 1 C_{t-1} Ct1,变为新的细胞信息 C t C_t Ct
更新的规则,通过忘记门选择忘记旧细胞信息的一部分,通过输入门选择添加候选细胞信息 C t ~ \widetilde{C_t} Ct 的一部分得到新的细胞信息 C t C_t Ct.
注:⊙为Hadamard积
Hadamard
在这里插入图片描述

2.2.3 输出门(output gate)

第四步: 根据输入的 h t − 1 h_{t-1} ht1 x t x_t xt判断输出细胞的哪些状态特征。
需要将输入经过一个称为输出门的sigmoid层得到判断条件,然后将细胞状态经过tanh层得到一个 -1~1之间值的向量,该向量与输出门得到的判断条件相乘就得到了最终该RNN单元的输出。
在这里插入图片描述

2.2.4 总结

在这里插入图片描述

三、GRU

在GRU模型中只有两个门:

  • 重置门(r):控制前一状态有多少 信息被写入到当前的候选状态 ℎ̃上 的程度,重置门越小,前一状态的信 息被写入的越少。
  • 更新门(z):控制前一时刻的状态 信息与候选状态信息被带入到当前状 态中的程度。

GRU

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值