В этом примере показано, как создать и обучить простую сверточную нейронную сеть для классификации глубокого обучения с помощью Deep Network Designer. Сверточные нейронные сети являются важными инструментами для глубокого обучения и особенно подходят для распознавания изображений.
В этом примере выполняется следующее:
Импорт данных изображения.
Определите архитектуру сети.
Укажите параметры обучения.
Обучение сети.
Загрузите данные образца цифры как хранилище данных изображения. imageDatastore функция автоматически помечает изображения на основе имен папок. У набора данных есть 10 классов, и каждое изображение в наборе данных составляет 28 на 28 на 1 пиксель.
digitDatasetPath = fullfile(matlabroot,'toolbox','nnet','nndemos', ... 'nndatasets','DigitDataset'); imds = imageDatastore(digitDatasetPath, ... 'IncludeSubfolders',true, ... 'LabelSource','foldernames');
Откройте конструктор глубоких сетей. Создание сети, импорт и визуализация данных и обучение сети с помощью Deep Network Designer.
deepNetworkDesigner
Чтобы создать пустую сеть, приостановите ее и нажмите кнопку Создать.
Чтобы импортировать хранилище данных изображения, перейдите на вкладку «Данные» и выберите «Импорт данных» > «Импорт данных изображения». Выбрать imds в качестве источника данных. Отложите 30% данных обучения для использования в качестве данных проверки. Случайным образом распределите наблюдения между обучающими и проверочными наборами, выбрав пункт Рандомизировать (Randomize).

Импортируйте данные, щелкнув Импорт (Import).
На панели Конструктор определите архитектуру сверточной нейронной сети. Перетащите слои из библиотеки слоев и соедините их. Для быстрого поиска слоев используйте поле поиска Фильтровать слои (Filter layers) на панели Библиотека слоев (Layer Library). Чтобы изменить свойства слоя, щелкните слой и отредактируйте значения на панели «Свойства».
Соединить слои в следующем порядке:
imageInputLayer с InputSize свойство имеет значение 28,28,1
convolution2dLayer
batchNormalizationLayer
reluLayer
fullyConnectedLayer с OutputSize свойство имеет значение 10
softmaxLayer
classificationLayer

Дополнительные сведения о слоях глубокого обучения см. в разделе Список слоев глубокого обучения.
Укажите параметры обучения и обучите сеть.
На вкладке Обучение щелкните Параметры обучения. В этом примере установите максимальное количество эпох равным 5 и сохраните другие настройки по умолчанию. Задайте параметры обучения, нажав Закрыть. Дополнительные сведения о параметрах обучения см. в разделах Настройка параметров и сверточная нейронная сеть поезда.

Обучите сеть, нажав кнопку Train.

Точность - это доля меток, которую сеть предсказывает правильно. В этом случае более 97% прогнозируемых меток соответствуют истинным меткам набора проверки.
Чтобы экспортировать обученную сеть в рабочую область, на вкладке Обучение (Training) щелкните Экспорт (Export).
Для последующих шагов глубокого обучения можно попробовать использовать предварительно подготовленные сети для других задач. Решите новые проблемы классификации данных изображения с помощью обучения переносу. Например, см. раздел Начало работы с обучением передаче знаний. Дополнительные сведения о предварительно обученных сетях см. в разделе Предварительно обученные глубокие нейронные сети.
Конструктор глубоких сетей | trainingOptions