Создайте простую сеть направленного графа без петель (DAG) для глубокого обучения. Обучите сеть, чтобы классифицировать изображения цифр. Простая сеть в этом примере состоит из:
Основная ветвь со слоями, соединенными последовательно.
Связь ярлыка, содержащая один сверточный слой 1 на 1. Связи ярлыка позволяют градиентам параметра течь более легко от выходного слоя до более ранних слоев сети.
Создайте основную ветвь сети как массив слоя. Слой сложения суммирует несколько поэлементных входных параметров. Задайте количество входных параметров для слоя сложения, чтобы суммировать. Все слои должны иметь имена, и все имена должны быть уникальными.
Создайте график слоев из массива слоя. layerGraph
подключения все слои в layers
последовательно. Постройте график слоев.
Создайте сверточный слой 1 на 1 и добавьте его в график слоев. Задайте количество сверточных фильтров и шага так, чтобы размер активации совпадал с размером активации 'relu_3'
слой. Это расположение позволяет слою сложения добавить выходные параметры 'skipConv'
и 'relu_3'
слои. Чтобы проверять, что слой находится в графике, постройте график слоев.
Создайте связь ярлыка из 'relu_1'
слой к 'add'
слой. Поскольку вы задали два как количество входных параметров к слою сложения, когда вы создали его, слой имеет два входных параметров под названием 'in1'
и 'in2'
. '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'}
Классифицируйте изображения валидации и вычислите точность. Сеть очень точна.