bilstmLayer
双向长短期存储器(BiLSTM)
描述
双向LSTM (BiLSTM)层学习时间序列或序列数据的时间步长之间的双向长期依赖关系。当您希望网络在每个时间步骤中都能从完整的时间序列中学习时,这些依赖关系非常有用。
创建
描述
层= bilstmLayer (numHiddenUnits)
创建一个双向LSTM层,并设置NumHiddenUnits财产。
层= bilstmLayer (numHiddenUnits,名称,值)
设置额外的OutputMode,激活,状态,参数和初始化,学习率和正则化,的名字使用一个或多个名称-值对参数的属性。可以指定多个名称-值对参数。将每个属性名用引号括起来。
属性
BiLSTM
NumHiddenUnits
- - - - - -隐藏单元数量
正整数
此属性是只读的。
隐藏单元数(也称为隐藏大小),指定为正整数。
隐藏单元的数量对应于该层在时间步骤之间记住的信息量(隐藏状态)。隐藏状态可以包含来自之前所有时间步骤的信息,而不考虑序列长度。如果隐藏单元的数量太大,那么该层可能会过度拟合训练数据。
隐藏状态不限制层在迭代中处理的时间步数。方法将序列拆分为更小的序列,以便在使用trainNetwork函数,使用SequenceLength培训的选择。
该层输出数据NumHiddenUnits频道。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
OutputMode
- - - - - -输出模式
“序列”
(默认)|“最后一次”
此属性是只读的。
输出模式,指定为以下值之一:
“序列”—输出完整的序列。
“最后一次”—输出序列的最后一个时间步。
HasStateInputs
- - - - - -层的状态输入标志
0(假)(默认)|1(真正的)
此属性是只读的。
层的状态输入的标志,指定为0(虚假的)或1(真正的)。
如果HasStateInputs属性是0(false),则该层有一个带有名称的输入“在”,对应于输入数据。在本例中,该层使用HiddenState而且CellState属性用于层操作。
如果HasStateInputs属性是1(true),那么该层有三个输入名称“在”,“隐藏”,“细胞”,分别对应输入数据、隐藏状态和单元格状态。在这种情况下,该层使用传递给这些输入的值进行层操作。如果HasStateInputs是1(正确),然后HiddenState而且CellState属性必须为空。
HasStateOutputs
- - - - - -层的状态输出标志
0(假)(默认)|1(真正的)
此属性是只读的。
层的状态输出的标志,指定为0(虚假的)或1(真正的)。
如果HasStateOutputs属性是0(false),则该层有一个带有名称的输出“出”,对应输出数据。
如果HasStateOutputs属性是1(true),那么该层有三个带有名称的输出“出”,“隐藏”,“细胞”,分别对应输出数据、隐藏状态和单元格状态。在这种情况下,该层还输出它计算的状态值。
InputSize
- - - - - -输入的大小
“汽车”
(默认)|正整数
此属性是只读的。
输入大小,指定为正整数或“汽车”.如果InputSize是“汽车”,然后软件在训练时自动分配输入大小。
数据类型:双|字符
激活
StateActivationFunction
- - - - - -激活函数更新单元格和隐藏状态
的双曲正切
(默认)|“softsign”
此属性是只读的。
激活函数更新单元格和隐藏状态,指定为以下值之一:
的双曲正切—使用双曲正切函数tanh。
“softsign”—使用softsign功能
.
该层使用该选项作为函数
在计算中更新单元格和隐藏状态。有关LSTM层如何使用激活函数的更多信息,请参见长短期记忆层.
GateActivationFunction
- - - - - -激活函数应用于门
“乙状结肠”
(默认)|“hard-sigmoid”
此属性是只读的。
要应用于门的激活函数,指定为以下值之一:
“乙状结肠”—使用sigmoid函数
.
“hard-sigmoid”-使用硬sigmoid函数
该层使用该选项作为函数
在计算层栅时。
状态
CellState
- - - - - -细胞状态
数值向量
要在层操作中使用的单元格状态,指定为2 * NumHiddenUnits-by-1数值向量。此值对应于数据传递给层时的初始单元格状态。
属性手动设置此属性后,调用resetState函数将单元格状态设置为此值。
如果HasStateInputs是真正的,则CellState属性必须为空。
数据类型:单|双
HiddenState
- - - - - -隐藏状态
数值向量
在层操作中使用的隐藏状态,指定为2 * NumHiddenUnits-by-1数值向量。这个值对应于数据传递给该层时的初始隐藏状态。
属性手动设置此属性后,调用resetState函数将隐藏状态设置为此值。
如果HasStateInputs是真正的,则HiddenState属性必须为空。
数据类型:单|双
参数和初始化
InputWeightsInitializer
- - - - - -函数初始化输入权重
“glorot”
(默认)|“他”
|“正交”
|“narrow-normal”|“零”|“的”|函数处理
函数初始化输入权重,指定为以下之一:
“glorot”-使用Glorot初始化器初始化输入权重[1](也称为Xavier初始化器)。格洛洛特初始化器独立地从均值和方差为零的均匀分布中采样2/(InputSize + numOut),在那里numOut = 8*NumHiddenUnits.
“他”-使用He初始化式初始化输入权重[2].He初始化器样本来自均值和方差为零的正态分布2 / InputSize.
“正交”-初始化输入权重问的QR分解给出的正交矩阵Z=问R对于一个随机矩阵Z从单位正态分布抽样。[3]
“narrow-normal”-通过从均值为0,标准差为0.01的正态分布中独立采样,初始化输入权重。
“零”-用0初始化输入权重。
“的”-用1初始化输入权重。
函数句柄——使用自定义函数初始化输入权重。如果指定了函数句柄,则该函数必须为权重= func(sz),在那里深圳是输入权重的大小。
时,该层才初始化输入权重InputWeights属性为空。
数据类型:字符|字符串|function_handle
RecurrentWeightsInitializer
- - - - - -函数初始化循环权重
“正交”
(默认)|“glorot”
|“他”
|“narrow-normal”|“零”|“的”|函数处理
函数初始化循环权重,指定为以下之一:
“正交”-初始化输入权重问的QR分解给出的正交矩阵Z=问R对于一个随机矩阵Z从单位正态分布抽样。[3]
“glorot”-使用Glorot初始化器初始化循环权重[1](也称为Xavier初始化器)。格洛洛特初始化器独立地从均值和方差为零的均匀分布中采样2/(numIn + numOut),在那里numIn = NumHiddenUnits而且numOut = 8*NumHiddenUnits.
“他”-使用He初始化式初始化循环权重[2].He初始化器样本来自均值和方差为零的正态分布2 / NumHiddenUnits.
“narrow-normal”-通过从均值为0,标准差为0.01的正态分布中独立采样,初始化循环权重。
“零”-用0初始化循环权重。
“的”-用1初始化循环权重。
函数句柄——使用自定义函数初始化循环权重。如果指定了函数句柄,则该函数必须为权重= func(sz),在那里深圳是循环权值的大小。
时,层才初始化循环权重RecurrentWeights属性为空。
数据类型:字符|字符串|function_handle
BiasInitializer
- - - - - -函数初始化偏置
“unit-forget-gate”
(默认)|“narrow-normal”
|“的”
|函数处理
函数初始化偏差,指定为以下值之一:
“unit-forget-gate”-初始化遗忘门偏差为1,其余偏差为0。
“narrow-normal”-通过从均值为零、标准差为0.01的正态分布中独立抽样来初始化偏差。
“的”-用1初始化偏差。
函数句柄-使用自定义函数初始化偏置。如果指定了函数句柄,则该函数必须为偏差= func(sz),在那里深圳是偏差的大小。
时,层才初始化偏差偏见属性为空。
数据类型:字符|字符串|function_handle
InputWeights
- - - - - -输入重量
[]
(默认)|矩阵
输入权重,以矩阵形式指定。
输入权值矩阵是双向LSTM层中组件(门)的八个输入权值矩阵的拼接。8个矩阵按以下顺序垂直连接:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
输入权重是可学习的参数。当你训练一个网络使用trainNetwork功能,如果InputWeights为非空,则软件使用InputWeights属性作为初始值。如果InputWeights为空,则软件使用InputWeightsInitializer.
在训练时,InputWeights是一个8 * NumHiddenUnits——- - - - - -InputSize矩阵。
数据类型:单|双
RecurrentWeights
- - - - - -复发性权重
[]
(默认)|矩阵
循环权值,用矩阵表示。
递归权矩阵是双向LSTM层中组件(门)的八个递归权矩阵的串联。8个矩阵按以下顺序垂直连接:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
循环权值是可学习的参数。当你训练一个网络使用trainNetwork功能,如果RecurrentWeights为非空,则软件使用RecurrentWeights属性作为初始值。如果RecurrentWeights为空,则软件使用RecurrentWeightsInitializer.
在训练时,RecurrentWeights是一个8 * NumHiddenUnits——- - - - - -NumHiddenUnits矩阵。
数据类型:单|双
偏见
- - - - - -层的偏见
[]
(默认)|数值向量
层偏置,指定为数值向量。
偏压向量是双向LSTM层中组件(门)的八个偏压向量的拼接。8个向量按以下顺序垂直连接:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
层偏差是可学习参数。当你训练一个网络时,如果偏见非空吗trainNetwork使用偏见属性作为初始值。如果偏见那么是空的trainNetwork所指定的初始化式BiasInitializer.
在训练时,偏见是一个8 * NumHiddenUnits-by-1数值向量。
数据类型:单|双
学习率和正则化
InputWeightsLearnRateFactor
- - - - - -输入权重的学习率因子
1(默认)|数字标量|1乘8的数字向量
输入权重的学习率因子,指定为数值标量或1 × 8数值向量。
该软件将该因子乘以全局学习率,以确定该层输入权重的学习率因子。例如,如果InputWeightsLearnRateFactor是2,则该层输入权值的学习率因子为当前全局学习率的两倍。属性指定的设置,该软件将确定全局学习率trainingOptions函数。
中四个单独矩阵的学习率因子的值InputWeights,分配一个1 × 8的向量,其中条目对应于以下的学习率因子:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
若要为所有矩阵指定相同的值,请指定一个非负标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
RecurrentWeightsLearnRateFactor
- - - - - -循环权重的学习率因子
1(默认)|数字标量|1乘8的数字向量
循环权重的学习率因子,指定为数值标量或1 × 8数值向量。
该软件将该因子乘以全局学习率,以确定该层的循环权重的学习率。例如,如果RecurrentWeightsLearnRateFactor是2,则该层的循环权值的学习率为当前全局学习率的两倍。方法指定的设置,该软件根据设置确定全局学习率trainingOptions函数。
控件中四个单独矩阵的学习率值RecurrentWeights,分配一个1 × 8的向量,其中条目对应于以下的学习率因子:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
若要为所有矩阵指定相同的值,请指定一个非负标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
BiasLearnRateFactor
- - - - - -学习率因素偏差
1(默认)|负的标量|1乘8的数字向量
偏差的学习率因子,指定为非负标量或1 × 8数值向量。
该软件将该因子乘以全局学习率,以确定该层偏差的学习率。例如,如果BiasLearnRateFactor是2,则该层中偏差的学习率为当前全局学习率的两倍。方法指定的设置,该软件根据设置确定全局学习率trainingOptions函数。
中四个单独矩阵的学习率因子的值偏见,分配一个1 × 8的向量,其中条目对应于以下的学习率因子:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
若要为所有矩阵指定相同的值,请指定一个非负标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
InputWeightsL2Factor
- - - - - -输入权重的L2正则化因子
1(默认)|数字标量|1乘8的数字向量
输入权重的L2正则化因子,指定为数值标量或1 × 8数值向量。
软件将这个因子乘以全局l2正则化因子的确定l2层的输入权值的正则化因子。例如,如果InputWeightsL2Factor是2,则l2该层的输入权重的正则化因子是当前全局的两倍l2正则化因子。软件决定了l2属性指定的设置的正则化因子trainingOptions函数。
中四个单独矩阵的L2正则化因子的值InputWeights,分配一个1 × 8的向量,其中条目对应于以下的L2正则化因子:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
若要为所有矩阵指定相同的值,请指定一个非负标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
RecurrentWeightsL2Factor
- - - - - -L2正则化因子用于循环权重
1(默认)|数字标量|1乘8的数字向量
用于循环权重的L2正则化因子,指定为数值标量或1 × 8数值向量。
软件将这个因子乘以全局l2正则化因子的确定l2层的循环权值的正则化因子。例如,如果RecurrentWeightsL2Factor是2,则l2该层的循环权重的正则化因子是当前全局的两倍l2正则化因子。软件决定了l2属性指定的设置的正则化因子trainingOptions函数。
中四个单独矩阵的L2正则化因子的值RecurrentWeights,分配一个1 × 8的向量,其中条目对应于以下的L2正则化因子:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
若要为所有矩阵指定相同的值,请指定一个非负标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
BiasL2Factor
- - - - - -偏差的L2正则化因子
0(默认)|负的标量|1乘8的数字向量
偏差的L2正则化因子,指定为非负标量。
软件将这个因子乘以全局l2正则化因子的确定l2这一层偏差的正则化。例如,如果BiasL2Factor是2,则l2这一层偏差的正则化是全局偏差的两倍l2正则化因子。软件决定全局l2属性指定的设置的正则化因子trainingOptions函数。
中四个单独矩阵的L2正则化因子的值偏见,分配一个1 × 8的向量,其中条目对应于以下的L2正则化因子:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
若要为所有矩阵指定相同的值,请指定一个非负标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
层
的名字
- - - - - -层的名字
”
(默认)|特征向量|字符串标量
层名,指定为字符向量或字符串标量。为层数组输入时,trainNetwork,assembleNetwork,layerGraph,dlnetwork函数自动为具有该名称的层分配名称”.
数据类型:字符|字符串
NumInputs
- - - - - -输入数量
1
|3.
此属性是只读的。
层的输入数量。
如果HasStateInputs属性是0(false),则该层有一个带有名称的输入“在”,对应于输入数据。在本例中,该层使用HiddenState而且CellState属性用于层操作。
如果HasStateInputs属性是1(true),那么该层有三个输入名称“在”,“隐藏”,“细胞”,分别对应输入数据、隐藏状态和单元格状态。在这种情况下,该层使用传递给这些输入的值进行层操作。如果HasStateInputs是1(正确),然后HiddenState而且CellState属性必须为空。
数据类型:双
InputNames
- - - - - -输入名字
{'在'}
|{‘在’,‘隐藏’,‘细胞’}
此属性是只读的。
输入层的名称。
如果HasStateInputs属性是0(false),则该层有一个带有名称的输入“在”,对应于输入数据。在本例中,该层使用HiddenState而且CellState属性用于层操作。
如果HasStateInputs属性是1(true),那么该层有三个输入名称“在”,“隐藏”,“细胞”,分别对应输入数据、隐藏状态和单元格状态。在这种情况下,该层使用传递给这些输入的值进行层操作。如果HasStateInputs是1(正确),然后HiddenState而且CellState属性必须为空。
NumOutputs
- - - - - -输出数
1
|3.
此属性是只读的。
输出到该层的数量。
如果HasStateOutputs属性是0(false),则该层有一个带有名称的输出“出”,对应输出数据。
如果HasStateOutputs属性是1(true),那么该层有三个带有名称的输出“出”,“隐藏”,“细胞”,分别对应输出数据、隐藏状态和单元格状态。在这种情况下,该层还输出它计算的状态值。
数据类型:双
OutputNames
- - - - - -输出的名字
{“出”}
|{‘出来’,‘隐藏’,‘细胞’}
此属性是只读的。
输出层的名称。
如果HasStateOutputs属性是0(false),则该层有一个带有名称的输出“出”,对应输出数据。
如果HasStateOutputs属性是1(true),那么该层有三个带有名称的输出“出”,“隐藏”,“细胞”,分别对应输出数据、隐藏状态和单元格状态。在这种情况下,该层还输出它计算的状态值。
例子
创建双向LSTM层
创建一个双向LSTM层“bilstm1”还有100个隐藏单位。
层= bilstmLayer“名字”,“bilstm1”)
layer = BiLSTMLayer with properties: Name: 'bilstm1' InputNames: {'in'} OutputNames: {'out'} NumInputs: 1 NumOutputs: 1 HasStateInputs: 0 HasStateOutputs: 0 Hyperparameters InputSize: 'auto' NumHiddenUnits: 100 OutputMode: 'sequence' statactivationfunction: 'tanh' GateActivationFunction: 'sigmoid' Learnable Parameters inputwights: [] recurrentwights: [] Bias: [] State Parameters HiddenState: [] CellState:[]显示所有属性
中包含双向LSTM层层数组中。
inputSize = 12;numHiddenUnits = 100;numClasses = 9;层= [...sequenceInputLayer(inputSize) bilstmLayer(numHiddenUnits) fullyConnectedLayer(numClasses) softmaxLayer classificationLayer]
2”BiLSTM BiLSTM与100个隐藏单元3”全连接9全连接层4”Softmax Softmax 5”分类输出crossentropyex
算法
图层输入和输出格式
层数组或层图中的层将数据以格式化的方式传递给后续层dlarray对象。的格式dlarray对象是一个字符串,其中每个字符描述了数据的对应维度。格式由一个或多个字符组成:
“S”——空间
“C”——频道
“B”——批
“T”——时间
“U”——未指明的
例如,表示为4-D数组的2-D图像数据,其中前两个维度对应于图像的空间维度,第三个维度对应于图像的通道,第四个维度对应于批处理维度,可以被描述为具有格式“SSCB”(空间,空间,通道,批次)。
你可以与它们交互dlarray对象在自动区分工作流程中,如开发自定义层,使用functionLayer对象,或使用向前而且预测功能与dlnetwork对象。
的支持输入格式金宝appBiLSTMLayer对象和相应的输出格式。类的自定义层,该自定义层不继承nnet.layer.Formattable类,或FunctionLayer对象的Formattable属性设置为0(false),则该层接收一个未格式化的dlarray对象,其维度顺序对应于此表中的格式。
输入格式
OutputMode
输出格式
“CB”(通道、批处理)
“序列”
“CB”(通道、批处理)
“最后一次”
“认知行为治疗”(通道、批次、时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
“某人”(空间、批处理)
“序列”
“CB”(通道、批处理)
“最后一次”
在dlnetwork对象,BiLSTMLayer对象还支持这些输入和输出格金宝app式组合。
输入格式
OutputMode
输出格式
“渣打银行”(空间、通道、批次)
“序列”
“CB”(通道、批处理)
“最后一次”
“SSCB”(空间、空间、通道、批次)
“序列”
“最后一次”
“SSSCB”(空间、空间、空间、通道、批次)
“序列”
“最后一次”
“SCBT”(空间、通道、批次、时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
“SSCBT”(空间、空间、通道、批次、时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
“SSSCBT”(空间、空间、空间、通道、批次、时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
“SC”(空间、通道)
“序列”
“铜”(未指明的通道)
“最后一次”
“SSC”(空间,空间,通道)
“序列”
“最后一次”
“SSSC”(空间,空间,空间,通道)
“序列”
“最后一次”
“CT”(通道、时间)
“序列”
“CT”(通道、时间)
“最后一次”
“铜”(未指明的通道)
“SCT”(空间、渠道、时间)
“序列”
“CT”(通道、时间)
“最后一次”
“铜”(未指明的通道)
“SSCT”(空间、空间、通道、时间)
“序列”
“CT”(通道、时间)
“最后一次”
“铜”(未指明的通道)
“SSSCT”(空间、空间、通道、时间)
“序列”
“CT”(通道、时间)
“最后一次”
“铜”(未指明的通道)
“单边带”(空间,空间,批次)
“序列”
“CB”(通道、批处理)
“最后一次”
“SSSB”(空间,空间,空间,批次)
“序列”
“最后一次”
“转基因”(批量、时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
“SBT”(空间、批次、时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
“名为SSBT”(空间,空间,批次,时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
“SSSBT”(空间,空间,空间,批次,时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
中使用这些输入格式trainNetwork工作流,将数据转换为“CB”(通道,批量)或“认知行为治疗”(通道,批次,时间)格式使用flattenLayer.
如果HasStateInputs属性是1(true),则该层有两个带有名称的额外输入“隐藏”而且“细胞”,分别对应隐藏状态和单元格状态。这些额外的输入需要输入格式“CB”(频道,批处理)。
如果HasStateOutputs属性是1(true),则该层有两个带有名称的额外输出“隐藏”而且“细胞”,分别对应隐藏状态和单元格状态。这些附加输出具有输出格式“CB”(频道,批处理)。
参考文献
格洛洛特,泽维尔,还有约书亚·本吉奥。《理解深度前馈神经网络训练的难度》在第十三届人工智能与统计国际会议论文集, 249 - 356。撒丁岛,意大利:AISTATS, 2010。
[2]何开明,张翔宇,任少卿,孙健。“深入研究整流器:在ImageNet分类上超越人类水平的性能。”在2015年IEEE计算机视觉国际会议论文集, 1026 - 1034。华盛顿:IEEE计算机视觉学会,2015。
Saxe, Andrew M., James L. McClelland, Surya Ganguli。“深度线性神经金宝搏官方网站网络中非线性学习动力学的精确解。”arXiv预打印arXiv:1312.6120(2013)。
扩展功能
C/ c++代码生成使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
当用Intel生成代码时®MKL-DNN:
的StateActivationFunction属性必须设置为的双曲正切.
的GateActivationFunction属性必须设置为“乙状结肠”.
的HasStateInputs而且HasStateOutputs属性必须设置为0(假)。
GPU代码生成使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。
使用注意事项和限制:
对于GPU代码生成,使用StateActivationFunction属性必须设置为的双曲正切.
对于GPU代码生成,使用GateActivationFunction属性必须设置为“乙状结肠”.
的HasStateInputs而且HasStateOutputs属性必须设置为0(假)。
版本历史
在R2018a中引入
R2019a:默认的输入权重初始化是gloria
从R2019a开始,默认情况下,软件使用Glorot初始化器初始化该层的层输入权重。这种行为有助于稳定训练,通常会减少深度网络的训练时间。
在以前的版本中,软件在默认情况下,使用从均值为零,方差为0.01的正态分布中采样来初始化层输入权重。要重现此行为,请设置“InputWeightsInitializer”图层的选项“narrow-normal”.
R2019a:默认的循环权重初始化是正交的
从R2019a开始,默认情况下,软件初始化该层的层循环权值为问的QR分解给出的正交矩阵Z=问R对于一个随机矩阵Z从单位正态分布抽样。这种行为有助于稳定训练,通常会减少深度网络的训练时间。
在以前的版本中,软件在默认情况下,通过从均值为零,方差为0.01的正态分布中采样来初始化层循环权重。要重现此行为,请设置“RecurrentWeightsInitializer”图层的选项“narrow-normal”.
双向长短期存储器(BiLSTM)
描述
双向LSTM (BiLSTM)层学习时间序列或序列数据的时间步长之间的双向长期依赖关系。当您希望网络在每个时间步骤中都能从完整的时间序列中学习时,这些依赖关系非常有用。
双向LSTM (BiLSTM)层学习时间序列或序列数据的时间步长之间的双向长期依赖关系。当您希望网络在每个时间步骤中都能从完整的时间序列中学习时,这些依赖关系非常有用。
创建
描述
层= bilstmLayer (numHiddenUnits)
创建一个双向LSTM层,并设置NumHiddenUnits财产。
层= bilstmLayer (numHiddenUnits,名称,值)
设置额外的OutputMode,激活,状态,参数和初始化,学习率和正则化,的名字使用一个或多个名称-值对参数的属性。可以指定多个名称-值对参数。将每个属性名用引号括起来。
描述
层= bilstmLayer (numHiddenUnits)
创建一个双向LSTM层,并设置NumHiddenUnits财产。
层= bilstmLayer (numHiddenUnits,名称,值)
设置额外的OutputMode,激活,状态,参数和初始化,学习率和正则化,的名字使用一个或多个名称-值对参数的属性。可以指定多个名称-值对参数。将每个属性名用引号括起来。
创建一个双向LSTM层,并设置层
NumHiddenUnits
设置额外的层
OutputMode
的名字
属性
BiLSTM
NumHiddenUnits
- - - - - -隐藏单元数量
正整数
此属性是只读的。
隐藏单元数(也称为隐藏大小),指定为正整数。
隐藏单元的数量对应于该层在时间步骤之间记住的信息量(隐藏状态)。隐藏状态可以包含来自之前所有时间步骤的信息,而不考虑序列长度。如果隐藏单元的数量太大,那么该层可能会过度拟合训练数据。
隐藏状态不限制层在迭代中处理的时间步数。方法将序列拆分为更小的序列,以便在使用trainNetwork函数,使用SequenceLength培训的选择。
该层输出数据NumHiddenUnits频道。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
OutputMode
- - - - - -输出模式
“序列”
(默认)|“最后一次”
此属性是只读的。
输出模式,指定为以下值之一:
“序列”—输出完整的序列。
“最后一次”—输出序列的最后一个时间步。
HasStateInputs
- - - - - -层的状态输入标志
0(假)(默认)|1(真正的)
此属性是只读的。
层的状态输入的标志,指定为0(虚假的)或1(真正的)。
如果HasStateInputs属性是0(false),则该层有一个带有名称的输入“在”,对应于输入数据。在本例中,该层使用HiddenState而且CellState属性用于层操作。
如果HasStateInputs属性是1(true),那么该层有三个输入名称“在”,“隐藏”,“细胞”,分别对应输入数据、隐藏状态和单元格状态。在这种情况下,该层使用传递给这些输入的值进行层操作。如果HasStateInputs是1(正确),然后HiddenState而且CellState属性必须为空。
HasStateOutputs
- - - - - -层的状态输出标志
0(假)(默认)|1(真正的)
此属性是只读的。
层的状态输出的标志,指定为0(虚假的)或1(真正的)。
如果HasStateOutputs属性是0(false),则该层有一个带有名称的输出“出”,对应输出数据。
如果HasStateOutputs属性是1(true),那么该层有三个带有名称的输出“出”,“隐藏”,“细胞”,分别对应输出数据、隐藏状态和单元格状态。在这种情况下,该层还输出它计算的状态值。
InputSize
- - - - - -输入的大小
“汽车”
(默认)|正整数
此属性是只读的。
输入大小,指定为正整数或“汽车”.如果InputSize是“汽车”,然后软件在训练时自动分配输入大小。
数据类型:双|字符
激活
StateActivationFunction
- - - - - -激活函数更新单元格和隐藏状态
的双曲正切
(默认)|“softsign”
此属性是只读的。
激活函数更新单元格和隐藏状态,指定为以下值之一:
的双曲正切—使用双曲正切函数tanh。
“softsign”—使用softsign功能
.
该层使用该选项作为函数
在计算中更新单元格和隐藏状态。有关LSTM层如何使用激活函数的更多信息,请参见长短期记忆层.
GateActivationFunction
- - - - - -激活函数应用于门
“乙状结肠”
(默认)|“hard-sigmoid”
此属性是只读的。
要应用于门的激活函数,指定为以下值之一:
“乙状结肠”—使用sigmoid函数
.
“hard-sigmoid”-使用硬sigmoid函数
该层使用该选项作为函数
在计算层栅时。
状态
CellState
- - - - - -细胞状态
数值向量
要在层操作中使用的单元格状态,指定为2 * NumHiddenUnits-by-1数值向量。此值对应于数据传递给层时的初始单元格状态。
属性手动设置此属性后,调用resetState函数将单元格状态设置为此值。
如果HasStateInputs是真正的,则CellState属性必须为空。
数据类型:单|双
HiddenState
- - - - - -隐藏状态
数值向量
在层操作中使用的隐藏状态,指定为2 * NumHiddenUnits-by-1数值向量。这个值对应于数据传递给该层时的初始隐藏状态。
属性手动设置此属性后,调用resetState函数将隐藏状态设置为此值。
如果HasStateInputs是真正的,则HiddenState属性必须为空。
数据类型:单|双
参数和初始化
InputWeightsInitializer
- - - - - -函数初始化输入权重
“glorot”
(默认)|“他”
|“正交”
|“narrow-normal”|“零”|“的”|函数处理
函数初始化输入权重,指定为以下之一:
“glorot”-使用Glorot初始化器初始化输入权重[1](也称为Xavier初始化器)。格洛洛特初始化器独立地从均值和方差为零的均匀分布中采样2/(InputSize + numOut),在那里numOut = 8*NumHiddenUnits.
“他”-使用He初始化式初始化输入权重[2].He初始化器样本来自均值和方差为零的正态分布2 / InputSize.
“正交”-初始化输入权重问的QR分解给出的正交矩阵Z=问R对于一个随机矩阵Z从单位正态分布抽样。[3]
“narrow-normal”-通过从均值为0,标准差为0.01的正态分布中独立采样,初始化输入权重。
“零”-用0初始化输入权重。
“的”-用1初始化输入权重。
函数句柄——使用自定义函数初始化输入权重。如果指定了函数句柄,则该函数必须为权重= func(sz),在那里深圳是输入权重的大小。
时,该层才初始化输入权重InputWeights属性为空。
数据类型:字符|字符串|function_handle
RecurrentWeightsInitializer
- - - - - -函数初始化循环权重
“正交”
(默认)|“glorot”
|“他”
|“narrow-normal”|“零”|“的”|函数处理
函数初始化循环权重,指定为以下之一:
“正交”-初始化输入权重问的QR分解给出的正交矩阵Z=问R对于一个随机矩阵Z从单位正态分布抽样。[3]
“glorot”-使用Glorot初始化器初始化循环权重[1](也称为Xavier初始化器)。格洛洛特初始化器独立地从均值和方差为零的均匀分布中采样2/(numIn + numOut),在那里numIn = NumHiddenUnits而且numOut = 8*NumHiddenUnits.
“他”-使用He初始化式初始化循环权重[2].He初始化器样本来自均值和方差为零的正态分布2 / NumHiddenUnits.
“narrow-normal”-通过从均值为0,标准差为0.01的正态分布中独立采样,初始化循环权重。
“零”-用0初始化循环权重。
“的”-用1初始化循环权重。
函数句柄——使用自定义函数初始化循环权重。如果指定了函数句柄,则该函数必须为权重= func(sz),在那里深圳是循环权值的大小。
时,层才初始化循环权重RecurrentWeights属性为空。
数据类型:字符|字符串|function_handle
BiasInitializer
- - - - - -函数初始化偏置
“unit-forget-gate”
(默认)|“narrow-normal”
|“的”
|函数处理
函数初始化偏差,指定为以下值之一:
“unit-forget-gate”-初始化遗忘门偏差为1,其余偏差为0。
“narrow-normal”-通过从均值为零、标准差为0.01的正态分布中独立抽样来初始化偏差。
“的”-用1初始化偏差。
函数句柄-使用自定义函数初始化偏置。如果指定了函数句柄,则该函数必须为偏差= func(sz),在那里深圳是偏差的大小。
时,层才初始化偏差偏见属性为空。
数据类型:字符|字符串|function_handle
InputWeights
- - - - - -输入重量
[]
(默认)|矩阵
输入权重,以矩阵形式指定。
输入权值矩阵是双向LSTM层中组件(门)的八个输入权值矩阵的拼接。8个矩阵按以下顺序垂直连接:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
输入权重是可学习的参数。当你训练一个网络使用trainNetwork功能,如果InputWeights为非空,则软件使用InputWeights属性作为初始值。如果InputWeights为空,则软件使用InputWeightsInitializer.
在训练时,InputWeights是一个8 * NumHiddenUnits——- - - - - -InputSize矩阵。
数据类型:单|双
RecurrentWeights
- - - - - -复发性权重
[]
(默认)|矩阵
循环权值,用矩阵表示。
递归权矩阵是双向LSTM层中组件(门)的八个递归权矩阵的串联。8个矩阵按以下顺序垂直连接:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
循环权值是可学习的参数。当你训练一个网络使用trainNetwork功能,如果RecurrentWeights为非空,则软件使用RecurrentWeights属性作为初始值。如果RecurrentWeights为空,则软件使用RecurrentWeightsInitializer.
在训练时,RecurrentWeights是一个8 * NumHiddenUnits——- - - - - -NumHiddenUnits矩阵。
数据类型:单|双
偏见
- - - - - -层的偏见
[]
(默认)|数值向量
层偏置,指定为数值向量。
偏压向量是双向LSTM层中组件(门)的八个偏压向量的拼接。8个向量按以下顺序垂直连接:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
层偏差是可学习参数。当你训练一个网络时,如果偏见非空吗trainNetwork使用偏见属性作为初始值。如果偏见那么是空的trainNetwork所指定的初始化式BiasInitializer.
在训练时,偏见是一个8 * NumHiddenUnits-by-1数值向量。
数据类型:单|双
学习率和正则化
InputWeightsLearnRateFactor
- - - - - -输入权重的学习率因子
1(默认)|数字标量|1乘8的数字向量
输入权重的学习率因子,指定为数值标量或1 × 8数值向量。
该软件将该因子乘以全局学习率,以确定该层输入权重的学习率因子。例如,如果InputWeightsLearnRateFactor是2,则该层输入权值的学习率因子为当前全局学习率的两倍。属性指定的设置,该软件将确定全局学习率trainingOptions函数。
中四个单独矩阵的学习率因子的值InputWeights,分配一个1 × 8的向量,其中条目对应于以下的学习率因子:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
若要为所有矩阵指定相同的值,请指定一个非负标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
RecurrentWeightsLearnRateFactor
- - - - - -循环权重的学习率因子
1(默认)|数字标量|1乘8的数字向量
循环权重的学习率因子,指定为数值标量或1 × 8数值向量。
该软件将该因子乘以全局学习率,以确定该层的循环权重的学习率。例如,如果RecurrentWeightsLearnRateFactor是2,则该层的循环权值的学习率为当前全局学习率的两倍。方法指定的设置,该软件根据设置确定全局学习率trainingOptions函数。
控件中四个单独矩阵的学习率值RecurrentWeights,分配一个1 × 8的向量,其中条目对应于以下的学习率因子:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
若要为所有矩阵指定相同的值,请指定一个非负标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
BiasLearnRateFactor
- - - - - -学习率因素偏差
1(默认)|负的标量|1乘8的数字向量
偏差的学习率因子,指定为非负标量或1 × 8数值向量。
该软件将该因子乘以全局学习率,以确定该层偏差的学习率。例如,如果BiasLearnRateFactor是2,则该层中偏差的学习率为当前全局学习率的两倍。方法指定的设置,该软件根据设置确定全局学习率trainingOptions函数。
中四个单独矩阵的学习率因子的值偏见,分配一个1 × 8的向量,其中条目对应于以下的学习率因子:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
若要为所有矩阵指定相同的值,请指定一个非负标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
InputWeightsL2Factor
- - - - - -输入权重的L2正则化因子
1(默认)|数字标量|1乘8的数字向量
输入权重的L2正则化因子,指定为数值标量或1 × 8数值向量。
软件将这个因子乘以全局l2正则化因子的确定l2层的输入权值的正则化因子。例如,如果InputWeightsL2Factor是2,则l2该层的输入权重的正则化因子是当前全局的两倍l2正则化因子。软件决定了l2属性指定的设置的正则化因子trainingOptions函数。
中四个单独矩阵的L2正则化因子的值InputWeights,分配一个1 × 8的向量,其中条目对应于以下的L2正则化因子:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
若要为所有矩阵指定相同的值,请指定一个非负标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
RecurrentWeightsL2Factor
- - - - - -L2正则化因子用于循环权重
1(默认)|数字标量|1乘8的数字向量
用于循环权重的L2正则化因子,指定为数值标量或1 × 8数值向量。
软件将这个因子乘以全局l2正则化因子的确定l2层的循环权值的正则化因子。例如,如果RecurrentWeightsL2Factor是2,则l2该层的循环权重的正则化因子是当前全局的两倍l2正则化因子。软件决定了l2属性指定的设置的正则化因子trainingOptions函数。
中四个单独矩阵的L2正则化因子的值RecurrentWeights,分配一个1 × 8的向量,其中条目对应于以下的L2正则化因子:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
若要为所有矩阵指定相同的值,请指定一个非负标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
BiasL2Factor
- - - - - -偏差的L2正则化因子
0(默认)|负的标量|1乘8的数字向量
偏差的L2正则化因子,指定为非负标量。
软件将这个因子乘以全局l2正则化因子的确定l2这一层偏差的正则化。例如,如果BiasL2Factor是2,则l2这一层偏差的正则化是全局偏差的两倍l2正则化因子。软件决定全局l2属性指定的设置的正则化因子trainingOptions函数。
中四个单独矩阵的L2正则化因子的值偏见,分配一个1 × 8的向量,其中条目对应于以下的L2正则化因子:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
若要为所有矩阵指定相同的值,请指定一个非负标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
层
的名字
- - - - - -层的名字
”
(默认)|特征向量|字符串标量
层名,指定为字符向量或字符串标量。为层数组输入时,trainNetwork,assembleNetwork,layerGraph,dlnetwork函数自动为具有该名称的层分配名称”.
数据类型:字符|字符串
NumInputs
- - - - - -输入数量
1
|3.
此属性是只读的。
层的输入数量。
如果HasStateInputs属性是0(false),则该层有一个带有名称的输入“在”,对应于输入数据。在本例中,该层使用HiddenState而且CellState属性用于层操作。
如果HasStateInputs属性是1(true),那么该层有三个输入名称“在”,“隐藏”,“细胞”,分别对应输入数据、隐藏状态和单元格状态。在这种情况下,该层使用传递给这些输入的值进行层操作。如果HasStateInputs是1(正确),然后HiddenState而且CellState属性必须为空。
数据类型:双
InputNames
- - - - - -输入名字
{'在'}
|{‘在’,‘隐藏’,‘细胞’}
此属性是只读的。
输入层的名称。
如果HasStateInputs属性是0(false),则该层有一个带有名称的输入“在”,对应于输入数据。在本例中,该层使用HiddenState而且CellState属性用于层操作。
如果HasStateInputs属性是1(true),那么该层有三个输入名称“在”,“隐藏”,“细胞”,分别对应输入数据、隐藏状态和单元格状态。在这种情况下,该层使用传递给这些输入的值进行层操作。如果HasStateInputs是1(正确),然后HiddenState而且CellState属性必须为空。
NumOutputs
- - - - - -输出数
1
|3.
此属性是只读的。
输出到该层的数量。
如果HasStateOutputs属性是0(false),则该层有一个带有名称的输出“出”,对应输出数据。
如果HasStateOutputs属性是1(true),那么该层有三个带有名称的输出“出”,“隐藏”,“细胞”,分别对应输出数据、隐藏状态和单元格状态。在这种情况下,该层还输出它计算的状态值。
数据类型:双
OutputNames
- - - - - -输出的名字
{“出”}
|{‘出来’,‘隐藏’,‘细胞’}
此属性是只读的。
输出层的名称。
如果HasStateOutputs属性是0(false),则该层有一个带有名称的输出“出”,对应输出数据。
如果HasStateOutputs属性是1(true),那么该层有三个带有名称的输出“出”,“隐藏”,“细胞”,分别对应输出数据、隐藏状态和单元格状态。在这种情况下,该层还输出它计算的状态值。
BiLSTM
NumHiddenUnits
- - - - - -隐藏单元数量
正整数
此属性是只读的。
隐藏单元数(也称为隐藏大小),指定为正整数。
隐藏单元的数量对应于该层在时间步骤之间记住的信息量(隐藏状态)。隐藏状态可以包含来自之前所有时间步骤的信息,而不考虑序列长度。如果隐藏单元的数量太大,那么该层可能会过度拟合训练数据。
隐藏状态不限制层在迭代中处理的时间步数。方法将序列拆分为更小的序列,以便在使用trainNetwork函数,使用SequenceLength培训的选择。
该层输出数据NumHiddenUnits频道。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
OutputMode
- - - - - -输出模式
“序列”
(默认)|“最后一次”
此属性是只读的。
输出模式,指定为以下值之一:
“序列”—输出完整的序列。
“最后一次”—输出序列的最后一个时间步。
HasStateInputs
- - - - - -层的状态输入标志
0(假)(默认)|1(真正的)
此属性是只读的。
层的状态输入的标志,指定为0(虚假的)或1(真正的)。
如果HasStateInputs属性是0(false),则该层有一个带有名称的输入“在”,对应于输入数据。在本例中,该层使用HiddenState而且CellState属性用于层操作。
如果HasStateInputs属性是1(true),那么该层有三个输入名称“在”,“隐藏”,“细胞”,分别对应输入数据、隐藏状态和单元格状态。在这种情况下,该层使用传递给这些输入的值进行层操作。如果HasStateInputs是1(正确),然后HiddenState而且CellState属性必须为空。
HasStateOutputs
- - - - - -层的状态输出标志
0(假)(默认)|1(真正的)
此属性是只读的。
层的状态输出的标志,指定为0(虚假的)或1(真正的)。
如果HasStateOutputs属性是0(false),则该层有一个带有名称的输出“出”,对应输出数据。
如果HasStateOutputs属性是1(true),那么该层有三个带有名称的输出“出”,“隐藏”,“细胞”,分别对应输出数据、隐藏状态和单元格状态。在这种情况下,该层还输出它计算的状态值。
InputSize
- - - - - -输入的大小
“汽车”
(默认)|正整数
此属性是只读的。
输入大小,指定为正整数或“汽车”.如果InputSize是“汽车”,然后软件在训练时自动分配输入大小。
数据类型:双|字符
NumHiddenUnits
- - - - - -隐藏单元数量
正整数
正整数
此属性是只读的。 隐藏单元数(也称为隐藏大小),指定为正整数。 隐藏单元的数量对应于该层在时间步骤之间记住的信息量(隐藏状态)。隐藏状态可以包含来自之前所有时间步骤的信息,而不考虑序列长度。如果隐藏单元的数量太大,那么该层可能会过度拟合训练数据。 隐藏状态不限制层在迭代中处理的时间步数。方法将序列拆分为更小的序列,以便在使用 该层输出数据 数据类型:trainNetwork
SequenceLength
单
OutputMode
- - - - - -输出模式
“序列”
(默认)|“最后一次”
“序列”
(默认)|“最后一次”
此属性是只读的。 输出模式,指定为以下值之一:
“序列”
“最后一次”
HasStateInputs
- - - - - -层的状态输入标志
0(假)(默认)|1(真正的)
0(假)(默认)|1(真正的)
此属性是只读的。 层的状态输入的标志,指定为 如果 如果
HasStateOutputs
- - - - - -层的状态输出标志
0(假)(默认)|1(真正的)
0(假)(默认)|1(真正的)
此属性是只读的。 层的状态输出的标志,指定为 如果 如果
InputSize
- - - - - -输入的大小
“汽车”
(默认)|正整数
“汽车”
(默认)|此属性是只读的。 输入大小,指定为正整数或 数据类型:双
激活
StateActivationFunction
- - - - - -激活函数更新单元格和隐藏状态
的双曲正切
(默认)|“softsign”
此属性是只读的。
激活函数更新单元格和隐藏状态,指定为以下值之一:
的双曲正切—使用双曲正切函数tanh。
“softsign”—使用softsign功能
.
该层使用该选项作为函数
在计算中更新单元格和隐藏状态。有关LSTM层如何使用激活函数的更多信息,请参见长短期记忆层.
GateActivationFunction
- - - - - -激活函数应用于门
“乙状结肠”
(默认)|“hard-sigmoid”
此属性是只读的。
要应用于门的激活函数,指定为以下值之一:
“乙状结肠”—使用sigmoid函数
.
“hard-sigmoid”-使用硬sigmoid函数
该层使用该选项作为函数
在计算层栅时。
StateActivationFunction
- - - - - -激活函数更新单元格和隐藏状态
的双曲正切
(默认)|“softsign”
的双曲正切
(默认)|“softsign”
此属性是只读的。 激活函数更新单元格和隐藏状态,指定为以下值之一: 该层使用该选项作为函数
的双曲正切
“softsign”
GateActivationFunction
- - - - - -激活函数应用于门
“乙状结肠”
(默认)|“hard-sigmoid”
“乙状结肠”
(默认)|“hard-sigmoid”
此属性是只读的。 要应用于门的激活函数,指定为以下值之一:
该层使用该选项作为函数
“乙状结肠”
“hard-sigmoid”
状态
CellState
- - - - - -细胞状态
数值向量
要在层操作中使用的单元格状态,指定为2 * NumHiddenUnits-by-1数值向量。此值对应于数据传递给层时的初始单元格状态。
属性手动设置此属性后,调用resetState函数将单元格状态设置为此值。
如果HasStateInputs是真正的,则CellState属性必须为空。
数据类型:单|双
HiddenState
- - - - - -隐藏状态
数值向量
在层操作中使用的隐藏状态,指定为2 * NumHiddenUnits-by-1数值向量。这个值对应于数据传递给该层时的初始隐藏状态。
属性手动设置此属性后,调用resetState函数将隐藏状态设置为此值。
如果HasStateInputs是真正的,则HiddenState属性必须为空。
数据类型:单|双
CellState
- - - - - -细胞状态
数值向量
数值向量
要在层操作中使用的单元格状态,指定为 属性手动设置此属性后,调用 如果 数据类型:单
HiddenState
- - - - - -隐藏状态
数值向量
数值向量
在层操作中使用的隐藏状态,指定为 属性手动设置此属性后,调用 如果 数据类型:单
参数和初始化
InputWeightsInitializer
- - - - - -函数初始化输入权重
“glorot”
(默认)|“他”
|“正交”
|“narrow-normal”|“零”|“的”|函数处理
函数初始化输入权重,指定为以下之一:
“glorot”-使用Glorot初始化器初始化输入权重[1](也称为Xavier初始化器)。格洛洛特初始化器独立地从均值和方差为零的均匀分布中采样2/(InputSize + numOut),在那里numOut = 8*NumHiddenUnits.
“他”-使用He初始化式初始化输入权重[2].He初始化器样本来自均值和方差为零的正态分布2 / InputSize.
“正交”-初始化输入权重问的QR分解给出的正交矩阵Z=问R对于一个随机矩阵Z从单位正态分布抽样。[3]
“narrow-normal”-通过从均值为0,标准差为0.01的正态分布中独立采样,初始化输入权重。
“零”-用0初始化输入权重。
“的”-用1初始化输入权重。
函数句柄——使用自定义函数初始化输入权重。如果指定了函数句柄,则该函数必须为权重= func(sz),在那里深圳是输入权重的大小。
时,该层才初始化输入权重InputWeights属性为空。
数据类型:字符|字符串|function_handle
RecurrentWeightsInitializer
- - - - - -函数初始化循环权重
“正交”
(默认)|“glorot”
|“他”
|“narrow-normal”|“零”|“的”|函数处理
函数初始化循环权重,指定为以下之一:
“正交”-初始化输入权重问的QR分解给出的正交矩阵Z=问R对于一个随机矩阵Z从单位正态分布抽样。[3]
“glorot”-使用Glorot初始化器初始化循环权重[1](也称为Xavier初始化器)。格洛洛特初始化器独立地从均值和方差为零的均匀分布中采样2/(numIn + numOut),在那里numIn = NumHiddenUnits而且numOut = 8*NumHiddenUnits.
“他”-使用He初始化式初始化循环权重[2].He初始化器样本来自均值和方差为零的正态分布2 / NumHiddenUnits.
“narrow-normal”-通过从均值为0,标准差为0.01的正态分布中独立采样,初始化循环权重。
“零”-用0初始化循环权重。
“的”-用1初始化循环权重。
函数句柄——使用自定义函数初始化循环权重。如果指定了函数句柄,则该函数必须为权重= func(sz),在那里深圳是循环权值的大小。
时,层才初始化循环权重RecurrentWeights属性为空。
数据类型:字符|字符串|function_handle
BiasInitializer
- - - - - -函数初始化偏置
“unit-forget-gate”
(默认)|“narrow-normal”
|“的”
|函数处理
函数初始化偏差,指定为以下值之一:
“unit-forget-gate”-初始化遗忘门偏差为1,其余偏差为0。
“narrow-normal”-通过从均值为零、标准差为0.01的正态分布中独立抽样来初始化偏差。
“的”-用1初始化偏差。
函数句柄-使用自定义函数初始化偏置。如果指定了函数句柄,则该函数必须为偏差= func(sz),在那里深圳是偏差的大小。
时,层才初始化偏差偏见属性为空。
数据类型:字符|字符串|function_handle
InputWeights
- - - - - -输入重量
[]
(默认)|矩阵
输入权重,以矩阵形式指定。
输入权值矩阵是双向LSTM层中组件(门)的八个输入权值矩阵的拼接。8个矩阵按以下顺序垂直连接:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
输入权重是可学习的参数。当你训练一个网络使用trainNetwork功能,如果InputWeights为非空,则软件使用InputWeights属性作为初始值。如果InputWeights为空,则软件使用InputWeightsInitializer.
在训练时,InputWeights是一个8 * NumHiddenUnits——- - - - - -InputSize矩阵。
数据类型:单|双
RecurrentWeights
- - - - - -复发性权重
[]
(默认)|矩阵
循环权值,用矩阵表示。
递归权矩阵是双向LSTM层中组件(门)的八个递归权矩阵的串联。8个矩阵按以下顺序垂直连接:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
循环权值是可学习的参数。当你训练一个网络使用trainNetwork功能,如果RecurrentWeights为非空,则软件使用RecurrentWeights属性作为初始值。如果RecurrentWeights为空,则软件使用RecurrentWeightsInitializer.
在训练时,RecurrentWeights是一个8 * NumHiddenUnits——- - - - - -NumHiddenUnits矩阵。
数据类型:单|双
偏见
- - - - - -层的偏见
[]
(默认)|数值向量
层偏置,指定为数值向量。
偏压向量是双向LSTM层中组件(门)的八个偏压向量的拼接。8个向量按以下顺序垂直连接:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
层偏差是可学习参数。当你训练一个网络时,如果偏见非空吗trainNetwork使用偏见属性作为初始值。如果偏见那么是空的trainNetwork所指定的初始化式BiasInitializer.
在训练时,偏见是一个8 * NumHiddenUnits-by-1数值向量。
数据类型:单|双
InputWeightsInitializer
- - - - - -函数初始化输入权重
“glorot”
(默认)|“他”
|“正交”
|“narrow-normal”|“零”|“的”|函数处理
“glorot”
(默认)|“他”
“正交”
“narrow-normal”|“零”|“的”|函数处理
函数初始化输入权重,指定为以下之一: 函数句柄——使用自定义函数初始化输入权重。如果指定了函数句柄,则该函数必须为 时,该层才初始化输入权重 数据类型:
“glorot”
“他”
“正交”
“narrow-normal”
“零”
“的”
字符
RecurrentWeightsInitializer
- - - - - -函数初始化循环权重
“正交”
(默认)|“glorot”
|“他”
|“narrow-normal”|“零”|“的”|函数处理
“正交”
(默认)|“glorot”
“他”
“narrow-normal”|“零”|“的”|函数处理
函数初始化循环权重,指定为以下之一: 函数句柄——使用自定义函数初始化循环权重。如果指定了函数句柄,则该函数必须为 时,层才初始化循环权重 数据类型:
“正交”
“glorot”
“他”
“narrow-normal”
“零”
“的”
字符
BiasInitializer
- - - - - -函数初始化偏置
“unit-forget-gate”
(默认)|“narrow-normal”
|“的”
|函数处理
“unit-forget-gate”
(默认)|“narrow-normal”
“的”
函数初始化偏差,指定为以下值之一: 函数句柄-使用自定义函数初始化偏置。如果指定了函数句柄,则该函数必须为 时,层才初始化偏差 数据类型:
“unit-forget-gate”
“narrow-normal”
“的”
字符
InputWeights
- - - - - -输入重量
[]
(默认)|矩阵
[]
(默认)|输入权重,以矩阵形式指定。 输入权值矩阵是双向LSTM层中组件(门)的八个输入权值矩阵的拼接。8个矩阵按以下顺序垂直连接: 输入门(正向) 遗忘门(向前) Cell candidate (Forward) 输出门(正向) 输入门(向后) 遗忘之门(向后) Cell candidate(向后) 输出门(向后) 输入权重是可学习的参数。当你训练一个网络使用 在训练时, 数据类型:
trainNetwork
单
RecurrentWeights
- - - - - -复发性权重
[]
(默认)|矩阵
[]
(默认)|循环权值,用矩阵表示。 递归权矩阵是双向LSTM层中组件(门)的八个递归权矩阵的串联。8个矩阵按以下顺序垂直连接: 输入门(正向) 遗忘门(向前) Cell candidate (Forward) 输出门(正向) 输入门(向后) 遗忘之门(向后) Cell candidate(向后) 输出门(向后) 循环权值是可学习的参数。当你训练一个网络使用 在训练时, 数据类型:
trainNetwork
单
偏见
- - - - - -层的偏见
[]
(默认)|数值向量
[]
(默认)|层偏置,指定为数值向量。 偏压向量是双向LSTM层中组件(门)的八个偏压向量的拼接。8个向量按以下顺序垂直连接: 输入门(正向) 遗忘门(向前) Cell candidate (Forward) 输出门(正向) 输入门(向后) 遗忘之门(向后) Cell candidate(向后) 输出门(向后) 层偏差是可学习参数。当你训练一个网络时,如果 在训练时, 数据类型:
trainNetwork
单
学习率和正则化
InputWeightsLearnRateFactor
- - - - - -输入权重的学习率因子
1(默认)|数字标量|1乘8的数字向量
输入权重的学习率因子,指定为数值标量或1 × 8数值向量。
该软件将该因子乘以全局学习率,以确定该层输入权重的学习率因子。例如,如果InputWeightsLearnRateFactor是2,则该层输入权值的学习率因子为当前全局学习率的两倍。属性指定的设置,该软件将确定全局学习率trainingOptions函数。
中四个单独矩阵的学习率因子的值InputWeights,分配一个1 × 8的向量,其中条目对应于以下的学习率因子:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
若要为所有矩阵指定相同的值,请指定一个非负标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
RecurrentWeightsLearnRateFactor
- - - - - -循环权重的学习率因子
1(默认)|数字标量|1乘8的数字向量
循环权重的学习率因子,指定为数值标量或1 × 8数值向量。
该软件将该因子乘以全局学习率,以确定该层的循环权重的学习率。例如,如果RecurrentWeightsLearnRateFactor是2,则该层的循环权值的学习率为当前全局学习率的两倍。方法指定的设置,该软件根据设置确定全局学习率trainingOptions函数。
控件中四个单独矩阵的学习率值RecurrentWeights,分配一个1 × 8的向量,其中条目对应于以下的学习率因子:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
若要为所有矩阵指定相同的值,请指定一个非负标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
BiasLearnRateFactor
- - - - - -学习率因素偏差
1(默认)|负的标量|1乘8的数字向量
偏差的学习率因子,指定为非负标量或1 × 8数值向量。
该软件将该因子乘以全局学习率,以确定该层偏差的学习率。例如,如果BiasLearnRateFactor是2,则该层中偏差的学习率为当前全局学习率的两倍。方法指定的设置,该软件根据设置确定全局学习率trainingOptions函数。
中四个单独矩阵的学习率因子的值偏见,分配一个1 × 8的向量,其中条目对应于以下的学习率因子:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
若要为所有矩阵指定相同的值,请指定一个非负标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
InputWeightsL2Factor
- - - - - -输入权重的L2正则化因子
1(默认)|数字标量|1乘8的数字向量
输入权重的L2正则化因子,指定为数值标量或1 × 8数值向量。
软件将这个因子乘以全局l2正则化因子的确定l2层的输入权值的正则化因子。例如,如果InputWeightsL2Factor是2,则l2该层的输入权重的正则化因子是当前全局的两倍l2正则化因子。软件决定了l2属性指定的设置的正则化因子trainingOptions函数。
中四个单独矩阵的L2正则化因子的值InputWeights,分配一个1 × 8的向量,其中条目对应于以下的L2正则化因子:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
若要为所有矩阵指定相同的值,请指定一个非负标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
RecurrentWeightsL2Factor
- - - - - -L2正则化因子用于循环权重
1(默认)|数字标量|1乘8的数字向量
用于循环权重的L2正则化因子,指定为数值标量或1 × 8数值向量。
软件将这个因子乘以全局l2正则化因子的确定l2层的循环权值的正则化因子。例如,如果RecurrentWeightsL2Factor是2,则l2该层的循环权重的正则化因子是当前全局的两倍l2正则化因子。软件决定了l2属性指定的设置的正则化因子trainingOptions函数。
中四个单独矩阵的L2正则化因子的值RecurrentWeights,分配一个1 × 8的向量,其中条目对应于以下的L2正则化因子:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
若要为所有矩阵指定相同的值,请指定一个非负标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
BiasL2Factor
- - - - - -偏差的L2正则化因子
0(默认)|负的标量|1乘8的数字向量
偏差的L2正则化因子,指定为非负标量。
软件将这个因子乘以全局l2正则化因子的确定l2这一层偏差的正则化。例如,如果BiasL2Factor是2,则l2这一层偏差的正则化是全局偏差的两倍l2正则化因子。软件决定全局l2属性指定的设置的正则化因子trainingOptions函数。
中四个单独矩阵的L2正则化因子的值偏见,分配一个1 × 8的向量,其中条目对应于以下的L2正则化因子:
输入门(正向)
遗忘门(向前)
Cell candidate (Forward)
输出门(正向)
输入门(向后)
遗忘之门(向后)
Cell candidate(向后)
输出门(向后)
若要为所有矩阵指定相同的值,请指定一个非负标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
InputWeightsLearnRateFactor
- - - - - -输入权重的学习率因子
1(默认)|数字标量|1乘8的数字向量
1
输入权重的学习率因子,指定为数值标量或1 × 8数值向量。 该软件将该因子乘以全局学习率,以确定该层输入权重的学习率因子。例如,如果 中四个单独矩阵的学习率因子的值 输入门(正向) 遗忘门(向前) Cell candidate (Forward) 输出门(正向) 输入门(向后) 遗忘之门(向后) Cell candidate(向后) 输出门(向后) 若要为所有矩阵指定相同的值,请指定一个非负标量。 数据类型:trainingOptions
单
RecurrentWeightsLearnRateFactor
- - - - - -循环权重的学习率因子
1(默认)|数字标量|1乘8的数字向量
1
循环权重的学习率因子,指定为数值标量或1 × 8数值向量。 该软件将该因子乘以全局学习率,以确定该层的循环权重的学习率。例如,如果 控件中四个单独矩阵的学习率值 输入门(正向) 遗忘门(向前) Cell candidate (Forward) 输出门(正向) 输入门(向后) 遗忘之门(向后) Cell candidate(向后) 输出门(向后) 若要为所有矩阵指定相同的值,请指定一个非负标量。 数据类型:trainingOptions
单
BiasLearnRateFactor
- - - - - -学习率因素偏差
1(默认)|负的标量|1乘8的数字向量
1
偏差的学习率因子,指定为非负标量或1 × 8数值向量。 该软件将该因子乘以全局学习率,以确定该层偏差的学习率。例如,如果 中四个单独矩阵的学习率因子的值 输入门(正向) 遗忘门(向前) Cell candidate (Forward) 输出门(正向) 输入门(向后) 遗忘之门(向后) Cell candidate(向后) 输出门(向后) 若要为所有矩阵指定相同的值,请指定一个非负标量。 数据类型:trainingOptions
单
InputWeightsL2Factor
- - - - - -输入权重的L2正则化因子
1(默认)|数字标量|1乘8的数字向量
1
输入权重的L2正则化因子,指定为数值标量或1 × 8数值向量。 软件将这个因子乘以全局 中四个单独矩阵的L2正则化因子的值 输入门(正向) 遗忘门(向前) Cell candidate (Forward) 输出门(正向) 输入门(向后) 遗忘之门(向后) Cell candidate(向后) 输出门(向后) 若要为所有矩阵指定相同的值,请指定一个非负标量。 数据类型:trainingOptions
单
RecurrentWeightsL2Factor
- - - - - -L2正则化因子用于循环权重
1(默认)|数字标量|1乘8的数字向量
1
用于循环权重的L2正则化因子,指定为数值标量或1 × 8数值向量。 软件将这个因子乘以全局 中四个单独矩阵的L2正则化因子的值 输入门(正向) 遗忘门(向前) Cell candidate (Forward) 输出门(正向) 输入门(向后) 遗忘之门(向后) Cell candidate(向后) 输出门(向后) 若要为所有矩阵指定相同的值,请指定一个非负标量。 数据类型:trainingOptions
单
BiasL2Factor
- - - - - -偏差的L2正则化因子
0(默认)|负的标量|1乘8的数字向量
0
偏差的L2正则化因子,指定为非负标量。 软件将这个因子乘以全局 中四个单独矩阵的L2正则化因子的值 输入门(正向) 遗忘门(向前) Cell candidate (Forward) 输出门(正向) 输入门(向后) 遗忘之门(向后) Cell candidate(向后) 输出门(向后) 若要为所有矩阵指定相同的值,请指定一个非负标量。 数据类型:trainingOptions
单
层
的名字
- - - - - -层的名字
”
(默认)|特征向量|字符串标量
层名,指定为字符向量或字符串标量。为层数组输入时,trainNetwork,assembleNetwork,layerGraph,dlnetwork函数自动为具有该名称的层分配名称”.
数据类型:字符|字符串
NumInputs
- - - - - -输入数量
1
|3.
此属性是只读的。
层的输入数量。
如果HasStateInputs属性是0(false),则该层有一个带有名称的输入“在”,对应于输入数据。在本例中,该层使用HiddenState而且CellState属性用于层操作。
如果HasStateInputs属性是1(true),那么该层有三个输入名称“在”,“隐藏”,“细胞”,分别对应输入数据、隐藏状态和单元格状态。在这种情况下,该层使用传递给这些输入的值进行层操作。如果HasStateInputs是1(正确),然后HiddenState而且CellState属性必须为空。
数据类型:双
InputNames
- - - - - -输入名字
{'在'}
|{‘在’,‘隐藏’,‘细胞’}
此属性是只读的。
输入层的名称。
如果HasStateInputs属性是0(false),则该层有一个带有名称的输入“在”,对应于输入数据。在本例中,该层使用HiddenState而且CellState属性用于层操作。
如果HasStateInputs属性是1(true),那么该层有三个输入名称“在”,“隐藏”,“细胞”,分别对应输入数据、隐藏状态和单元格状态。在这种情况下,该层使用传递给这些输入的值进行层操作。如果HasStateInputs是1(正确),然后HiddenState而且CellState属性必须为空。
NumOutputs
- - - - - -输出数
1
|3.
此属性是只读的。
输出到该层的数量。
如果HasStateOutputs属性是0(false),则该层有一个带有名称的输出“出”,对应输出数据。
如果HasStateOutputs属性是1(true),那么该层有三个带有名称的输出“出”,“隐藏”,“细胞”,分别对应输出数据、隐藏状态和单元格状态。在这种情况下,该层还输出它计算的状态值。
数据类型:双
OutputNames
- - - - - -输出的名字
{“出”}
|{‘出来’,‘隐藏’,‘细胞’}
此属性是只读的。
输出层的名称。
如果HasStateOutputs属性是0(false),则该层有一个带有名称的输出“出”,对应输出数据。
如果HasStateOutputs属性是1(true),那么该层有三个带有名称的输出“出”,“隐藏”,“细胞”,分别对应输出数据、隐藏状态和单元格状态。在这种情况下,该层还输出它计算的状态值。
的名字
- - - - - -层的名字
”
(默认)|特征向量|字符串标量
”
(默认)|层名,指定为字符向量或字符串标量。为trainNetwork
assembleNetwork
layerGraph
dlnetwork
数据类型:字符
NumInputs
- - - - - -输入数量
1
|3.
1
|3.
此属性是只读的。 层的输入数量。 如果 如果 数据类型:双
InputNames
- - - - - -输入名字
{'在'}
|{‘在’,‘隐藏’,‘细胞’}
{'在'}
|{‘在’,‘隐藏’,‘细胞’}
此属性是只读的。 输入层的名称。 如果 如果
NumOutputs
- - - - - -输出数
1
|3.
1
|3.
此属性是只读的。 输出到该层的数量。 如果 如果 数据类型:双
OutputNames
- - - - - -输出的名字
{“出”}
|{‘出来’,‘隐藏’,‘细胞’}
{“出”}
|{‘出来’,‘隐藏’,‘细胞’}
此属性是只读的。 输出层的名称。 如果 如果
例子
创建双向LSTM层
创建一个双向LSTM层“bilstm1”还有100个隐藏单位。
层= bilstmLayer“名字”,“bilstm1”)
layer = BiLSTMLayer with properties: Name: 'bilstm1' InputNames: {'in'} OutputNames: {'out'} NumInputs: 1 NumOutputs: 1 HasStateInputs: 0 HasStateOutputs: 0 Hyperparameters InputSize: 'auto' NumHiddenUnits: 100 OutputMode: 'sequence' statactivationfunction: 'tanh' GateActivationFunction: 'sigmoid' Learnable Parameters inputwights: [] recurrentwights: [] Bias: [] State Parameters HiddenState: [] CellState:[]显示所有属性
中包含双向LSTM层层数组中。
inputSize = 12;numHiddenUnits = 100;numClasses = 9;层= [...sequenceInputLayer(inputSize) bilstmLayer(numHiddenUnits) fullyConnectedLayer(numClasses) softmaxLayer classificationLayer]
2”BiLSTM BiLSTM与100个隐藏单元3”全连接9全连接层4”Softmax Softmax 5”分类输出crossentropyex
创建双向LSTM层
创建一个双向LSTM层 中包含双向LSTM层层= bilstmLayer
layer = BiLSTMLayer with properties: Name: 'bilstm1' InputNames: {'in'} OutputNames: {'out'} NumInputs: 1 NumOutputs: 1 HasStateInputs: 0 HasStateOutputs: 0 Hyperparameters InputSize: 'auto' NumHiddenUnits: 100 OutputMode: 'sequence' statactivationfunction: 'tanh' GateActivationFunction: 'sigmoid' Learnable Parameters inputwights: [] recurrentwights: [] Bias: [] State Parameters HiddenState: [] CellState:[]显示所有属性
inputSize = 12;numHiddenUnits = 100;numClasses = 9;层= [
2”BiLSTM BiLSTM与100个隐藏单元3”全连接9全连接层4”Softmax Softmax 5”分类输出crossentropyex
算法
图层输入和输出格式
层数组或层图中的层将数据以格式化的方式传递给后续层dlarray对象。的格式dlarray对象是一个字符串,其中每个字符描述了数据的对应维度。格式由一个或多个字符组成:
“S”——空间
“C”——频道
“B”——批
“T”——时间
“U”——未指明的
例如,表示为4-D数组的2-D图像数据,其中前两个维度对应于图像的空间维度,第三个维度对应于图像的通道,第四个维度对应于批处理维度,可以被描述为具有格式“SSCB”(空间,空间,通道,批次)。
你可以与它们交互dlarray对象在自动区分工作流程中,如开发自定义层,使用functionLayer对象,或使用向前而且预测功能与dlnetwork对象。
的支持输入格式金宝appBiLSTMLayer对象和相应的输出格式。类的自定义层,该自定义层不继承nnet.layer.Formattable类,或FunctionLayer对象的Formattable属性设置为0(false),则该层接收一个未格式化的dlarray对象,其维度顺序对应于此表中的格式。
输入格式
OutputMode
输出格式
“CB”(通道、批处理)
“序列”
“CB”(通道、批处理)
“最后一次”
“认知行为治疗”(通道、批次、时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
“某人”(空间、批处理)
“序列”
“CB”(通道、批处理)
“最后一次”
在dlnetwork对象,BiLSTMLayer对象还支持这些输入和输出格金宝app式组合。
输入格式
OutputMode
输出格式
“渣打银行”(空间、通道、批次)
“序列”
“CB”(通道、批处理)
“最后一次”
“SSCB”(空间、空间、通道、批次)
“序列”
“最后一次”
“SSSCB”(空间、空间、空间、通道、批次)
“序列”
“最后一次”
“SCBT”(空间、通道、批次、时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
“SSCBT”(空间、空间、通道、批次、时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
“SSSCBT”(空间、空间、空间、通道、批次、时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
“SC”(空间、通道)
“序列”
“铜”(未指明的通道)
“最后一次”
“SSC”(空间,空间,通道)
“序列”
“最后一次”
“SSSC”(空间,空间,空间,通道)
“序列”
“最后一次”
“CT”(通道、时间)
“序列”
“CT”(通道、时间)
“最后一次”
“铜”(未指明的通道)
“SCT”(空间、渠道、时间)
“序列”
“CT”(通道、时间)
“最后一次”
“铜”(未指明的通道)
“SSCT”(空间、空间、通道、时间)
“序列”
“CT”(通道、时间)
“最后一次”
“铜”(未指明的通道)
“SSSCT”(空间、空间、通道、时间)
“序列”
“CT”(通道、时间)
“最后一次”
“铜”(未指明的通道)
“单边带”(空间,空间,批次)
“序列”
“CB”(通道、批处理)
“最后一次”
“SSSB”(空间,空间,空间,批次)
“序列”
“最后一次”
“转基因”(批量、时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
“SBT”(空间、批次、时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
“名为SSBT”(空间,空间,批次,时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
“SSSBT”(空间,空间,空间,批次,时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
中使用这些输入格式trainNetwork工作流,将数据转换为“CB”(通道,批量)或“认知行为治疗”(通道,批次,时间)格式使用flattenLayer.
如果HasStateInputs属性是1(true),则该层有两个带有名称的额外输入“隐藏”而且“细胞”,分别对应隐藏状态和单元格状态。这些额外的输入需要输入格式“CB”(频道,批处理)。
如果HasStateOutputs属性是1(true),则该层有两个带有名称的额外输出“隐藏”而且“细胞”,分别对应隐藏状态和单元格状态。这些附加输出具有输出格式“CB”(频道,批处理)。
图层输入和输出格式
层数组或层图中的层将数据以格式化的方式传递给后续层dlarray对象。的格式dlarray对象是一个字符串,其中每个字符描述了数据的对应维度。格式由一个或多个字符组成:
“S”——空间
“C”——频道
“B”——批
“T”——时间
“U”——未指明的
例如,表示为4-D数组的2-D图像数据,其中前两个维度对应于图像的空间维度,第三个维度对应于图像的通道,第四个维度对应于批处理维度,可以被描述为具有格式“SSCB”(空间,空间,通道,批次)。
你可以与它们交互dlarray对象在自动区分工作流程中,如开发自定义层,使用functionLayer对象,或使用向前而且预测功能与dlnetwork对象。
的支持输入格式金宝appBiLSTMLayer对象和相应的输出格式。类的自定义层,该自定义层不继承nnet.layer.Formattable类,或FunctionLayer对象的Formattable属性设置为0(false),则该层接收一个未格式化的dlarray对象,其维度顺序对应于此表中的格式。
输入格式
OutputMode
输出格式
“CB”(通道、批处理)
“序列”
“CB”(通道、批处理)
“最后一次”
“认知行为治疗”(通道、批次、时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
“某人”(空间、批处理)
“序列”
“CB”(通道、批处理)
“最后一次”
在dlnetwork对象,BiLSTMLayer对象还支持这些输入和输出格金宝app式组合。
输入格式
OutputMode
输出格式
“渣打银行”(空间、通道、批次)
“序列”
“CB”(通道、批处理)
“最后一次”
“SSCB”(空间、空间、通道、批次)
“序列”
“最后一次”
“SSSCB”(空间、空间、空间、通道、批次)
“序列”
“最后一次”
“SCBT”(空间、通道、批次、时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
“SSCBT”(空间、空间、通道、批次、时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
“SSSCBT”(空间、空间、空间、通道、批次、时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
“SC”(空间、通道)
“序列”
“铜”(未指明的通道)
“最后一次”
“SSC”(空间,空间,通道)
“序列”
“最后一次”
“SSSC”(空间,空间,空间,通道)
“序列”
“最后一次”
“CT”(通道、时间)
“序列”
“CT”(通道、时间)
“最后一次”
“铜”(未指明的通道)
“SCT”(空间、渠道、时间)
“序列”
“CT”(通道、时间)
“最后一次”
“铜”(未指明的通道)
“SSCT”(空间、空间、通道、时间)
“序列”
“CT”(通道、时间)
“最后一次”
“铜”(未指明的通道)
“SSSCT”(空间、空间、通道、时间)
“序列”
“CT”(通道、时间)
“最后一次”
“铜”(未指明的通道)
“单边带”(空间,空间,批次)
“序列”
“CB”(通道、批处理)
“最后一次”
“SSSB”(空间,空间,空间,批次)
“序列”
“最后一次”
“转基因”(批量、时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
“SBT”(空间、批次、时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
“名为SSBT”(空间,空间,批次,时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
“SSSBT”(空间,空间,空间,批次,时间)
“序列”
“认知行为治疗”(通道、批次、时间)
“最后一次”
“CB”(通道、批处理)
中使用这些输入格式trainNetwork工作流,将数据转换为“CB”(通道,批量)或“认知行为治疗”(通道,批次,时间)格式使用flattenLayer.
如果HasStateInputs属性是1(true),则该层有两个带有名称的额外输入“隐藏”而且“细胞”,分别对应隐藏状态和单元格状态。这些额外的输入需要输入格式“CB”(频道,批处理)。
如果HasStateOutputs属性是1(true),则该层有两个带有名称的额外输出“隐藏”而且“细胞”,分别对应隐藏状态和单元格状态。这些附加输出具有输出格式“CB”(频道,批处理)。
层数组或层图中的层将数据以格式化的方式传递给后续层 例如,表示为4-D数组的2-D图像数据,其中前两个维度对应于图像的空间维度,第三个维度对应于图像的通道,第四个维度对应于批处理维度,可以被描述为具有格式 你可以与它们交互 的支持输入格式金宝app 在 中使用这些输入格式 如果 如果dlarray
“S”
“C”
“B”
“T”
“U”
functionLayer
向前
预测
输入格式 OutputMode
输出格式
“CB”
“序列”
“CB”
“最后一次”
“认知行为治疗”
“序列”
“认知行为治疗”
“最后一次”
“CB”
“某人”
“序列”
“CB”
“最后一次”
输入格式 OutputMode
输出格式
“渣打银行”
“序列”
“CB”
“最后一次”
“SSCB”
“序列”
“最后一次”
“SSSCB”
“序列”
“最后一次”
“SCBT”
“序列”
“认知行为治疗”
“最后一次”
“CB”
“SSCBT”
“序列”
“认知行为治疗”
“最后一次”
“CB”
“SSSCBT”
“序列”
“认知行为治疗”
“最后一次”
“CB”
“SC”
“序列”
“铜”
“最后一次”
“SSC”
“序列”
“最后一次”
“SSSC”
“序列”
“最后一次”
“CT”
“序列”
“CT”
“最后一次”
“铜”
“SCT”
“序列”
“CT”
“最后一次”
“铜”
“SSCT”
“序列”
“CT”
“最后一次”
“铜”
“SSSCT”
“序列”
“CT”
“最后一次”
“铜”
“单边带”
“序列”
“CB”
“最后一次”
“SSSB”
“序列”
“最后一次”
“转基因”
“序列”
“认知行为治疗”
“最后一次”
“CB”
“SBT”
“序列”
“认知行为治疗”
“最后一次”
“CB”
“名为SSBT”
“序列”
“认知行为治疗”
“最后一次”
“CB”
“SSSBT”
“序列”
“认知行为治疗”
“最后一次”
“CB”
flattenLayer
参考文献
格洛洛特,泽维尔,还有约书亚·本吉奥。《理解深度前馈神经网络训练的难度》在第十三届人工智能与统计国际会议论文集, 249 - 356。撒丁岛,意大利:AISTATS, 2010。
[2]何开明,张翔宇,任少卿,孙健。“深入研究整流器:在ImageNet分类上超越人类水平的性能。”在2015年IEEE计算机视觉国际会议论文集, 1026 - 1034。华盛顿:IEEE计算机视觉学会,2015。
Saxe, Andrew M., James L. McClelland, Surya Ganguli。“深度线性神经金宝搏官方网站网络中非线性学习动力学的精确解。”arXiv预打印arXiv:1312.6120(2013)。
格洛洛特,泽维尔,还有约书亚·本吉奥。《理解深度前馈神经网络训练的难度》在
[2]何开明,张翔宇,任少卿,孙健。“深入研究整流器:在ImageNet分类上超越人类水平的性能。”在
Saxe, Andrew M., James L. McClelland, Surya Ganguli。“深度线性神经金宝搏官方网站网络中非线性学习动力学的精确解。”
扩展功能
C/ c++代码生成使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
当用Intel生成代码时®MKL-DNN:
的StateActivationFunction属性必须设置为的双曲正切.
的GateActivationFunction属性必须设置为“乙状结肠”.
的HasStateInputs而且HasStateOutputs属性必须设置为0(假)。
GPU代码生成使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。
使用注意事项和限制:
对于GPU代码生成,使用StateActivationFunction属性必须设置为的双曲正切.
对于GPU代码生成,使用GateActivationFunction属性必须设置为“乙状结肠”.
的HasStateInputs而且HasStateOutputs属性必须设置为0(假)。
C/ c++代码生成使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
当用Intel生成代码时 的 的 的
GPU代码生成使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。
使用注意事项和限制: 对于GPU代码生成,使用 对于GPU代码生成,使用 的
版本历史
在R2018a中引入
R2019a:默认的输入权重初始化是gloria
从R2019a开始,默认情况下,软件使用Glorot初始化器初始化该层的层输入权重。这种行为有助于稳定训练,通常会减少深度网络的训练时间。
在以前的版本中,软件在默认情况下,使用从均值为零,方差为0.01的正态分布中采样来初始化层输入权重。要重现此行为,请设置“InputWeightsInitializer”图层的选项“narrow-normal”.
R2019a:默认的循环权重初始化是正交的
从R2019a开始,默认情况下,软件初始化该层的层循环权值为问的QR分解给出的正交矩阵Z=问R对于一个随机矩阵Z从单位正态分布抽样。这种行为有助于稳定训练,通常会减少深度网络的训练时间。
在以前的版本中,软件在默认情况下,通过从均值为零,方差为0.01的正态分布中采样来初始化层循环权重。要重现此行为,请设置“RecurrentWeightsInitializer”图层的选项“narrow-normal”.
R2019a:默认的输入权重初始化是gloria
从R2019a开始,默认情况下,软件使用Glorot初始化器初始化该层的层输入权重。这种行为有助于稳定训练,通常会减少深度网络的训练时间。 在以前的版本中,软件在默认情况下,使用从均值为零,方差为0.01的正态分布中采样来初始化层输入权重。要重现此行为,请设置
R2019a:默认的循环权重初始化是正交的
从R2019a开始,默认情况下,软件初始化该层的层循环权值为 在以前的版本中,软件在默认情况下,通过从均值为零,方差为0.01的正态分布中采样来初始化层循环权重。要重现此行为,请设置
Abrir比如
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
MATLAB突击队
Ha hecho clic en unenlace que对应一个este commando de MATLAB: 弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
您也可以从以下列表中选择一个网站: 选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。如何获得最佳的网站性能
欧洲