LSTM详解

本文深入探讨LSTM网络,包括其与普通RNN的区别、核心的conveyor belt机制和门控结构,如forget gate、input gate和output gate。此外,还介绍了Pytorch中LSTM的使用以及BiLSTM的实现示例。
摘要由CSDN通过智能技术生成

LSTM网络

Long short-term Memory Networks

很多地方翻译为长短期记忆网络,给人一种歧义,以为是网络一会儿能记很长的内容,一会儿能记很短的内容,但其实正确的翻译应该是长时间的短期记忆网络。它的本质就是能够记住很长时期内的信息

1. 普通的RNN

所有循环神经网络结构都是由结构完全相同的模块进行复制而成的。在普通的 RNN 中,这个模块非常简单
在这里插入图片描述

2. LSTM

LSTM 也有类似的结构,唯一的区别就是中间的部分,LSTM 不再只是一个单一的 层,而使用了四个相互作用的层
在这里插入图片描述

  • 符号
    在这里插入图片描述
    在网络结构图中,每条线都传递着一个向量,从一个节点中输入到另一个节点。黄色的矩阵表示的是一个神经网络层;粉红色的圆圈表示逐点操作,如向量乘法、加法等;合并的线表示把两条线上所携带的向量进行合并(比如一个是 h t − 1 h_{t-1} ht1 ,另一个是 x t x_t xt ,那么合并后的输出就是 [ h t − 1 , x t ] [h_{t-1},x_t] [ht1,xt]);分开的线表示将线上传递的向量复制一份,传给两个地方

LSTM核心思想

1. conveyor belt

  • LSTM的关键就是传送带机制,即贯穿图顶部的这条水平线,上面有cell状态;
  • 向量从整个 cell 中穿过,只是做了少量的线性操作,这种结构能很轻松地实现信息从整个 cell 中穿过而不做改变(这样就可以实现长时期地记忆保留)。
    在这里插入图片描述

2. Gates

  • LSTM 也有能力向 cell 状态中添加或删除信息,这是由称为门(gates)的结构仔细控制的。门可以选择性的让信息通过,它们由 sigmoid 神经网络层和逐点相乘实现。
    在这里插入图片描述
  • 每个 LSTM 有三个这样的门结构来实现控制信息(分别是 forget gate 遗忘门;input gate 输入门;output gate 输出门)

详解各个Gates

1. forget gate

LSTM的第一步是决定要从cell状态中丢弃什么信息
在这里插入图片描述

  • 输入是 h t − 1 和 x t h_{t-1} 和 x_t ht1xt
  • 然后经过sigmoid函数激活,输出数值为0~1之间的向量(向量长度和 C
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>