主要内容

DAGNetwork

向无环图(DAG)网络的深度学习

描述

DAG网络是一个神经网络,用于深入学习,层层被布置为定向的非循环图。DAG网络可以具有更复杂的架构,其中层具有从多个层的输入并输出到多个层。

创建

有几种方法来创建DAGNetwork目的:

笔记

要了解其他预追溯网络,请参阅普里德深度神经网络

特性

展开全部

此属性是只读的。

网络图层,指定为a大批。

此属性是只读的。

层连接,指定为具有两列的表。

每个表行表示在该层图形的连接。第一列,来源,指定每个连接的源。第二列,目的地中,指定各个连接的目的地。连接源和目标是任一层名或具有形式'layerName / IOName', 在哪里'ionamam'是层输入或输出的名称。

数据类型:桌子

此属性是只读的。

网络的输入层名称,指定为字符向量的单元阵列。

数据类型:细胞

网络输出层名称,指定为字符向量的单元格数组。

数据类型:细胞

对象功能

激活 计算深度学习网络层激活
分类 使用受训深学习神经网络分类数据
预测 预测使用受训深学习神经网络的反应
阴谋 绘制神经网络层图

例子

全部收缩

创建向无环图(DAG)网络的深度学习简单。网络列车的数字图像分类。在这个例子中的简单的网络包括:

  • 与层A主枝依次连接。

  • 一种快捷方式连接含有单个1×1的卷积层。快捷方式连接使得所述参数梯度以从输出层更容易地流动到网络的较早的层。

创建网络作为层阵列的主分支。在添加层总结多个输入元件,明智的。指定的用于添加层以总和输入数量。以后可以轻松添加连接,指定第一RELU层和另外层的名称。

层= [imageInputLayer([28 28 1])convolution2dLayer(5,16,'填充''相同的')BatchnormalizationLayer Rufulayer('姓名''relu_1')convolution2dLayer(3,32,'填充''相同的'“跨越论”,2)batchNormalizationLayer reluLayer convolution2dLayer(3,32,'填充''相同的')batchNormalizationLayer reluLayer additionLayer(2,'姓名''添加')averagePooling2dLayer(2,“跨越论”,2)fullyConnectedLayer(10)softmaxLayer classificationLayer];

从图层阵列创建一个图层图。分层图连接在所有层层数顺序。绘制层图形。

lgraph = layerGraph(层);图图(lgraph)

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

创建一个1-1卷积层并将其添加到图层图中。指定卷积滤波器的数量和步幅,使得激活大小与第三relu层的激活大小匹配。这种布置使添加层能够添加第三Relu层和1-1卷积卷积层的输出。要检查图层是否在图形中,请绘制图层图。

skipConv = convolution2dLayer(1,32,“跨越论”2,'姓名''skipConv');lgraph = addLayers(lgraph,skipConv);图图(lgraph)

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

创建一个从快捷连接'relu_1'层到'添加'层。因为你指定的两成投入到另外层的编号创建时,该层有两个名为输入'IN1''IN2'。第三RELU层已经连接到'IN1'输入。连接'relu_1'层到'skipConv'层和所述'skipConv'层到'IN2'输入'添加'层。添加层现在会汇总第三relu层的输出和'skipConv'层。要检查层连接正确,绘制层图形。

lgraph = connectLayers(lgraph,'relu_1''skipConv');lgraph = connectLayers(lgraph,'skipConv''添加/ in2');图图(LGraph);

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

加载培训和验证数据,该数据由28×28灰度图像组成。

[XTrain,YTrain] = digitTrain4DArrayData;[XValidation,YValidation] = digitTest4DArrayData;

指定培训选项并培训网络。Trainnetwork.使用每个验证数据验证网络ValidationFrequency迭代。

选项=培训选项('sgdm'......'MaxEpochs'8,......“洗牌”'每个时代'......'vightationdata',{xvalidation,yvalidation},......'验证职业',30,......'verbose',错误的,......“情节”“训练进度”);net = trainnetwork(xtrain,ytrain,3.选项);

图培训进度(01-SEP-2021 08:31:32)包含2个轴对象和类型的另一个对象。轴对象1包含15个类型的补丁,文本,行。轴对象2包含15个类型的补丁,文本,行的对象。

显示培训网络的属性。网络是一个DAGNetwork目的。

net =具有属性的Dagnetwork:图层:[16x1 nnet.cnn.layer.layer]连接:[16x2表] InputNames:{'ImageInput'} OutputNames:{'ClassOutput'}

分类验证图像和计算的准确性。该网络是非常准确的。

ypredictict =分类(net,xvalidation);精度=均值(ypredicted == yvalidation)
精度= 0.9934.

扩展功能

介绍了在R2017b