【深度学习9】基于Pytorch实现LSTM(附源代码)

目录

1. 概述

2. 遗忘门、输入门、输出门、候选记忆元

3. 记忆元

4. 隐状态

5. LSTM网络架构

6. 源代码

7. 参考资料


1. 概述

        本文是作者自学深度学习的第10篇章(学习资料为李沐老师的深度学习课程),主要对LSTM模型中的基本概念,包括遗忘门输入门输出门候选记忆元LSTM的网络架构等内容进行了整理。

2. 遗忘门、输入门、输出门、候选记忆元

        在LSTM模型中引入了遗忘门输入门输出门三个控制单元,其中,遗忘门控制记忆单元的遗忘程度,输入门控制何时将数据读入单元,输出门控制记忆单元到隐状态之间的映射关系。

        值得注意的是,这三个门都使用了sigmoid作为激活函数将输出映射到 [0,1] 实现 “软” 控制。具体而言,LSTM使用下式来计算三个门: 

I_t=\sigma (X_tW_{xi}+H_{t-1}W_{hi}+b_i)

F_t=\sigma (X_tW_{xf}+H_{t-1}W_{hf}+b_f) 

O_t=\sigma (X_tW_{xo}+H_{t-1}W_{ho}+b_o) 

其中,I_t,F_t,O_t 的大小和隐藏层单元大小一样,因此后续我们可以将其与隐藏层单元按元素相乘。

        此外,在LSTM中,我们定义了 “候选记忆元”  \tilde{C_t}, 其定义为: 

\tilde{C_t}=\tanh (X_tW_{xc}+H_{t-1}W_{hc}+b_c)

3. 记忆元

        在LSTM中,采用下式计算记忆元:

C_t=F_t\bigodot C_{t-1}+I_t\bigodot \tilde{C_t} 

可见遗忘门控制前一记忆门对当前记忆门的影响,输入门控制候选记忆元对当前记忆元的影响。

4. 隐状态

        在LSTM中,采用下式计算隐状态:

H_t=O_t\bigodot \tanh(C_t) 

可见输出门控制记忆元对隐状态的影响程度。

5. LSTM网络架构

        LSTM网络的典型架构如下:

其计算步骤为:

  1. 计算遗忘门、输入门、输出门
  2. 计算候选记忆元
  3. 根据输出门计算隐状态

6. 源代码

基于Pytorch实现LSTM

7. 参考资料

李沐带你学深度学习【长短期记忆网络(LSTM)】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值