主要内容

sequenceInputlayer.

序列输入层

描述

序列输入层将序列数据输入到网络。

创建

描述

= sequenceInputLayer(输入创建序列输入层并设置输入财产。

例子

= sequenceInputLayer(输入名称,值设置可选正常化意思, 和名称使用名称-值对的属性。可以指定多个名称-值对。将每个属性名用单引号括起来。

特性

展开全部

图像输入

输入的大小,指定为正整数或正整数的向量。

  • 对于向量序列输入,输入是对应于特征数量的标量。

  • 对于2-D图像序列输入,输入是三个元素的矢量[w c h], 在哪里h是图像高度,w是图像宽度,和c为图像的通道数。

  • 对于3-D图像序列输入,输入是四个元素的向量吗[H W D C], 在哪里h是图像高度,w为图像宽度,d是图像深度,还有c为图像的通道数。

例子:100.

要应用每次数据的数据归一化将通过输入图层向前传播,指定为以下之一:

  • 'Zerocenter'- 减去所指定的平均值意思

  • “zscore”- 减去所指定的平均值意思并除以standarddeviation.

  • “rescale-symmetric”—使用指定的最小值和最大值重新缩放输入,使其在[- 1,1]范围内最大限度,分别。

  • 'Rescale-Zero-One'- 使用最小值和最大值,重新缩放输入到范围内[0,1]最大限度,分别。

  • “没有”- 请勿将输入数据标准化。

  • function handle—使用指定的函数对数据进行规范化。功能必须是形式的Y = func (X), 在哪里X输入数据和输出是输出Y是标准化的数据。

提示

默认情况下,该软件可自动计算培训时间的标准化统计信息。要节省培训时,请指定规范化所需的统计信息,并设置'resetInputnormalization'选项培训选项

如果输入数据包含填充,则在归一化输入数据时,该图层忽略了填充值。

标准化维度,指定为以下之一:

  • “汽车”—如果培训选项是并且您指定了任何归一化统计信息(意思standarddeviation., 要么最大限度),然后通过匹配统计数据的尺寸标准化。否则,重新计算培训时间并申请渠道明智的归一化。

  • '渠道'- 渠道 - 明智的标准化。

  • “元素”——Element-wise正常化。

  • “所有”- 使用标量统计来规范所有值。

零中心和z评分标准化的意思,指定为数字阵列或空。

  • 对于向量序列输入,意思必须是一个输入- 1个每频道的手段矢量,数字标量或[]

  • 对于2-D图像序列输入,意思必须是与相同尺寸的数字数组输入, 1-by-1-byInputSize(3)每个通道,数字标量或[]

  • 对于3-D图像序列输入,意思必须是与相同尺寸的数字数组输入,一个1-by-1-by-输入(4)每个通道,数字标量或[]

如果您指定了意思属性,然后正常化必须是'Zerocenter'要么“zscore”.如果意思[],然后软件计算训练时的平均值。

您可以在不进行培训的情况下创建网络时设置此属性(例如,使用汇编).

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64

用于z-score标准化的标准偏差,指定为数字数组、数字标量或空。

  • 对于向量序列输入,standarddeviation.必须是一个输入- 1个每条通道标准偏差矢量,数字标量或[]

  • 对于2-D图像序列输入,standarddeviation.必须是与相同尺寸的数字数组输入, 1-by-1-byInputSize(3)每个通道的标准差数组、数字标量或[]

  • 对于3-D图像序列输入,standarddeviation.必须是与相同尺寸的数字数组输入,一个1-by-1-by-输入(4)每个通道的标准偏差数组,或数字标量。

如果您指定了standarddeviation.属性,然后正常化必须是“zscore”.如果standarddeviation.[],然后软件计算训练时的标准差。

您可以在不进行培训的情况下创建网络时设置此属性(例如,使用汇编).

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64

重新定义的最小值,指定为数字数组或空。

  • 对于向量序列输入,必须是一个输入-1个每个通道或数字标量的装置矢量矢量。

  • 对于2-D图像序列输入,必须是与相同尺寸的数字数组输入, 1-by-1-byInputSize(3)每个通道最小值数组,或数字标量。

  • 对于3-D图像序列输入,必须是与相同尺寸的数字数组输入,一个1-by-1-by-输入(4)每个通道最小值数组,或数字标量。

如果您指定了属性,然后正常化必须是“rescale-symmetric”要么'Rescale-Zero-One'.如果[],然后软件在训练时间计算最小值。

您可以在不进行培训的情况下创建网络时设置此属性(例如,使用汇编).

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64

用于重新缩放的最大值,指定为数字数组,或为空。

  • 对于向量序列输入,最大限度必须是一个输入-1个每个通道或数字标量的装置矢量矢量。

  • 对于2-D图像序列输入,最大限度必须是与相同尺寸的数字数组输入, 1-by-1-byInputSize(3)每个通道的最大数组,数字标量或[]

  • 对于3-D图像序列输入,最大限度必须是与相同尺寸的数字数组输入,一个1-by-1-by-输入(4)每个通道的最大数组,数字标量或[]

如果您指定了最大限度属性,然后正常化必须是“rescale-symmetric”要么'Rescale-Zero-One'.如果最大限度[],然后软件在训练时间计算最大值。

您可以在不进行培训的情况下创建网络时设置此属性(例如,使用汇编).

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64

图层名称,指定为字符向量或字符串标量。要在图层图中包含一个图层,必须指定非空,唯一的图层名称。如果您使用该图层培训系列网络名称被设置为'',然后软件在训练时自动为该层分配一个名称。

数据类型:char|细绳

图层的输入数。该层没有输入。

数据类型:双倍的

图层的输入名称。该层没有输入。

数据类型:细胞

图层的输出数。此图层仅具有单个输出。

数据类型:双倍的

图层的输出名称。此图层仅具有单个输出。

数据类型:细胞

例子

全部收缩

创建一个序列输入层的名称'seq1'和输入大小为12。

tillay = sequenceInputlayer(12,“名字”'seq1'
layer = SequenceInputLayer with properties: Name: 'seq1' InputSize: 12 Hyperparameters Normalization: 'none' NormalizationDimension: 'auto'

包括序列输入层数组中。

inputSize = 12;numHiddenUnits = 100;numClasses = 9;层= [......sequenceInputLayer(InputSize)LSTMLAYER(NUMHIDNEDURITS,'OutputMode'“最后一次”)软连接层(numClasses)
图层= 5x1层阵列带有图层:1''序列输入序列输入,带12尺寸2''LSTM LSTM,具有100个隐藏单元3'完全连接的9完全连接的第4层''Softmax SoftMax 5''分类输出CrossentRopyex

创建具有名称224-224 RGB图像的序列的序列输入层'seq1'

layer = sequenceInputlayer([224 224 3],“名字”'seq1'
tillay = sequenceInputLayer具有属性:名称:'SEQ1'输入:[224 224 3] radipameters标准化:'无'标准化dimension:'auto'

培训深度学习LSTM网络,用于序列到标签分类。

如[1]和[2]中所述加载日语元音数据集。XTrain.是含有270个变化长度序列的细胞阵列,其具有对应于LPC综合系数的12个特征。Y是标签1,2,...,9的分类矢量。参赛作品XTrain.是具有12行的矩阵(每个特征的一行)和不同数量的列(每次步骤一列)。

[Xtrain,Ytrain] = JapanesevowelstrainData;

在绘图中可视化第一次序列。每行对应于特征。

图绘制(XTrain{1}”)标题(“培训观察1”)numfeatures = size(xtrain {1},1);传奇(“特征 ”+字符串(1:numFeatures),'地点'“northeastoutside”

定义LSTM网络架构。指定输入大小为12(输入数据的特征数量)。指定一个LSTM层有100个隐藏单元,并输出序列的最后一个元素。最后,通过包含大小为9的完全连接层、softmax层和分类层来指定9个类。

inputSize = 12;numHiddenUnits = 100;numClasses = 9;层= [......sequenceInputLayer(InputSize)LSTMLAYER(NUMHIDNEDURITS,'OutputMode'“最后一次”)软连接层(numClasses)
图层= 5×1层阵列,带有图层:1''序列输入序列输入,带12尺寸2''LSTM LSTM,具有100个隐藏单元3'完全连接的9个完全连接的第4层''Softmax SoftMax 5''分类输出CrossentRopyex

指定培训选项。指定求解器为'亚当'“GradientThreshold”为1。设置mini-batch size为27,最大epoch数为70。

由于迷你批次具有短序列,因此CPU更适合培训。放“ExecutionEnvironment”'中央处理器'.在GPU上训练,如果有的话,设置“ExecutionEnvironment”“汽车”(默认值)。

maxEpochs = 70;miniBatchSize = 27个;选择= trainingOptions ('亚当'......“ExecutionEnvironment”'中央处理器'......'maxepochs',maxepochs,......'minibatchsize',小匹马,......“GradientThreshold”,1,......'verbose',错误的,......“阴谋”'培训 - 进步');

使用指定的培训选项列车LSTM网络。

net = trainnetwork(xtrain,ytrain,图层,选项);

加载测试集并将序列分类为扬声器。

[xtest,ytest] =日本韦沃尔斯特迪塔

分类测试数据。指定用于培训的相同百分比大小。

XTest YPred =分类(净,'minibatchsize', miniBatchSize);

计算预测的分类精度。

ACC = SUM(YPRED == ytest)./ numel(ytest)
ACC = 0.9514

为了创建用于序列到标签分类的LSTM网络,创建包含序列输入层,LSTM层,完全连接的层,软MAX层和分类输出层的层数组。

将序列输入层的大小设置为输入数据的特征数。将完全连接的图层的大小设置为类的数量。您无需指定序列长度。

对于LSTM图层,指定隐藏单元的数量和输出模式“最后一次”

numfeatures = 12;numHiddenUnits = 100;numClasses = 9;层= [......sequenceInputLayer numFeatures lstmLayer (numHiddenUnits,'OutputMode'“最后一次”) fulllyconnectedlayer (numClasses) softmaxLayer classificationLayer;

有关如何培训LSTM网络以获取序列到标签分类和分类新数据的示例,请参阅使用深度学习序列分类

要为序列到序列分类创建LSTM网络,请使用与序列到标签分类相同的架构,但将LSTM层的输出模式设置为“序列”

numfeatures = 12;numHiddenUnits = 100;numClasses = 9;层= [......sequenceInputLayer numFeatures lstmLayer (numHiddenUnits,'OutputMode'“序列”) fulllyconnectedlayer (numClasses) softmaxLayer classificationLayer;

要创建序列到一回归的LSTM网络,需要创建一个包含序列输入层、LSTM层、全连接层和回归输出层的层阵列。

将序列输入层的大小设置为输入数据的特征数。将完全连接的图层的大小设置为响应的数量。您无需指定序列长度。

对于LSTM图层,指定隐藏单元的数量和输出模式“最后一次”

numfeatures = 12;numhidendunits = 125;numreponses = 1;层= [......sequenceInputLayer numFeatures lstmLayer (numHiddenUnits,'OutputMode'“最后一次”)全连接列(NumResponses)回归范围];

要为序列到序列回归创建LSTM网络,请使用与序列到一个回归相同的架构,但将LSTM层的输出模式设置为“序列”

numfeatures = 12;numhidendunits = 125;numreponses = 1;层= [......sequenceInputLayer numFeatures lstmLayer (numHiddenUnits,'OutputMode'“序列”)全连接列(NumResponses)回归范围];

有关如何训练LSTM网络进行序列到序列回归和预测新数据的示例,请参见使用深度学习的序列到序列回归

您可以通过使用输出模式插入额外的LSTM层来更深入地制作LSTM网络“序列”在LSTM层之前。为防止过度装备,您可以在LSTM层后插入丢弃层。

对于序列到标签分类网络,必须是最后一个LSTM层的输出模式“最后一次”

numfeatures = 12;numhiddentunits1 = 125;numhidendunits2 = 100;numClasses = 9;层= [......SequenceInputLayer(NumFeatures)LSTMLAYER(numhidentunits1,'OutputMode'“序列”) dropoutLayer (0.2) lstmLayer (numHiddenUnits2'OutputMode'“最后一次”) dropoutLayer(0.2) fulllyconnectedlayer (numClasses) softmaxLayer classificationLayer];

对于序列到序列分类网络,必须是最后一个LSTM层的输出模式“序列”

numfeatures = 12;numhiddentunits1 = 125;numhidendunits2 = 100;numClasses = 9;层= [......SequenceInputLayer(NumFeatures)LSTMLAYER(numhidentunits1,'OutputMode'“序列”) dropoutLayer (0.2) lstmLayer (numHiddenUnits2'OutputMode'“序列”) dropoutLayer(0.2) fulllyconnectedlayer (numClasses) softmaxLayer classificationLayer];

为包含图像序列的数据创建深度学习网络,例如视频和医学图像数据。

  • 要将图像序列输入到网络中,请使用序列输入层。

  • 为了将卷积操作独立应用于每次步骤,首先使用序列折叠层将图像的序列转换为图像阵列。

  • 要在执行这些操作后恢复序列结构,请使用序列展开层将此阵列图像转换回图像序列。

  • 要将图像转换为特征向量,请使用扁平层。

然后,您可以将向量序列输入到LSTM和Bilstm层中。

定义网络架构

创建一个分类LSTM网络,将28-×28灰度图像的序列分类为10类。

定义以下网络架构:

  • 序列输入层,其输入大小为[28 28 1]

  • 具有20个5 × 5滤波器的卷积、批处理归一化和ReLU层块。

  • 一个LSTM层,具有200个隐藏单元,仅输出最后一次步骤。

  • 完全连接的大小10(类数),后跟软MAX层和分类层。

为了独立地在每次上执行卷积操作,包括卷积层之前的序列折叠层。LSTM层预计向量序列输入。为了恢复序列结构并将卷积层的输出重新塑造到特征向量的序列,在卷积层和LSTM层之间插入序列展开层和平坦层。

输入= [28 28 1];filtersize = 5;numfilters = 20;numhidendunits = 200;numclasses = 10;层= [......sequenceInputLayer (inputSize“名字”“输入”)SechandFoldingLayer(“名字”“折”)卷积2dlayer(过滤,numfilters,“名字”'conv'batchnormalizationlayer(“名字”'bn') reluLayer (“名字”'relu')SequencunfoldingLayer(“名字”'展开')Flattenlayer(“名字”“平”)lstmlayer(numhidendunits,'OutputMode'“最后一次”“名字”'lstm')全连接列(numcrasses,“名字”'fc') softmaxLayer (“名字”'softmax'scassificationlayer(“名字”'分类')];

将图层转换为图层图并连接miniBatchSize序列折叠层的输出到序列展开层的相应输入。

Lgraph = LayerGraph(层);Lgraph = ConnectLayers(LAPHAGE,“折/ miniBatchSize”'展开/小贴士');

使用介绍最终网络架构情节函数。

图绘图(LGROP)

图中包含一个坐标轴。坐标轴包含一个graphplot类型的对象。

兼容性考虑因素

展开全部

未来发布的行为变化

R2020A中的行为发生了变化

参考

[1] M. Kudo,J. Toyama和M. Shimbo。“使用过度区域的多维曲线分类。”模式识别字母.卷。20,第11-13页,第1103-1111页。

[2]UCI机器学习存储库:日语元音数据集.https://archive.ics.uci.edu/ml/datasets/japanese+vowels.

扩展能力

介绍了R2017b