主要内容gydF4y2Ba

长短期记忆网络gydF4y2Ba

本主题解释如何使用长短期记忆(LSTM)网络处理序列和时间序列数据进行分类和回归任务。有关如何使用LSTM网络对序列数据进行分类的示例,请参见gydF4y2Ba基于深度学习的序列分类gydF4y2Ba.gydF4y2Ba

LSTM网络是一种递归神经网络(RNN),它可以学习序列数据时间步长之间的长期依赖关系。gydF4y2Ba

LSTM网络体系结构gydF4y2Ba

LSTM网络的核心组件是序列输入层和LSTM层。一个gydF4y2Ba序列输入层gydF4y2Ba将序列或时间序列数据输入网络。一个gydF4y2BaLSTM层gydF4y2Ba学习序列数据的时间步长之间的长期相关性。gydF4y2Ba

这个图说明了一个用于分类的简单LSTM网络的体系结构。网络从序列输入层开始,然后是LSTM层。为了预测类标签,网络以完全连接层、软最大层和分类输出层结束。gydF4y2Ba

这个图说明了用于回归的简单LSTM网络的体系结构。网络从序列输入层开始,然后是LSTM层。网络以完全连接层和回归输出层结束。gydF4y2Ba

这张图说明了视频分类网络的结构。要向网络输入图像序列,使用序列输入层。要使用卷积层来提取特征,即,要将卷积运算独立地应用于视频的每个帧,请先使用序列折叠层,再使用卷积层,然后使用序列展开层。要使用LSTM层从矢量序列中学习,请先使用展平层,然后使用LSTM和输出层。gydF4y2Ba

分类LSTM网络gydF4y2Ba

为了创建一个LSTM网络进行序列到标签的分类,需要创建一个包含序列输入层、LSTM层、全连接层、softmax层和分类输出层的层数组。gydF4y2Ba

将序列输入层的大小设置为输入数据的特征数。将完全连接层的大小设置为类数。无需指定序列长度。gydF4y2Ba

对于LSTM层,指定隐藏单元的数量和输出模式gydF4y2Ba“最后一次”gydF4y2Ba.gydF4y2Ba

numFeatures = 12;numHiddenUnits = 100;numClasses = 9;层= [gydF4y2Ba...gydF4y2BasequenceInputLayer numFeatures lstmLayer (numHiddenUnits,gydF4y2Ba“OutputMode”gydF4y2Ba,gydF4y2Ba“最后一次”gydF4y2Ba) fulllyconnectedlayer (numClasses) softmaxLayer classificationLayer;gydF4y2Ba

有关如何训练LSTM网络进行序列到标签分类和对新数据进行分类的示例,请参见gydF4y2Ba基于深度学习的序列分类gydF4y2Ba.gydF4y2Ba

要为序列到序列分类创建LSTM网络,请使用与序列到标签分类相同的体系结构,但将LSTM层的输出模式设置为gydF4y2Ba“序列”gydF4y2Ba.gydF4y2Ba

numFeatures = 12;numHiddenUnits = 100;numClasses = 9;层= [gydF4y2Ba...gydF4y2BasequenceInputLayer numFeatures lstmLayer (numHiddenUnits,gydF4y2Ba“OutputMode”gydF4y2Ba,gydF4y2Ba“序列”gydF4y2Ba) fulllyconnectedlayer (numClasses) softmaxLayer classificationLayer;gydF4y2Ba

回归LSTM网络gydF4y2Ba

要创建序列到一回归的LSTM网络,需要创建一个包含序列输入层、LSTM层、全连接层和回归输出层的层阵列。gydF4y2Ba

将序列输入层的大小设置为输入数据的特征数。将完全连接层的大小设置为响应数。无需指定序列长度。gydF4y2Ba

对于LSTM层,指定隐藏单元的数量和输出模式gydF4y2Ba“最后一次”gydF4y2Ba.gydF4y2Ba

numFeatures = 12;numHiddenUnits = 125;numResponses = 1;层= [gydF4y2Ba...gydF4y2BasequenceInputLayer numFeatures lstmLayer (numHiddenUnits,gydF4y2Ba“OutputMode”gydF4y2Ba,gydF4y2Ba“最后一次”gydF4y2Ba) fullyConnectedLayer (numResponses) regressionLayer];gydF4y2Ba

要为序列到序列的回归创建LSTM网络,请使用与序列到一个回归相同的体系结构,但将LSTM层的输出模式设置为gydF4y2Ba“序列”gydF4y2Ba.gydF4y2Ba

numFeatures = 12;numHiddenUnits = 125;numResponses = 1;层= [gydF4y2Ba...gydF4y2BasequenceInputLayer numFeatures lstmLayer (numHiddenUnits,gydF4y2Ba“OutputMode”gydF4y2Ba,gydF4y2Ba“序列”gydF4y2Ba) fullyConnectedLayer (numResponses) regressionLayer];gydF4y2Ba

有关如何训练LSTM网络进行序列到序列回归和预测新数据的示例,请参见gydF4y2Ba使用深度学习的序列到序列回归gydF4y2Ba.gydF4y2Ba

视频分类网络gydF4y2Ba

若要为包含图像序列(如视频数据和医学图像)的数据创建深度学习网络,请使用序列输入层指定图像序列输入。gydF4y2Ba

要使用卷积层来提取特征,即,要将卷积运算独立地应用于视频的每个帧,请先使用序列折叠层,再使用卷积层,然后使用序列展开层。要使用LSTM层从矢量序列中学习,请先使用展平层,然后使用LSTM和输出层。gydF4y2Ba

inputSize = [28 28 1];filterSize = 5;numFilters = 20;numHiddenUnits = 200;numClasses = 10;层= [gydF4y2Ba...gydF4y2BasequenceInputLayer (inputSizegydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“输入”gydF4y2Ba)序列折叠层(gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“折”gydF4y2Ba)卷积2dlayer(filterSize、NumFilter、,gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“conv”gydF4y2Ba) batchNormalizationLayer (gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba‘bn’gydF4y2Ba) reluLayer (gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“relu”gydF4y2Ba) sequenceUnfoldingLayer (gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“展开”gydF4y2Ba)压扁层(gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“平”gydF4y2Ba) lstmLayer (numHiddenUnitsgydF4y2Ba“OutputMode”gydF4y2Ba,gydF4y2Ba“最后一次”gydF4y2Ba,gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“lstm”gydF4y2Ba) fullyConnectedLayer (numClassesgydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“俱乐部”gydF4y2Ba) softmaxLayer (gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“softmax”gydF4y2Ba) classificationLayer (gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“分类”gydF4y2Ba));gydF4y2Ba

将图层转换为图层图并连接gydF4y2BaminiBatchSizegydF4y2Ba序列折叠层的输出到序列展开层的相应输入。gydF4y2Ba

lgraph = layerGraph(层);lgraph = connectLayers (lgraph,gydF4y2Ba“折/ miniBatchSize”gydF4y2Ba,gydF4y2Ba“展开/ miniBatchSize”gydF4y2Ba);gydF4y2Ba

有关如何训练深度学习网络进行视频分类的示例,请参见gydF4y2Ba使用深度学习分类视频gydF4y2Ba.gydF4y2Ba

更深层次的LSTM网络gydF4y2Ba

通过使用输出模式插入额外的LSTM层,可以使LSTM网络更深gydF4y2Ba“序列”gydF4y2Ba在LSTM层之前。为了防止过度拟合,可以在LSTM层之后插入衰减层。gydF4y2Ba

对于序列到标签的分类网络,最后一层LSTM的输出模式必须为gydF4y2Ba“最后一次”gydF4y2Ba.gydF4y2Ba

numFeatures = 12;numHiddenUnits1 = 125;numHiddenUnits2 = 100;numClasses = 9;层= [gydF4y2Ba...gydF4y2BasequenceInputLayer numFeatures lstmLayer (numHiddenUnits1,gydF4y2Ba“OutputMode”gydF4y2Ba,gydF4y2Ba“序列”gydF4y2Ba) dropoutLayer (0.2) lstmLayer (numHiddenUnits2gydF4y2Ba“OutputMode”gydF4y2Ba,gydF4y2Ba“最后一次”gydF4y2Ba) dropoutLayer(0.2) fulllyconnectedlayer (numClasses) softmaxLayer classificationLayer];gydF4y2Ba

对于序列到序列分类网络,最后一层LSTM的输出模式必须为gydF4y2Ba“序列”gydF4y2Ba.gydF4y2Ba

numFeatures = 12;numHiddenUnits1 = 125;numHiddenUnits2 = 100;numClasses = 9;层= [gydF4y2Ba...gydF4y2BasequenceInputLayer numFeatures lstmLayer (numHiddenUnits1,gydF4y2Ba“OutputMode”gydF4y2Ba,gydF4y2Ba“序列”gydF4y2Ba) dropoutLayer (0.2) lstmLayer (numHiddenUnits2gydF4y2Ba“OutputMode”gydF4y2Ba,gydF4y2Ba“序列”gydF4y2Ba) dropoutLayer(0.2) fulllyconnectedlayer (numClasses) softmaxLayer classificationLayer];gydF4y2Ba

层gydF4y2Ba

层gydF4y2Ba 描述gydF4y2Ba

sequenceInputLayergydF4y2Ba

序列输入层将序列数据输入到网络。gydF4y2Ba

第一层gydF4y2Ba

LSTM层学习时间序列中时间步长与序列数据之间的长期依赖关系。gydF4y2Ba

bilstmLayergydF4y2Ba

双向LSTM (BiLSTM)层学习时间序列或序列数据的时间步长之间的双向长期依赖关系。当您希望网络在每个时间步骤中从完整的时间序列中学习时,这些依赖项可能会很有用。gydF4y2Ba

gruLayergydF4y2Ba

GRU层学习时间序列中时间步长与序列数据之间的依赖关系。gydF4y2Ba

convolution1dLayergydF4y2Ba

一维卷积层将滑动卷积滤波器应用于一维输入。gydF4y2Ba

maxPooling1dLayergydF4y2Ba

1-D最大池化层通过将输入划分为1-D池化区域,然后计算每个区域的最大值来执行向下采样。gydF4y2Ba

averagePooling1dLayergydF4y2Ba

1-D平均池化层通过将输入划分为1-D池化区域,然后计算每个区域的平均值来执行向下采样。gydF4y2Ba

globalMaxPooling1dLayergydF4y2Ba

一维全局最大池化层通过输出输入的最大时间或空间维度来执行向下采样。gydF4y2Ba

sequenceFoldingLayergydF4y2Ba

序列折叠层将一批图像序列转换为一批图像。使用序列折叠层对图像序列的时间步独立进行卷积运算。gydF4y2Ba

sequenceUnfoldingLayergydF4y2Ba

序列展开层还原输入数据在序列折叠后的序列结构。gydF4y2Ba

flattenLayergydF4y2Ba

扁平层将输入的空间维度折叠为通道维度。gydF4y2Ba

wordEmbeddingLayergydF4y2Ba(文本分析工具箱)gydF4y2Ba

单词嵌入层将单词索引映射到向量。gydF4y2Ba

分类、预测和预测gydF4y2Ba

要对新数据进行分类或进行预测,请使用gydF4y2Ba分类gydF4y2Ba和gydF4y2Ba预测gydF4y2Ba.gydF4y2Ba

LSTM网络可以在预测之间记住网络的状态。如果您事先没有完整的时间序列,或者如果您想对长时间序列进行多个预测,则网络状态非常有用。gydF4y2Ba

要预测和分类时间序列的各个部分并更新网络状态,请使用gydF4y2BapredictAndUpdateStategydF4y2Ba和gydF4y2BaclassifyAndUpdateStategydF4y2Ba.若要重置预测之间的网络状态,请使用gydF4y2Ba重置状态gydF4y2Ba.gydF4y2Ba

有关如何预测序列未来时间步长的示例,请参见gydF4y2Ba基于深度学习的时间序列预测gydF4y2Ba.gydF4y2Ba

序列填充、截断和分割gydF4y2Ba

LSTM网络支持不同序列长度万博1manbetx的输入数据。当通过网络传递数据时,软件将填充、截断或分割序列,以便每个迷你批处理中的所有序列都具有指定的长度。属性可以指定序列长度和用于填充序列的值gydF4y2BaSequenceLengthgydF4y2Ba和gydF4y2Ba序列填充值gydF4y2Ba中的名称-值对参数gydF4y2BatrainingOptionsgydF4y2Ba.gydF4y2Ba

训练网络后,使用相同的小批量大小和填充选项时,使用gydF4y2Ba分类gydF4y2Ba,gydF4y2Ba预测gydF4y2Ba,gydF4y2BaclassifyAndUpdateStategydF4y2Ba,gydF4y2BapredictAndUpdateStategydF4y2Ba,gydF4y2Ba激活gydF4y2Ba功能。gydF4y2Ba

按长度排序序列gydF4y2Ba

为了减少填充或截断序列时的填充或丢弃数据的数量,请尝试按序列长度对数据进行排序。要按序列长度对数据进行排序,首先通过应用程序获取每个序列的列数gydF4y2Ba大小(X, 2)gydF4y2Ba使用gydF4y2Ba赛尔芬gydF4y2Ba.然后使用排序序列长度gydF4y2Ba排序gydF4y2Ba,并使用第二个输出对原始序列重新排序。gydF4y2Ba

sequenceLengths = cellfun(@(X) size(X,2), XTrain);[sequenceLengthsSorted, idx] = (sequenceLengths)进行排序;XTrain = XTrain (idx);gydF4y2Ba

下图以柱状图的形式显示了已排序和未排序数据的序列长度。gydF4y2Ba

Pad序列gydF4y2Ba

如果指定序列长度gydF4y2Ba“最长的”gydF4y2Ba,然后软件填充序列,使小批中的所有序列与小批中最长的序列具有相同的长度。这个选项是默认的。gydF4y2Ba

下图说明了设置的效果gydF4y2Ba“SequenceLength”gydF4y2Ba来gydF4y2Ba“最长的”gydF4y2Ba.gydF4y2Ba

截短的序列gydF4y2Ba

如果指定序列长度gydF4y2Ba“最短的”gydF4y2Ba,然后软件截断序列,使一个小批中的所有序列与该小批中的最短序列具有相同的长度。序列中剩余的数据将被丢弃。gydF4y2Ba

下图说明了设置的效果gydF4y2Ba“SequenceLength”gydF4y2Ba来gydF4y2Ba“最短的”gydF4y2Ba.gydF4y2Ba

分割序列gydF4y2Ba

如果将序列长度设置为整数值,则软件将迷你批处理中的所有序列填充到指定长度的最近倍数,该倍数大于迷你批处理中的最长序列长度。然后,软件将每个序列分割成指定长度的更小的序列。如果发生分裂,则软件创建额外的小批量。gydF4y2Ba

如果完整序列无法装入内存,则使用此选项。或者,您可以尝试通过设置gydF4y2Ba“MiniBatchSize”gydF4y2Ba选项gydF4y2BatrainingOptionsgydF4y2Ba到一个更低的值。gydF4y2Ba

如果指定序列长度为正整数,则软件将在连续迭代中处理较小的序列。网络更新分裂序列之间的网络状态。gydF4y2Ba

下图说明了设置的效果gydF4y2Ba“SequenceLength”gydF4y2Ba5。gydF4y2Ba

指定填充方向gydF4y2Ba

填充和截断的位置可能会影响训练、分类和预测精度。请尝试设置gydF4y2Ba“SequencePaddingDirection”gydF4y2Ba选项gydF4y2BatrainingOptionsgydF4y2Ba来gydF4y2Ba“左”gydF4y2Ba或gydF4y2Ba“对”gydF4y2Ba看看哪个对你的数据最好。gydF4y2Ba

因为LSTM层处理序列数据的时间一步一次,当层gydF4y2BaOutputModegydF4y2Ba财产是gydF4y2Ba“最后一次”gydF4y2Ba,最后时间步骤中的任何填充都会对层输出产生负面影响。要在左侧填充或截断序列数据,请设置gydF4y2Ba“SequencePaddingDirection”gydF4y2Ba选择gydF4y2Ba“左”gydF4y2Ba.gydF4y2Ba

对于序列到序列网络(当gydF4y2BaOutputModegydF4y2Ba财产是gydF4y2Ba“序列”gydF4y2Ba对于每个LSTM层),第一个时间步骤中的任何填充都会对较早时间步骤的预测产生负面影响。要在右侧填充或截断序列数据,请设置gydF4y2Ba“SequencePaddingDirection”gydF4y2Ba选择gydF4y2Ba“对”gydF4y2Ba.gydF4y2Ba

下图说明了左侧和右侧的填充序列数据。gydF4y2Ba

下面的图说明了在左侧和右侧截断序列数据。gydF4y2Ba

规范化序列数据gydF4y2Ba

若要在训练时使用零中心归一化自动重定向训练数据,请设置gydF4y2Ba归一化gydF4y2Ba选择gydF4y2BasequenceInputLayergydF4y2Ba来gydF4y2Ba“zerocenter”gydF4y2Ba。或者,您可以通过首先计算所有序列的每个特征平均值和标准偏差来规范化序列数据。然后,对于每个训练观察,减去平均值并除以标准偏差。gydF4y2Ba

μ=意味着([XTrain {:}), 2);σ=性病([XTrain {}):, 0, 2);XTrain = cellfun(@(X) (X-mu)./sigma,gydF4y2Ba“UniformOutput”gydF4y2Ba、假);gydF4y2Ba

内存不足的数据gydF4y2Ba

当数据太大而无法放入内存或在读取数据时执行特定操作时,使用数据存储来存储序列、时间序列和信号数据。gydF4y2Ba

想要了解更多,请看gydF4y2Ba使用内存外序列数据的列车网络gydF4y2Ba和gydF4y2Ba使用深度学习对内存不足的文本数据进行分类gydF4y2Ba.gydF4y2Ba

可视化gydF4y2Ba

通过对序列和时间序列数据的激活提取,研究并可视化LSTM网络学习到的特征gydF4y2Ba激活gydF4y2Ba函数。想要了解更多,请看gydF4y2Ba可视化LSTM网络的激活gydF4y2Ba.gydF4y2Ba

LSTM层架构gydF4y2Ba

此图说明了时间序列的流程gydF4y2BaXgydF4y2Ba与gydF4y2BaCgydF4y2Ba长度特征(通道)gydF4y2Ba年代gydF4y2Ba通过LSTM层。在图中,gydF4y2Ba hgydF4y2Ba tgydF4y2Ba 和gydF4y2Ba cgydF4y2Ba tgydF4y2Ba 表示输出(也称为gydF4y2Ba隐藏状态gydF4y2Ba)和gydF4y2Ba细胞状态gydF4y2Ba在时间步gydF4y2BatgydF4y2Ba,分别。gydF4y2Ba

第一个LSTM块使用网络的初始状态和序列的第一个时间步长来计算第一个输出和更新的cell状态。在时间步gydF4y2BatgydF4y2Ba,块使用网络的当前状态gydF4y2Ba (gydF4y2Ba cgydF4y2Ba tgydF4y2Ba −gydF4y2Ba 1gydF4y2Ba ,gydF4y2Ba hgydF4y2Ba tgydF4y2Ba −gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba 和下一个时间步长序列来计算输出和更新的单元格状态gydF4y2Ba cgydF4y2Ba tgydF4y2Ba .gydF4y2Ba

层的状态由gydF4y2Ba隐藏状态gydF4y2Ba(又称gydF4y2Ba输出状态gydF4y2Ba)和gydF4y2Ba细胞状态gydF4y2Ba.时间步长的隐藏状态gydF4y2BatgydF4y2Ba包含此时间步的LSTM层的输出。单元格状态包含从以前的时间步学习到的信息。在每个时间步,该层向单元格状态添加信息或从中删除信息。该层使用gydF4y2Ba盖茨gydF4y2Ba.gydF4y2Ba

下面的组件控制层的单元格状态和隐藏状态。gydF4y2Ba

组件gydF4y2Ba 目的gydF4y2Ba
输入门(gydF4y2Ba我gydF4y2Ba)gydF4y2Ba 单元格状态更新的控制级别gydF4y2Ba
忘记门(gydF4y2BafgydF4y2Ba)gydF4y2Ba 单元状态重置的控制级别(忘记)gydF4y2Ba
细胞的候选人(gydF4y2BaggydF4y2Ba)gydF4y2Ba 向单元格状态添加信息gydF4y2Ba
输出门(gydF4y2BaogydF4y2Ba)gydF4y2Ba 添加到隐藏状态的单元格状态的控制级别gydF4y2Ba

此图说明了时间步长的数据流gydF4y2BatgydF4y2Ba.该图突出显示了门是如何忘记、更新和输出单元格和隐藏状态的。gydF4y2Ba

LSTM层的可学习权值就是输入权值gydF4y2BaWgydF4y2Ba(gydF4y2BaInputWeightsgydF4y2Ba),循环权重gydF4y2BaRgydF4y2Ba(gydF4y2BaRecurrentWeightsgydF4y2Ba),以及偏见gydF4y2BabgydF4y2Ba(gydF4y2Ba偏见gydF4y2Ba).的矩阵gydF4y2BaWgydF4y2Ba,gydF4y2BaRgydF4y2Ba,gydF4y2BabgydF4y2Ba分别为输入权值、循环权值和每个分量的偏置的串联。这些矩阵连接如下:gydF4y2Ba

WgydF4y2Ba =gydF4y2Ba [gydF4y2Ba WgydF4y2Ba 我gydF4y2Ba WgydF4y2Ba fgydF4y2Ba WgydF4y2Ba ggydF4y2Ba WgydF4y2Ba ogydF4y2Ba ]gydF4y2Ba ,gydF4y2Ba RgydF4y2Ba =gydF4y2Ba [gydF4y2Ba RgydF4y2Ba 我gydF4y2Ba RgydF4y2Ba fgydF4y2Ba RgydF4y2Ba ggydF4y2Ba RgydF4y2Ba ogydF4y2Ba ]gydF4y2Ba ,gydF4y2Ba bgydF4y2Ba =gydF4y2Ba [gydF4y2Ba bgydF4y2Ba 我gydF4y2Ba bgydF4y2Ba fgydF4y2Ba bgydF4y2Ba ggydF4y2Ba bgydF4y2Ba ogydF4y2Ba ]gydF4y2Ba ,gydF4y2Ba

在哪里gydF4y2Ba我gydF4y2Ba,gydF4y2BafgydF4y2Ba,gydF4y2BaggydF4y2Ba,gydF4y2BaogydF4y2Ba分别表示输入门、遗忘门、细胞候选门和输出门。gydF4y2Ba

单元格在时间步长的状态gydF4y2BatgydF4y2Ba是由gydF4y2Ba

cgydF4y2Ba tgydF4y2Ba =gydF4y2Ba fgydF4y2Ba tgydF4y2Ba ⊙gydF4y2Ba cgydF4y2Ba tgydF4y2Ba −gydF4y2Ba 1gydF4y2Ba +gydF4y2Ba 我gydF4y2Ba tgydF4y2Ba ⊙gydF4y2Ba ggydF4y2Ba tgydF4y2Ba ,gydF4y2Ba

在哪里gydF4y2Ba ⊙gydF4y2Ba 表示Hadamard积(向量的元素乘法)。gydF4y2Ba

时间步长的隐藏状态gydF4y2BatgydF4y2Ba是由gydF4y2Ba

hgydF4y2Ba tgydF4y2Ba =gydF4y2Ba ogydF4y2Ba tgydF4y2Ba ⊙gydF4y2Ba σgydF4y2Ba cgydF4y2Ba (gydF4y2Ba cgydF4y2Ba tgydF4y2Ba )gydF4y2Ba ,gydF4y2Ba

在哪里gydF4y2Ba σgydF4y2Ba cgydF4y2Ba 表示状态激活函数。的gydF4y2Ba第一层gydF4y2Ba缺省情况下,Function使用双曲正切函数(tanh)来计算状态激活函数。gydF4y2Ba

下面的公式描述了时间步长的分量gydF4y2BatgydF4y2Ba.gydF4y2Ba

组件gydF4y2Ba 公式gydF4y2Ba
输入门gydF4y2Ba 我gydF4y2Ba tgydF4y2Ba =gydF4y2Ba σgydF4y2Ba ggydF4y2Ba (gydF4y2Ba WgydF4y2Ba 我gydF4y2Ba xgydF4y2Ba tgydF4y2Ba +gydF4y2Ba RgydF4y2Ba 我gydF4y2Ba hgydF4y2Ba tgydF4y2Ba −gydF4y2Ba 1gydF4y2Ba +gydF4y2Ba bgydF4y2Ba 我gydF4y2Ba )gydF4y2Ba
忘记门gydF4y2Ba fgydF4y2Ba tgydF4y2Ba =gydF4y2Ba σgydF4y2Ba ggydF4y2Ba (gydF4y2Ba WgydF4y2Ba fgydF4y2Ba xgydF4y2Ba tgydF4y2Ba +gydF4y2Ba RgydF4y2Ba fgydF4y2Ba hgydF4y2Ba tgydF4y2Ba −gydF4y2Ba 1gydF4y2Ba +gydF4y2Ba bgydF4y2Ba fgydF4y2Ba )gydF4y2Ba
细胞的候选人gydF4y2Ba ggydF4y2Ba tgydF4y2Ba =gydF4y2Ba σgydF4y2Ba cgydF4y2Ba (gydF4y2Ba WgydF4y2Ba ggydF4y2Ba xgydF4y2Ba tgydF4y2Ba +gydF4y2Ba RgydF4y2Ba ggydF4y2Ba hgydF4y2Ba tgydF4y2Ba −gydF4y2Ba 1gydF4y2Ba +gydF4y2Ba bgydF4y2Ba ggydF4y2Ba )gydF4y2Ba
输出门gydF4y2Ba ogydF4y2Ba tgydF4y2Ba =gydF4y2Ba σgydF4y2Ba ggydF4y2Ba (gydF4y2Ba WgydF4y2Ba ogydF4y2Ba xgydF4y2Ba tgydF4y2Ba +gydF4y2Ba RgydF4y2Ba ogydF4y2Ba hgydF4y2Ba tgydF4y2Ba −gydF4y2Ba 1gydF4y2Ba +gydF4y2Ba bgydF4y2Ba ogydF4y2Ba )gydF4y2Ba

在这些计算,gydF4y2Ba σgydF4y2Ba ggydF4y2Ba 表示门激活函数。的gydF4y2Ba第一层gydF4y2Ba函数,默认情况下,使用s形函数gydF4y2Ba σgydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba =gydF4y2Ba (gydF4y2Ba 1gydF4y2Ba +gydF4y2Ba egydF4y2Ba −gydF4y2Ba xgydF4y2Ba )gydF4y2Ba −gydF4y2Ba 1gydF4y2Ba 计算门激活函数。gydF4y2Ba

工具书类gydF4y2Ba

S. Hochreiter和J. Schmidhuber。“长短期记忆。”gydF4y2Ba神经计算gydF4y2Ba.1997年第9卷第8期,第1735 - 1780页。gydF4y2Ba

另请参阅gydF4y2Ba

|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba(文本分析工具箱)gydF4y2Ba|gydF4y2Ba

相关的话题gydF4y2Ba