В этом примере показано, как обучить сеть глубокого обучения классификации с помощью Experiment Manager. В этом примере выполняется обучение двух сетей классификации изображений товаров MathWorks по пяти классам. Каждая сеть обучается с использованием трех алгоритмов. В каждом случае матрица путаницы сравнивает истинные классы для набора подтверждающих изображений с классами, предсказанными обученной сетью. Дополнительные сведения об обучении сети классификации изображений см. в разделе Обучение сети глубокого обучения классификации новых изображений.
Сначала откройте пример. Диспетчер экспериментов загружает проект с предварительно настроенным экспериментом, который можно проверить и запустить. Чтобы открыть эксперимент, в панели «Обозреватель экспериментов» дважды щелкните имя эксперимента (ClassificationExperiment).

Встроенные обучающие эксперименты состоят из описания, таблицы гиперпараметров, функции настройки и коллекции метрических функций для оценки результатов эксперимента. Дополнительные сведения см. в разделе Настройка встроенного учебного эксперимента.
Поле Описание содержит текстовое описание эксперимента. В этом примере приводится следующее описание:
Merchandise image classification using: - an untrained network (default) or a pretrained network (googlenet) - various solvers for training networks (sgdm, rmsprop, or adam)
Раздел «Гиперпараметры» определяет стратегию (Exhaustive Sweep) и значения гиперпараметров для использования в эксперименте. При выполнении эксперимента Диспетчер экспериментов обучает сеть с использованием каждой комбинации значений гиперпараметров, указанных в таблице гиперпараметров. В этом примере используются два гиперпараметра:
Network определяет сеть для обучения. Опции включают: "default" (сеть по умолчанию, предоставляемая шаблоном эксперимента для классификации изображений) и "googlenet" (предварительно подготовленная сеть GoogLeNet с измененными уровнями для обучения передаче).
Solver указывает алгоритм, используемый для обучения сети. Опции включают: "sgdm" (стохастический градиентный спуск с импульсом), "rmsprop" (среднеквадратичное распространение), и "adam" (оценка адаптивного момента). Дополнительные сведения об этих алгоритмах см. в разделе Стохастический градиентный спуск.
Функция настройки настраивает данные обучения, сетевую архитектуру и параметры обучения для эксперимента. Чтобы проверить функцию настройки, в разделе Функция настройки (Setup Function) щелкните Изменить (Edit). Функция настройки открывается в редакторе MATLAB ®.
Ввод в функцию настройки представляет собой структуру с полями из таблицы гиперпараметров. Функция настройки возвращает три вывода, которые используются для обучения сети проблемам классификации изображений. Функция настройки состоит из трех разделов.
Функция «Загрузить данные обучения» определяет хранилища данных изображений, содержащие данные обучения и проверки. В этом примере загружаются изображения из файла MerchData.zip. Этот небольшой набор данных содержит 75 изображений товаров MathWorks, принадлежащих пяти различным классам. Изображения имеют размер 227-на-227-на-3. Дополнительные сведения об этом наборе данных см. в разделе Наборы данных изображений.
Define Network Architecture определяет архитектуру сверточной нейронной сети для классификации глубокого обучения. В этом примере выбор сети для обучения зависит от значения гиперпараметра Network.
Задание параметров обучения определяет объект для эксперимента. Пример обучает сеть в течение 8 периодов по алгоритму, заданному trainingOptionsSolver в таблице гиперпараметров.
В разделе «Метрики» указаны дополнительные функции, позволяющие оценить результаты эксперимента. Этот пример не включает пользовательские метрические функции.
При выполнении эксперимента Диспетчер экспериментов обучает сеть, определенную функцией настройки, шесть раз. В каждом испытании используется различная комбинация значений гиперпараметров. По умолчанию Experiment Manager запускает по одной пробной версии. При наличии Toolbox™ Parallel Computing можно выполнять несколько пробных версий одновременно. Чтобы получить наилучшие результаты, перед запуском эксперимента запустите параллельный пул с таким количеством работников, как GPU. Дополнительные сведения см. в разделе Использование диспетчера экспериментов для обучения сетей параллельной поддержке и поддержке графического процессора по выпуску (панель инструментов параллельных вычислений).
Чтобы запустить одну пробную версию эксперимента за один раз, на панели инструментов Диспетчера экспериментов нажмите кнопку Выполнить.
Чтобы запустить несколько пробных версий одновременно, щелкните Использовать параллельное, а затем Выполнить. Если текущий параллельный пул отсутствует, диспетчер экспериментов запускает его с использованием профиля кластера по умолчанию. Затем Experiment Manager выполняет несколько одновременных испытаний в зависимости от количества доступных параллельных работников.
Таблица результатов показывает точность и потери для каждого испытания.

Во время выполнения эксперимента щелкните Обучающий график (Training Plot), чтобы отобразить обучающий график и отслеживать ход выполнения каждого испытания.

Чтобы найти наилучший результат для эксперимента, отсортируйте таблицу результатов по точности проверки.
Укажите столбец Точность проверки (Validation Accuracy).
Щелкните значок треугольника.
Выберите Сортировка в порядке убывания.
Проба с самой высокой точностью проверки отображается в верхней части таблицы результатов.

Чтобы отобразить матрицу путаницы для этого испытания, выберите верхнюю строку в таблице результатов и щелкните Матрица путаницы.

Чтобы записать наблюдения о результатах эксперимента, добавьте аннотацию.
В таблице результатов щелкните правой кнопкой мыши ячейку Точность проверки (Validation Accuracy) наилучшей пробной версии.
Выберите «Добавить аннотацию».
На панели Аннотации (Annotations) введите данные наблюдений в текстовое поле.

Дополнительные сведения см. в разделе Сортировка, фильтрация и аннотирование результатов эксперимента.
На панели «Обозреватель экспериментов» щелкните правой кнопкой мыши имя проекта и выберите «Закрыть проект». Менеджер экспериментов закрывает все эксперименты и результаты, содержащиеся в проекте.