В этом примере показано, как обучить нейронную сеть для глубокого обучения классификации при помощи Experiment Manager. В этом примере вы обучаете две сети, чтобы классифицировать изображения товаров MathWorks в пять классов. Каждая сеть обучена с помощью трех алгоритмов. В каждом случае матрица беспорядка сравнивает истинные классы для набора изображений валидации с классами, предсказанными обучившим сеть. Для получения дополнительной информации об обучении сети для классификации изображений смотрите, Обучают Нейронную сеть для глубокого обучения Классифицировать Новые Изображения.
Во-первых, откройте пример. Experiment Manager загружает проект с предварительно сконфигурированным экспериментом, который можно смотреть и запустить. Чтобы открыть эксперимент, в Браузере Эксперимента, дважды кликают имя эксперимента (ClassificationExperiment
).
Определение эксперимента состоит из описания, гипертаблицы параметров, функции настройки, и (опционально) набора метрических функций, чтобы оценить результаты эксперимента. Для получения дополнительной информации смотрите, Конфигурируют Эксперимент Глубокого обучения.
Поле Description содержит текстовое описание эксперимента. В данном примере описание:
Merchandise image classification using: - an untrained network (default) or a pretrained network (googlenet) - various solvers for training networks (sgdm, rmsprop, or adam)
Гипертаблица параметров содержит имена и значения гиперпараметров, используемых в эксперименте. Когда вы запускаете эксперимент, развертки Experiment Manager через гиперзначения параметров, и обучает сеть многократно. Каждое испытание использует различную комбинацию гиперзначений параметров, заданных в таблице. Этот пример использует два гиперпараметра:
Network
задает сеть, чтобы обучаться. Опции включают "default"
(сеть классификации по умолчанию, обеспеченная шаблоном функции настройки) и "googlenet"
(предварительно обученная сеть GoogLeNet с модифицированными слоями для передачи обучения).
Solver
указывает, что алгоритм раньше обучал сеть. Опции включают "sgdm"
(стохастический градиентный спуск с импульсом), "rmsprop"
(среднеквадратичное распространение), и "adam"
(адаптивная оценка момента). Для получения дополнительной информации об этих алгоритмах, смотрите Стохастический Градиентный спуск.
Функция Setup конфигурирует обучающие данные, сетевую архитектуру и опции обучения для эксперимента. Чтобы смотреть функцию настройки, под Функцией Setup, нажимают Edit. Функция настройки открывается в редакторе MATLAB.
В этом примере входом к функции настройки является struct
с полями от гипертаблицы параметров. Функция настройки возвращает три выходных параметра, которые вы используете, чтобы обучить сеть для проблем классификации изображений. Функция настройки имеет три раздела.
Данные изображения загрузки задают хранилища данных изображений, содержащие данные об обучении и валидации. Этот пример загружает изображения из файла MerchData.zip
. Этот небольшой набор данных содержит 75 изображений товаров MathWorks, принадлежа пяти различным классам. Изображения имеют размер 227 227 3. Для получения дополнительной информации об этом наборе данных смотрите Наборы Данных изображения.
Архитектура Сети Define задает архитектуру для сверточной нейронной сети для классификации глубокого обучения. В этом примере выбор сети обучаться зависит от значения гиперпараметра Network
.
Укажите, что Опции обучения задают
объект для эксперимента. Пример обучает сеть в течение 10 эпох с помощью алгоритма, заданного trainingOptions
Solver
запись в гипертаблице параметров.
Раздел Metrics задает дополнительные функции, которые оценивают результаты эксперимента. Этот пример не включает метрических функций.
На вкладке Experiment Manager нажмите Run. Experiment Manager обучает сеть, заданную функцией настройки шесть раз. Каждое испытание использует различную комбинацию гиперпараметров. Таблица результатов показывает точность и потерю для каждого испытания.
В то время как эксперимент запускается, нажмите Training Plot, чтобы отобразить учебный график и отследить прогресс каждого испытания.
Чтобы найти лучший результат для вашего эксперимента, отсортируйте таблицу результатов точностью валидации.
Укажите на столбец Точности Валидации.
Кликните по треугольному значку.
Выберите Sort в порядке убывания.
Испытание с самой высокой точностью валидации появляется наверху таблицы результатов.
Чтобы отобразить матрицу беспорядка для этого испытания, выберите верхнюю строку в таблице результатов и нажмите Confusion Matrix.
В Браузере Эксперимента щелкните правой кнопкой по имени проекта и выберите Close Project. Experiment Manager сохраняет ваши результаты и закрывает все эксперименты, содержавшиеся в проекте.
Experiment Manager | googlenet
| resnet18
| trainNetwork
| trainingOptions