bilstmLayer
双向长期短期记忆(BiLSTM)层递归神经网络(RNN)
描述
双向LSTM (BiLSTM)一层一层是一个RNN学习双向长期时间步长之间的依赖关系的时间序列或序列数据。这些依赖项可以是有用的,当你想要RNN学习完整的时间序列在每个时间步。
创建
描述
层= bilstmLayer (numHiddenUnits)
创建一个双向LSTM层和设置NumHiddenUnits财产。
层= bilstmLayer (numHiddenUnits,名称,值)
设置额外的OutputMode,激活,状态,参数和初始化,学习速率、正规化,的名字使用一个或多个名称-值对参数属性。您可以指定多个参数名称-值对。在报价附上每个属性的名字。
属性
BiLSTM
NumHiddenUnits
- - - - - -隐藏的数量单位
正整数
这个属性是只读的。
隐藏的数量单位(也称为隐藏的大小),指定为一个正整数。
隐藏的数量单位对应的信息量之间的层记得时间步骤(隐藏状态)。隐藏的状态可以包含信息从前面所有的时间步骤,不管序列长度。如果隐藏单位的数量太大,然后层可能overfit训练数据。
隐藏的状态不限制时间的数量层过程在一个迭代的步骤。将你的序列分割成更小的序列,当你使用trainNetwork功能,使用SequenceLength培训的选择。
层输出数据NumHiddenUnits频道。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
OutputMode
- - - - - -输出模式
“序列”
(默认)|“最后一次”
这个属性是只读的。
输出模式,指定这些值之一:
“序列”——输出完整的序列。
“最后一次”——输出序列的最后一次一步。
HasStateInputs
- - - - - -为输入层
0(假)(默认)|1(真正的)
这个属性是只读的。
国旗的国家输入层,指定为0(虚假的)或1(真正的)。
如果HasStateInputs属性是0(假),然后有一个输入层的名字“在”,对应于输入数据。在这种情况下,层使用HiddenState和CellState属性层操作。
如果HasStateInputs属性是1(真正的),然后一层有三个输入姓名“在”,“隐藏”,“细胞”对应于输入数据的隐藏状态,分别和细胞状态。在这种情况下,层使用的值传递给这些输入层操作。如果HasStateInputs是1(真正的),那么HiddenState和CellState属性必须是空的。
HasStateOutputs
- - - - - -国旗的国家输出层
0(假)(默认)|1(真正的)
这个属性是只读的。
国旗的国家输出层,指定为0(虚假的)或1(真正的)。
如果HasStateOutputs属性是0(假),然后有一个输出层的名字“出”对应的输出数据。
如果HasStateOutputs属性是1(真正的),然后有三个输出层的名字“出”,“隐藏”,“细胞”对应的输出数据,隐藏状态,分别和细胞状态。在这种情况下,该层还输出状态值计算。
InputSize
- - - - - -输入的大小
“汽车”
(默认)|正整数
这个属性是只读的。
输入大小,指定为一个正整数或“汽车”。如果InputSize是“汽车”软件自动分配,然后输入大小在训练时间。
数据类型:双|字符
激活
StateActivationFunction
- - - - - -激活函数来更新细胞和隐藏状态
的双曲正切
(默认)|“softsign”
这个属性是只读的。
激活函数来更新细胞和隐藏状态,指定这些值之一:
的双曲正切-使用双曲正切函数(双曲正切)。
“softsign”——使用softsign函数
。
层使用这个选项作为函数
在计算更新细胞和隐藏状态。更多信息在一个LSTM层如何使用激活函数,看看长期短期记忆层。
GateActivationFunction
- - - - - -激活函数适用于盖茨
“乙状结肠”
(默认)|“hard-sigmoid”
这个属性是只读的。
激活函数适用于盖茨,指定这些值之一:
“乙状结肠”——使用s形的函数
。
“hard-sigmoid”——使用硬乙状结肠函数
层使用这个选项作为函数
在计算层门。
状态
CellState
- - - - - -细胞状态
数值向量
细胞状态用于层操作,指定为一个2 * NumHiddenUnits1数字向量。这个值对应于初始细胞状态时数据被传递到层。
手动设置该属性后,调用resetState这个值函数集细胞状态。
如果HasStateInputs是真正的,那么CellState属性必须是空的。
数据类型:单|双
HiddenState
- - - - - -隐藏状态
数值向量
隐藏的状态使用层操作,指定为一个2 * NumHiddenUnits1数字向量。这个值对应于初始数据传递给层时隐藏状态。
手动设置该属性后,调用resetState函数设置隐藏状态到这个值。
如果HasStateInputs是真正的,那么HiddenState属性必须是空的。
数据类型:单|双
参数和初始化
InputWeightsInitializer
- - - - - -函数来初始化输入权重
“glorot”
(默认)|“他”
|“正交”
|“narrow-normal”|“零”|“的”|函数处理
函数初始化输入重量、指定为以下之一:
“glorot”——初始化输入权重Glorot初始值设定项[1](也称为Xavier初始化)。Glorot初始化样本独立均匀分布与零均值和方差2 / (InputSize + numOut),在那里numOut = 8 * NumHiddenUnits。
“他”——初始化输入权重的初始值设定项[2]。他初始化样本正态分布与零均值和方差2 / InputSize。
“正交”——初始化输入权重问正交矩阵的QR分解Z=问R对于一个随机矩阵Z抽样单位正态分布。[3]
“narrow-normal”——初始化输入权重独立抽样从正态分布与零均值和标准偏差0.01。
“零”——初始化输入权重与零。
“的”——初始化输入权重的。
函数处理——初始化输入自定义函数的权重。如果你指定一个函数处理,那么必须表单的功能重量= func(深圳),在那里深圳是输入权重的大小。
层时才初始化输入权重InputWeights属性是空的。
数据类型:字符|字符串|function_handle
RecurrentWeightsInitializer
- - - - - -函数来初始化权重复发
“正交”
(默认)|“glorot”
|“他”
|“narrow-normal”|“零”|“的”|函数处理
初始化函数周期性的权重,指定为以下之一:
“正交”——初始化输入权重问正交矩阵的QR分解Z=问R对于一个随机矩阵Z抽样单位正态分布。[3]
“glorot”——初始化复发与Glorot初始化权重[1](也称为Xavier初始化)。Glorot初始化样本独立均匀分布与零均值和方差2 / (numIn + numOut),在那里numIn = NumHiddenUnits和numOut = 8 * NumHiddenUnits。
“他”——初始化权重与复发他初始化[2]。他初始化样本正态分布与零均值和方差2 / NumHiddenUnits。
“narrow-normal”——初始化复发的独立抽样权重正态分布与零均值和标准偏差0.01。
“零”——初始化复发与零权重。
“的”——初始化权重复发的。
函数处理,用自定义函数初始化权重复发。如果你指定一个函数处理,那么必须表单的功能重量= func(深圳),在那里深圳是复发性权重的大小。
层只初始化时的复发性权重RecurrentWeights属性是空的。
数据类型:字符|字符串|function_handle
BiasInitializer
- - - - - -函数来初始化倾向
“unit-forget-gate”
(默认)|“narrow-normal”
|“的”
|函数处理
函数来初始化倾向,指定这些值之一:
“unit-forget-gate”——初始化忘记门偏见的和剩下的偏见与零。
“narrow-normal”——初始化倾向独立抽样从正态分布与零均值和标准偏差为0.01。
“的”——初始化倾向。
函数处理与自定义函数——初始化倾向。如果你指定一个函数处理,那么必须表单的功能偏见= func(深圳),在那里深圳偏差的大小。
层时才初始化倾向偏见属性是空的。
数据类型:字符|字符串|function_handle
InputWeights
- - - - - -输入重量
[]
(默认)|矩阵
输入权值,指定为一个矩阵。
输入权重矩阵是一个串联的八个组件的输入权重矩阵(盖茨)双向LSTM层。八个矩阵是垂直连接按照以下顺序:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
输入权重可学的参数。当你训练一个神经网络使用trainNetwork功能,如果InputWeights非空的,那么软件使用InputWeights属性的初始值。如果InputWeights是空的,那么软件使用初始化器指定的InputWeightsInitializer。
在培训时,InputWeights是一个8 * NumHiddenUnits——- - - - - -InputSize矩阵。
数据类型:单|双
RecurrentWeights
- - - - - -复发性权重
[]
(默认)|矩阵
经常性的权重,指定为一个矩阵。
复发性权重矩阵是一个连接八复发性权重矩阵的组件(盖茨)双向LSTM层。八个矩阵是垂直连接按照以下顺序:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
复发性权重可学的参数。当你训练一个RNN使用trainNetwork功能,如果RecurrentWeights非空的,那么软件使用RecurrentWeights属性的初始值。如果RecurrentWeights是空的,那么软件使用初始化器指定的RecurrentWeightsInitializer。
在培训时,RecurrentWeights是一个8 * NumHiddenUnits——- - - - - -NumHiddenUnits矩阵。
数据类型:单|双
偏见
- - - - - -层的偏见
[]
(默认)|数值向量
层偏见,指定为一个数值向量。
偏差向量是一个串联的八个偏差向量的分量(盖茨)双向LSTM层。八个向量是垂直连接按照以下顺序:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
层偏差是可学的参数。当你训练一个神经网络,如果偏见非空的,那么trainNetwork使用偏见属性的初始值。如果偏见是空的,然后trainNetwork使用指定的初始化程序BiasInitializer。
在培训时,偏见是一个8 * NumHiddenUnits1数字向量。
数据类型:单|双
学习速率、正规化
InputWeightsLearnRateFactor
- - - - - -学习速率因子输入权重
1(默认)|数字标量|1-by-8数值向量
学习速率因子输入权值,指定为数字标量或1-by-8数值向量。
软件由全球学习速率繁殖这个因素来确定输入的学习速率因子层的权重。例如,如果InputWeightsLearnRateFactor是2,然后输入的学习速率因子层的权重是当前全球学习速率的两倍。全球软件决定了学习速率根据你指定的设置trainingOptions函数。
的值来控制四个人的学习速率因子矩阵InputWeights分配一个1-by-8向量,条目对应的学习速率因子:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
为所有的矩阵指定相同的值,指定一个负的标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
RecurrentWeightsLearnRateFactor
- - - - - -反复的学习速率因素权重
1(默认)|数字标量|1-by-8数值向量
反复的学习速率因素权重,指定为数字标量或1-by-8数值向量。
软件由全球学习速率繁殖这个因素来确定学习速率的复发性层的权重。例如,如果RecurrentWeightsLearnRateFactor是2,然后反复的学习速率层的权重是当前全球学习速率的两倍。全球学习速率决定了基于的软件设置您指定使用trainingOptions函数。
控制学习的价值率四个人矩阵RecurrentWeights分配一个1-by-8向量,条目对应的学习速率因子:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
为所有的矩阵指定相同的值,指定一个负的标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
BiasLearnRateFactor
- - - - - -学习速率因子偏见
1(默认)|负的标量|1-by-8数值向量
学习速率因子的偏见,指定为负的标量或1-by-8数值向量。
软件由全球学习速率繁殖这个因素来确定学习速率的偏见在这一层。例如,如果BiasLearnRateFactor是2,那么学习速率的偏见层是当前全球学习速率的两倍。全球学习速率决定了基于的软件设置您指定使用trainingOptions函数。
的值来控制四个人的学习速率因子矩阵偏见分配一个1-by-8向量,条目对应的学习速率因子:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
为所有的矩阵指定相同的值,指定一个负的标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
InputWeightsL2Factor
- - - - - -L2正则化因子输入权重
1(默认)|数字标量|1-by-8数值向量
L2正则化因子的输入权值,指定为数字标量或1-by-8数值向量。
全球的软件增加这个因素l2正则化因子来确定l2正则化因子输入层的权重。例如,如果InputWeightsL2Factor是2,那么l2正则化因子为输入层的权重是当前全球的两倍l2正则化因子。软件确定l2正则化因子的基础上,设置您指定使用trainingOptions函数。
的值来控制四个人的L2正则化因子矩阵InputWeights分配一个1-by-8向量,条目对应的L2正则化因子:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
为所有的矩阵指定相同的值,指定一个负的标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
RecurrentWeightsL2Factor
- - - - - -复发性权重的L2正则化因素
1(默认)|数字标量|1-by-8数值向量
复发性权重L2正则化因子,指定为数字标量或1-by-8数值向量。
全球的软件增加这个因素l2正则化因子来确定l2正则化因子的复发性层的权重。例如,如果RecurrentWeightsL2Factor是2,那么l2正则化因子的复发性权重层是当前全球的两倍l2正则化因子。软件确定l2正则化因子的基础上,设置您指定使用trainingOptions函数。
的值来控制四个人的L2正则化因子矩阵RecurrentWeights分配一个1-by-8向量,条目对应的L2正则化因子:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
为所有的矩阵指定相同的值,指定一个负的标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
BiasL2Factor
- - - - - -偏见的L2正则化因素
0(默认)|负的标量|1-by-8数值向量
L2正则化因子的偏见,指定为负的标量。
全球的软件增加这个因素l2正则化因子来确定l2在这一层正规化的偏见。例如,如果BiasL2Factor是2,那么l2正规化的偏见这一层是全球的两倍l2正则化因子。决定了全球的软件l2正则化因子的基础上,设置您指定使用trainingOptions函数。
的值来控制四个人的L2正则化因子矩阵偏见分配一个1-by-8向量,条目对应的L2正则化因子:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
为所有的矩阵指定相同的值,指定一个负的标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
层
的名字
- - - - - -层的名字
”
(默认)|特征向量|字符串标量
图层名称,指定为一个特征向量或字符串标量。为层数组输入,trainNetwork,assembleNetwork,layerGraph,dlnetwork函数自动分配名称层的名称”。
数据类型:字符|字符串
NumInputs
- - - - - -输入数量
1
|3
这个属性是只读的。
数量的输入层。
如果HasStateInputs属性是0(假),然后有一个输入层的名字“在”,对应于输入数据。在这种情况下,层使用HiddenState和CellState属性层操作。
如果HasStateInputs属性是1(真正的),然后一层有三个输入姓名“在”,“隐藏”,“细胞”对应于输入数据的隐藏状态,分别和细胞状态。在这种情况下,层使用的值传递给这些输入层操作。如果HasStateInputs是1(真正的),那么HiddenState和CellState属性必须是空的。
数据类型:双
InputNames
- - - - - -输入名字
{'在'}
|{‘在’,‘隐藏’,‘细胞’}
这个属性是只读的。
输入层的名称。
如果HasStateInputs属性是0(假),然后有一个输入层的名字“在”,对应于输入数据。在这种情况下,层使用HiddenState和CellState属性层操作。
如果HasStateInputs属性是1(真正的),然后一层有三个输入姓名“在”,“隐藏”,“细胞”对应于输入数据的隐藏状态,分别和细胞状态。在这种情况下,层使用的值传递给这些输入层操作。如果HasStateInputs是1(真正的),那么HiddenState和CellState属性必须是空的。
NumOutputs
- - - - - -数量的输出
1
|3
这个属性是只读的。
数量的输出层。
如果HasStateOutputs属性是0(假),然后有一个输出层的名字“出”对应的输出数据。
如果HasStateOutputs属性是1(真正的),然后有三个输出层的名字“出”,“隐藏”,“细胞”对应的输出数据,隐藏状态,分别和细胞状态。在这种情况下,该层还输出状态值计算。
数据类型:双
OutputNames
- - - - - -输出的名字
{“出”}
|{‘出来’,‘隐藏’,‘细胞’}
这个属性是只读的。
输出层的名称。
如果HasStateOutputs属性是0(假),然后有一个输出层的名字“出”对应的输出数据。
如果HasStateOutputs属性是1(真正的),然后有三个输出层的名字“出”,“隐藏”,“细胞”对应的输出数据,隐藏状态,分别和细胞状态。在这种情况下,该层还输出状态值计算。
例子
创建双向LSTM层
创建一个双向LSTM图层名称“bilstm1”和100年隐藏的单位。
层= bilstmLayer (100“名字”,“bilstm1”)
层= BiLSTMLayer属性:名称:“bilstm1”InputNames: {’’} OutputNames:{“出”}NumInputs: 1 NumOutputs: 1 HasStateInputs: 0 HasStateOutputs: 0 Hyperparameters InputSize:“汽车”NumHiddenUnits: 100 OutputMode:“序列”StateActivationFunction:“双曲正切GateActivationFunction: InputWeights乙状结肠的可学的参数:[]RecurrentWeights:[]偏见:[]HiddenState状态参数:[]CellState:[]显示所有属性
包括一个双向LSTM层中层数组中。
inputSize = 12;numHiddenUnits = 100;numClasses = 9;层= […sequenceInputLayer (inputSize) bilstmLayer (numHiddenUnits) fullyConnectedLayer (numClasses) softmaxLayer classificationLayer]
层x1 = 5层阵列层:1“12维度2序列输入序列输入”BiLSTM BiLSTM 100隐藏单位3“完全连接9完全连接层4”Softmax Softmax crossentropyex 5”分类输出
算法
层的输入和输出格式
层一层一层数组或图后续层传递数据格式化dlarray对象。的格式dlarray对象是一个字符串,其中每个字符描述相应的维度的数据。这些字符的格式由一个或多个:
“S”——空间
“C”——频道
“B”——批
“T”——时间
“U”——未指明的
例如,二维图像数据表示成一个四维数组,第一个二维对应于图像的空间维度,第三维对应于图像的通道,第四个维度对应批维度,可以被描述为有格式“SSCB”(空间、空间、通道、批)。
你可以与这些交互dlarray对象等自动分化工作流开发一个自定义图层,使用functionLayer对象,或使用向前和预测功能与dlnetwork对象。
此表显示了支持输入格式万博1manbetxBiLSTMLayer对象和相应的输出格式。如果输出层的传递给一个定制的层不继承nnet.layer.Formattable类,或FunctionLayer对象的Formattable属性设置为0(假),然后层接收未格式化dlarray对象的尺寸要求相应的这个表的格式。
输入格式
OutputMode
输出格式
“CB”(通道、批处理)
“序列”
“CB”(通道、批处理)
“最后一次”
“认知行为治疗”(通道、批量、时间)
“序列”
“认知行为治疗”(通道、批量、时间)
“最后一次”
“CB”(通道、批处理)
“某人”(空间、批处理)
“序列”
“CB”(通道、批处理)
“最后一次”
在dlnetwork对象,BiLSTMLayer对象也支持这些输入和输出格万博1manbetx式的组合。
输入格式
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(真正的),然后层有两个额外的输入名称“隐藏”和“细胞”,隐藏状态和细胞状态相对应,分别。这些额外的输入期望的输入格式“CB”(频道,批处理)。
如果HasStateOutputs属性是1(真正的),然后用名字层有两个额外的输出“隐藏”和“细胞”,隐藏状态和细胞状态相对应,分别。这些额外的输出输出格式“CB”(频道,批处理)。
引用
[1]Glorot,泽维尔,Yoshua Bengio。“理解的难度训练前馈神经网络。”在《十三人工智能国际会议上和统计,249 - 356。意大利撒丁岛:AISTATS, 2010。https://proceedings.mlr.press/v9/glorot10a/glorot10a.pdf
[2]他开明、象屿张任Shaoqing,剑太阳。“深深入整流器:超越人类表现ImageNet分类。”在学报2015年IEEE计算机视觉国际会议,1026 - 1034。华盛顿特区:IEEE计算机视觉的社会,2015年。https://doi.org/10.1109/ICCV.2015.123
[3]萨克斯,安德鲁·M。,James L. McClelland, and Surya Ganguli. "Exact solutions to the nonlinear dynamics of learning in deep linear neural networks."arXiv预印本arXiv: 1312.6120(2013)。
扩展功能
C / c++代码生成生成C和c++代码使用MATLAB®编码器™。
使用笔记和限制:
对于一般的代码生成,HasStateInputs和HasStateOutputs属性必须设置为0(假)。
在生成代码与英特尔®MKL-DNN或手臂®计算库:
的StateActivationFunction属性必须设置为的双曲正切。
的GateActivationFunction属性必须设置为“乙状结肠”。
GPU的代码生成生成NVIDIA的CUDA®代码®GPU使用GPU编码器™。
使用笔记和限制:
GPU代码生成的StateActivationFunction属性必须设置为的双曲正切。
GPU代码生成的GateActivationFunction属性必须设置为“乙状结肠”。
的HasStateInputs和HasStateOutputs属性必须设置为0(假)。
版本历史
介绍了R2018a
R2019a:默认的输入权值初始化Glorot
从R2019a开始,软件,默认情况下,初始化层使用Glorot初始化输入这一层的权重。这种行为可以帮助稳定培训和通常减少深层神经网络的训练时间。
在以前的版本中,软件,默认情况下,初始化层输入使用的抽样权重0.01零均值和方差的正态分布。复制这种行为,设置“InputWeightsInitializer”层的选项“narrow-normal”。
R2019a:默认复发性权重的初始化是正交的
从R2019a开始,软件,默认情况下,初始化这一层的层的权重问正交矩阵的QR分解Z=问R对于一个随机矩阵Z抽样单位正态分布。这种行为可以帮助稳定培训和通常减少深层神经网络的训练时间。
在以前的版本中,软件,默认情况下,初始化层反复使用的抽样权重0.01零均值和方差的正态分布。复制这种行为,设置“RecurrentWeightsInitializer”层的选项“narrow-normal”。
双向长期短期记忆(BiLSTM)层递归神经网络(RNN)
描述
双向LSTM (BiLSTM)一层一层是一个RNN学习双向长期时间步长之间的依赖关系的时间序列或序列数据。这些依赖项可以是有用的,当你想要RNN学习完整的时间序列在每个时间步。
双向LSTM (BiLSTM)一层一层是一个RNN学习双向长期时间步长之间的依赖关系的时间序列或序列数据。这些依赖项可以是有用的,当你想要RNN学习完整的时间序列在每个时间步。
创建
描述
层= bilstmLayer (numHiddenUnits)
创建一个双向LSTM层和设置NumHiddenUnits财产。
层= bilstmLayer (numHiddenUnits,名称,值)
设置额外的OutputMode,激活,状态,参数和初始化,学习速率、正规化,的名字使用一个或多个名称-值对参数属性。您可以指定多个参数名称-值对。在报价附上每个属性的名字。
描述
层= bilstmLayer (numHiddenUnits)
创建一个双向LSTM层和设置NumHiddenUnits财产。
层= bilstmLayer (numHiddenUnits,名称,值)
设置额外的OutputMode,激活,状态,参数和初始化,学习速率、正规化,的名字使用一个或多个名称-值对参数属性。您可以指定多个参数名称-值对。在报价附上每个属性的名字。
创建一个双向LSTM层和设置层
NumHiddenUnits
设置额外的层
OutputMode
的名字
属性
BiLSTM
NumHiddenUnits
- - - - - -隐藏的数量单位
正整数
这个属性是只读的。
隐藏的数量单位(也称为隐藏的大小),指定为一个正整数。
隐藏的数量单位对应的信息量之间的层记得时间步骤(隐藏状态)。隐藏的状态可以包含信息从前面所有的时间步骤,不管序列长度。如果隐藏单位的数量太大,然后层可能overfit训练数据。
隐藏的状态不限制时间的数量层过程在一个迭代的步骤。将你的序列分割成更小的序列,当你使用trainNetwork功能,使用SequenceLength培训的选择。
层输出数据NumHiddenUnits频道。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
OutputMode
- - - - - -输出模式
“序列”
(默认)|“最后一次”
这个属性是只读的。
输出模式,指定这些值之一:
“序列”——输出完整的序列。
“最后一次”——输出序列的最后一次一步。
HasStateInputs
- - - - - -为输入层
0(假)(默认)|1(真正的)
这个属性是只读的。
国旗的国家输入层,指定为0(虚假的)或1(真正的)。
如果HasStateInputs属性是0(假),然后有一个输入层的名字“在”,对应于输入数据。在这种情况下,层使用HiddenState和CellState属性层操作。
如果HasStateInputs属性是1(真正的),然后一层有三个输入姓名“在”,“隐藏”,“细胞”对应于输入数据的隐藏状态,分别和细胞状态。在这种情况下,层使用的值传递给这些输入层操作。如果HasStateInputs是1(真正的),那么HiddenState和CellState属性必须是空的。
HasStateOutputs
- - - - - -国旗的国家输出层
0(假)(默认)|1(真正的)
这个属性是只读的。
国旗的国家输出层,指定为0(虚假的)或1(真正的)。
如果HasStateOutputs属性是0(假),然后有一个输出层的名字“出”对应的输出数据。
如果HasStateOutputs属性是1(真正的),然后有三个输出层的名字“出”,“隐藏”,“细胞”对应的输出数据,隐藏状态,分别和细胞状态。在这种情况下,该层还输出状态值计算。
InputSize
- - - - - -输入的大小
“汽车”
(默认)|正整数
这个属性是只读的。
输入大小,指定为一个正整数或“汽车”。如果InputSize是“汽车”软件自动分配,然后输入大小在训练时间。
数据类型:双|字符
激活
StateActivationFunction
- - - - - -激活函数来更新细胞和隐藏状态
的双曲正切
(默认)|“softsign”
这个属性是只读的。
激活函数来更新细胞和隐藏状态,指定这些值之一:
的双曲正切-使用双曲正切函数(双曲正切)。
“softsign”——使用softsign函数
。
层使用这个选项作为函数
在计算更新细胞和隐藏状态。更多信息在一个LSTM层如何使用激活函数,看看长期短期记忆层。
GateActivationFunction
- - - - - -激活函数适用于盖茨
“乙状结肠”
(默认)|“hard-sigmoid”
这个属性是只读的。
激活函数适用于盖茨,指定这些值之一:
“乙状结肠”——使用s形的函数
。
“hard-sigmoid”——使用硬乙状结肠函数
层使用这个选项作为函数
在计算层门。
状态
CellState
- - - - - -细胞状态
数值向量
细胞状态用于层操作,指定为一个2 * NumHiddenUnits1数字向量。这个值对应于初始细胞状态时数据被传递到层。
手动设置该属性后,调用resetState这个值函数集细胞状态。
如果HasStateInputs是真正的,那么CellState属性必须是空的。
数据类型:单|双
HiddenState
- - - - - -隐藏状态
数值向量
隐藏的状态使用层操作,指定为一个2 * NumHiddenUnits1数字向量。这个值对应于初始数据传递给层时隐藏状态。
手动设置该属性后,调用resetState函数设置隐藏状态到这个值。
如果HasStateInputs是真正的,那么HiddenState属性必须是空的。
数据类型:单|双
参数和初始化
InputWeightsInitializer
- - - - - -函数来初始化输入权重
“glorot”
(默认)|“他”
|“正交”
|“narrow-normal”|“零”|“的”|函数处理
函数初始化输入重量、指定为以下之一:
“glorot”——初始化输入权重Glorot初始值设定项[1](也称为Xavier初始化)。Glorot初始化样本独立均匀分布与零均值和方差2 / (InputSize + numOut),在那里numOut = 8 * NumHiddenUnits。
“他”——初始化输入权重的初始值设定项[2]。他初始化样本正态分布与零均值和方差2 / InputSize。
“正交”——初始化输入权重问正交矩阵的QR分解Z=问R对于一个随机矩阵Z抽样单位正态分布。[3]
“narrow-normal”——初始化输入权重独立抽样从正态分布与零均值和标准偏差0.01。
“零”——初始化输入权重与零。
“的”——初始化输入权重的。
函数处理——初始化输入自定义函数的权重。如果你指定一个函数处理,那么必须表单的功能重量= func(深圳),在那里深圳是输入权重的大小。
层时才初始化输入权重InputWeights属性是空的。
数据类型:字符|字符串|function_handle
RecurrentWeightsInitializer
- - - - - -函数来初始化权重复发
“正交”
(默认)|“glorot”
|“他”
|“narrow-normal”|“零”|“的”|函数处理
初始化函数周期性的权重,指定为以下之一:
“正交”——初始化输入权重问正交矩阵的QR分解Z=问R对于一个随机矩阵Z抽样单位正态分布。[3]
“glorot”——初始化复发与Glorot初始化权重[1](也称为Xavier初始化)。Glorot初始化样本独立均匀分布与零均值和方差2 / (numIn + numOut),在那里numIn = NumHiddenUnits和numOut = 8 * NumHiddenUnits。
“他”——初始化权重与复发他初始化[2]。他初始化样本正态分布与零均值和方差2 / NumHiddenUnits。
“narrow-normal”——初始化复发的独立抽样权重正态分布与零均值和标准偏差0.01。
“零”——初始化复发与零权重。
“的”——初始化权重复发的。
函数处理,用自定义函数初始化权重复发。如果你指定一个函数处理,那么必须表单的功能重量= func(深圳),在那里深圳是复发性权重的大小。
层只初始化时的复发性权重RecurrentWeights属性是空的。
数据类型:字符|字符串|function_handle
BiasInitializer
- - - - - -函数来初始化倾向
“unit-forget-gate”
(默认)|“narrow-normal”
|“的”
|函数处理
函数来初始化倾向,指定这些值之一:
“unit-forget-gate”——初始化忘记门偏见的和剩下的偏见与零。
“narrow-normal”——初始化倾向独立抽样从正态分布与零均值和标准偏差为0.01。
“的”——初始化倾向。
函数处理与自定义函数——初始化倾向。如果你指定一个函数处理,那么必须表单的功能偏见= func(深圳),在那里深圳偏差的大小。
层时才初始化倾向偏见属性是空的。
数据类型:字符|字符串|function_handle
InputWeights
- - - - - -输入重量
[]
(默认)|矩阵
输入权值,指定为一个矩阵。
输入权重矩阵是一个串联的八个组件的输入权重矩阵(盖茨)双向LSTM层。八个矩阵是垂直连接按照以下顺序:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
输入权重可学的参数。当你训练一个神经网络使用trainNetwork功能,如果InputWeights非空的,那么软件使用InputWeights属性的初始值。如果InputWeights是空的,那么软件使用初始化器指定的InputWeightsInitializer。
在培训时,InputWeights是一个8 * NumHiddenUnits——- - - - - -InputSize矩阵。
数据类型:单|双
RecurrentWeights
- - - - - -复发性权重
[]
(默认)|矩阵
经常性的权重,指定为一个矩阵。
复发性权重矩阵是一个连接八复发性权重矩阵的组件(盖茨)双向LSTM层。八个矩阵是垂直连接按照以下顺序:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
复发性权重可学的参数。当你训练一个RNN使用trainNetwork功能,如果RecurrentWeights非空的,那么软件使用RecurrentWeights属性的初始值。如果RecurrentWeights是空的,那么软件使用初始化器指定的RecurrentWeightsInitializer。
在培训时,RecurrentWeights是一个8 * NumHiddenUnits——- - - - - -NumHiddenUnits矩阵。
数据类型:单|双
偏见
- - - - - -层的偏见
[]
(默认)|数值向量
层偏见,指定为一个数值向量。
偏差向量是一个串联的八个偏差向量的分量(盖茨)双向LSTM层。八个向量是垂直连接按照以下顺序:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
层偏差是可学的参数。当你训练一个神经网络,如果偏见非空的,那么trainNetwork使用偏见属性的初始值。如果偏见是空的,然后trainNetwork使用指定的初始化程序BiasInitializer。
在培训时,偏见是一个8 * NumHiddenUnits1数字向量。
数据类型:单|双
学习速率、正规化
InputWeightsLearnRateFactor
- - - - - -学习速率因子输入权重
1(默认)|数字标量|1-by-8数值向量
学习速率因子输入权值,指定为数字标量或1-by-8数值向量。
软件由全球学习速率繁殖这个因素来确定输入的学习速率因子层的权重。例如,如果InputWeightsLearnRateFactor是2,然后输入的学习速率因子层的权重是当前全球学习速率的两倍。全球软件决定了学习速率根据你指定的设置trainingOptions函数。
的值来控制四个人的学习速率因子矩阵InputWeights分配一个1-by-8向量,条目对应的学习速率因子:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
为所有的矩阵指定相同的值,指定一个负的标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
RecurrentWeightsLearnRateFactor
- - - - - -反复的学习速率因素权重
1(默认)|数字标量|1-by-8数值向量
反复的学习速率因素权重,指定为数字标量或1-by-8数值向量。
软件由全球学习速率繁殖这个因素来确定学习速率的复发性层的权重。例如,如果RecurrentWeightsLearnRateFactor是2,然后反复的学习速率层的权重是当前全球学习速率的两倍。全球学习速率决定了基于的软件设置您指定使用trainingOptions函数。
控制学习的价值率四个人矩阵RecurrentWeights分配一个1-by-8向量,条目对应的学习速率因子:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
为所有的矩阵指定相同的值,指定一个负的标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
BiasLearnRateFactor
- - - - - -学习速率因子偏见
1(默认)|负的标量|1-by-8数值向量
学习速率因子的偏见,指定为负的标量或1-by-8数值向量。
软件由全球学习速率繁殖这个因素来确定学习速率的偏见在这一层。例如,如果BiasLearnRateFactor是2,那么学习速率的偏见层是当前全球学习速率的两倍。全球学习速率决定了基于的软件设置您指定使用trainingOptions函数。
的值来控制四个人的学习速率因子矩阵偏见分配一个1-by-8向量,条目对应的学习速率因子:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
为所有的矩阵指定相同的值,指定一个负的标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
InputWeightsL2Factor
- - - - - -L2正则化因子输入权重
1(默认)|数字标量|1-by-8数值向量
L2正则化因子的输入权值,指定为数字标量或1-by-8数值向量。
全球的软件增加这个因素l2正则化因子来确定l2正则化因子输入层的权重。例如,如果InputWeightsL2Factor是2,那么l2正则化因子为输入层的权重是当前全球的两倍l2正则化因子。软件确定l2正则化因子的基础上,设置您指定使用trainingOptions函数。
的值来控制四个人的L2正则化因子矩阵InputWeights分配一个1-by-8向量,条目对应的L2正则化因子:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
为所有的矩阵指定相同的值,指定一个负的标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
RecurrentWeightsL2Factor
- - - - - -复发性权重的L2正则化因素
1(默认)|数字标量|1-by-8数值向量
复发性权重L2正则化因子,指定为数字标量或1-by-8数值向量。
全球的软件增加这个因素l2正则化因子来确定l2正则化因子的复发性层的权重。例如,如果RecurrentWeightsL2Factor是2,那么l2正则化因子的复发性权重层是当前全球的两倍l2正则化因子。软件确定l2正则化因子的基础上,设置您指定使用trainingOptions函数。
的值来控制四个人的L2正则化因子矩阵RecurrentWeights分配一个1-by-8向量,条目对应的L2正则化因子:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
为所有的矩阵指定相同的值,指定一个负的标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
BiasL2Factor
- - - - - -偏见的L2正则化因素
0(默认)|负的标量|1-by-8数值向量
L2正则化因子的偏见,指定为负的标量。
全球的软件增加这个因素l2正则化因子来确定l2在这一层正规化的偏见。例如,如果BiasL2Factor是2,那么l2正规化的偏见这一层是全球的两倍l2正则化因子。决定了全球的软件l2正则化因子的基础上,设置您指定使用trainingOptions函数。
的值来控制四个人的L2正则化因子矩阵偏见分配一个1-by-8向量,条目对应的L2正则化因子:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
为所有的矩阵指定相同的值,指定一个负的标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
层
的名字
- - - - - -层的名字
”
(默认)|特征向量|字符串标量
图层名称,指定为一个特征向量或字符串标量。为层数组输入,trainNetwork,assembleNetwork,layerGraph,dlnetwork函数自动分配名称层的名称”。
数据类型:字符|字符串
NumInputs
- - - - - -输入数量
1
|3
这个属性是只读的。
数量的输入层。
如果HasStateInputs属性是0(假),然后有一个输入层的名字“在”,对应于输入数据。在这种情况下,层使用HiddenState和CellState属性层操作。
如果HasStateInputs属性是1(真正的),然后一层有三个输入姓名“在”,“隐藏”,“细胞”对应于输入数据的隐藏状态,分别和细胞状态。在这种情况下,层使用的值传递给这些输入层操作。如果HasStateInputs是1(真正的),那么HiddenState和CellState属性必须是空的。
数据类型:双
InputNames
- - - - - -输入名字
{'在'}
|{‘在’,‘隐藏’,‘细胞’}
这个属性是只读的。
输入层的名称。
如果HasStateInputs属性是0(假),然后有一个输入层的名字“在”,对应于输入数据。在这种情况下,层使用HiddenState和CellState属性层操作。
如果HasStateInputs属性是1(真正的),然后一层有三个输入姓名“在”,“隐藏”,“细胞”对应于输入数据的隐藏状态,分别和细胞状态。在这种情况下,层使用的值传递给这些输入层操作。如果HasStateInputs是1(真正的),那么HiddenState和CellState属性必须是空的。
NumOutputs
- - - - - -数量的输出
1
|3
这个属性是只读的。
数量的输出层。
如果HasStateOutputs属性是0(假),然后有一个输出层的名字“出”对应的输出数据。
如果HasStateOutputs属性是1(真正的),然后有三个输出层的名字“出”,“隐藏”,“细胞”对应的输出数据,隐藏状态,分别和细胞状态。在这种情况下,该层还输出状态值计算。
数据类型:双
OutputNames
- - - - - -输出的名字
{“出”}
|{‘出来’,‘隐藏’,‘细胞’}
这个属性是只读的。
输出层的名称。
如果HasStateOutputs属性是0(假),然后有一个输出层的名字“出”对应的输出数据。
如果HasStateOutputs属性是1(真正的),然后有三个输出层的名字“出”,“隐藏”,“细胞”对应的输出数据,隐藏状态,分别和细胞状态。在这种情况下,该层还输出状态值计算。
BiLSTM
NumHiddenUnits
- - - - - -隐藏的数量单位
正整数
这个属性是只读的。
隐藏的数量单位(也称为隐藏的大小),指定为一个正整数。
隐藏的数量单位对应的信息量之间的层记得时间步骤(隐藏状态)。隐藏的状态可以包含信息从前面所有的时间步骤,不管序列长度。如果隐藏单位的数量太大,然后层可能overfit训练数据。
隐藏的状态不限制时间的数量层过程在一个迭代的步骤。将你的序列分割成更小的序列,当你使用trainNetwork功能,使用SequenceLength培训的选择。
层输出数据NumHiddenUnits频道。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
OutputMode
- - - - - -输出模式
“序列”
(默认)|“最后一次”
这个属性是只读的。
输出模式,指定这些值之一:
“序列”——输出完整的序列。
“最后一次”——输出序列的最后一次一步。
HasStateInputs
- - - - - -为输入层
0(假)(默认)|1(真正的)
这个属性是只读的。
国旗的国家输入层,指定为0(虚假的)或1(真正的)。
如果HasStateInputs属性是0(假),然后有一个输入层的名字“在”,对应于输入数据。在这种情况下,层使用HiddenState和CellState属性层操作。
如果HasStateInputs属性是1(真正的),然后一层有三个输入姓名“在”,“隐藏”,“细胞”对应于输入数据的隐藏状态,分别和细胞状态。在这种情况下,层使用的值传递给这些输入层操作。如果HasStateInputs是1(真正的),那么HiddenState和CellState属性必须是空的。
HasStateOutputs
- - - - - -国旗的国家输出层
0(假)(默认)|1(真正的)
这个属性是只读的。
国旗的国家输出层,指定为0(虚假的)或1(真正的)。
如果HasStateOutputs属性是0(假),然后有一个输出层的名字“出”对应的输出数据。
如果HasStateOutputs属性是1(真正的),然后有三个输出层的名字“出”,“隐藏”,“细胞”对应的输出数据,隐藏状态,分别和细胞状态。在这种情况下,该层还输出状态值计算。
InputSize
- - - - - -输入的大小
“汽车”
(默认)|正整数
这个属性是只读的。
输入大小,指定为一个正整数或“汽车”。如果InputSize是“汽车”软件自动分配,然后输入大小在训练时间。
数据类型:双|字符
NumHiddenUnits
- - - - - -隐藏的数量单位
正整数
正整数
这个属性是只读的。 隐藏的数量单位(也称为隐藏的大小),指定为一个正整数。 隐藏的数量单位对应的信息量之间的层记得时间步骤(隐藏状态)。隐藏的状态可以包含信息从前面所有的时间步骤,不管序列长度。如果隐藏单位的数量太大,然后层可能overfit训练数据。 隐藏的状态不限制时间的数量层过程在一个迭代的步骤。将你的序列分割成更小的序列,当你使用 层输出数据 数据类型:trainNetwork
SequenceLength
单
OutputMode
- - - - - -输出模式
“序列”
(默认)|“最后一次”
“序列”
(默认)|“最后一次”
这个属性是只读的。 输出模式,指定这些值之一:
“序列”
“最后一次”
HasStateInputs
- - - - - -为输入层
0(假)(默认)|1(真正的)
0(假)(默认)|1(真正的)
这个属性是只读的。 国旗的国家输入层,指定为 如果 如果
HasStateOutputs
- - - - - -国旗的国家输出层
0(假)(默认)|1(真正的)
0(假)(默认)|1(真正的)
这个属性是只读的。 国旗的国家输出层,指定为 如果 如果
InputSize
- - - - - -输入的大小
“汽车”
(默认)|正整数
“汽车”
(默认)|这个属性是只读的。 输入大小,指定为一个正整数或 数据类型:双
激活
StateActivationFunction
- - - - - -激活函数来更新细胞和隐藏状态
的双曲正切
(默认)|“softsign”
这个属性是只读的。
激活函数来更新细胞和隐藏状态,指定这些值之一:
的双曲正切-使用双曲正切函数(双曲正切)。
“softsign”——使用softsign函数
。
层使用这个选项作为函数
在计算更新细胞和隐藏状态。更多信息在一个LSTM层如何使用激活函数,看看长期短期记忆层。
GateActivationFunction
- - - - - -激活函数适用于盖茨
“乙状结肠”
(默认)|“hard-sigmoid”
这个属性是只读的。
激活函数适用于盖茨,指定这些值之一:
“乙状结肠”——使用s形的函数
。
“hard-sigmoid”——使用硬乙状结肠函数
层使用这个选项作为函数
在计算层门。
StateActivationFunction
- - - - - -激活函数来更新细胞和隐藏状态
的双曲正切
(默认)|“softsign”
的双曲正切
(默认)|“softsign”
这个属性是只读的。 激活函数来更新细胞和隐藏状态,指定这些值之一: 层使用这个选项作为函数
的双曲正切
“softsign”
GateActivationFunction
- - - - - -激活函数适用于盖茨
“乙状结肠”
(默认)|“hard-sigmoid”
“乙状结肠”
(默认)|“hard-sigmoid”
这个属性是只读的。 激活函数适用于盖茨,指定这些值之一:
层使用这个选项作为函数
“乙状结肠”
“hard-sigmoid”
状态
CellState
- - - - - -细胞状态
数值向量
细胞状态用于层操作,指定为一个2 * NumHiddenUnits1数字向量。这个值对应于初始细胞状态时数据被传递到层。
手动设置该属性后,调用resetState这个值函数集细胞状态。
如果HasStateInputs是真正的,那么CellState属性必须是空的。
数据类型:单|双
HiddenState
- - - - - -隐藏状态
数值向量
隐藏的状态使用层操作,指定为一个2 * NumHiddenUnits1数字向量。这个值对应于初始数据传递给层时隐藏状态。
手动设置该属性后,调用resetState函数设置隐藏状态到这个值。
如果HasStateInputs是真正的,那么HiddenState属性必须是空的。
数据类型:单|双
CellState
- - - - - -细胞状态
数值向量
数值向量
细胞状态用于层操作,指定为一个 手动设置该属性后,调用 如果 数据类型:单
HiddenState
- - - - - -隐藏状态
数值向量
数值向量
隐藏的状态使用层操作,指定为一个 手动设置该属性后,调用 如果 数据类型:单
参数和初始化
InputWeightsInitializer
- - - - - -函数来初始化输入权重
“glorot”
(默认)|“他”
|“正交”
|“narrow-normal”|“零”|“的”|函数处理
函数初始化输入重量、指定为以下之一:
“glorot”——初始化输入权重Glorot初始值设定项[1](也称为Xavier初始化)。Glorot初始化样本独立均匀分布与零均值和方差2 / (InputSize + numOut),在那里numOut = 8 * NumHiddenUnits。
“他”——初始化输入权重的初始值设定项[2]。他初始化样本正态分布与零均值和方差2 / InputSize。
“正交”——初始化输入权重问正交矩阵的QR分解Z=问R对于一个随机矩阵Z抽样单位正态分布。[3]
“narrow-normal”——初始化输入权重独立抽样从正态分布与零均值和标准偏差0.01。
“零”——初始化输入权重与零。
“的”——初始化输入权重的。
函数处理——初始化输入自定义函数的权重。如果你指定一个函数处理,那么必须表单的功能重量= func(深圳),在那里深圳是输入权重的大小。
层时才初始化输入权重InputWeights属性是空的。
数据类型:字符|字符串|function_handle
RecurrentWeightsInitializer
- - - - - -函数来初始化权重复发
“正交”
(默认)|“glorot”
|“他”
|“narrow-normal”|“零”|“的”|函数处理
初始化函数周期性的权重,指定为以下之一:
“正交”——初始化输入权重问正交矩阵的QR分解Z=问R对于一个随机矩阵Z抽样单位正态分布。[3]
“glorot”——初始化复发与Glorot初始化权重[1](也称为Xavier初始化)。Glorot初始化样本独立均匀分布与零均值和方差2 / (numIn + numOut),在那里numIn = NumHiddenUnits和numOut = 8 * NumHiddenUnits。
“他”——初始化权重与复发他初始化[2]。他初始化样本正态分布与零均值和方差2 / NumHiddenUnits。
“narrow-normal”——初始化复发的独立抽样权重正态分布与零均值和标准偏差0.01。
“零”——初始化复发与零权重。
“的”——初始化权重复发的。
函数处理,用自定义函数初始化权重复发。如果你指定一个函数处理,那么必须表单的功能重量= func(深圳),在那里深圳是复发性权重的大小。
层只初始化时的复发性权重RecurrentWeights属性是空的。
数据类型:字符|字符串|function_handle
BiasInitializer
- - - - - -函数来初始化倾向
“unit-forget-gate”
(默认)|“narrow-normal”
|“的”
|函数处理
函数来初始化倾向,指定这些值之一:
“unit-forget-gate”——初始化忘记门偏见的和剩下的偏见与零。
“narrow-normal”——初始化倾向独立抽样从正态分布与零均值和标准偏差为0.01。
“的”——初始化倾向。
函数处理与自定义函数——初始化倾向。如果你指定一个函数处理,那么必须表单的功能偏见= func(深圳),在那里深圳偏差的大小。
层时才初始化倾向偏见属性是空的。
数据类型:字符|字符串|function_handle
InputWeights
- - - - - -输入重量
[]
(默认)|矩阵
输入权值,指定为一个矩阵。
输入权重矩阵是一个串联的八个组件的输入权重矩阵(盖茨)双向LSTM层。八个矩阵是垂直连接按照以下顺序:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
输入权重可学的参数。当你训练一个神经网络使用trainNetwork功能,如果InputWeights非空的,那么软件使用InputWeights属性的初始值。如果InputWeights是空的,那么软件使用初始化器指定的InputWeightsInitializer。
在培训时,InputWeights是一个8 * NumHiddenUnits——- - - - - -InputSize矩阵。
数据类型:单|双
RecurrentWeights
- - - - - -复发性权重
[]
(默认)|矩阵
经常性的权重,指定为一个矩阵。
复发性权重矩阵是一个连接八复发性权重矩阵的组件(盖茨)双向LSTM层。八个矩阵是垂直连接按照以下顺序:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
复发性权重可学的参数。当你训练一个RNN使用trainNetwork功能,如果RecurrentWeights非空的,那么软件使用RecurrentWeights属性的初始值。如果RecurrentWeights是空的,那么软件使用初始化器指定的RecurrentWeightsInitializer。
在培训时,RecurrentWeights是一个8 * NumHiddenUnits——- - - - - -NumHiddenUnits矩阵。
数据类型:单|双
偏见
- - - - - -层的偏见
[]
(默认)|数值向量
层偏见,指定为一个数值向量。
偏差向量是一个串联的八个偏差向量的分量(盖茨)双向LSTM层。八个向量是垂直连接按照以下顺序:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
层偏差是可学的参数。当你训练一个神经网络,如果偏见非空的,那么trainNetwork使用偏见属性的初始值。如果偏见是空的,然后trainNetwork使用指定的初始化程序BiasInitializer。
在培训时,偏见是一个8 * NumHiddenUnits1数字向量。
数据类型:单|双
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层。八个矩阵是垂直连接按照以下顺序: 输入门(向前) 忘记门(向前) 细胞候选人(向前) 输出门(向前) 输入门(向后) 忘记门(向后) 细胞候选人(向后) 输出门(向后) 输入权重可学的参数。当你训练一个神经网络使用 在培训时, 数据类型:
trainNetwork
单
RecurrentWeights
- - - - - -复发性权重
[]
(默认)|矩阵
[]
(默认)|经常性的权重,指定为一个矩阵。 复发性权重矩阵是一个连接八复发性权重矩阵的组件(盖茨)双向LSTM层。八个矩阵是垂直连接按照以下顺序: 输入门(向前) 忘记门(向前) 细胞候选人(向前) 输出门(向前) 输入门(向后) 忘记门(向后) 细胞候选人(向后) 输出门(向后) 复发性权重可学的参数。当你训练一个RNN使用 在培训时, 数据类型:
trainNetwork
单
偏见
- - - - - -层的偏见
[]
(默认)|数值向量
[]
(默认)|层偏见,指定为一个数值向量。 偏差向量是一个串联的八个偏差向量的分量(盖茨)双向LSTM层。八个向量是垂直连接按照以下顺序: 输入门(向前) 忘记门(向前) 细胞候选人(向前) 输出门(向前) 输入门(向后) 忘记门(向后) 细胞候选人(向后) 输出门(向后) 层偏差是可学的参数。当你训练一个神经网络,如果 在培训时, 数据类型:
trainNetwork
单
学习速率、正规化
InputWeightsLearnRateFactor
- - - - - -学习速率因子输入权重
1(默认)|数字标量|1-by-8数值向量
学习速率因子输入权值,指定为数字标量或1-by-8数值向量。
软件由全球学习速率繁殖这个因素来确定输入的学习速率因子层的权重。例如,如果InputWeightsLearnRateFactor是2,然后输入的学习速率因子层的权重是当前全球学习速率的两倍。全球软件决定了学习速率根据你指定的设置trainingOptions函数。
的值来控制四个人的学习速率因子矩阵InputWeights分配一个1-by-8向量,条目对应的学习速率因子:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
为所有的矩阵指定相同的值,指定一个负的标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
RecurrentWeightsLearnRateFactor
- - - - - -反复的学习速率因素权重
1(默认)|数字标量|1-by-8数值向量
反复的学习速率因素权重,指定为数字标量或1-by-8数值向量。
软件由全球学习速率繁殖这个因素来确定学习速率的复发性层的权重。例如,如果RecurrentWeightsLearnRateFactor是2,然后反复的学习速率层的权重是当前全球学习速率的两倍。全球学习速率决定了基于的软件设置您指定使用trainingOptions函数。
控制学习的价值率四个人矩阵RecurrentWeights分配一个1-by-8向量,条目对应的学习速率因子:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
为所有的矩阵指定相同的值,指定一个负的标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
BiasLearnRateFactor
- - - - - -学习速率因子偏见
1(默认)|负的标量|1-by-8数值向量
学习速率因子的偏见,指定为负的标量或1-by-8数值向量。
软件由全球学习速率繁殖这个因素来确定学习速率的偏见在这一层。例如,如果BiasLearnRateFactor是2,那么学习速率的偏见层是当前全球学习速率的两倍。全球学习速率决定了基于的软件设置您指定使用trainingOptions函数。
的值来控制四个人的学习速率因子矩阵偏见分配一个1-by-8向量,条目对应的学习速率因子:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
为所有的矩阵指定相同的值,指定一个负的标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
InputWeightsL2Factor
- - - - - -L2正则化因子输入权重
1(默认)|数字标量|1-by-8数值向量
L2正则化因子的输入权值,指定为数字标量或1-by-8数值向量。
全球的软件增加这个因素l2正则化因子来确定l2正则化因子输入层的权重。例如,如果InputWeightsL2Factor是2,那么l2正则化因子为输入层的权重是当前全球的两倍l2正则化因子。软件确定l2正则化因子的基础上,设置您指定使用trainingOptions函数。
的值来控制四个人的L2正则化因子矩阵InputWeights分配一个1-by-8向量,条目对应的L2正则化因子:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
为所有的矩阵指定相同的值,指定一个负的标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
RecurrentWeightsL2Factor
- - - - - -复发性权重的L2正则化因素
1(默认)|数字标量|1-by-8数值向量
复发性权重L2正则化因子,指定为数字标量或1-by-8数值向量。
全球的软件增加这个因素l2正则化因子来确定l2正则化因子的复发性层的权重。例如,如果RecurrentWeightsL2Factor是2,那么l2正则化因子的复发性权重层是当前全球的两倍l2正则化因子。软件确定l2正则化因子的基础上,设置您指定使用trainingOptions函数。
的值来控制四个人的L2正则化因子矩阵RecurrentWeights分配一个1-by-8向量,条目对应的L2正则化因子:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
为所有的矩阵指定相同的值,指定一个负的标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
BiasL2Factor
- - - - - -偏见的L2正则化因素
0(默认)|负的标量|1-by-8数值向量
L2正则化因子的偏见,指定为负的标量。
全球的软件增加这个因素l2正则化因子来确定l2在这一层正规化的偏见。例如,如果BiasL2Factor是2,那么l2正规化的偏见这一层是全球的两倍l2正则化因子。决定了全球的软件l2正则化因子的基础上,设置您指定使用trainingOptions函数。
的值来控制四个人的L2正则化因子矩阵偏见分配一个1-by-8向量,条目对应的L2正则化因子:
输入门(向前)
忘记门(向前)
细胞候选人(向前)
输出门(向前)
输入门(向后)
忘记门(向后)
细胞候选人(向后)
输出门(向后)
为所有的矩阵指定相同的值,指定一个负的标量。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
InputWeightsLearnRateFactor
- - - - - -学习速率因子输入权重
1(默认)|数字标量|1-by-8数值向量
1
学习速率因子输入权值,指定为数字标量或1-by-8数值向量。 软件由全球学习速率繁殖这个因素来确定输入的学习速率因子层的权重。例如,如果 的值来控制四个人的学习速率因子矩阵 输入门(向前) 忘记门(向前) 细胞候选人(向前) 输出门(向前) 输入门(向后) 忘记门(向后) 细胞候选人(向后) 输出门(向后) 为所有的矩阵指定相同的值,指定一个负的标量。 数据类型:trainingOptions
单
RecurrentWeightsLearnRateFactor
- - - - - -反复的学习速率因素权重
1(默认)|数字标量|1-by-8数值向量
1
反复的学习速率因素权重,指定为数字标量或1-by-8数值向量。 软件由全球学习速率繁殖这个因素来确定学习速率的复发性层的权重。例如,如果 控制学习的价值率四个人矩阵 输入门(向前) 忘记门(向前) 细胞候选人(向前) 输出门(向前) 输入门(向后) 忘记门(向后) 细胞候选人(向后) 输出门(向后) 为所有的矩阵指定相同的值,指定一个负的标量。 数据类型:trainingOptions
单
BiasLearnRateFactor
- - - - - -学习速率因子偏见
1(默认)|负的标量|1-by-8数值向量
1
学习速率因子的偏见,指定为负的标量或1-by-8数值向量。 软件由全球学习速率繁殖这个因素来确定学习速率的偏见在这一层。例如,如果 的值来控制四个人的学习速率因子矩阵 输入门(向前) 忘记门(向前) 细胞候选人(向前) 输出门(向前) 输入门(向后) 忘记门(向后) 细胞候选人(向后) 输出门(向后) 为所有的矩阵指定相同的值,指定一个负的标量。 数据类型:trainingOptions
单
InputWeightsL2Factor
- - - - - -L2正则化因子输入权重
1(默认)|数字标量|1-by-8数值向量
1
L2正则化因子的输入权值,指定为数字标量或1-by-8数值向量。 全球的软件增加这个因素 的值来控制四个人的L2正则化因子矩阵 输入门(向前) 忘记门(向前) 细胞候选人(向前) 输出门(向前) 输入门(向后) 忘记门(向后) 细胞候选人(向后) 输出门(向后) 为所有的矩阵指定相同的值,指定一个负的标量。 数据类型:trainingOptions
单
RecurrentWeightsL2Factor
- - - - - -复发性权重的L2正则化因素
1(默认)|数字标量|1-by-8数值向量
1
复发性权重L2正则化因子,指定为数字标量或1-by-8数值向量。 全球的软件增加这个因素 的值来控制四个人的L2正则化因子矩阵 输入门(向前) 忘记门(向前) 细胞候选人(向前) 输出门(向前) 输入门(向后) 忘记门(向后) 细胞候选人(向后) 输出门(向后) 为所有的矩阵指定相同的值,指定一个负的标量。 数据类型:trainingOptions
单
BiasL2Factor
- - - - - -偏见的L2正则化因素
0(默认)|负的标量|1-by-8数值向量
0
L2正则化因子的偏见,指定为负的标量。 全球的软件增加这个因素 的值来控制四个人的L2正则化因子矩阵 输入门(向前) 忘记门(向前) 细胞候选人(向前) 输出门(向前) 输入门(向后) 忘记门(向后) 细胞候选人(向后) 输出门(向后) 为所有的矩阵指定相同的值,指定一个负的标量。 数据类型:trainingOptions
单
层
的名字
- - - - - -层的名字
”
(默认)|特征向量|字符串标量
图层名称,指定为一个特征向量或字符串标量。为层数组输入,trainNetwork,assembleNetwork,layerGraph,dlnetwork函数自动分配名称层的名称”。
数据类型:字符|字符串
NumInputs
- - - - - -输入数量
1
|3
这个属性是只读的。
数量的输入层。
如果HasStateInputs属性是0(假),然后有一个输入层的名字“在”,对应于输入数据。在这种情况下,层使用HiddenState和CellState属性层操作。
如果HasStateInputs属性是1(真正的),然后一层有三个输入姓名“在”,“隐藏”,“细胞”对应于输入数据的隐藏状态,分别和细胞状态。在这种情况下,层使用的值传递给这些输入层操作。如果HasStateInputs是1(真正的),那么HiddenState和CellState属性必须是空的。
数据类型:双
InputNames
- - - - - -输入名字
{'在'}
|{‘在’,‘隐藏’,‘细胞’}
这个属性是只读的。
输入层的名称。
如果HasStateInputs属性是0(假),然后有一个输入层的名字“在”,对应于输入数据。在这种情况下,层使用HiddenState和CellState属性层操作。
如果HasStateInputs属性是1(真正的),然后一层有三个输入姓名“在”,“隐藏”,“细胞”对应于输入数据的隐藏状态,分别和细胞状态。在这种情况下,层使用的值传递给这些输入层操作。如果HasStateInputs是1(真正的),那么HiddenState和CellState属性必须是空的。
NumOutputs
- - - - - -数量的输出
1
|3
这个属性是只读的。
数量的输出层。
如果HasStateOutputs属性是0(假),然后有一个输出层的名字“出”对应的输出数据。
如果HasStateOutputs属性是1(真正的),然后有三个输出层的名字“出”,“隐藏”,“细胞”对应的输出数据,隐藏状态,分别和细胞状态。在这种情况下,该层还输出状态值计算。
数据类型:双
OutputNames
- - - - - -输出的名字
{“出”}
|{‘出来’,‘隐藏’,‘细胞’}
这个属性是只读的。
输出层的名称。
如果HasStateOutputs属性是0(假),然后有一个输出层的名字“出”对应的输出数据。
如果HasStateOutputs属性是1(真正的),然后有三个输出层的名字“出”,“隐藏”,“细胞”对应的输出数据,隐藏状态,分别和细胞状态。在这种情况下,该层还输出状态值计算。
的名字
- - - - - -层的名字
”
(默认)|特征向量|字符串标量
”
(默认)|图层名称,指定为一个特征向量或字符串标量。为trainNetwork
assembleNetwork
layerGraph
dlnetwork
数据类型:字符
NumInputs
- - - - - -输入数量
1
|3
1
|3
这个属性是只读的。 数量的输入层。 如果 如果 数据类型:双
InputNames
- - - - - -输入名字
{'在'}
|{‘在’,‘隐藏’,‘细胞’}
{'在'}
|{‘在’,‘隐藏’,‘细胞’}
这个属性是只读的。 输入层的名称。 如果 如果
NumOutputs
- - - - - -数量的输出
1
|3
1
|3
这个属性是只读的。 数量的输出层。 如果 如果 数据类型:双
OutputNames
- - - - - -输出的名字
{“出”}
|{‘出来’,‘隐藏’,‘细胞’}
{“出”}
|{‘出来’,‘隐藏’,‘细胞’}
这个属性是只读的。 输出层的名称。 如果 如果
例子
创建双向LSTM层
创建一个双向LSTM图层名称“bilstm1”和100年隐藏的单位。
层= bilstmLayer (100“名字”,“bilstm1”)
层= BiLSTMLayer属性:名称:“bilstm1”InputNames: {’’} OutputNames:{“出”}NumInputs: 1 NumOutputs: 1 HasStateInputs: 0 HasStateOutputs: 0 Hyperparameters InputSize:“汽车”NumHiddenUnits: 100 OutputMode:“序列”StateActivationFunction:“双曲正切GateActivationFunction: InputWeights乙状结肠的可学的参数:[]RecurrentWeights:[]偏见:[]HiddenState状态参数:[]CellState:[]显示所有属性
包括一个双向LSTM层中层数组中。
inputSize = 12;numHiddenUnits = 100;numClasses = 9;层= […sequenceInputLayer (inputSize) bilstmLayer (numHiddenUnits) fullyConnectedLayer (numClasses) softmaxLayer classificationLayer]
层x1 = 5层阵列层:1“12维度2序列输入序列输入”BiLSTM BiLSTM 100隐藏单位3“完全连接9完全连接层4”Softmax Softmax crossentropyex 5”分类输出
创建双向LSTM层
创建一个双向LSTM图层名称 包括一个双向LSTM层中层= bilstmLayer (100
层= BiLSTMLayer属性:名称:“bilstm1”InputNames: {’’} OutputNames:{“出”}NumInputs: 1 NumOutputs: 1 HasStateInputs: 0 HasStateOutputs: 0 Hyperparameters InputSize:“汽车”NumHiddenUnits: 100 OutputMode:“序列”StateActivationFunction:“双曲正切GateActivationFunction: InputWeights乙状结肠的可学的参数:[]RecurrentWeights:[]偏见:[]HiddenState状态参数:[]CellState:[]显示所有属性
inputSize = 12;numHiddenUnits = 100;numClasses = 9;层= [
层x1 = 5层阵列层:1“12维度2序列输入序列输入”BiLSTM BiLSTM 100隐藏单位3“完全连接9完全连接层4”Softmax Softmax crossentropyex 5”分类输出
算法
层的输入和输出格式
层一层一层数组或图后续层传递数据格式化dlarray对象。的格式dlarray对象是一个字符串,其中每个字符描述相应的维度的数据。这些字符的格式由一个或多个:
“S”——空间
“C”——频道
“B”——批
“T”——时间
“U”——未指明的
例如,二维图像数据表示成一个四维数组,第一个二维对应于图像的空间维度,第三维对应于图像的通道,第四个维度对应批维度,可以被描述为有格式“SSCB”(空间、空间、通道、批)。
你可以与这些交互dlarray对象等自动分化工作流开发一个自定义图层,使用functionLayer对象,或使用向前和预测功能与dlnetwork对象。
此表显示了支持输入格式万博1manbetxBiLSTMLayer对象和相应的输出格式。如果输出层的传递给一个定制的层不继承nnet.layer.Formattable类,或FunctionLayer对象的Formattable属性设置为0(假),然后层接收未格式化dlarray对象的尺寸要求相应的这个表的格式。
输入格式
OutputMode
输出格式
“CB”(通道、批处理)
“序列”
“CB”(通道、批处理)
“最后一次”
“认知行为治疗”(通道、批量、时间)
“序列”
“认知行为治疗”(通道、批量、时间)
“最后一次”
“CB”(通道、批处理)
“某人”(空间、批处理)
“序列”
“CB”(通道、批处理)
“最后一次”
在dlnetwork对象,BiLSTMLayer对象也支持这些输入和输出格万博1manbetx式的组合。
输入格式
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(真正的),然后层有两个额外的输入名称“隐藏”和“细胞”,隐藏状态和细胞状态相对应,分别。这些额外的输入期望的输入格式“CB”(频道,批处理)。
如果HasStateOutputs属性是1(真正的),然后用名字层有两个额外的输出“隐藏”和“细胞”,隐藏状态和细胞状态相对应,分别。这些额外的输出输出格式“CB”(频道,批处理)。
层的输入和输出格式
层一层一层数组或图后续层传递数据格式化dlarray对象。的格式dlarray对象是一个字符串,其中每个字符描述相应的维度的数据。这些字符的格式由一个或多个:
“S”——空间
“C”——频道
“B”——批
“T”——时间
“U”——未指明的
例如,二维图像数据表示成一个四维数组,第一个二维对应于图像的空间维度,第三维对应于图像的通道,第四个维度对应批维度,可以被描述为有格式“SSCB”(空间、空间、通道、批)。
你可以与这些交互dlarray对象等自动分化工作流开发一个自定义图层,使用functionLayer对象,或使用向前和预测功能与dlnetwork对象。
此表显示了支持输入格式万博1manbetxBiLSTMLayer对象和相应的输出格式。如果输出层的传递给一个定制的层不继承nnet.layer.Formattable类,或FunctionLayer对象的Formattable属性设置为0(假),然后层接收未格式化dlarray对象的尺寸要求相应的这个表的格式。
输入格式
OutputMode
输出格式
“CB”(通道、批处理)
“序列”
“CB”(通道、批处理)
“最后一次”
“认知行为治疗”(通道、批量、时间)
“序列”
“认知行为治疗”(通道、批量、时间)
“最后一次”
“CB”(通道、批处理)
“某人”(空间、批处理)
“序列”
“CB”(通道、批处理)
“最后一次”
在dlnetwork对象,BiLSTMLayer对象也支持这些输入和输出格万博1manbetx式的组合。
输入格式
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(真正的),然后层有两个额外的输入名称“隐藏”和“细胞”,隐藏状态和细胞状态相对应,分别。这些额外的输入期望的输入格式“CB”(频道,批处理)。
如果HasStateOutputs属性是1(真正的),然后用名字层有两个额外的输出“隐藏”和“细胞”,隐藏状态和细胞状态相对应,分别。这些额外的输出输出格式“CB”(频道,批处理)。
层一层一层数组或图后续层传递数据格式化 例如,二维图像数据表示成一个四维数组,第一个二维对应于图像的空间维度,第三维对应于图像的通道,第四个维度对应批维度,可以被描述为有格式 你可以与这些交互 此表显示了支持输入格式万博1manbetx 在 使用这些输入格式 如果 如果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
引用
[1]Glorot,泽维尔,Yoshua Bengio。“理解的难度训练前馈神经网络。”在《十三人工智能国际会议上和统计,249 - 356。意大利撒丁岛:AISTATS, 2010。https://proceedings.mlr.press/v9/glorot10a/glorot10a.pdf
[2]他开明、象屿张任Shaoqing,剑太阳。“深深入整流器:超越人类表现ImageNet分类。”在学报2015年IEEE计算机视觉国际会议,1026 - 1034。华盛顿特区:IEEE计算机视觉的社会,2015年。https://doi.org/10.1109/ICCV.2015.123
[3]萨克斯,安德鲁·M。,James L. McClelland, and Surya Ganguli. "Exact solutions to the nonlinear dynamics of learning in deep linear neural networks."arXiv预印本arXiv: 1312.6120(2013)。
[1]Glorot,泽维尔,Yoshua Bengio。“理解的难度训练前馈神经网络。”在
[2]他开明、象屿张任Shaoqing,剑太阳。“深深入整流器:超越人类表现ImageNet分类。”在
[3]萨克斯,安德鲁·M。,James L. McClelland, and Surya Ganguli. "Exact solutions to the nonlinear dynamics of learning in deep linear neural networks."arXiv预印本arXiv: 1312.6120
扩展功能
C / c++代码生成生成C和c++代码使用MATLAB®编码器™。
使用笔记和限制:
对于一般的代码生成,HasStateInputs和HasStateOutputs属性必须设置为0(假)。
在生成代码与英特尔®MKL-DNN或手臂®计算库:
的StateActivationFunction属性必须设置为的双曲正切。
的GateActivationFunction属性必须设置为“乙状结肠”。
GPU的代码生成生成NVIDIA的CUDA®代码®GPU使用GPU编码器™。
使用笔记和限制:
GPU代码生成的StateActivationFunction属性必须设置为的双曲正切。
GPU代码生成的GateActivationFunction属性必须设置为“乙状结肠”。
的HasStateInputs和HasStateOutputs属性必须设置为0(假)。
C / c++代码生成生成C和c++代码使用MATLAB®编码器™。
使用笔记和限制:
对于一般的代码生成, 在生成代码与英特尔 的 的
GPU的代码生成生成NVIDIA的CUDA®代码®GPU使用GPU编码器™。
使用笔记和限制: GPU代码生成的 GPU代码生成的 的
版本历史
介绍了R2018a
R2019a:默认的输入权值初始化Glorot
从R2019a开始,软件,默认情况下,初始化层使用Glorot初始化输入这一层的权重。这种行为可以帮助稳定培训和通常减少深层神经网络的训练时间。
在以前的版本中,软件,默认情况下,初始化层输入使用的抽样权重0.01零均值和方差的正态分布。复制这种行为,设置“InputWeightsInitializer”层的选项“narrow-normal”。
R2019a:默认复发性权重的初始化是正交的
从R2019a开始,软件,默认情况下,初始化这一层的层的权重问正交矩阵的QR分解Z=问R对于一个随机矩阵Z抽样单位正态分布。这种行为可以帮助稳定培训和通常减少深层神经网络的训练时间。
在以前的版本中,软件,默认情况下,初始化层反复使用的抽样权重0.01零均值和方差的正态分布。复制这种行为,设置“RecurrentWeightsInitializer”层的选项“narrow-normal”。
R2019a:默认的输入权值初始化Glorot
从R2019a开始,软件,默认情况下,初始化层使用Glorot初始化输入这一层的权重。这种行为可以帮助稳定培训和通常减少深层神经网络的训练时间。 在以前的版本中,软件,默认情况下,初始化层输入使用的抽样权重0.01零均值和方差的正态分布。复制这种行为,设置
R2019a:默认复发性权重的初始化是正交的
从R2019a开始,软件,默认情况下,初始化这一层的层的权重 在以前的版本中,软件,默认情况下,初始化层反复使用的抽样权重0.01零均值和方差的正态分布。复制这种行为,设置
打开举例
你们possedez一个版本modifiee de cet(中央东部东京)为例。Souhaitez-vous打开cet(中央东部东京)为例用vos修改吗?
对MATLAB
你们有派对在联合国留置权,对应这个对MATLAB: 倒实行la对saisissez-la在fenetre德对MATLAB。Les navigateurs web不sup万博1manbetxportent Les MATLAB命令。
你也可以从下面的列表中选择一个网站: 选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。表现最好的网站怎么走吗
欧洲