长短期内存(LSTM)层
LSTM层在时间序列和序列数据中的时间步骤之间学习长期依赖性。
该层执行附加交互,这有助于在训练过程中改善长序列的梯度流。
NumHiddenUnits
- - - - - -隐藏单元的数量(也称为隐藏大小),指定为正整数。 隐藏单元的数量对应于时间步骤(隐藏状态)之间所记忆的信息量。隐藏状态可以包含所有以前的时间步骤的信息,而不管序列的长度。如果隐藏单元的数量太大,那么该层可能会过度适合训练数据。这个值从几十个到几千个不等。 隐藏状态不限制迭代中处理的时间步骤的数量。将你的序列分割成更小的序列进行训练,使用 例子:'sequencelength'
trainingOptions
OutputMode
- - - - - -'顺序'
(默认)|“最后一次”
输出格式,指定为下列格式之一:
'顺序'
“最后一次”
InputSize
- - - - - -“汽车”
(默认)|输入大小,指定为正整数或 例子:
atteactivationFunction.
- - - - - -'tanh'
(默认)|'softsign'
激活函数更新单元格和隐藏状态,指定为以下之一: 该层使用此选项作为函数
'tanh'
'softsign'
gateactivationfunction
- - - - - -“乙状结肠”
(默认)|“hard-sigmoid”
激活函数适用于门,指定为以下之一:
该层使用此选项作为函数
“乙状结肠”
“hard-sigmoid”
CellState
- - - - - -单元格状态的初始值,指定为a 设置此属性后,调用
HiddenState
- - - - - -隐藏状态的初始值,指定为 设置此属性后,调用
inputweightsinitializer
- - - - - -'glorot'
(默认)|'他'
“正交”
“narrow-normal”|“零”|“的”|函数处理
初始化输入权重的功能,指定为以下之一: 功能句柄 - 使用自定义功能初始化输入权重。如果指定函数句柄,则函数必须是表单 该层仅初始化输入权重 数据类型:
'glorot'
'他'
“正交”
“narrow-normal”
“零”
“的”
char
RecurrentWeightsInitializer
- - - - - -“正交”
(默认)|'glorot'
'他'
“narrow-normal”|“零”|“的”|函数处理
初始化复发权重的功能,指定为以下之一: 功能句柄 - 使用自定义功能初始化反复值。如果指定函数句柄,则函数必须是表单 该层仅初始化复发权重 数据类型:
“正交”
'glorot'
'他'
“narrow-normal”
“零”
“的”
char
BiasInitializer
- - - - - -'单位忘记门'
(默认)|“narrow-normal”
“的”
初始化偏差的函数,指定为以下之一: 功能句柄 - 使用自定义功能初始化偏差。如果指定函数句柄,则函数必须是表单 该图层仅初始化偏差时 数据类型:
'单位忘记门'
“narrow-normal”
“的”
char
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正则化因子来确定该层中偏差的L2正则化。例如,如果 控制四个单个向量的L2正则化因子的值 输入门 忘记门 细胞的候选人 输出门 要为所有向量指定相同的值,请指定非负标量。 例子: 例子:trainingOptions
2
[1 2 1 1]
名称
- - - - - -''
(默认)|图层名称,指定为字符向量或字符串标量。如果 数据类型:char
numinputs.
- - - - - -图层的输入数。此图层仅接受单个输入。 数据类型:双倍的
输入名称
- - - - - -{'在'}
(默认)图层的输入名称。此图层仅接受单个输入。 数据类型:细胞
NumOutputs
- - - - - -图层的输出数。此图层仅具有单个输出。 数据类型:双倍的
OutputNames
- - - - - -{“出”}
(默认)输出层的名称。此图层仅具有单个输出。 数据类型:细胞
使用名称创建LSTM层 包含一个LSTM层层= lstmLayer (100
layer = lstmlayer具有属性:名称:'LSTM1'超参数输入:'AUTO'NUMHIDNENTURITS:100 OUTPUTMODE:'序列'atteacivationFunction:'Tanh'gateActivationFunction:'Sigmoid'学习参数输入重量:[]复制重量:[]偏见:[]偏见参数hiddenstate:[] cellstate:[]显示所有属性
inputSize = 12;numHiddenUnits = 100;numClasses = 9;层= [
图层= 5x1层阵列带有图层:1''序列输入序列输入,带12尺寸2''LSTM LSTM,具有100个隐藏单元3'完全连接的9完全连接的第4层''Softmax SoftMax 5''分类输出CrossentRopyex
训练深度学习LSTM网络用于序列到标签的分类。 加载[1]和[2]中描述的日语元音数据集。 想象情节中的第一个时间序列。每一行对应一个特征。 定义LSTM网络架构。指定输入大小为12(输入数据的功能数)。指定LSTM层以具有100个隐藏单元,并输出序列的最后一个元素。最后,通过包括一个完全连接的大小9层来指定九类,然后是Softmax层和分类层。 指定培训选项。指定求解器为 由于迷你批次具有短序列,因此CPU更适合培训。放 使用指定的培训选项列车LSTM网络。 加载测试集并将序列分类为扬声器。 分类测试数据。指定用于培训的相同百分比大小。 计算预测的分类精度。[Xtrain,Ytrain] = JapanesevowelstrainData;
图绘制(XTrain{1}”)标题(
inputSize = 12;numHiddenUnits = 100;numClasses = 9;层= [
图层= 5×1层阵列,带有图层: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.9514
为了创建用于序列到标签分类的LSTM网络,创建包含序列输入层,LSTM层,完全连接的层,软MAX层和分类输出层的层数组。 将序列输入层的大小设置为输入数据的特征数量。将完全连接层的大小设置为类的数量。您无需指定序列长度。 对于LSTM图层,指定隐藏单元的数量和输出模式 有关如何培训LSTM网络以获取序列到标签分类和分类新数据的示例,请参阅 要为序列到序列分类创建LSTM网络,请使用与序列到标签分类相同的架构,但将LSTM层的输出模式设置为numFeatures = 12;numHiddenUnits = 100;numClasses = 9;层= [
numFeatures = 12;numHiddenUnits = 100;numClasses = 9;层= [
要创建序列到一回归的LSTM网络,需要创建一个包含序列输入层、LSTM层、全连接层和回归输出层的层阵列。 将序列输入层的大小设置为输入数据的特征数量。将完全连接的图层的大小设置为响应的数量。您无需指定序列长度。 对于LSTM图层,指定隐藏单元的数量和输出模式 要为序列到序列回归创建LSTM网络,请使用与序列到一个回归相同的架构,但将LSTM层的输出模式设置为 有关如何培训LSTM网络的示例以获取序列到序列回归并在新数据上预测,请参阅numFeatures = 12;numhidendunits = 125;numreponses = 1;层= [
numFeatures = 12;numhidendunits = 125;numreponses = 1;层= [
您可以通过使用输出模式插入额外的LSTM层来更深入地制作LSTM网络 对于序列到标签的分类网络,最后一层LSTM的输出模式必须为 对于序列到序列分类网络,最后一层LSTM的输出模式必须为numFeatures = 12;numHiddenUnits1 = 125;numHiddenUnits2 = 100;numClasses = 9;层= [
numFeatures = 12;numHiddenUnits1 = 125;numHiddenUnits2 = 100;numClasses = 9;层= [
LSTM层在时间序列和序列数据中的时间步骤之间学习长期依赖性。
层的状态由 下面的组件控制层的单元格状态和隐藏状态。 此图说明了时间步长的数据流 LSTM层的可学习权值就是输入权值
在哪里 细胞状态在时间步骤
在哪里 隐藏的状态在时间步骤
在哪里 下面的公式描述了时间步长的分量 在这些计算中,
成分 目的
输入门( 单元格状态更新的控制级别
忘记门( 单元格状态重置的控制级别(忘记)
细胞候选人( 向单元格状态添加信息
输出门( 添加到隐藏状态的单元格状态的控制级别
成分 公式
输入门
忘记门
细胞的候选人
输出门
R2019A中的行为发生了变化
从R2019A开始,软件默认情况下,使用Glorot Initializer初始化该图层的图层输入权重。这种行为有助于稳定培训,通常会降低深度网络的培训时间。 在以前的版本中,默认情况下,该软件使用来自正常分布的采样使用零均值和方差0.01,使用通过采样初始化图层输入权重。重现此行为,设置
R2019A中的行为发生了变化
从R2019A开始,该软件默认情况下,默认情况下初始化该层的层复发权重 在以前的版本中,默认情况下,该软件默认情况下,通过使用零平均值和方差0.01的正常分布采样来使用通过采样来初始化层复发权重。重现此行为,设置
工藤、富山、新保。“使用通过区域的多维曲线分类”。
[2]
[3] Hochreiter, S,和J. Schmidhuber, 1997。短期记忆。
[4]格洛洛,泽维尔,还有约书亚·本吉奥。理解训练深度前馈神经网络的困难在
[5]他,Kaiming,湘雅张,邵庆仁,剑孙。“深入研究整流器:超越了在想象集分类上的人力水平表现。”在
Saxe, Andrew M., James L. McClelland和Surya Ganguli。深度线性神经网万博 尤文图斯络中学习的非线性动力学的精确解
使用说明和限制:
使用英特尔生成代码时 的 的
使用说明和限制: 对于GPU代码生成, 对于GPU代码生成,
bilstmLayer
|classifyandupdateState.
|flattenLayer
|gruLayer
|predictAndUpdateState
|resetState
|SequenceFoldingLayer.
|sequenceInputLayer
|sequenceUnfoldingLayer
您单击了与此MATLAB命令对应的链接: 在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:
你也可以从以下列表中选择一个网站: 选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。如何获得最佳网站性能
欧洲