主要内容GydF4y2Ba

长期短期内存网络GydF4y2Ba

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

LSTM网络是一种复发性神经网络(RNN),可以学习序列数据的时间步长之间的长期依赖性。GydF4y2Ba

LSTM网络体系结构GydF4y2Ba

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

该图说明了用于分类的简单LSTM网络的体系结构。网络从序列输入层开始,然后是LSTM层。为了预测类标签,网络以完全连接的图层,软MAX层和分类输出层结尾。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(numhidentunits,GydF4y2Ba“OutputMode”GydF4y2Ba那GydF4y2Ba'最后的'GydF4y2Ba)SoftmaxLayer分类层全连接列(NumClasses)];GydF4y2Ba

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

要创建用于序列到序列分类的LSTM网络,请使用与序列到标签分类相同的架构,但设置LSTM层的输出模式为GydF4y2Ba'序列'GydF4y2Ba.GydF4y2Ba

numFeatures = 12;numHiddenUnits = 100;numClasses = 9;层= [GydF4y2Ba...GydF4y2BaSequenceInputlayer(NumFeatures)LSTMLAYER(numhidentunits,GydF4y2Ba“OutputMode”GydF4y2Ba那GydF4y2Ba'序列'GydF4y2Ba)SoftmaxLayer分类层全连接列(NumClasses)];GydF4y2Ba

回归LSTM网络GydF4y2Ba

为了创建用于序列到一个回归的LSTM网络,创建包含序列输入层,LSTM层,完全连接层和回归输出层的层数组。GydF4y2Ba

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

对于LSTM层,指定隐藏单元的数量和输出模式GydF4y2Ba'最后的'GydF4y2Ba.GydF4y2Ba

numFeatures = 12;numHiddenUnits = 125;numResponses = 1;层= [GydF4y2Ba...GydF4y2BaSequenceInputlayer(NumFeatures)LSTMLAYER(numhidentunits,GydF4y2Ba“OutputMode”GydF4y2Ba那GydF4y2Ba'最后的'GydF4y2Ba) fullyConnectedLayer (numResponses) regressionLayer];GydF4y2Ba

要创建序列到序列回归的LSTM网络,使用与序列到一回归相同的架构,但设置LSTM层的输出模式为GydF4y2Ba'序列'GydF4y2Ba.GydF4y2Ba

numFeatures = 12;numHiddenUnits = 125;numResponses = 1;层= [GydF4y2Ba...GydF4y2BaSequenceInputlayer(NumFeatures)LSTMLAYER(numhidentunits,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(输入,GydF4y2Ba'姓名'GydF4y2Ba那GydF4y2Ba'输入'GydF4y2Ba) sequenceFoldingLayer (GydF4y2Ba'姓名'GydF4y2Ba那GydF4y2Ba'折叠'GydF4y2Ba) convolution2dLayer (filterSize numFilters,GydF4y2Ba'姓名'GydF4y2Ba那GydF4y2Ba“conv”GydF4y2Ba) batchNormalizationLayer (GydF4y2Ba'姓名'GydF4y2Ba那GydF4y2Babn的GydF4y2Ba)剥离(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 (numClassesGydF4y2Ba'姓名'GydF4y2Ba那GydF4y2Ba“俱乐部”GydF4y2Ba) softmaxLayer (GydF4y2Ba'姓名'GydF4y2Ba那GydF4y2Ba“softmax”GydF4y2Ba) classificationLayer (GydF4y2Ba'姓名'GydF4y2Ba那GydF4y2Ba“分类”GydF4y2Ba));GydF4y2Ba

将层转换为层图并连接GydF4y2Ba小匹匹匹匹配GydF4y2Ba序列折叠层的输出到序列展开层的相应输入。GydF4y2Ba

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

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

更深层次的LSTM网络GydF4y2Ba

通过插入带有输出模式的额外LSTM层,可以使LSTM网络更深入GydF4y2Ba'序列'GydF4y2BaLSTM层之前。为了防止过拟合,可以在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(NumHiddenUnits2,GydF4y2Ba“OutputMode”GydF4y2Ba那GydF4y2Ba'最后的'GydF4y2Ba)DropoutLayer(0.2)全连接列(NumClasses)SoftmaxLayer分类层];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(NumHiddenUnits2,GydF4y2Ba“OutputMode”GydF4y2Ba那GydF4y2Ba'序列'GydF4y2Ba)DropoutLayer(0.2)全连接列(NumClasses)SoftmaxLayer分类层];GydF4y2Ba

层GydF4y2Ba

层GydF4y2Ba 描述GydF4y2Ba

sequenceInputLayerGydF4y2Ba

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

lstmLayerGydF4y2Ba

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

bilstmLayerGydF4y2Ba

双向LSTM(BILSTM)层学习时间序列或序列数据的时间步长之间的双向长期依赖性。当您希望网络在每次步骤中从完整的时间序列中学习时,这些依赖项可能是有用的。GydF4y2Ba

grulayer.GydF4y2Ba

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

convolution1dLayerGydF4y2Ba

1-D卷积层将滑动卷积滤波器应用于1-D输入。GydF4y2Ba

maxpooling1dlayer.GydF4y2Ba

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

averagePooling1dLayerGydF4y2Ba

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

GlobalMaxPooling1dlayer.GydF4y2Ba

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

SequenceFoldingLayer.GydF4y2Ba

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

sequencfoldinglayer.GydF4y2Ba

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

Flattenlayer.GydF4y2Ba

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

wordEmbeddingLayerGydF4y2Ba(文本分析工具箱)GydF4y2Ba

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

分类、预测和预测GydF4y2Ba

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

LSTM网络可以记住网络在预测之间的状态。当您没有预先得到完整的时间序列,或者您想对一个长时间序列进行多次预测时,网络状态是很有用的。GydF4y2Ba

为了对时间序列的部分进行预测和分类,并更新网络状态,使用GydF4y2BapredictAndUpdateStateGydF4y2Ba和GydF4y2BaclassifyAndUpdateStateGydF4y2Ba.若要重置预测之间的网络状态,请使用GydF4y2BaresetStateGydF4y2Ba.GydF4y2Ba

有关如何预测序列的未来时间步长的示例,请参见GydF4y2Ba基于深度学习的时间序列预测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) size(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”GydF4y2Ba到5。GydF4y2Ba

填充指定方向GydF4y2Ba

填充和截断的位置会影响训练、分类和预测的准确性。尝试设置GydF4y2Ba“SequencePaddingDirection”GydF4y2Ba选项GydF4y2BatrainingOptionsGydF4y2Ba来GydF4y2Ba“左”GydF4y2Ba或GydF4y2Ba“对”GydF4y2Ba看看哪个对你的数据最好。GydF4y2Ba

因为LSTM层处理序列数据的时间一步一次,当层GydF4y2Baoutputmode.GydF4y2Ba属性是GydF4y2Ba'最后的'GydF4y2Ba,最终时间步骤中的任何填充都可以对图层输出产生负面影响。键入或截断左侧序列数据,设置GydF4y2Ba“SequencePaddingDirection”GydF4y2Ba选项GydF4y2Ba“左”GydF4y2Ba.GydF4y2Ba

用于序列到序列网络(当GydF4y2Baoutputmode.GydF4y2Ba属性是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长度特征(通道)GydF4y2BaS.GydF4y2Ba通过LSTM层。在图中,GydF4y2Ba HGydF4y2Ba T.GydF4y2Ba 和GydF4y2Ba CGydF4y2Ba T.GydF4y2Ba 表示输出(也称为GydF4y2Ba隐藏状态GydF4y2Ba)和GydF4y2Ba细胞状态GydF4y2Ba在时间步GydF4y2BaT.GydF4y2Ba, 分别。GydF4y2Ba

第一LSTM块使用网络的初始状态和序列的第一次步骤来计算第一输出和更新的小区状态。在时间步骤GydF4y2BaT.GydF4y2Ba,该块使用当前的网络状态GydF4y2Ba (GydF4y2Ba CGydF4y2Ba T.GydF4y2Ba −GydF4y2Ba 1GydF4y2Ba 那GydF4y2Ba HGydF4y2Ba T.GydF4y2Ba −GydF4y2Ba 1GydF4y2Ba 的)GydF4y2Ba 以及序列的下次步骤计算输出和更新的单元格状态GydF4y2Ba CGydF4y2Ba T.GydF4y2Ba .GydF4y2Ba

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

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

成分GydF4y2Ba 目的GydF4y2Ba
输入门(GydF4y2Ba一世GydF4y2Ba的)GydF4y2Ba 单元格状态更新的控制级别GydF4y2Ba
忘记门(GydF4y2BaFGydF4y2Ba的)GydF4y2Ba 单元格状态重置的控制级别(忘记)GydF4y2Ba
细胞的候选人(GydF4y2BaGGydF4y2Ba的)GydF4y2Ba 将信息添加到单元格状态GydF4y2Ba
输出门(GydF4y2BaO.GydF4y2Ba的)GydF4y2Ba 控制隐藏状态的单元格状态控制级别GydF4y2Ba

该图说明了时间步骤的数据流GydF4y2BaT.GydF4y2Ba.该图突出显示盖茨如何忘记,更新和输出单元格和隐藏状态。GydF4y2Ba

LSTM层的可学习权值就是输入权值GydF4y2BaW.GydF4y2Ba(GydF4y2Ba输入重量GydF4y2Ba),复发重量GydF4y2BaR.GydF4y2Ba(GydF4y2Ba经常性重量GydF4y2Ba),以及偏见GydF4y2BaB.GydF4y2Ba(GydF4y2Ba偏见GydF4y2Ba).的矩阵GydF4y2BaW.GydF4y2Ba那GydF4y2BaR.GydF4y2Ba,GydF4y2BaB.GydF4y2Ba分别为输入权值、循环权值和每个分量的偏置的串联。这些矩阵连接如下:GydF4y2Ba

W.GydF4y2Ba =GydF4y2Ba [GydF4y2Ba W.GydF4y2Ba 一世GydF4y2Ba W.GydF4y2Ba FGydF4y2Ba W.GydF4y2Ba GGydF4y2Ba W.GydF4y2Ba O.GydF4y2Ba ]GydF4y2Ba 那GydF4y2Ba R.GydF4y2Ba =GydF4y2Ba [GydF4y2Ba R.GydF4y2Ba 一世GydF4y2Ba R.GydF4y2Ba FGydF4y2Ba R.GydF4y2Ba GGydF4y2Ba R.GydF4y2Ba O.GydF4y2Ba ]GydF4y2Ba 那GydF4y2Ba B.GydF4y2Ba =GydF4y2Ba [GydF4y2Ba B.GydF4y2Ba 一世GydF4y2Ba B.GydF4y2Ba FGydF4y2Ba B.GydF4y2Ba GGydF4y2Ba B.GydF4y2Ba O.GydF4y2Ba ]GydF4y2Ba 那GydF4y2Ba

在哪里GydF4y2Ba一世GydF4y2Ba那GydF4y2BaFGydF4y2Ba那GydF4y2BaGGydF4y2Ba,GydF4y2BaO.GydF4y2Ba分别表示输入门、遗忘门、细胞候选门和输出门。GydF4y2Ba

单元格在时间步长的状态GydF4y2BaT.GydF4y2Ba是由GydF4y2Ba

CGydF4y2Ba T.GydF4y2Ba =GydF4y2Ba FGydF4y2Ba T.GydF4y2Ba ⊙GydF4y2Ba CGydF4y2Ba T.GydF4y2Ba −GydF4y2Ba 1GydF4y2Ba +GydF4y2Ba 一世GydF4y2Ba T.GydF4y2Ba ⊙GydF4y2Ba GGydF4y2Ba T.GydF4y2Ba 那GydF4y2Ba

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

时间步长的隐藏状态GydF4y2BaT.GydF4y2Ba是由GydF4y2Ba

HGydF4y2Ba T.GydF4y2Ba =GydF4y2Ba O.GydF4y2Ba T.GydF4y2Ba ⊙GydF4y2Ba σGydF4y2Ba CGydF4y2Ba (GydF4y2Ba CGydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba 那GydF4y2Ba

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

下面的公式描述了时间步长的分量GydF4y2BaT.GydF4y2Ba.GydF4y2Ba

成分GydF4y2Ba 公式GydF4y2Ba
输入门GydF4y2Ba 一世GydF4y2Ba T.GydF4y2Ba =GydF4y2Ba σGydF4y2Ba GGydF4y2Ba (GydF4y2Ba W.GydF4y2Ba 一世GydF4y2Ba XGydF4y2Ba T.GydF4y2Ba +GydF4y2Ba R.GydF4y2Ba 一世GydF4y2Ba HGydF4y2Ba T.GydF4y2Ba −GydF4y2Ba 1GydF4y2Ba +GydF4y2Ba B.GydF4y2Ba 一世GydF4y2Ba 的)GydF4y2Ba
忘记门GydF4y2Ba FGydF4y2Ba T.GydF4y2Ba =GydF4y2Ba σGydF4y2Ba GGydF4y2Ba (GydF4y2Ba W.GydF4y2Ba FGydF4y2Ba XGydF4y2Ba T.GydF4y2Ba +GydF4y2Ba R.GydF4y2Ba FGydF4y2Ba HGydF4y2Ba T.GydF4y2Ba −GydF4y2Ba 1GydF4y2Ba +GydF4y2Ba B.GydF4y2Ba FGydF4y2Ba 的)GydF4y2Ba
细胞的候选人GydF4y2Ba GGydF4y2Ba T.GydF4y2Ba =GydF4y2Ba σGydF4y2Ba CGydF4y2Ba (GydF4y2Ba W.GydF4y2Ba GGydF4y2Ba XGydF4y2Ba T.GydF4y2Ba +GydF4y2Ba R.GydF4y2Ba GGydF4y2Ba HGydF4y2Ba T.GydF4y2Ba −GydF4y2Ba 1GydF4y2Ba +GydF4y2Ba B.GydF4y2Ba GGydF4y2Ba 的)GydF4y2Ba
输出门GydF4y2Ba O.GydF4y2Ba T.GydF4y2Ba =GydF4y2Ba σGydF4y2Ba GGydF4y2Ba (GydF4y2Ba W.GydF4y2Ba O.GydF4y2Ba XGydF4y2Ba T.GydF4y2Ba +GydF4y2Ba R.GydF4y2Ba O.GydF4y2Ba HGydF4y2Ba T.GydF4y2Ba −GydF4y2Ba 1GydF4y2Ba +GydF4y2Ba B.GydF4y2Ba O.GydF4y2Ba 的)GydF4y2Ba

在这些计算,GydF4y2Ba σGydF4y2Ba GGydF4y2Ba 表示门激活函数。的GydF4y2BalstmLayerGydF4y2Ba默认情况下,函数使用由SigMoid函数给出GydF4y2Ba σGydF4y2Ba (GydF4y2Ba XGydF4y2Ba 的)GydF4y2Ba =GydF4y2Ba (GydF4y2Ba 1GydF4y2Ba +GydF4y2Ba E.GydF4y2Ba −GydF4y2Ba XGydF4y2Ba 的)GydF4y2Ba −GydF4y2Ba 1GydF4y2Ba 计算门激活函数。GydF4y2Ba

参考文献GydF4y2Ba

[1] Hochreiter,S.和J. Schmidhuber。“短期内存。”GydF4y2Ba神经计算GydF4y2Ba.1997年第9卷第8期,第1735 - 1780页。GydF4y2Ba

也可以看看GydF4y2Ba

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

相关的话题GydF4y2Ba