长短期记忆(LSTM)层<克ydF4y2Ba/p>
按时间序列和序列数据的时间步长之间的LSTM层获悉长期依赖性。<克ydF4y2Ba/span>
该层执行添加剂的相互作用,这可以帮助提高训练期间在长序列梯度流。<克ydF4y2Ba/p>
创建LSTM层并设置<克ydF4y2Baa href="//www.tianjin-qmedu.com/la/help/deeplearning/ref/nnet.cnn.layer.lstmlayer.html" class="intrnllnk">层<克ydF4y2Ba/code>= lstmLayer(
NumHiddenUnits<克ydF4y2Ba/code>财产。<克ydF4y2Ba/p>
设置其他<克ydF4y2Baa href="//www.tianjin-qmedu.com/la/help/deeplearning/ref/nnet.cnn.layer.lstmlayer.html" class="intrnllnk">层<克ydF4y2Ba/code>= lstmLayer(
输出模式<克ydF4y2Ba/code>,<克ydF4y2Baa href="//www.tianjin-qmedu.com/la/help/deeplearning/ref/nnet.cnn.layer.lstmlayer.html" class="intrnllnk">激活<克ydF4y2Ba/a>,<克ydF4y2Baa href="//www.tianjin-qmedu.com/la/help/deeplearning/ref/nnet.cnn.layer.lstmlayer.html" class="intrnllnk">国家<克ydF4y2Ba/a>,<克ydF4y2Baa href="//www.tianjin-qmedu.com/la/help/deeplearning/ref/nnet.cnn.layer.lstmlayer.html" class="intrnllnk">参数和初始化<克ydF4y2Ba/a>,<克ydF4y2Baa href="//www.tianjin-qmedu.com/la/help/deeplearning/ref/nnet.cnn.layer.lstmlayer.html" class="intrnllnk">学习率与正规化<克ydF4y2Ba/a>和<克ydF4y2Baa href="//www.tianjin-qmedu.com/la/help/deeplearning/ref/nnet.cnn.layer.lstmlayer.html" class="intrnllnk">
姓名<克ydF4y2Ba/code>使用一个或多个名称-值对参数的属性。可以指定多个名称-值对参数。用引号将每个属性名括起来。<克ydF4y2Ba/p>
NumHiddenUnits<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">隐藏单位数<克ydF4y2Ba/span>指定为正整数的隐藏单位数(也称为隐藏大小)。<克ydF4y2Ba/p>
隐藏单元的数量对应于时间步之间记住的信息量(隐藏状态)。隐藏状态可以包含以前所有时间步的信息,而不管序列长度如何。如果隐藏单元的数量太大,则该层可能与训练数据过大。这个值可以从几十到几千不等。<克ydF4y2Ba/p>
隐藏状态不限制迭代中处理的时间步数。若要将序列分成较小的序列进行训练,请使用<克ydF4y2Baa href="//www.tianjin-qmedu.com/la/help/deeplearning/ref/trainingoptions.html"> 例:<克ydF4y2Ba/strong>200<克ydF4y2Ba/p>
'序列长度'<克ydF4y2Ba/code>选项<克ydF4y2Baa href="//www.tianjin-qmedu.com/la/help/deeplearning/ref/trainingoptions.html">
trainingOptions<克ydF4y2Ba/code>.<克ydF4y2Ba/p>
输出模式<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">输出格式<克ydF4y2Ba/span>'序列'<克ydF4y2Ba/code>
(默认)|<克ydF4y2Baspan itemprop="inputvalue">'最后'<克ydF4y2Ba/code>
输出的格式,指定为以下情况之一:<克ydF4y2Ba/p>
'序列'<克ydF4y2Ba/code>- 输出的完整序列。<克ydF4y2Ba/p>
'最后'<克ydF4y2Ba/code>- 输出序列的最后时间步长。<克ydF4y2Ba/p>
InputSize<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">输入大小<克ydF4y2Ba/span>'自动'<克ydF4y2Ba/code>
(默认)|<克ydF4y2Baspan itemprop="inputvalue">正整数<克ydF4y2Ba/span>输入大小,指定为正整数或 例:<克ydF4y2Ba/strong>100<克ydF4y2Ba/p>
状态激活函数<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">更新单元格和隐藏状态的激活函数<克ydF4y2Ba/span>“坦”<克ydF4y2Ba/code>
(默认)|<克ydF4y2Baspan itemprop="inputvalue">'软标志'<克ydF4y2Ba/code>
激活函数来更新小区和隐藏状态,指定为以下情况之一:<克ydF4y2Ba/p>
“坦”<克ydF4y2Ba/code>–使用双曲正切函数(tanh)。<克ydF4y2Ba/p>
'软标志'<克ydF4y2Ba/code>- 使用softsign功能<克ydF4y2Baspan class="inlineequation">
.<克ydF4y2Ba/p>
该层使用这个选项作为功能<克ydF4y2Baspan class="inlineequation"> 在计算中更新单元格和隐藏状态。有关如何在LSTM层中使用激活函数的详细信息,请参见<克ydF4y2Baa href="//www.tianjin-qmedu.com/la/help/deeplearning/ref/nnet.cnn.layer.lstmlayer.html" class="intrnllnk">长短期记忆层<克ydF4y2Ba/a>.<克ydF4y2Ba/p>
GateActivationFunction<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">应用于闸门的激活功能<克ydF4y2Ba/span>'乙状结肠'<克ydF4y2Ba/code>
(默认)|<克ydF4y2Baspan itemprop="inputvalue">“硬乙状结肠”<克ydF4y2Ba/code>
应用于闸门的激活功能,具体如下:<克ydF4y2Ba/p>
'乙状结肠'<克ydF4y2Ba/code>–使用乙状结肠功能<克ydF4y2Baspan class="inlineequation">
.<克ydF4y2Ba/p>
“硬乙状结肠”<克ydF4y2Ba/code>–使用硬乙状结肠功能<克ydF4y2Ba/p>
该层使用这个选项作为功能<克ydF4y2Baspan class="inlineequation"> 在计算该层栅极。<克ydF4y2Ba/p>
CellState<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">单元状态的初始值<克ydF4y2Ba/span>小区状态的初始值,指定为 设置该属性后,则调用
隐藏状态<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">隐藏状态的初始值<克ydF4y2Ba/span>隐藏的状态的初始值,指定为 设置该属性后,则调用
输入加权线性化器<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">函数来初始化输入权重<克ydF4y2Ba/span>“格洛特”<克ydF4y2Ba/code>
(默认)|<克ydF4y2Baspan itemprop="inputvalue">“他”<克ydF4y2Ba/code>
|<克ydF4y2Baspan itemprop="inputvalue">“正交”<克ydF4y2Ba/code>
|<克ydF4y2Baspan itemprop="inputvalue">“缩小正常”<克ydF4y2Ba/code>|<克ydF4y2Baspan itemprop="inputvalue">'零'<克ydF4y2Ba/code>|<克ydF4y2Baspan itemprop="inputvalue">'那些'<克ydF4y2Ba/code>|<克ydF4y2Baspan itemprop="inputvalue">函数句柄<克ydF4y2Ba/span>
函数初始化输入权重,指定为以下值之一:<克ydF4y2Ba/p>
“格洛特”<克ydF4y2Ba/code>- 初始化与Glorot初始化输入权重<克ydF4y2Baa href="//www.tianjin-qmedu.com/la/help/deeplearning/ref/nnet.cnn.layer.lstmlayer.html" class="intrnllnk">[四]<克ydF4y2Ba/a>(也称为Xavier初始值设定项)。Glorot初始值设定项独立于均值和方差为零的均匀分布样本
“他”<克ydF4y2Ba/code>–使用He初始化器初始化输入权重<克ydF4y2Baa href="//www.tianjin-qmedu.com/la/help/deeplearning/ref/nnet.cnn.layer.lstmlayer.html" class="intrnllnk">[五]<克ydF4y2Ba/a>. He initializer样本来自正态分布,均值和方差均为零
“正交”<克ydF4y2Ba/code>- 初始化输入与权重
“缩小正常”<克ydF4y2Ba/code>–通过从平均值为零且标准偏差为0.01的正态分布中独立采样来初始化输入权重。<克ydF4y2Ba/p>
'零'<克ydF4y2Ba/code>–用零初始化输入权重。<克ydF4y2Ba/p>
'那些'<克ydF4y2Ba/code>- 初始化输入与权重的。<克ydF4y2Ba/p>
函数句柄–使用自定义函数初始化输入权重。如果指定函数句柄,则该函数必须为
该层仅在 数据类型:<克ydF4y2Ba/strong>烧焦<克ydF4y2Ba/code>|
复发性加重剂<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">初始化循环权重的函数<克ydF4y2Ba/span>“正交”<克ydF4y2Ba/code>
(默认)|<克ydF4y2Baspan itemprop="inputvalue">“格洛特”<克ydF4y2Ba/code>
|<克ydF4y2Baspan itemprop="inputvalue">“他”<克ydF4y2Ba/code>
|<克ydF4y2Baspan itemprop="inputvalue">“缩小正常”<克ydF4y2Ba/code>|<克ydF4y2Baspan itemprop="inputvalue">'零'<克ydF4y2Ba/code>|<克ydF4y2Baspan itemprop="inputvalue">'那些'<克ydF4y2Ba/code>|<克ydF4y2Baspan itemprop="inputvalue">函数句柄<克ydF4y2Ba/span>
函数初始化循环权重,指定为下列值之一:<克ydF4y2Ba/p>
“正交”<克ydF4y2Ba/code>–初始化循环权重
“格洛特”<克ydF4y2Ba/code>–使用Glorot初始化器初始化循环权重<克ydF4y2Baa href="//www.tianjin-qmedu.com/la/help/deeplearning/ref/nnet.cnn.layer.lstmlayer.html" class="intrnllnk">[四]<克ydF4y2Ba/a>(也称为Xavier初始值设定项)。Glorot初始值设定项独立于均值和方差为零的均匀分布样本
“他”<克ydF4y2Ba/code>–使用He初始化器初始化循环权重<克ydF4y2Baa href="//www.tianjin-qmedu.com/la/help/deeplearning/ref/nnet.cnn.layer.lstmlayer.html" class="intrnllnk">[五]<克ydF4y2Ba/a>. He initializer样本来自正态分布,均值和方差均为零
“缩小正常”<克ydF4y2Ba/code>–通过独立于正态分布(平均值为零,标准差为0.01)进行抽样,初始化重复权重。<克ydF4y2Ba/p>
'零'<克ydF4y2Ba/code>- 初始化用零复发权重。<克ydF4y2Ba/p>
'那些'<克ydF4y2Ba/code>- 初始化那些经常性的权重。<克ydF4y2Ba/p>
函数句柄–使用自定义函数初始化循环权重。如果指定函数句柄,则该函数必须为
该层仅在 数据类型:<克ydF4y2Ba/strong>烧焦<克ydF4y2Ba/code>|
BiasInitializer<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">函数来初始化偏置<克ydF4y2Ba/span>'单位忘记门'<克ydF4y2Ba/code>
(默认)|<克ydF4y2Baspan itemprop="inputvalue">“缩小正常”<克ydF4y2Ba/code>
|<克ydF4y2Baspan itemprop="inputvalue">'那些'<克ydF4y2Ba/code>
|<克ydF4y2Baspan itemprop="inputvalue">函数句柄<克ydF4y2Ba/span>函数来初始化偏置,指定为以下情况之一:<克ydF4y2Ba/p>
'单位忘记门'<克ydF4y2Ba/code>–用1初始化遗忘门偏差,用0初始化剩余偏差。<克ydF4y2Ba/p>
“缩小正常”<克ydF4y2Ba/code>- 初始化偏置通过从正态分布独立地采样具有零均值和标准偏差0.01。<克ydF4y2Ba/p>
'那些'<克ydF4y2Ba/code>- 初始化者的偏见。<克ydF4y2Ba/p>
函数句柄–使用自定义函数初始化偏差。如果指定函数句柄,则该函数必须为
该层仅在 数据类型:<克ydF4y2Ba/strong>烧焦<克ydF4y2Ba/code>|
输入权重<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">输入权重<克ydF4y2Ba/span>[]<克ydF4y2Ba/code>
(默认)|<克ydF4y2Baspan itemprop="inputvalue">矩阵<克ydF4y2Ba/span>输入权重,指定为矩阵。<克ydF4y2Ba/p>
输入权重矩阵为四个输入权重矩阵为在LSTM层中的成分(栅极)的串联。这四个矩阵是按照以下顺序垂直级联:<克ydF4y2Ba/p>
输入门<克ydF4y2Ba/p>
忘记门<克ydF4y2Ba/p>
小区候补<克ydF4y2Ba/p>
输出门<克ydF4y2Ba/p>
输入权重是可学习的参数。在训练网络时,如果 在训练时间,列车网络<克ydF4y2Ba/code>使用
复发性体重<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">经常性的权重<克ydF4y2Ba/span>[]<克ydF4y2Ba/code>
(默认)|<克ydF4y2Baspan itemprop="inputvalue">矩阵<克ydF4y2Ba/span>递归权重,指定为矩阵。<克ydF4y2Ba/p>
复发的权重矩阵是四个复发权重矩阵为在LSTM层中的成分(栅极)的串联。这四个矩阵是垂直级联按照以下顺序:<克ydF4y2Ba/p>
输入门<克ydF4y2Ba/p>
忘记门<克ydF4y2Ba/p>
小区候补<克ydF4y2Ba/p>
输出门<克ydF4y2Ba/p>
经常性的权重是可学习的参数。当训练网络,如果 训练时列车网络<克ydF4y2Ba/code>使用
偏倚<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">层偏见<克ydF4y2Ba/span>[]<克ydF4y2Ba/code>
(默认)|<克ydF4y2Baspan itemprop="inputvalue">数值向量<克ydF4y2Ba/span>LSTM层的层偏差,指定为数值向量。<克ydF4y2Ba/p>
偏置矢量是用于LSTM层中的成分(门)的四个偏置矢量的串联。四个矢量将在下面顺序垂直级联:<克ydF4y2Ba/p>
输入门<克ydF4y2Ba/p>
忘记门<克ydF4y2Ba/p>
小区候补<克ydF4y2Ba/p>
输出门<克ydF4y2Ba/p>
层偏差是可学习的参数。在训练网络时,如果 在训练时间,列车网络<克ydF4y2Ba/code>使用
输入权重学习因子<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">输入权重学习速率因子<克ydF4y2Ba/span>输入权重的学习速率因子,指定为数值标量或1乘4数值向量。<克ydF4y2Ba/p>
该软件乘以这个系数由全局学习速率,以确定该层的输入权重学习速率的因素。例如,如果 为了控制学习率因素的价值,为四个独立的矩阵中 输入门<克ydF4y2Ba/p> 忘记门<克ydF4y2Ba/p> 小区候补<克ydF4y2Ba/p> 输出门<克ydF4y2Ba/p> 要指定所有的矩阵相同的值,指定一个非负标量。<克ydF4y2Ba/p>
例:<克ydF4y2Ba/strong> 例:<克ydF4y2Ba/strong>trainingOptions<克ydF4y2Ba/code>功能。<克ydF4y2Ba/p>
2个<克ydF4y2Ba/code>
[1 2 1 1]<克ydF4y2Ba/code>
重复加权学习因子<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">回归权重的学习率因子<克ydF4y2Ba/span>递归权重的学习速率因子,指定为数值标量或1乘4数值向量。<克ydF4y2Ba/p>
该软件乘以这个系数由全局学习速率,以确定该层的反复权重学习速率。例如,如果 为了控制学习率因素的价值,为四个独立的矩阵中 输入门<克ydF4y2Ba/p> 忘记门<克ydF4y2Ba/p> 小区候补<克ydF4y2Ba/p> 输出门<克ydF4y2Ba/p> 要指定所有的矩阵相同的值,指定一个非负标量。<克ydF4y2Ba/p>
例:<克ydF4y2Ba/strong> 例:<克ydF4y2Ba/strong>trainingOptions<克ydF4y2Ba/code>功能。<克ydF4y2Ba/p>
2个<克ydF4y2Ba/code>
[1 2 1 1]<克ydF4y2Ba/code>
比亚斯学习率因子<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">偏误学习率因子<克ydF4y2Ba/span>偏差的学习速率因子,指定为非负标量或1乘4数值向量。<克ydF4y2Ba/p>
该软件乘以这个系数由全局学习速率,以确定该层中的偏差的学习速度。例如,如果 为了控制学习率因素的价值,为四个独立的矩阵中 输入门<克ydF4y2Ba/p> 忘记门<克ydF4y2Ba/p> 小区候补<克ydF4y2Ba/p> 输出门<克ydF4y2Ba/p> 要指定所有的矩阵相同的值,指定一个非负标量。<克ydF4y2Ba/p>
例:<克ydF4y2Ba/strong> 例:<克ydF4y2Ba/strong>trainingOptions<克ydF4y2Ba/code>功能。<克ydF4y2Ba/p>
2个<克ydF4y2Ba/code>
[1 2 1 1]<克ydF4y2Ba/code>
输入权重L2因子<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">输入权重L2正规化因子<克ydF4y2Ba/span>L2正则化因子对输入的权重,指定为数字标量或一个1乘4数值向量。<克ydF4y2Ba/p>
该软件乘以该因子由全局L2正则因子,以确定所述层的输入权重的L2正则因子。例如,如果 控制中四个单独矩阵的L2正则化因子的值 输入门<克ydF4y2Ba/p> 忘记门<克ydF4y2Ba/p> 小区候补<克ydF4y2Ba/p> 输出门<克ydF4y2Ba/p> 要指定所有的矩阵相同的值,指定一个非负标量。<克ydF4y2Ba/p>
例:<克ydF4y2Ba/strong> 例:<克ydF4y2Ba/strong>trainingOptions<克ydF4y2Ba/code>功能。<克ydF4y2Ba/p>
2个<克ydF4y2Ba/code>
[1 2 1 1]<克ydF4y2Ba/code>
RecurrentWeightsL2Factor<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">递推权的L2正则化因子<克ydF4y2Ba/span>递归权重的L2正则化因子,指定为数值标量或1乘4数值向量。<克ydF4y2Ba/p>
该软件乘以这个系数由全球L2正则因子,以确定该层的经常性权重L2则因子。例如,如果 控制中四个单独矩阵的L2正则化因子的值 输入门<克ydF4y2Ba/p> 忘记门<克ydF4y2Ba/p> 小区候补<克ydF4y2Ba/p> 输出门<克ydF4y2Ba/p> 要指定所有的矩阵相同的值,指定一个非负标量。<克ydF4y2Ba/p>
例:<克ydF4y2Ba/strong> 例:<克ydF4y2Ba/strong>trainingOptions<克ydF4y2Ba/code>功能。<克ydF4y2Ba/p>
2个<克ydF4y2Ba/code>
[1 2 1 1]<克ydF4y2Ba/code>
Biasl2因子<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">为偏见L2则因子<克ydF4y2Ba/span>偏差的L2正则化因子,指定为非负标量或1乘4数值向量。<克ydF4y2Ba/p>
软件将该因子乘以全局L2正则化因子,以确定该层偏差的L2正则化。例如,如果 控制中四个单独矩阵的L2正则化因子的值 输入门<克ydF4y2Ba/p> 忘记门<克ydF4y2Ba/p> 小区候补<克ydF4y2Ba/p> 输出门<克ydF4y2Ba/p> 要指定所有的矩阵相同的值,指定一个非负标量。<克ydF4y2Ba/p>
例:<克ydF4y2Ba/strong> 例:<克ydF4y2Ba/strong>trainingOptions<克ydF4y2Ba/code>功能。<克ydF4y2Ba/p>
2个<克ydF4y2Ba/code>
[1 2 1 1]<克ydF4y2Ba/code>
姓名<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">图层名<克ydF4y2Ba/span>''<克ydF4y2Ba/code>
(默认)|<克ydF4y2Baspan itemprop="inputvalue">字符向量<克ydF4y2Ba/span>|<克ydF4y2Baspan itemprop="inputvalue">串标<克ydF4y2Ba/span>层名称,指定为字符向量或字符串标量。如果 数据类型:<克ydF4y2Ba/strong>烧焦<克ydF4y2Ba/code>|
NumInputs<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">输入数量<克ydF4y2Ba/span>的层的输入端数量。该层只接受单个输入。<克ydF4y2Ba/p>
数据类型:<克ydF4y2Ba/strong>双重的<克ydF4y2Ba/code>
输入名<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">输入名称<克ydF4y2Ba/span>{'在'}<克ydF4y2Ba/code>
(默认)<克ydF4y2Ba/span>输入图层的名称。这个层只接受一个输入。<克ydF4y2Ba/p>
数据类型:<克ydF4y2Ba/strong>细胞<克ydF4y2Ba/code>
裸体<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">输出数量<克ydF4y2Ba/span>层的输出数。这个层只有一个输出。<克ydF4y2Ba/p>
数据类型:<克ydF4y2Ba/strong>双重的<克ydF4y2Ba/code>
OutputNames<克ydF4y2Ba/code>
—<克ydF4y2Baspan itemprop="purpose">输出名称<克ydF4y2Ba/span>{ '出'}<克ydF4y2Ba/code>
(默认)<克ydF4y2Ba/span>该层的输出的名称。该层具有仅一个输出。<克ydF4y2Ba/p>
数据类型:<克ydF4y2Ba/strong>细胞<克ydF4y2Ba/code>
创建一个名为的LSTM层 在层= lstmLayer(100,<克ydF4y2Baspan style="color:#A020F0">'名称'<克ydF4y2Ba/span>,<克ydF4y2Baspan style="color:#A020F0">'lstm1'<克ydF4y2Ba/span>)<克ydF4y2Ba/pre>
layer=LSTMLayer,属性为:Name:'lstm1'超参数InputSize:'auto'NumHiddenUnits:100 OutputMode:'sequence'StateActivationFunction:'tanh'GateActivationFunction:'sigmoid'可学习参数InputWeights:[]重复权重:[]偏差:[]状态参数HiddenState:[]单元状态:[]显示所有属性<克ydF4y2Ba/pre>
inputSize=12;numHiddenUnits=100;numClass=9;层=[<克ydF4y2Baspan style="color:#0000FF">...<克ydF4y2Ba/span>sequenceInputLayer(inputSize)lstmLayer(numhiddenuts)fullyConnectedLayer(numClasses)softmaxLayer classificationLayer]<克ydF4y2Ba/pre>
layers=5x1带层的层阵列:1''序列输入序列输入,12维2''LSTM LSTM,100个隐藏单元3''完全连接9层完全连接4''Softmax Softmax 5''分类输出crossentropyex<克ydF4y2Ba/pre>
培养深度学习LSTM网络序列对标签分类。<克ydF4y2Ba/p>
如在[1]和[2]中描述的加载日语元音数据集。 想象情节中的第一个时间序列。每一行对应一个特征。<克ydF4y2Ba/p>
定义LSTM网络架构。将输入大小指定为12(输入数据的特征数)。指定一个LSTM层,使其具有100个隐藏单元并输出序列的最后一个元素。最后,通过包含大小为9的完全连接层,然后是softmax层和分类层来指定九个类。<克ydF4y2Ba/p>
指定培训选项。指定解算器为 因为小批量小,序列短,CPU更适合训练。套 使用指定的培训选项培训LSTM网络。<克ydF4y2Ba/p>
加载测试组和所述序列划分为扬声器。<克ydF4y2Ba/p>
对测试数据进行分类。指定用于培训的相同小批量大小。<克ydF4y2Ba/p>
计算预测的分类精度。<克ydF4y2Ba/p>
[XTrain,YTrain]=日本地震资料;<克ydF4y2Ba/pre>
图形绘图(XTrain{1})标题(<克ydF4y2Baspan style="color:#A020F0">“培训观察1”<克ydF4y2Ba/span>)numFeatures=大小(XTrain{1},1);图例(<克ydF4y2Baspan style="color:#A020F0">“功能”<克ydF4y2Ba/span>+字符串(1:numFeatures),<克ydF4y2Baspan style="color:#A020F0">'位置'<克ydF4y2Ba/span>,<克ydF4y2Baspan style="color:#A020F0">'东北外'<克ydF4y2Ba/span>)<克ydF4y2Ba/pre>
inputSize=12;numHiddenUnits=100;numClass=9;层=[<克ydF4y2Baspan style="color:#0000FF">...<克ydF4y2Ba/span>序列输入层(inputSize)lstmLayer(numhiddenuts,<克ydF4y2Baspan style="color:#A020F0">'输出模式'<克ydF4y2Ba/span>,<克ydF4y2Baspan style="color:#A020F0">'最后'<克ydF4y2Ba/span>)fullyConnectedLayer(numClasses)softmaxLayer分类层]<克ydF4y2Ba/pre>
layers=5x1带层的层阵列:1''序列输入序列输入,12维2''LSTM LSTM,100个隐藏单元3''完全连接9层完全连接4''Softmax Softmax 5''分类输出crossentropyex<克ydF4y2Ba/pre>
maxEpochs=100;miniBatchSize=27;options=trainingOptions(<克ydF4y2Baspan style="color:#A020F0">“亚当”<克ydF4y2Ba/span>,<克ydF4y2Baspan style="color:#0000FF">...<克ydF4y2Ba/span>'执行环境'<克ydF4y2Ba/span>,<克ydF4y2Baspan style="color:#A020F0">'中央处理器'<克ydF4y2Ba/span>,<克ydF4y2Baspan style="color:#0000FF">...<克ydF4y2Ba/span>'MaxEpochs'<克ydF4y2Ba/span>,maxEpochs,<克ydF4y2Baspan style="color:#0000FF">...<克ydF4y2Ba/span>'小批量大小'<克ydF4y2Ba/span>,小批量大小,<克ydF4y2Baspan style="color:#0000FF">...<克ydF4y2Ba/span>'渐变阈值'<克ydF4y2Ba/span>1,<克ydF4y2Baspan style="color:#0000FF">...<克ydF4y2Ba/span>'冗长'<克ydF4y2Ba/span>,假,<克ydF4y2Baspan style="color:#0000FF">...<克ydF4y2Ba/span>'绘图'<克ydF4y2Ba/span>,<克ydF4y2Baspan style="color:#A020F0">“训练进度”<克ydF4y2Ba/span>);<克ydF4y2Ba/pre>
净= trainNetwork(XTrain,YTrain,层,选项);<克ydF4y2Ba/pre>
[XTEST,YTest] = japaneseVowelsTestData;<克ydF4y2Ba/pre>
YPred=分类(net,XTest,<克ydF4y2Baspan style="color:#A020F0">'小批量大小'<克ydF4y2Ba/span>,小批量);<克ydF4y2Ba/pre>
ACC =总和(YPred == YTest)./ numel(YTest)<克ydF4y2Ba/pre>
ACC = 0.9541<克ydF4y2Ba/pre>
要为序列标签分类创建LSTM网络,请创建包含序列输入层、LSTM层、完全连接层、softmax层和分类输出层的层数组。<克ydF4y2Ba/p>
序列输入层的大小设定为所述输入数据的特征的数量。在完全连接层的大小设定为类的数量。你并不需要指定序列长度。<克ydF4y2Ba/p>
对于LSTM层,指定隐藏单元的数量和输出模式 有关如何训练LSTM网络进行序列标签分类和分类新数据的示例,请参见<克ydF4y2Baa href="//www.tianjin-qmedu.com/la/help/deeplearning/ug/classify-sequence-data-using-lstm-networks.html" class="a">序划分使用Deep学习<克ydF4y2Ba/a>.<克ydF4y2Ba/p>
要创建LSTM网络用于序列到序列分类,使用相同的架构作为序列对标签分类,但LSTM层的输出模式设定为numFeatures=12;numHiddenUnits=100;numClass=9;层=[<克ydF4y2Baspan style="color:#0000FF">...<克ydF4y2Ba/span>序列输入层(numFeatures)lstmLayer(numhiddenuts,<克ydF4y2Baspan style="color:#A020F0">'输出模式'<克ydF4y2Ba/span>,<克ydF4y2Baspan style="color:#A020F0">'最后'<克ydF4y2Ba/span>)fullyConnectedLayer(numClasses)softmaxLayer分类层];<克ydF4y2Ba/pre>
numFeatures=12;numHiddenUnits=100;numClass=9;层=[<克ydF4y2Baspan style="color:#0000FF">...<克ydF4y2Ba/span>序列输入层(numFeatures)lstmLayer(numhiddenuts,<克ydF4y2Baspan style="color:#A020F0">'输出模式'<克ydF4y2Ba/span>,<克ydF4y2Baspan style="color:#A020F0">'序列'<克ydF4y2Ba/span>)fullyConnectedLayer(numClasses)softmaxLayer分类层];<克ydF4y2Ba/pre>
要为序列到一个回归创建LSTM网络,请创建包含序列输入层、LSTM层、完全连接层和回归输出层的层数组。<克ydF4y2Ba/p>
序列输入层的大小设定为所述输入数据的特征的数量。完全连接层的大小设置为响应数。你并不需要指定序列长度。<克ydF4y2Ba/p>
对于LSTM层,指定隐藏单元的数量和输出模式 为序列到序列回归创建LSTM网络,使用相同的架构作为序列对一回归,但LSTM层的输出模式设定为 有关如何训练LSTM网络进行序列到序列回归和预测新数据的示例,请参见<克ydF4y2Baa href="//www.tianjin-qmedu.com/la/help/deeplearning/ug/sequence-to-sequence-regression-using-deep-learning.html" class="a">基于深度学习的序列回归<克ydF4y2Ba/a>.<克ydF4y2Ba/p>
numFeatures=12;numHiddenUnits=125;numResponses=1;层=[<克ydF4y2Baspan style="color:#0000FF">...<克ydF4y2Ba/span>序列输入层(numFeatures)lstmLayer(numhiddenuts,<克ydF4y2Baspan style="color:#A020F0">'输出模式'<克ydF4y2Ba/span>,<克ydF4y2Baspan style="color:#A020F0">'最后'<克ydF4y2Ba/span>)fullyConnectedLayer(numResponses)regressionLayer];<克ydF4y2Ba/pre>
numFeatures=12;numHiddenUnits=125;numResponses=1;层=[<克ydF4y2Baspan style="color:#0000FF">...<克ydF4y2Ba/span>序列输入层(numFeatures)lstmLayer(numhiddenuts,<克ydF4y2Baspan style="color:#A020F0">'输出模式'<克ydF4y2Ba/span>,<克ydF4y2Baspan style="color:#A020F0">'序列'<克ydF4y2Ba/span>)fullyConnectedLayer(numResponses)regressionLayer];<克ydF4y2Ba/pre>
您可以通过插入额外LSTM层与输出模式使LSTM网络更深 对于序列对标签分类网络中,最后LSTM层的输出模式必须 对于序列到序列分类网络中,最后LSTM层的输出模式必须numFeatures = 12;numHiddenUnits1 = 125;numHiddenUnits2 = 100;numClasses = 9;层= [<克ydF4y2Baspan style="color:#0000FF">...<克ydF4y2Ba/span>sequenceInputLayer(numFeatures)lstmLayer(numHiddenUnits1,<克ydF4y2Baspan style="color:#A020F0">'输出模式'<克ydF4y2Ba/span>,<克ydF4y2Baspan style="color:#A020F0">'序列'<克ydF4y2Ba/span>)dropoutLayer(0.2)第1层(numHiddenUnits2,<克ydF4y2Baspan style="color:#A020F0">'输出模式'<克ydF4y2Ba/span>,<克ydF4y2Baspan style="color:#A020F0">'最后'<克ydF4y2Ba/span>)dropoutLayer(0.2)完整连接层(numClass)softmaxLayer分类层];<克ydF4y2Ba/pre>
numFeatures = 12;numHiddenUnits1 = 125;numHiddenUnits2 = 100;numClasses = 9;层= [<克ydF4y2Baspan style="color:#0000FF">...<克ydF4y2Ba/span>sequenceInputLayer(numFeatures)lstmLayer(numHiddenUnits1,<克ydF4y2Baspan style="color:#A020F0">'输出模式'<克ydF4y2Ba/span>,<克ydF4y2Baspan style="color:#A020F0">'序列'<克ydF4y2Ba/span>)dropoutLayer(0.2)第1层(numHiddenUnits2,<克ydF4y2Baspan style="color:#A020F0">'输出模式'<克ydF4y2Ba/span>,<克ydF4y2Baspan style="color:#A020F0">'序列'<克ydF4y2Ba/span>)dropoutLayer(0.2)完整连接层(numClass)softmaxLayer分类层];<克ydF4y2Ba/pre>
按时间序列和序列数据的时间步长之间的LSTM层获悉长期依赖性。<克ydF4y2Ba/span>
该层的状态包括的<克ydF4y2Baspan class="emphasis">隐藏状态<克ydF4y2Ba/em>(也被称为<克ydF4y2Baspan class="emphasis">输出状态<克ydF4y2Ba/em>)和<克ydF4y2Baspan class="emphasis">细胞状态<克ydF4y2Ba/em>. 时间步的隐藏状态 以下组件控制层的单元状态和隐藏状态。<克ydF4y2Ba/p>
此图说明了时间步的数据流 一个LSTM层的可学习权重是权重输入
哪里 时间步的单元状态
哪里<克ydF4y2Baspan class="inlineequation">
表示Hadamard乘积(矢量的逐元素乘法)。<克ydF4y2Ba/p>
在时间步长处于隐藏状态
哪里<克ydF4y2Baspan class="inlineequation">
表示状态激活函数。这个 下面的公式描述组件在时间步长 在这些计算中,<克ydF4y2Baspan class="inlineequation">
表示栅的激活功能。该
组成部分<克ydF4y2Ba/th>
目的<克ydF4y2Ba/th>
输入门( 单元状态更新的控制级别<克ydF4y2Ba/td>
忘记门( 单元状态的复位控制电平(忘)<克ydF4y2Ba/td>
候选单元格( 向单元格状态添加信息<克ydF4y2Ba/td>
输出门( 添加到隐藏状态的单元格状态的控制级别<克ydF4y2Ba/td>
组成部分<克ydF4y2Ba/th>
式<克ydF4y2Ba/th>
输入门<克ydF4y2Ba/td>
忘记门<克ydF4y2Ba/td>
小区候补<克ydF4y2Ba/td>
输出门<克ydF4y2Ba/td>
R2019a中的行为更改<克ydF4y2Ba/em>
在R2019a开始,软件,默认情况下,初始化使用Glorot初始化该层的层输入权重。此行为有助于稳定训练和通常会减少深网络的训练时间。<克ydF4y2Ba/p>
在以前的版本,软件,默认情况下,通过从正态分布采样具有零均值和方差0.01初始化使用的层输入的权重。要重现此行为,设置
R2019a中的行为更改<克ydF4y2Ba/em>
从R2019a开始,默认情况下,软件使用 在以前的版本中,默认情况下,软件使用从平均值为零、方差为0.01的正态分布中采样来初始化层循环权重。要重现此行为,请设置
[1] M。工藤,J.富山,和M. Shimbo。“多维曲线分类中穿出的地区。”
[二]
[3] Hochreiter,S,和J.施米德休伯,1997.长短期记忆。
[4] 格洛特、泽维尔和约书亚·本吉奥。”理解训练深前馈神经网络的困难
[5] 他、开明、张祥宇、任少卿、孙健。”深入研究整流器:在imagenet分类上超越人类水平的性能
[6] 萨克斯、安德鲁·M、詹姆斯·L·麦克莱兰和苏利亚·甘古里。”深线性神经网络非线性学习动力学的精确解万博 尤文图斯
使用说明和限制:<克ydF4y2Ba/p>
对于代码的产生,
对于代码的产生,
深层网络设计师<克ydF4y2Ba/span>|<克ydF4y2Baspan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">bilstmLayer<克ydF4y2Ba/code>
|<克ydF4y2Baspan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">分类和更新状态<克ydF4y2Ba/code>
|<克ydF4y2Baspan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">扁平层<克ydF4y2Ba/code>
|<克ydF4y2Baspan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">掘墓人<克ydF4y2Ba/code>
|<克ydF4y2Baspan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">predictAndUpdateState<克ydF4y2Ba/code>
|<克ydF4y2Baspan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">resetState<克ydF4y2Ba/code>
|<克ydF4y2Baspan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">序列折叠层<克ydF4y2Ba/code>
|<克ydF4y2Baspan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">sequenceInputLayer<克ydF4y2Ba/code>
|<克ydF4y2Baspan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">序列展开层<克ydF4y2Ba/code>
您单击了与此MATLAB命令对应的链接:<克ydF4y2Ba/p>
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx<克ydF4y2Ba/p>
选择一个网站,以获得翻译的内容,其中可看到当地的活动和优惠。根据您的位置,我们建议您选择:<克ydF4y2Bastrong class="recommended-country">.<克ydF4y2Ba/p> 选择<克ydF4y2Baspan class="recommended-country">网站<克ydF4y2Ba/a>
也可以从以下列表中选择网站:<克ydF4y2Ba/p>
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家/地区网站未针对您所在位置的访问进行优化。<克ydF4y2Ba/p>