Создайте сеть простого ориентированного ациклического графика (DAG) для глубокого обучения. Обучите сеть классифицировать изображения цифр. Простая сеть в этом примере состоит из:
Основная ветвь со слоями, соединенными последовательно.
Ярлык соединение, содержащее один сверточный слой 1 на 1. Ярлыки соединения позволяют градиентам параметров легче течь от выхода уровня к более ранним слоям сети.
Создайте основную ветвь сети как массив слоев. Слой сложения суммирует несколько входов поэлементно. Задайте количество входов для слоя сложения в сумме. Все слои должны иметь имена, а все имена должны быть уникальными.
Создайте график слоев из массива слоев. layerGraph
соединяет все слои в layers
последовательно. Постройте график графика слоев.
Создайте сверточный слой 1 на 1 и добавьте его к графику слоев. Задайте количество сверточных фильтров и шага так, чтобы размер активации совпадал с размером активации 'relu_3'
слой. Эта схема позволяет слою сложения добавить выходы 'skipConv'
и 'relu_3'
слои. Чтобы проверить, что слой находится в графе, постройте график слоев.
Создайте ярлык соединения из 'relu_1'
слой к 'add'
слой. Поскольку вы задали два в качестве количества входов для слоя сложения при его создании, слой имеет два входов с именем 'in1'
и 'in2'
. The 'relu_3'
слой уже подключен к 'in1'
вход. Соедините 'relu_1'
слой к 'skipConv'
слой и 'skipConv'
слой к 'in2'
вход 'add'
слой. Слой сложения теперь суммирует выходы 'relu_3'
и 'skipConv'
слои. Чтобы проверить правильность соединения слоев, постройте график слоев.
Загрузите данные обучения и валидации, которые состоят из 28 на 28 полутоновых изображений цифр.
Задайте опции обучения и обучите сеть. trainNetwork
проверяет сеть с помощью данных валидации каждый ValidationFrequency
итераций.
Отображение свойств обученной сети. Сеть является DAGNetwork
объект.
net =
DAGNetwork with properties:
Layers: [16×1 nnet.cnn.layer.Layer]
Connections: [16×2 table]
InputNames: {'input'}
OutputNames: {'classOutput'}
Классифицируйте изображения валидации и вычислите точность. Сеть очень точная.