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

1.结构

在这里插入图片描述

2.计算

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

例2:
在这里插入图片描述
还是假设最开始记忆单元里面储存的是0,经过函数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乘以不同的权重得来的,然后还要考虑上一个时间点的ctc^thth^t

5.LSTM的数学公式

将上图的LSTM封装起来就是:
在这里插入图片描述输入xtx_t和上一个时间点的隐藏状态ht1h_{t-1}相加经过一个sigmoid函数得ftf_t
所以遗忘门(foget gate)的路径和式子是:
在这里插入图片描述输入xtx_t和上一个时间点的隐藏状态ht1h_{t-1}相加经过一个sigmoid函数得iti_t,这是一个输入门,
在这里插入图片描述记忆单元CtC_t的值由上面提到的几个式子决定:
在这里插入图片描述
输出oto_t和这一个时刻的隐藏状态hth_t式子如下
在这里插入图片描述注:[ht1,xt][h_{t-1},x_t]表示把两个向量连接成一个更长的向量

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章