В этом примере показано, как создать и обучить простую сверточную нейронную сеть для классификации глубокого обучения с помощью Deep Network Designer. Сверточные нейронные сети являются особыми инструментами для глубокого обучения и особенно подходят для распознавания изображений.
В этом примере вы:
Импорт данных.
Определите сетевую архитектуру.
Задайте опции обучения.
Обучите сеть.
Загрузите цифру выборочных данных как изображение datastore. The imageDatastore
функция автоматически помечает изображения на основе имен папок. У набора данных есть 10 классов, и каждое изображение в наборе данных составляет 28 на 28 на 1 пиксель.
digitDatasetPath = fullfile(matlabroot,'toolbox','nnet','nndemos', ... 'nndatasets','DigitDataset'); imds = imageDatastore(digitDatasetPath, ... 'IncludeSubfolders',true, ... 'LabelSource','foldernames');
Откройте Deep Network Designer. Создайте сеть, импортируйте и визуализируйте данные, и обучите сеть с помощью Deep Network Designer.
deepNetworkDesigner
Чтобы создать пустую сеть, сделайте паузу в пустой сети и нажмите кнопку Создать.
Чтобы импортировать image datastore, выберите вкладку Data и нажмите Import Data > Import Image Data. Выберите imds
как источник данных. Выделите 30% обучающих данных для использования в качестве данных валидации. Случайным образом распределите наблюдения в наборы обучения и валидации путем выбора Randomize.
Импортировать данные можно нажав кнопку Импорт.
На панели Designer задайте архитектуру сверточной нейронной сети. Перетащите слои из библиотеки слоев и соедините их. Для быстрого поиска слоев используйте поле поиска «Фильтрация слоев» на панели «Библиотека слоев». Чтобы отредактировать свойства слоя, щелкните слой и отредактируйте значения на панели свойств.
Соедините слои в следующем порядке:
imageInputLayer
с InputSize
значение свойства установлено в 28,28,1
convolution2dLayer
batchNormalizationLayer
reluLayer
fullyConnectedLayer
с OutputSize
значение свойства установлено в 10
softmaxLayer
classificationLayer
Для получения дополнительной информации о слоях глубокого обучения смотрите Список слоев глубокого обучения.
Укажите опции обучения и обучите сеть.
На вкладке Обучение нажмите Опции обучения. В данном примере установите максимальное количество эпох равным 5 и сохраните другие настройки по умолчанию. Установите опции обучения нажав кнопку Закрыть. Для получения дополнительной информации об опциях обучения см. Раздел «Настройка параметров» и «Train сверточной нейронной сети».
Обучите сеть, нажав Train.
Точность является частью меток, которые сеть предсказывает правильно. В этом случае более 97% предсказанных меток соответствуют истинным меткам набора валидации.
Чтобы экспортировать обученную сеть в рабочую область, на вкладке Обучение, нажмите Экспортировать.
Для следующих шагов в глубоком обучении можно попробовать использовать предварительно обученные сети для других задач. Решите новые классификационные задачи на данных изображения с помощью передачи обучения. Для получения примера смотрите Запуск с Передачей обучения. Дополнительные сведения о предварительно обученных сетях см. в разделе «Предварительно обученные глубокие нейронные сети».
Deep Network Designer | trainingOptions