李宏毅深度学习笔记(十三)LSTM(长短期记忆网络)

1.结构

在这里插入图片描述

2.计算

在这里插入图片描述例1:
在这里插入图片描述假设 x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3均为输入,当 x 2 = 1 x_2=1 x2=1的时候将 x 1 x_1 x1加入记忆单元,当 x 2 = − 1 x_2=-1 x2=1时将将记忆单元清空,当 x 3 = 1 x_3=1 x3=1的时候输出记忆单元里面的数值。根据规则,最开始记忆单元里面存储的是0,当输入 x 1 = 1 x_1=1 x1=1时因为 x 2 = 0 x_2=0 x2=0 x 3 = 0 x_3=0 x3=0所以记忆单元和输出都不工作,到了第二列,因为 x 1 = 3 x_1=3 x1=3 x 2 = 1 x_2=1 x2=1 x 3 = 0 x_3=0 x3=0,所以将 x 1 = 3 x_1=3 x1=3加入记忆单元,输出依旧为0,第三列, x 1 = 2 x_1=2 x1=2 x 2 = 0 x_2=0 x2=0 x 3 = 0 x_3=0 x3=0,所以 x 1 = 2 x_1=2 x1=2不会被加入到记忆单元,输出依旧为0,第四列 x 1 = 4 x_1=4 x1=4 x 2 = 1 x_2=1 x2=1 x 3 = 0 x_3=0 x3=0,所以 x 1 = 4 x_1=4 x1=4会被加入到记忆单元此时记忆单元变为7,输出依然为零,直到出现 x 3 = 1 x_3=1 x3=1,记忆单元的数才会被输出。

例2:
在这里插入图片描述
还是假设最开始记忆单元里面储存的是0,经过函数 g ( x ) g(x) g(x)可以得到3,经过Input Gate的sigmoid函数可以求出1,经过Output Gate的sigmoid函数计算出0,经过Forget Gate的sigmoid函数计算出1,然后根据上面的公式就可以算出最终的输出。
在这里插入图片描述

3.LSTM与传统神经网络的联系

我们只要把LSTM看作是传统神经网络的一个神经元(neuron)即可
在这里插入图片描述另外,LSTM需要四个输入
在这里插入图片描述

4.LSTM的最终形态

在这里插入图片描述LSTM的四个输入都是从最初始的x乘以不同的权重得来的,然后还要考虑上一个时间点的 c t c^t ct h t h^t ht

5.LSTM的数学公式

将上图的LSTM封装起来就是:
在这里插入图片描述输入 x t x_t xt和上一个时间点的隐藏状态 h t − 1 h_{t-1} ht1相加经过一个sigmoid函数得 f t f_t ft
所以遗忘门(foget gate)的路径和式子是:
在这里插入图片描述输入 x t x_t xt和上一个时间点的隐藏状态 h t − 1 h_{t-1} ht1相加经过一个sigmoid函数得 i t i_t it,这是一个输入门,
在这里插入图片描述记忆单元 C t C_t Ct的值由上面提到的几个式子决定:
在这里插入图片描述
输出 o t o_t ot和这一个时刻的隐藏状态 h t h_t ht式子如下
在这里插入图片描述注: [ h t − 1 , x t ] [h_{t-1},x_t] [ht1,xt]表示把两个向量连接成一个更长的向量

Pytorch中LSTM的参数与案例理解.
Pytorch中文文档.
LSTM.
重推:详解LSTM.
刘建平讲LSTM.
pytorch实现LSTM.
外国大神的博文.
Understanding LSTM Networks.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

comli_cn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值