长短期记忆(LSTM)相关知识


上一篇文章中,提到RNN难以学习到长期依赖关系,后来有人提出了RNN的改进版本LSTM很大程度上改善了长期依赖问题。

长期依赖在序列数据中是很常见的,考虑到下面这句话“I grew up in France… I speak fluent French.”,现在需要语言模型通过现有以前的文字信息预测该句话的最后一个词,模型结构的可能如下图所示:

在这里插入图片描述

需要通过以前文字语境来预测出最后一个词是French,则需要依赖于开头部分语境中的单词France。LSTM可以很容易的学习到这种长期依赖,这得益于其内部三个特殊的门结构。

LSTM结构

RNN结构如下图所示:

在这里插入图片描述

LSTM基于RNN,做出了些调整,修改后的结构如图所示:

在这里插入图片描述

很明显可以看到两个区别,一方面是细胞单元内部的结构变复杂了,另一方面相邻细胞单元之间的依赖关系从一个变为了两个。

具体来说,LSTM使用上图中三个黄色σ方框(σ代表Sigmoid运算)代表的遗忘门、输入门和输出门来控制细胞状态。

遗忘门

遗忘门控制前一步记忆单元中的信息以多大程度被遗忘掉,主要决定决定细胞状态 C 需要丢弃哪些信息。遗忘门在细胞单元中的位置,如下图黄色方框所示:

在这里插入图片描述

其中遗忘门的输出结果 f f f的计算公式为:
f t = σ ( W f ⋅ [ h t − 1 ,    x t ] + b f ) f_t=\sigma(W_f\cdot[h_{t-1},\;x_t]+b_f) ft=σ(Wf[ht1,xt]+bf)
式子中: W f W_f Wf是遗忘门的权重矩阵, [ h t − 1 ,    x t ] [h_{t-1},\;x_t] [ht1,xt]表示把两个向量连接成一个更长的向量, b f b_f bf是遗忘门的偏置项, σ \sigma σ 表示Sigmoid函数,最终得到一个介于0与1之间的输出值。

其中 W f ⋅ [ h t − 1 ,    x t ] + b f W_f\cdot[h_{t-1},\;x_t]+b_f Wf[ht1,xt]+bf 可以理解为:
[ W f ] [ h t − 1 x t ] = [ W f h W f x ] [ h t − 1 x t ] = W f h h t − 1 + W f x x t \begin{aligned} \begin{bmatrix}W_f\end{bmatrix}\begin{bmatrix}\mathbf{}h_{t-1}\\ \mathbf{}x_t\end{bmatrix}&= \begin{bmatrix}W_{fh}&W_{fx}\end{bmatrix}\begin{bmatrix}\mathbf{}h_{t-1}\\ \mathbf{}x_t\end{bmatrix}\\ &=W_{fh}\mathbf{}h_{t-1}+W_{fx}\mathbf{}x_t \end{aligned} [W

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值