长短期记忆(LSTM)层
LSTM层学习时间序列和序列数据中时间步长之间的长期依赖关系。
该层执行附加交互,这有助于在训练过程中改善长序列的梯度流。
努米登单位
- - - - - -隐藏单元的数量(也称为隐藏大小),指定为正整数。 隐藏单元的数量对应于时间步骤(隐藏状态)之间所记忆的信息量。隐藏状态可以包含所有以前的时间步骤的信息,而不管序列的长度。如果隐藏单元的数量太大,那么该层可能会过度适合训练数据。这个值从几十个到几千个不等。 隐藏状态不限制迭代中处理的时间步骤的数量。将你的序列分割成更小的序列进行训练,使用 例子:“SequenceLength”
trainingOptions
OutputMode
- - - - - -“序列”
(默认)|“最后一次”
输出模式,指定为以下方式之一:
“序列”
“最后一次”
HasStateInputs
- - - - - -0(假)(默认)|1(真正的)
该层的状态输入标志,指定为 如果 如果
HasStateOutputs
- - - - - -0(假)(默认)|1(真正的)
图层状态输出的标志,指定为 如果 如果
InputSize
- - - - - -“汽车”
(默认)|输入大小,指定为正整数或 例子:
状态激活函数
- - - - - -的双曲正切
(默认)|“softsign”
激活函数来更新单元格和隐藏状态,指定为如下之一: 图层使用这个选项作为函数
的双曲正切
“softsign”
GateActivationFunction
- - - - - -“乙状结肠”
(默认)|“hard-sigmoid”
激活功能,以适用于门,指定为以下之一:
图层使用这个选项作为函数
“乙状结肠”
“hard-sigmoid”
CellState
- - - - - -在层操作中使用的单元格状态,指定为 在手动设置此属性之后,调用 如果
HiddenState
- - - - - -要在层操作中使用的隐藏状态,指定为 在手动设置此属性之后,调用 如果
输入加重器
- - - - - -“glorot”
(默认)|“他”
“正交”
“narrow-normal”|“零”|“的”|函数处理
函数初始化输入权值,指定为以下其中之一: 函数句柄–使用自定义函数初始化输入权重。如果指定函数句柄,则函数的形式必须为 属性时,该层才初始化输入权重 数据类型:
“glorot”
“他”
“正交”
“narrow-normal”
“零”
“的”
字符
RecurrentWeightsInitializer
- - - - - -“正交”
(默认)|“glorot”
“他”
“narrow-normal”|“零”|“的”|函数处理
函数初始化递归权值,指定为: 函数句柄——用自定义函数初始化递归权值。如果指定函数句柄,则该函数必须是这种形式的 该层仅在 数据类型:
“正交”
“glorot”
“他”
“narrow-normal”
“零”
“的”
字符
BiasInitializer
- - - - - -“unit-forget-gate”
(默认)|“narrow-normal”
“的”
函数初始化偏差,指定为以下任意一个: 函数句柄——用自定义函数初始化偏差。如果指定函数句柄,则该函数必须是这种形式的 该层仅在 数据类型:
“unit-forget-gate”
“narrow-normal”
“的”
字符
InputWeights
- - - - - -[]
(默认)|输入权值,指定为一个矩阵。 输入权矩阵是LSTM层中组件(门)的四个输入权矩阵的串联。这四个矩阵按以下顺序垂直连接: 输入门 忘记门 细胞的候选人 输出门 输入权值是可学习的参数。当训练一个网络时,如果 在培训时,
trainNetwork
RecurrentWeights
- - - - - -[]
(默认)|递归权值,用矩阵表示。 递归权矩阵是LSTM层中各分量(门)的四个递归权矩阵的串联。这四个矩阵按以下顺序垂直连接: 输入门 忘记门 细胞的候选人 输出门 循环权值是可学习的参数。当训练一个网络时,如果 训练时
trainNetwork
偏见
- - - - - -[]
(默认)|LSTM层的层偏差,指定为数值向量。 偏置矢量是LSTM层中组件(门)的四个偏置矢量的串联。四个矢量按以下顺序垂直串联: 输入门 忘记门 细胞的候选人 输出门 层偏差是可学习的参数。当你训练一个网络,如果 在培训时,
trainNetwork
InputWeightsLearnRateFactor
- - - - - -输入权值的学习率因子,指定为数字标量或1 × 4数字向量。 该软件将该因子乘以全局学习率,以确定该层的输入权值的学习率因子。例如,如果 控制中四个独立矩阵的学习率因子的值 输入门 忘记门 细胞的候选人 输出门 要为所有矩阵指定相同的值,请指定一个非负标量。 例子: 例子:trainingOptions
2
[1 2 1 1]
RecurrentWeightsLearnRateFactor
- - - - - -递归权值的学习率因子,指定为数值标量或1 × 4数值向量。 该软件将这个因子乘以全局学习率,以确定该层的循环权值的学习率。例如,如果 控制中四个独立矩阵的学习率因子的值 输入门 忘记门 细胞的候选人 输出门 要为所有矩阵指定相同的值,请指定一个非负标量。 例子: 例子:trainingOptions
2
[1 2 1 1]
BiasLearnRateFactor
- - - - - -偏差的学习率因子,指定为非负标量或1 × 4数字向量。 软件将这个因子乘以全局学习率,以确定这一层偏差的学习率。例如,如果 控制中四个独立向量的学习率因子的值 输入门 忘记门 细胞的候选人 输出门 要为所有向量指定相同的值,请指定一个非负标量。 例子: 例子:trainingOptions
2
[1 2 1 1]
InputWeightsL2Factor
- - - - - -L2正则化因子的输入权值,指定为一个数字标量或1 × 4数字向量。 该软件将该因子乘以全局L2正则化因子,以确定L2正则化因子作为该层的输入权值。例如,如果 控制中四个单独矩阵的L2正则化因子的值 输入门 忘记门 细胞的候选人 输出门 要为所有矩阵指定相同的值,请指定一个非负标量。 例子: 例子:trainingOptions
2
[1 2 1 1]
RecurrentWeightsL2Factor
- - - - - -L2正则化因子的循环权值,指定为一个数字标量或1乘4的数字向量。 该软件将该因子乘以全局L2正则化因子,以确定L2正则化因子用于层的循环权值。例如,如果 控制中四个单独矩阵的L2正则化因子的值 输入门 忘记门 细胞的候选人 输出门 要为所有矩阵指定相同的值,请指定一个非负标量。 例子: 例子:trainingOptions
2
[1 2 1 1]
BiasL2Factor
- - - - - -偏差的L2正则化因子,指定为非负标量或1×4数值向量。 软件将这个因素乘以全球 以控制L2正则化因子的值为四个独立的向量 输入门 忘记门 细胞的候选人 输出门 要为所有向量指定相同的值,请指定一个非负标量。 例子: 例子:trainingOptions
2
[1 2 1 1]
名称
- - - - - -”
(默认)|层名,指定为字符向量或字符串标量。为
数据类型:字符
NumInputs
- - - - - -1
|3.
层的输入数。 如果 如果 数据类型:双
InputNames
- - - - - -{'在'}
|{‘在’,‘隐藏’,‘细胞’}
输入层名。 如果 如果
NumOutputs
- - - - - -1
|3.
层输出的数量。 如果 如果 数据类型:双
OutputNames
- - - - - -{“出”}
|{‘出来’,‘隐藏’,‘细胞’}
输出层的名称。 如果 如果
使用名称创建一个LSTM层 包含一个LSTM层层= lstmLayer (100
layer=LSTMLayer,属性:名称:'lstm1'输入名称:{'in'}输出名称:{'out'}NumInputs:1 NumOutputs:1 HasStateInputs:0 HasStateOutputs:0超参数InputSize:'auto'NUMHIDENUNITS:100 OutputMode:'sequence'状态激活函数:'tanh'门激活函数:'sigmoid'可学习参数输入权重:[]重复出现的权重:[]偏差:[]状态参数HiddenState:[]单元格状态:[]显示所有属性
inputSize = 12;numHiddenUnits = 100;numClasses = 9;层= [
layers=5x1带层的层阵列:1''序列输入12维序列输入2''LSTM LSTM带100个隐藏单元3''完全连接9完全连接层4''Softmax Softmax 5''分类输出crossentropyex
训练深度学习LSTM网络用于序列到标签的分类。 加载[1]和[2]中描述的日语元音数据集。 想象情节中的第一个时间序列。每一行对应一个特征。 定义LSTM网络架构。指定输入大小为12(输入数据的特征数量)。指定一个LSTM层有100个隐藏单元,并输出序列的最后一个元素。最后,通过包含大小为9的完全连接层、softmax层和分类层来指定9个类。 指定培训选项。指定求解器为 因为迷你批很小,序列很短,所以CPU更适合于训练。集 使用指定的培训选项培训LSTM网络。 加载测试集并将序列分类为扬声器。 对测试数据进行分类。指定与培训相同的小批量大小。 计算预测的分类精度。[XTrain,YTrain]=日本全球应变数据;
图绘制(XTrain{1}”)标题(
inputSize = 12;numHiddenUnits = 100;numClasses = 9;层= [
layers=5x1带层的层阵列:1''序列输入12维序列输入2''LSTM LSTM带100个隐藏单元3''完全连接9完全连接层4''Softmax Softmax 5''分类输出crossentropyex
maxEpochs = 70;miniBatchSize = 27个;选择= trainingOptions (
网= trainNetwork (XTrain、YTrain层,选择);
[XTest,欧美]= japaneseVowelsTestData;
XTest YPred =分类(净,
acc = sum(YPred == YTest)./numel(YTest)
acc=0.9568
要为序列标签分类创建LSTM网络,请创建包含序列输入层、LSTM层、完全连接层、softmax层和分类输出层的层阵列。 将序列输入层的大小设置为输入数据的特征数量。将完全连接层的大小设置为类的数量。您不需要指定序列长度。 对于LSTM层,指定隐藏单元数和输出模式 有关如何训练LSTM网络进行序列到标签分类和对新数据进行分类的示例,请参见 要创建用于序列到序列分类的LSTM网络,请使用与序列到标签分类相同的架构,但设置LSTM层的输出模式为numFeatures = 12;numHiddenUnits = 100;numClasses = 9;层= [
numFeatures = 12;numHiddenUnits = 100;numClasses = 9;层= [
要创建序列到一回归的LSTM网络,需要创建一个包含序列输入层、LSTM层、全连接层和回归输出层的层阵列。 将序列输入层的大小设置为输入数据的特征数量。将完全连接层的大小设置为响应的数量。您不需要指定序列长度。 对于LSTM层,指定隐藏单元数和输出模式 要创建序列到序列回归的LSTM网络,使用与序列到一回归相同的架构,但设置LSTM层的输出模式为 有关如何训练LSTM网络进行序列到序列回归和预测新数据的示例,请参见numFeatures = 12;numHiddenUnits = 125;numResponses = 1;层= [
numFeatures = 12;numHiddenUnits = 125;numResponses = 1;层= [
通过插入带有输出模式的额外LSTM层,可以使LSTM网络更深入 对于序列到标签的分类网络,最后一层LSTM的输出模式必须为 对于序列到序列分类网络,最后一层LSTM的输出模式必须为numFeatures=12;numhiddenuts1=125;numhiddenuts2=100;numclass=9;层=[
numFeatures=12;numhiddenuts1=125;numhiddenuts2=100;numclass=9;层=[
LSTM层学习时间序列和序列数据中时间步长之间的长期依赖关系。
层的状态由 下面的组件控制层的单元格状态和隐藏状态。 此图说明了时间步长的数据流 LSTM层的可学习权重是输入权重
哪里 单元格在时间步长的状态
哪里 时间步长的隐藏状态
哪里 下面的公式描述了时间步长的分量 在这些计算中,,
组件 目的
输入门( 单元格状态更新的控制级别
忘记门( 单元格状态重置的控制级别(忘记)
细胞的候选人( 向单元格状态添加信息
输出门( 添加到隐藏状态的单元格状态的控制级别
组件 公式
输入门
忘记门
细胞的候选人
输出门
层阵列或层图中的层传递指定为格式化的数据 你可以和他们互动 a支持的输入格式金宝app 在 中使用这些输入格式 如果 如果
输入格式 OutputMode
输出格式
“认知行为治疗”
“序列”
“认知行为治疗”
“最后一次”
“CB”
输入格式 OutputMode
输出格式
“SCBT”
“序列”
“认知行为治疗”
“最后一次”
“CB”
“SSCBT”
“序列”
“认知行为治疗”
“最后一次”
“CB”
“SSSCBT”
“序列”
“认知行为治疗”
“最后一次”
“CB”
行为在R2019a中改变
从R2019a开始,软件默认使用gloria初始化器初始化该层的层输入权值。这种行为有助于稳定训练,通常减少深度网络的训练时间。 在以前的版本中,默认情况下,该软件从均值为零、方差为0.01的正态分布中使用by抽样初始化层输入权值。要重现这种行为,请设置
行为在R2019a中改变
从R2019a开始,软件默认初始化该层的层循环权值 在以前的版本中,默认情况下,该软件使用平均值为零、方差为0.01的正态分布的by抽样初始化层循环权值。要重现这种行为,请设置
工藤、富山、新保。“使用通过区域的多维曲线分类”。
[2]
[3] Hochreiter, S,和J. Schmidhuber, 1997。短期记忆。
[4]格洛洛,泽维尔,还有约书亚·本吉奥。理解训练深度前馈神经网络的困难在
何开明,张翔宇,任少青,孙健深入研究整流器:在图像网分类上超越人类水平的表现。在
Saxe, Andrew M., James L. McClelland和Surya Ganguli。深度线性神经网金宝搏官方网站络中学习的非线性动力学的精确解
使用注意事项及限制:
使用Intel生成代码时 的 的 的
使用注意事项及限制: 对于GPU代码生成, 对于GPU代码生成, 的
trainingOptions
|trainNetwork
|sequenceInputLayer
|bilstmLayer
|gruLayer
|convolution1dLayer
|maxPooling1dLayer
|averagePooling1dLayer
|globalMaxPooling1dLayer
|globalAveragePooling1dLayer
|
你点击一个链接对应于这个MATLAB命令: 通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站以获取可用的翻译内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:
你也可以从以下列表中选择一个网站: 选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。如何获得最佳的站点性能
欧洲