例子深入学习网络架构
这个例子显示了如何定义简单的深度学习神经网络分类和回归的任务。
网络在这个例子中是基本的网络,您可以修改为你的任务。例如,一些网络部分,你可以替换为更深的层次,可以更好的学习和处理数据的任务。
网络的描述指定数据流的格式通过网络使用字符串的字符代表的不同维度的数据。这些字符的格式包含一个或多个:
“S”
——空间“C”
——频道“B”
——批“T”
——时间“U”
——未指明的
例如,您可以将二维图像数据表示为一个四维数组,其中前两个维度对应于图像的空间维度,第三维对应于图像的通道,和第四维度对应批维度。这表示格式“SSCB”
(空间、空间、通道、批)。
图像数据
图像数据通常有两个或三个空间维度。
二维图像数据格式通常是代表
“SSCB”
(空间、空间、通道、批)。三维图像数据格式通常是代表
“SSSCB”
(空间、空间、空间、通道、批处理)。
二维图像分类网络
二维图像分类网络地图“SSCB”
(空间、空间、通道、批)数据“CB”
(通道、批处理)的数据,然后将数据映射到一个分类层。
完全连接层的过程,这样的数据“C”
(频道)维度的网络输出匹配类的数量。将softmax层将其输入数据转换成向量分类的概率。
inputSize = (224 224 3);numClasses = 10;filterSize = 3;numFilters = 128;层= [imageInputLayer (inputSize) convolution2dLayer (filterSize numFilters) batchNormalizationLayer reluLayer fullyConnectedLayer (numClasses) softmaxLayer classificationLayer);
你可以代替卷积,批处理规范化,ReLU层块与块层处理二维图像数据。这个街区的地图“SSCB”
(空间、空间、通道、批)数据“SSCB”
(空间、空间、通道、批处理)的数据。
为例,展示了如何训练神经网络的图像分类,看看创建简单的深度学习神经网络分类。
二维图像回归网络
二维图像回归网络地图“SSCB”
(空间、空间、通道、批)数据“CB”
(通道、批处理)的数据,然后将数据映射到一个回归层。
完全连接层的过程,这样的数据“C”
(频道)维度的网络输出响应的数量匹配。
inputSize = (224 224 3);numResponses = 10;filterSize = 3;numFilters = 128;层= [imageInputLayer (inputSize) convolution2dLayer (filterSize numFilters) batchNormalizationLayer reluLayer fullyConnectedLayer (numResponses) regressionLayer];
你可以代替卷积,批处理规范化,ReLU层块与块层处理二维图像数据。这个街区的地图“SSCB”
(空间、空间、通道、批)数据“SSCB”
(空间、空间、通道、批处理)的数据。
为例,展示了如何训练神经网络的图像回归,明白了火车卷积神经网络回归。
二维Image-to-Image回归网络
二维image-to-image回归网络地图“SSCB”
(空间、空间、通道、批)数据“SSCB”
(空间、空间、通道、批处理)的数据,然后将数据映射到一个回归层。
使用max网络downsamples数据池与跨两层。使用转置卷积网络upsamples downsampled数据层。
最后卷积层处理数据,这样“C”
(频道)维度的网络输出匹配输出通道的数量。剪ReLU层夹其输入,网络输出区间[0,1]中的数据。
inputSize = (224 224 3);numOutputChannels = 3;filterSize = 3;numFilters = 128;层= [imageInputLayer inputSize convolution2dLayer (filterSize numFilters,填充=“相同”)reluLayer maxPooling2dLayer(2,填充=“相同”步= 2)transposedConv2dLayer (filterSize numFilters,跨步= 2)reluLayer convolution2dLayer (1 numOutputChannels填充=“相同”)clippedReluLayer (1) regressionLayer];
你可以代替卷积,ReLU马克斯池层的层块与块downsamples二维图像数据。这个街区的地图“SSCB”
(空间、空间、通道、批)数据“SSCB”
(空间、空间、通道、批处理)的数据。
你可以换转置卷积,ReLU层的层块与块upsamples二维图像数据。这个街区的地图“SSCB”
(空间、空间、通道、批)数据“SSCB”
(空间、空间、通道、批处理)的数据。
为例,展示了如何训练一个神经网络image-to-image回归,明白了数据存储准备Image-to-Image回归。
三维图像分类网络
3 d图像分类网络地图“SSSCB”
(空间、空间、空间、通道、批)数据“CB”
(通道、批处理)的数据,然后将数据映射到一个分类层。
完全连接层的过程,这样的数据“C”
(频道)维度的网络输出匹配类的数量。将softmax层将其输入数据转换成向量分类的概率。
inputSize = (224 224 224 3);numClasses = 10;filterSize = 3;numFilters = 128;层= [image3dInputLayer (inputSize) convolution3dLayer (filterSize numFilters) batchNormalizationLayer reluLayer fullyConnectedLayer (numClasses) softmaxLayer classificationLayer);
你可以代替卷积,批处理规范化,ReLU层块与块层过程的三维图像数据。这个街区的地图“SSSCB”
(空间、空间、空间、通道、批)数据“SSSCB”
(空间、空间、空间、通道、批处理)的数据。
三维图像回归网络
三维图像回归网络地图“SSSCB”
(空间、空间、空间、通道、批)数据“CB”
(通道、批处理)的数据,然后将数据映射到一个回归层。
完全连接层的过程,这样的数据“C”
(频道)维度的网络输出响应的数量匹配。
inputSize = (224 224 224 3);numResponses = 10;filterSize = 3;numFilters = 128;层= [image3dInputLayer (inputSize) convolution3dLayer (filterSize numFilters) batchNormalizationLayer reluLayer fullyConnectedLayer (numResponses) regressionLayer];
你可以代替卷积,批处理规范化,ReLU层块与块层过程的三维图像数据。这个街区的地图“SSSCB”
(空间、空间、空间、通道、批)数据“SSSCB”
(空间、空间、空间、通道、批处理)的数据。
序列数据
序列数据通常有一个时间维度。
向量序列数据通常的格式来表示
“认知行为治疗”
(通道、批量、时间)。二维图像序列数据通常代表的格式
“SSCBT”
(空间、空间、通道、批处理时间)。三维图像序列数据通常代表的格式
“SSSCBT”
(空间、空间、空间、通道、批处理时间)。
向量Sequence-to-Label分类网络
一个向量sequence-to-label分类网络地图“认知行为治疗”
(通道、批量、时间)数据“CB”
(通道、批处理)的数据,然后将数据映射到一个分类层。
LSTM网络
当OutputMode
LSTM层的选项“最后一次”
,输出层只有最后一个时间步的数据格式“CB”
(频道,批处理)。
完全连接层的过程,这样的数据“C”
(频道)维度的网络输出匹配类的数量。将softmax层将其输入数据转换成向量分类的概率。
numFeatures = 15;numClasses = 10;numHiddenUnits = 100;层= [sequenceInputLayer numFeatures lstmLayer (numHiddenUnits OutputMode =“最后一次”)fullyConnectedLayer (numClasses) softmaxLayer classificationLayer];
你可以取代LSTM层的层块处理向量序列数据。这一层的地图“认知行为治疗”
(通道、批量、时间)数据“CB”
(通道、批处理)的数据。
为例,展示了如何训练一个LSTM网络分类,看看使用深度学习序列分类。
卷积网络
一维卷积层可变的“T”
(时间)输入数据的维度。全球最大池一维层地图“认知行为治疗”
(通道、批量、时间)数据“CB”
(通道、批处理)的数据。
完全连接层的过程,这样的数据“C”
(频道)维度的网络输出匹配类的数量。将softmax层将其输入数据转换成向量分类的概率。
numFeatures = 15;numClasses = 10;最小长度= 100;filterSize = 3;numFilters = 128;层= [sequenceInputLayer (numFeatures最小长度=最小长度)convolution1dLayer (filterSize numFilters) batchNormalizationLayer reluLayer globalMaxPooling1dLayer fullyConnectedLayer (numClasses) softmaxLayer classificationLayer);
你可以代替卷积,批处理规范化,ReLU层块与块序列数据层的过程。这个街区的地图“认知行为治疗”
(通道、批量、时间)数据“认知行为治疗”
(通道、批量、时间)数据。
为例,展示了如何训练一个分类网络使用一维曲线玲珑,明白了使用一维卷积序列分类。
向量Sequence-to-One回归网络
一个向量sequence-to-one回归网络地图“认知行为治疗”
(通道、批量、时间)数据“CB”
(通道、批处理)的数据,然后将数据映射到一个回归层。
当OutputMode
LSTM层的选项“最后一次”
,输出层只有最后一个时间步的数据格式“CB”
(频道,批处理)。
完全连接层的过程,这样的数据“C”
(频道)维度的网络输出响应的数量匹配。
numFeatures = 15;numResponses = 10;numHiddenUnits = 100;层= [sequenceInputLayer numFeatures lstmLayer (numHiddenUnits OutputMode =“最后一次”)fullyConnectedLayer (numResponses) regressionLayer];
你可以用一块替换LSTM层向量序列数据层处理。这一层的地图“认知行为治疗”
(通道、批量、时间)数据“CB”
(通道、批处理)的数据。
为例,展示了如何训练一个LSTM网络回归,明白了使用深度学习Sequence-to-One回归。
向量Sequence-to-Sequence分类网络
一个向量sequence-to-sequence分类网络地图“认知行为治疗”
(通道、批量、时间)数据“认知行为治疗”
(通道、批量、时间)的数据,然后将数据映射到一个分类层。
当OutputMode
LSTM层的选项“序列”
,输出层的步骤中数据的格式“认知行为治疗”
(通道、批量、时间)。
完全连接层的过程,这样的数据“C”
(频道)维度的网络输出匹配类的数量。将softmax层转换的时间步骤输入数据的概率向量分类。
numFeatures = 15;numClasses = 10;numHiddenUnits = 100;层= [sequenceInputLayer (numFeatures) lstmLayer (numHiddenUnits) fullyConnectedLayer (numClasses) softmaxLayer classificationLayer);
你可以用一块替换LSTM层向量序列数据层处理。这一层的地图“认知行为治疗”
(通道、批量、时间)数据“认知行为治疗”
(通道、批量、时间)数据。
为例,展示了如何训练一个LSTM网络sequence-to-sequence分类,看看使用深度学习Sequence-to-Sequence分类。
向量Sequence-to-Sequence回归网络
一个向量sequence-to-sequence回归网络地图“认知行为治疗”
(通道、批量、时间)数据“认知行为治疗”
(通道、批量、时间)的数据,然后将数据映射到一个回归层。
当OutputMode
LSTM层的选项“序列”
,输出层的步骤中数据的格式“认知行为治疗”
(通道、批量、时间)。
完全连接层的过程,这样的数据“C”
(频道)维度的网络输出响应的数量匹配。
numFeatures = 15;numResponses = 10;numHiddenUnits = 100;层= [sequenceInputLayer (numFeatures) lstmLayer (numHiddenUnits) fullyConnectedLayer (numResponses) regressionLayer];
你可以用一块替换LSTM层向量序列数据层处理。这一层的地图“认知行为治疗”
(通道、批量、时间)数据“认知行为治疗”
(通道、批量、时间)数据。
为例,展示了如何训练sequence-to-sequence回归网络,看到的使用深度学习Sequence-to-Sequence回归。
图像Sequence-to-Label分类网络
一个图像sequence-to-label分类网络地图“SSCBT”
(空间、空间、通道、批处理时间)数据“CB”
数据(通道、批处理),然后将数据映射到一个分类层。
卷积层独立处理框架。将处理帧映射到向量序列数据,地图的网络使用一个平层“SSCBT”
(空间、空间、通道、批处理时间)数据“认知行为治疗”
(通道、批量、时间)数据。
当OutputMode
LSTM层的选项“最后一次”
,输出层只有最后一个时间步的数据格式“CB”
(频道,批处理)。
完全连接层的过程,这样的数据“C”
(频道)维度的网络输出匹配类的数量。将softmax层转换的时间步骤输入数据的概率向量分类。
inputSize = (224 224 3);numClasses = 10;numHiddenUnits = 100;filterSize = 3;numFilters = 224;层= [sequenceInputLayer (inputSize) convolution2dLayer (filterSize numFilters) batchNormalizationLayer reluLayer flattenLayer lstmLayer (numHiddenUnits OutputMode =“最后一次”)fullyConnectedLayer (numClasses) softmaxLayer classificationLayer];
你可以代替卷积,批处理规范化,ReLU层块与块层过程的二维图像序列。这个街区的地图“SSCBT”
(空间、空间、通道、批处理时间)数据“SSCBT”
(空间、空间、通道、批处理时间)数据。
你可以用一块替换LSTM层向量序列数据层处理。这一层的地图“认知行为治疗”
(通道、批量、时间)数据“CB”
(通道、批处理)的数据。
图像sequence-to-sequence分类,例如,每帧视频分类、设置OutputMode
选择LSTM层“序列”
。
为例,展示了如何训练图像sequence-to-label分类网络视频分类,看看分类使用深度学习视频。
图像Sequence-to-One回归网络
一个图像sequence-to-one回归网络地图“SSCBT”
(空间、空间、通道、批处理时间)数据“CB”
数据(通道、批处理),然后将数据映射到一个回归层。
卷积层独立处理框架。将处理帧映射到向量序列数据,地图的网络使用一个平层“SSCBT”
(空间、空间、通道、批处理时间)数据“认知行为治疗”
(通道、批量、时间)数据。
当OutputMode
LSTM层的选项“最后一次”
,输出层只有最后一个时间步的数据格式“CB”
(频道,批处理)。
完全连接层的过程,这样的数据“C”
(频道)维度的网络输出响应的数量匹配。
inputSize = (224 224 3);numResponses = 10;numHiddenUnits = 100;filterSize = 3;numFilters = 224;层= [sequenceInputLayer (inputSize) convolution2dLayer (filterSize numFilters) batchNormalizationLayer reluLayer flattenLayer lstmLayer (numHiddenUnits OutputMode =“最后一次”)fullyConnectedLayer (numResponses) regressionLayer];
你可以代替卷积,批处理规范化,ReLU层块与块层过程的二维图像序列。这个街区的地图“SSCBT”
(空间、空间、通道、批处理时间)数据“SSCBT”
(空间、空间、通道、批处理时间)数据。
你可以用一块替换LSTM层向量序列数据层处理。这一层的地图“认知行为治疗”
(通道、批量、时间)数据“CB”
(通道、批处理)的数据。
图像sequence-to-sequence回归,例如,每帧视频回归,设置OutputMode
选择LSTM层“序列”
。
特性数据
通常在格式特性数据“CB”
(频道,批处理)。
功能分类网络
一个特性分类网络地图“CB”
(通道、批)数据“CB”
(通道、批处理)的数据,然后将数据映射到一个分类层。
多层感知器网络分类
完全连接层的过程,这样的数据“C”
(频道)维度的网络输出匹配类的数量。将softmax层将其输入数据转换成向量分类的概率。
numFeatures = 15;numClasses = 10;hiddenSize = 100;层= [featureInputLayer (numFeatures) fullyConnectedLayer (hiddenSize) reluLayer fullyConnectedLayer (numClasses) softmaxLayer classificationLayer);
你可以替换第一个完全连接层和ReLU层与一块层数据处理功能。这个街区的地图“CB”
(通道、批)数据“CB”
(通道、批处理)的数据。
为例,展示了如何训练功能分类网络,看到的列车网络与数字特征。
功能回归网络
一个功能回归网络地图“CB”
(通道、批)数据“CB”
数据(通道、批处理),然后将数据映射到一个回归层。
多层感知器网络回归
完全连接层的过程,这样的数据“C”
(频道)维度的网络输出响应的数量匹配。
numFeatures = 15;numResponses = 10;hiddenSize = 100;层= [featureInputLayer (numFeatures) fullyConnectedLayer (hiddenSize) reluLayer fullyConnectedLayer (numResponses) regressionLayer];
你可以替换第一个完全连接层和ReLU层与一块层数据处理功能。这个街区的地图“CB”
(通道、批)数据“CB”
(通道、批处理)的数据。
多个输入网络
神经网络可以有多个输入。网络与多个输入通常来自不同数据源的数据流程和合并等处理数据使用一个组合层附加层或连接层。
多个二维图像输入分类网络
多个二维图像输入分类网络地图“SSCB”
(空间、空间、通道、批处理)来自多个数据源的数据“CB”
(通道、批处理)的数据,然后将数据映射到一个分类层。
平层地图“SSCB”
(空间、空间、通道、批)数据“CB”
(通道、批处理)的数据。连接层连接两个输入的格式“CB”
(频道,批处理)“C”
(频道)维度。完全连接层的过程,这样的数据“C”
(频道)维度的网络输出匹配类的数量。将softmax层将其输入数据转换成向量分类的概率。
inputSize1 = (224 224 3);inputSize2 = (64 64);numClasses = 10;filterSize1 = 5;numFilters1 = 128;filterSize2 = 3;numFilters2 = 64;层= [imageInputLayer (inputSize1) convolution2dLayer (filterSize1 numFilters1) batchNormalizationLayer reluLayer flattenLayer concatenationLayer(1、2名=“猫”)fullyConnectedLayer (numClasses) softmaxLayer classificationLayer];lgraph = layerGraph(层);层= [imageInputLayer (inputSize2) convolution2dLayer (filterSize2 numFilters2) batchNormalizationLayer reluLayer flattenLayer (Name =“flatten2”));lgraph = addLayers (lgraph层);lgraph = connectLayers (lgraph,“flatten2”,“猫/ in2”);图绘制(lgraph)
你可以代替卷积,批处理规范化,ReLU层块与块层过程的二维图像数据。这些块地图“SSCB”
(空间、空间、通道、批)数据“SSCB”
(空间、空间、通道、批处理)的数据。
多个二维图像输入回归网络
多个二维图像输入回归网络地图“SSCB”
(空间、空间、通道、批处理)来自多个数据源的数据“CB”
(通道、批处理)的数据,然后将数据映射到一个回归层。
平层地图“SSCB”
(空间、空间、通道、批)数据“CB”
(通道、批处理)的数据。连接层连接两个输入的格式“CB”
(频道,批处理)“C”
(频道)维度。完全连接层的过程,这样的数据“C”
(频道)维度的网络输出响应的数量匹配。
inputSize1 = (224 224 3);inputSize2 = (64 64);numResponses = 10;filterSize1 = 5;numFilters1 = 128;filterSize2 = 3;numFilters2 = 64;层= [imageInputLayer (inputSize1) convolution2dLayer (filterSize1 numFilters1) batchNormalizationLayer reluLayer flattenLayer concatenationLayer(1、2名=“猫”)fullyConnectedLayer (numResponses) regressionLayer];lgraph = layerGraph(层);层= [imageInputLayer (inputSize2) convolution2dLayer (filterSize2 numFilters2) batchNormalizationLayer reluLayer flattenLayer (Name =“flatten2”));lgraph = addLayers (lgraph层);lgraph = connectLayers (lgraph,“flatten2”,“猫/ in2”);图绘制(lgraph)
你可以代替卷积,批处理规范化,ReLU层块与块层过程的二维图像数据。这些块地图“SSCB”
(空间、空间、通道、批)数据“SSCB”
(空间、空间、通道、批处理)的数据。
二维图像和特征分类网络
二维图像和特征分类网络地图的一个输入“SSCB”
(空间、空间、通道、批处理)和一个输入数据“CB”
(通道、批)数据“CB”
(通道、批处理)的数据,然后将数据映射到一个分类层。
平层地图“SSCB”
(空间、空间、通道、批)数据“CB”
(通道、批处理)的数据。连接层连接两个输入的格式“CB”
(频道,批处理)“C”
(频道)维度。完全连接层的过程,这样的数据“C”
(频道)维度的网络输出匹配类的数量。将softmax层将其输入数据转换成向量分类的概率。
inputSize = (224 224 3);numFeatures = 15;numClasses = 10;filterSize = 5;numFilters = 128;hiddenSize = 100;层= [imageInputLayer (inputSize) convolution2dLayer (filterSize numFilters) batchNormalizationLayer reluLayer flattenLayer concatenationLayer(1、2名=“猫”)fullyConnectedLayer (numClasses) softmaxLayer classificationLayer];lgraph = layerGraph(层);层= [featureInputLayer (numFeatures) fullyConnectedLayer hiddenSize reluLayer (Name =“relu2”));lgraph = addLayers (lgraph层);lgraph = connectLayers (lgraph,“relu2”,“猫/ in2”);图绘制(lgraph)
你可以代替卷积,批处理规范化,ReLU层块与块层处理二维图像数据。这个街区的地图“SSCB”
(空间、空间、通道、批)数据“SSCB”
(空间、空间、通道、批处理)的数据。
你可以取代完全连接层和ReLU层在特性分支一块层数据处理功能。这个街区的地图“CB”
(通道、批)数据“CB”
(通道、批处理)的数据。
为例,展示了如何训练一个网络形象和特征数据,看看列车网络形象和特征数据。
二维图像和序列分类网络
二维图像和序列分类网络地图的一个输入“SSCB”
(空间、空间、通道、批处理)和一个输入数据“认知行为治疗”
(通道、批量、时间)数据“CB”
(通道、批处理)的数据,然后将数据映射到一个分类层。
平层地图“SSCB”
(空间、空间、通道、批)数据“CB”
(通道、批处理)的数据。当OutputMode
LSTM层的选项“最后一次”
,输出层只有最后一个时间步的数据格式“CB”
(频道,批处理)。连接层连接两个输入的格式“CB”
(频道,批处理)“C”
(频道)维度。完全连接层的过程,这样的数据“C”
(频道)维度的网络输出匹配类的数量。将softmax层将其输入数据转换成向量分类的概率。
inputSize = (224 224 3);numFeatures = 15;numClasses = 10;filterSize = 5;numFilters = 128;numHiddenUnits = 100;层= [imageInputLayer (inputSize) convolution2dLayer (filterSize numFilters) batchNormalizationLayer reluLayer flattenLayer concatenationLayer(1、2名=“猫”)fullyConnectedLayer (numClasses) softmaxLayer classificationLayer];lgraph = layerGraph(层);层= [sequenceInputLayer numFeatures lstmLayer (hiddenSize OutputMode =“最后一次”、名称=“lstm”));lgraph = addLayers (lgraph层);lgraph = connectLayers (lgraph,“lstm”,“猫/ in2”);图绘制(lgraph)
你可以代替卷积,批处理规范化,ReLU层块与块层处理二维图像数据。这个街区的地图“SSCB”
(空间、空间、通道、批)数据“SSCB”
(空间、空间、通道、批处理)的数据。
你可以用一块替换LSTM层向量序列数据层处理。这一层的地图“认知行为治疗”
(通道、批量、时间)数据“CB”
(通道、批处理)的数据。
序列和功能分类网络
序列和功能分类网络地图的一个输入“认知行为治疗”
(通道、批量、时间)和一个输入数据“CB”
(通道、批)数据“CB”
(通道、批处理)的数据,然后将数据映射到一个分类层。
当OutputMode
LSTM层的选项“最后一次”
,输出层只有最后一个时间步的数据格式“CB”
(频道,批处理)。连接层连接两个输入的格式“CB”
(频道,批处理)“C”
(频道)维度。完全连接层的过程,这样的数据“C”
(频道)维度的网络输出匹配类的数量。将softmax层将其输入数据转换成向量分类的概率。
numFeatures = 15;numFeaturesSequence = 20;numClasses = 10;numHiddenUnits = 128;hiddenSize = 100;层= [sequenceInputLayer numFeaturesSequence lstmLayer (numHiddenUnits OutputMode =“最后一次”)concatenationLayer (1、2、Name =“猫”)fullyConnectedLayer (numClasses) softmaxLayer classificationLayer];lgraph = layerGraph(层);层= [featureInputLayer (numFeatures) fullyConnectedLayer hiddenSize reluLayer (Name =“relu2”));lgraph = addLayers (lgraph层);lgraph = connectLayers (lgraph,“relu2”,“猫/ in2”);图绘制(lgraph)
你可以用一块替换LSTM层向量序列数据层处理。这一层的地图“认知行为治疗”
(通道、批量、时间)数据“CB”
(通道、批处理)的数据。
你可以取代完全连接层和ReLU层在特性分支一块层数据处理功能。这个街区的地图“CB”
(通道、批)数据“CB”
(通道、批处理)的数据。
另请参阅
trainNetwork
|analyzeNetwork
|layerGraph
|深层网络设计师