长-短期记忆网络gydF4y2Ba

本主题说明如何使用长短期记忆(LSTM)网络的分类和回归任务的顺序和时间序列数据的工作。为示出如何将序列数据使用LSTM网络进行分类,看一个例子gydF4y2Ba序划分使用Deep学习gydF4y2Ba。gydF4y2Ba

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

LSTM网络体系结构gydF4y2Ba

LSTM网络的核心组件是一个序列输入层和一个LSTM层。一个gydF4y2Ba序列输入层gydF4y2Ba输入序列或时间序列数据到网络中。一个gydF4y2BaLSTM层gydF4y2Ba序列数据的时间步长之间获悉长期依赖性。gydF4y2Ba

此图演示了用于分类的简单LSTM网络的体系结构。网络从一个序列输入层开始,然后是一个LSTM层。为了预测类标签,该网络以一个完全连接层、一个softmax层和一个分类输出层结束。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) fullyConnectedLayer(numClasses);gydF4y2Ba

有关说明如何来训练LSTM网络用于序列对标签分类和分类的新数据,看一个例子gydF4y2Ba序划分使用Deep学习gydF4y2Ba。gydF4y2Ba

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

numFeatures = 12;numHiddenUnits = 100;numClasses = 9;层= [gydF4y2Ba…gydF4y2BasequenceInputLayer numFeatures lstmLayer (numHiddenUnits,gydF4y2Ba“OutputMode”gydF4y2Ba,gydF4y2Ba“序列”gydF4y2Ba) fullyConnectedLayer(numClasses);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

输入大小= [28 28 1];filterSize = 5;numFilters = 20;numHiddenUnits = 200;numClasses = 10;层= [gydF4y2Ba…gydF4y2BasequenceInputLayer (inputSizegydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“输入”gydF4y2Ba) sequenceFoldingLayer (gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“折”gydF4y2Ba) convolution2dLayer (filterSize numFilters,gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“conv”gydF4y2Ba) batchNormalizationLayer (gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Babn的gydF4y2Ba) reluLayer (gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba'RELU'gydF4y2Ba) sequenceUnfoldingLayer (gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba'展开'gydF4y2Ba) flattenLayer (gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“平”gydF4y2Ba) lstmLayer (numHiddenUnitsgydF4y2Ba“OutputMode”gydF4y2Ba,gydF4y2Ba“最后一次”gydF4y2Ba,gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“lstm”gydF4y2Ba)fullyConnectedLayer(numClasses,gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba'FC'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层之后插入dropout层。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) fullyConnectedLayer(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) fullyConnectedLayer(numClasses) softmaxLayer classificationLayer];gydF4y2Ba

层gydF4y2Ba

层gydF4y2Ba 描述gydF4y2Ba

sequenceInputLayergydF4y2Ba

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

lstmLayergydF4y2Ba

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

bilstmLayergydF4y2Ba

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

gruLayergydF4y2Ba

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

sequenceFoldingLayergydF4y2Ba

序列折叠层一批图像序列转换成一批图像。使用序列折叠层上独立地图像序列的时间步长执行卷积运算。gydF4y2Ba

sequenceUnfoldingLayergydF4y2Ba

序列展开层恢复序列的折叠后的所述输入数据的序列结构。gydF4y2Ba

flattenLayergydF4y2Ba

甲压平层合拢输入的空间尺寸到通道尺寸。gydF4y2Ba

wordEmbeddingLayergydF4y2Ba(文本分析工具箱)gydF4y2Ba

嵌入层A字字索引映射到向量。gydF4y2Ba

分类、预测和预测gydF4y2Ba

分类或作出新的数据,使用预测gydF4y2Ba分类gydF4y2Ba和gydF4y2Ba预测gydF4y2Ba。gydF4y2Ba

LSTM网络可以记住预测之间的网络状态。网络状态是有用的,当你没有完整的提前时间序列,或如果你想让多个长时间序列预测。gydF4y2Ba

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

有关显示如何预测序列未来时间步长的示例,请参见gydF4y2Ba时间序列预测使用Deep学习gydF4y2Ba。gydF4y2Ba

序列填充、截断和分割gydF4y2Ba

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

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

按长度排序序列gydF4y2Ba

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

sequenceLengths = cellfun(@(X)尺寸(X,2),XTrain);[sequenceLengthsSorted,IDX] =排序(sequenceLengths);XTrain = XTrain(IDX);gydF4y2Ba

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

垫序列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块使用网络的初始状态和序列的第一个时间步长来计算第一个输出和更新的单元状态。在时间步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 表示状态激活函数。的gydF4y2BalstmLayergydF4y2Ba函数,默认情况下,使用双曲正切函数(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 为门激活函数。的gydF4y2BalstmLayergydF4y2Ba函数,默认情况下,使用s型函数gydF4y2Ba σgydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba =gydF4y2Ba (gydF4y2Ba 1gydF4y2Ba +gydF4y2Ba egydF4y2Ba -gydF4y2Ba xgydF4y2Ba )gydF4y2Ba -gydF4y2Ba 1gydF4y2Ba 计算门激活函数。gydF4y2Ba

参考文献gydF4y2Ba

[1] Hochreiter, S。,。的j。施密德胡贝尔表示“长短期记忆。”gydF4y2Ba神经计算gydF4y2Ba。1997年第9卷第8期1735 - 1780页gydF4y2Ba

另请参阅gydF4y2Ba

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

相关话题gydF4y2Ba