TensorFlow中LSTM神经网络详解

TensorFlow中LSTM神经网络详解

  • 一、LSTM神经元
    • [1.1 神经网络引入](#1.1 神经网络引入)
    • [1.2 RNN神经元结构](#1.2 RNN神经元结构)
    • [1.3 LSTM神经元](#1.3 LSTM神经元)
      • [1.3.1 LSTM模型框架](#1.3.1 LSTM模型框架)
      • [1.3.2 隐藏态](#1.3.2 隐藏态)
      • [1.3.3 遗忘门](#1.3.3 遗忘门)
      • [1.3.4 记忆门](#1.3.4 记忆门)
      • [1.3.5 输出门](#1.3.5 输出门)
  • 二、LSTM神经网络
    • [2.1 LSTM网络架构](#2.1 LSTM网络架构)

时间序列预测分析可以实现对未来数据的预测分析,通过分析过去时序数据,形成长短时序记忆,从而实现对未来数据的预测。

一、LSTM神经元

1.1 神经网络引入

随着神经网络的出现,各种应用都用到了神经网络,但是传统的神经网络中的神经元并不具备记忆功能,于是能够有记忆功能的神经网络就产生了。

1.2 RNN神经元结构

RNN神经网络虽然可以让神经元具有"记忆"能力,但是从上面的图也可以看出RNN的神经元仅仅对距离自己较近的神经元的记忆能力比较好,但是对于距离自己较远的神经元产生的影响可能会有一定程度的忽略。

1.3 LSTM神经元

1.3.1 LSTM模型框架

为了克服RNN 神经网络对于长时间记忆的问题,LSTM出现了,下面的图展示了LSTM的框架,通过一个一个基本单元连接实现对前面神经元传入数据的选择以及输出当前神经元的数据到下一级神经元。

1.3.2 隐藏态

这是LSTM中最关键的主线部分,决定了LSTM最终的输出。

1.3.3 遗忘门

在遗忘门,LSTM会先根据新的输入和上一时刻的输出决定遗忘掉之前的哪些记忆------输入和上一步的输出会整合为一个单独的向量,然后通过sigmoid神经层,最后点对点的乘在单元状态上,这个部分实现了记忆传递的功能。

1.3.4 记忆门

记忆门用来控制是否将当前时刻的数据并入单元状态中的控制单位。先用tanh函数层将现在的向量中的有效信息提取出来,然后用的sigmoid函数来控制这些记忆要放"多少"进入单元状态。

1.3.5 输出门

计算当前时刻的输出值的神经层。输出层会先将当前输入值与上一时刻输出值整合后的向量,用sigmoid函数提取其中的信息,接着,会将当前的单元状态通过tanh函数压缩映射到区间(-1, 1)中。

值得注意的一点是使用tanh函数的原因:

  1. 为了防止梯度消失问题,我们需要一个二次导数在大范围内不为0的函数,而tanh函数可以满足这一点
  2. 为了便于凸优化,我们需要一个单调函数
  3. tanh函数一般收敛的更快
  4. tanh函数的求导占用系统的资源更少

二、LSTM神经网络

仅仅了解LSTM神经元并不足以支撑完成庞大的LSTM神经网络架构的构建,因此学习如何将LSTM与其他神经元结构相结合很有必要。

2.1 LSTM网络架构

把这幅图跟前面讲的LSTM单个神经元放在一起比较很快就能发现这个网络设计的巧妙之处,纵向是网络架构,也就是在各种Python库中LSTM封装的调用里面定义的网络架构,比如下面我写的这个两层的LSTM层:

这里我们就可以理解为什么之前LSTM神经元需要有两个输出了,因为不仅仅需要当前神经元跟同一层的神经元进行时序上面的交互实现数据记忆,并在记忆的基础上实现预测;还有一个很重要的就是将当前LSTM层的输出数据传到下一层LSTM或者Dense层,用来最终输出预测结果。

另外值得一提的是Dense层:在LSTM网络中Dense层可以有两个常见的作用:

  1. 帮助理解特征。
  2. 将模型中的数据维度转化成输出数据需要的维度。
相关推荐
归-途3 小时前
C#构建一个简单的循环神经网络,模拟对话
神经网络·机器学习·c#
Matlab精灵3 小时前
基于CNN-LSTM的时序预测MATLAB实战
matlab·cnn·lstm
铖铖的花嫁4 小时前
基于CNN+RNNs(LSTM, GRU)的红点位置检测(pytorch)
cnn·gru·lstm
归-途4 小时前
C#构建一个简单的前馈神经网络
神经网络·机器学习·c#
YRr YRr5 小时前
深度解析神经网络中的最大池化层:工作原理、参数配置与应用示例
人工智能·深度学习·神经网络
爱研究的小牛5 小时前
AIVA 技术浅析(四):捕捉音乐作品中的长期依赖关系
人工智能·rnn·深度学习·aigc·lstm
AI浩5 小时前
ShuffleNet:一种为移动设备设计的极致高效的卷积神经网络
人工智能·神经网络·cnn
劳工小朋友7 小时前
为什么神经网络的可解释性差?
人工智能·深度学习·神经网络
CoderIsArt7 小时前
基于 RBF 神经网络整定的 PID 控制
人工智能·深度学习·神经网络
梦醒沉醉8 小时前
神经网络的正则化(二)
深度学习·神经网络