目录
LSTM 神经网络架构
分类 LSTM 网络
回归 LSTM 网络
视频分类网络
更深的 LSTM 网络
网络层
分类、预测和预报
序列填充、截断和拆分
按长度对序列排序
填充序列
截断序列
拆分序列
指定填充方向
归一化序列数据
无法放入内存的数据
可视化
LSTM 层架构
本主题说明如何使用长短期记忆 (LSTM) 神经网络处理分类和回归任务的序列和时间序列数据。有关如何使用 LSTM 神经网络对序列数据进行分类的示例。
LSTM 神经网络是一种循环神经网络 (RNN),可以学习序列数据的时间步之间的长期依存关系。
LSTM 神经网络架构
LSTM 神经网络的核心组件是序列输入层和 LSTM 层。序列输入层将序列或时间序列数据输入神经网络中。LSTM 层学习序列数据的时间步之间的长期相关性。
下图说明用于分类的简单 LSTM 网络的架构。该神经网络从一个序列输入层开始,后跟一个 LSTM 层。为了预测类标签,该神经网络的末尾是一个全连接层、一个 softmax 层和一个分类输出层。
如图所示:
下图说明用于回归的简单 LSTM 神经网络的架构。该神经网络从一个序列输入层开始,后跟一个 LSTM 层。该神经网络的末尾是一个全连接层和一个回归输出层。
如图所示:
下图说明用于视频分类的神经网络的架构。要将图像序列输入到神经网络,请使用序列输入层。要使用卷积层来提取特征,也就是说,要将卷积运算独立地应用于视频的每帧,请使用一个序列折叠层,后跟一个卷积层,然后是一个序列展开层。要使用 LSTM 层从向量序列中学习,请使用一个扁平化层,后跟 LSTM 层和输出层。
如图所示:
分类 LSTM 网络
要创建针对“序列到标签”分类的 LSTM 网络,请创建一个层数组,其中包含一个序列输入层、一个 LSTM 层、一个全连接层、一个 softmax 层和一个分类输出层。
将序列输入层的大小设置为输入数据的特征数量。将全连接层的大小设置为类的数量。不需要指定序列长度。
对于 LSTM 层,指定隐含单元的数量和输出模式 'last'。
numFeatures = 12;
numHiddenUnits = 100;
numClasses = 9;
layers = [ ...
sequenceInputLayer(numFeatures)
lstmLayer(numHiddenUnits,'OutputMode','last')
fullyConnectedLayer(numClasses)
softmaxLayer
classificationLayer];
要针对“序列到序列”分类创建一个 LSTM 网络,请使用与“序列到标签”分类相同的架构,但将 LSTM 层的输出模式设置为 'sequence'。
numFeatures = 12;
numHidd