文章对应代码:https://blog.csdn.net/weixin_43663463/article/details/115612304
1. LSTM网络结构
LSTM是RNN(循环神经网络)的变种,其时序结构同RNN类似,主要的区别在于内部逻辑结构的不同。
- RNN有两个输入x_t 和 h_t-1,一个输出h_t 。
- LSTM有三个输入c_t-1、h_t-1、x_t,两个输出h_t、c_t
2. LSTM的核心思想:c_t(细胞状态)、门控结构
- c_t 细胞状态: 保存了需要长时记忆的信息。
细胞状态在上面一条管线流动,它在整个链中一直沿直线运行,只有一些较小的线性操作施加在其上,因此其中保存的信息可以保存很久。
- 门控结构:对信息进行选择性记忆
- 门控结构具有删除信息或将信息添加到细胞状态的能力。
- 门是一种选择性地让信息通过的方式,由sigmoid 神经网络层和点乘(对应元素相乘)运算组成。
- sigmoid神经网络层输出的向量值介于0~1之间,0代表忘记信息,1代表保留信息。
3.LSTM内部运行逻辑
LSTM的内部可以分为三部分:遗忘门、输入门、输出门
- 遗忘门
- 遗忘门决定我们要从细胞状态中忘记什么信息
- 公式和举例如下:
- 其中假设h_t 维度为(1,128), x_t维度为(1,28),[h_t, x_t]表示将h_t和x_t拼接起来组成几个向量。下同。
- 输入门
- 输入门决定输入什么信息到细胞状态c_t中
- 公式和举例如下:
- 输出门
- 输出门决定当前时刻h_t从c_t提取什么信息输出
公式和举例如下:
- LSTM内部的门控结构,实际上就是全连接层。
以上就是LSTM的基本结构。