В этом примере показано, как использовать Диспетчер экспериментов для настройки гиперпараметров сети, обученной в Deep Network Designer.
Можно использовать Deep Network Designer для создания сети, импорта данных и обучения сети. Затем можно использовать Диспетчер экспериментов (Experiment Manager) для протягивания диапазона значений гиперпараметров, чтобы найти оптимальные варианты обучения.
Чтобы создать живой сценарий для воссоздания построения и обучения сети, созданной в Deep Network Designer, на вкладке «Обучение» выберите «Экспорт» > «Создать код для обучения». Выберите расположение файла MAT и нажмите кнопку OK. Пример обучения сети классификации в Deep Network Designer см. в разделе Создание простой сети классификации изображений с помощью Deep Network Designer.

Deep Network Designer создает сценарий в реальном времени и MAT-файл, содержащий начальные параметры (веса и смещения) из сети. При импорте данных из рабочей области в Deep Network Designer созданный файл MAT также содержит данные.
При выполнении созданного сценария создается сеть (включая обучаемые параметры из MAT-файла), импортируются данные, устанавливаются параметры обучения и выполняется обучение сети.

Experiment Manager позволяет создавать эксперименты глубокого обучения для обучения сетей в различных начальных условиях и сравнения результатов. Диспетчер экспериментов можно использовать для настройки сети, которую вы изначально обучаете в Deep Network Designer.
Откройте Диспетчер экспериментов.
experimentManager
Приостановите работу над проектом и нажмите кнопку Создать. Experiment Manager предоставляет несколько шаблонов, которые поддерживают многие рабочие процессы глубокого обучения, включая классификацию изображений, регрессию изображений, классификацию последовательностей, семантическую сегментацию и настраиваемые обучающие циклы.

Приостановите встроенное обучение и нажмите кнопку ADD.

Укажите имя и расположение нового проекта и нажмите «Сохранить». Experiment Manager открывает новый эксперимент в проекте. Панель Эксперимент (Experiment) отображает описание, гиперпараметры, функцию настройки и метрики, определяющие эксперимент.
В таблице гиперпараметров укажите значения гиперпараметров, которые будут использоваться в эксперименте. При выполнении эксперимента Диспетчер экспериментов обучает сеть с использованием каждой комбинации значений гиперпараметров, указанных в таблице. Для этого примера выполните зачистку начальной скорости обучения.
В разделе Гиперпараметры (Hyperparameters) щелкните Добавить (Add), чтобы добавить новый гиперпараметр для протягивания.

Добавление гиперпараметра myInitialLearnRate. Задайте гиперпараметр для сдвига последовательности значений 0.001:0.002:0.015.

При создании эксперимента Диспетчер экспериментов создает шаблон функции настройки. Чтобы изменить эту функцию, в разделе Функция настройки (Setup Function) щелкните Изменить (Edit).

Пустая функция настройки Experiment1_setup1 открывается в редакторе MATLAB. Experiment Manager использует выходные данные этой функции для вызова trainNetwork функция.

Функция настройки определяет данные обучения, сетевую архитектуру и варианты обучения для эксперимента.
Скопируйте и вставьте сценарий, созданный Deep Network Designer, в функцию установки.

Адаптируйте сценарий для использования в Диспетчере экспериментов путем изменения входных аргументов функции в соответствии с именами переменных в созданном сценарии. Входные аргументы для Experiment1_setup1 должны соответствовать сценариям, используемым при вызове trainNetwork.
В сценарии, созданном разработчиком Deep Network Designer, найдите имена переменных данных, сети и параметров обучения в нижней части созданного сценария при вызове trainNetwork. Измените входные аргументы функции установки на совпадающие. Например, если сгенерированный скрипт вызывает trainNetwork с данными imdsTrain, сеть lgraphи варианты обучения opts, то необходимо внести следующие изменения в входные аргументы функции настройки эксперимента:
Изменение trainingData кому imdsTrain.
Изменение layers кому lgraph.
Изменение options кому opts.

Для проверки необходимости изменения входных аргументов выполните поиск желтого подчеркивания во входных аргументах функции настройки.
Измените параметры обучения так, чтобы Диспетчер экспериментов проводил гиперпараметрический сдвиг скорости обучения.
Установка начальной скорости обучения на params.myInitialLearnRate.
Дополнительно можно скрыть выводимую информацию, добавив дополнительный аргумент «имя-значение» "Verbose",false.

trainNetworkExperiment Manager использует выходные данные функции установки для вызова trainNetwork функция. Удалить вызов для trainNetwork из скопированного и вставленного сгенерированного кода.
Функция настройки готова. Нажмите кнопку Сохранить, чтобы сохранить отредактированную функцию настройки.
В Диспетчере экспериментов запустите эксперимент, щелкнув Выполнить (Run). При выполнении эксперимента Диспетчер экспериментов обучает сеть, определенную функцией настройки. В каждом испытании используется один из показателей обучения, указанных в таблице гиперпараметров.
Во время выполнения эксперимента щелкните Обучающий график (Training Plot), чтобы отобразить обучающий график и отслеживать ход выполнения каждого испытания.
Таблица результатов показывает точность и потери для каждого испытания. Когда эксперимент завершается, можно отсортировать испытания по метрикам точности или потерь, чтобы увидеть, какое испытание работает наилучшим образом. В этом эксперименте проба 6 с начальной скоростью обучения 0,0110 имеет самую высокую точность проверки.

Чтобы закрыть эксперимент, на панели «Обозреватель экспериментов» щелкните правой кнопкой мыши имя проекта и выберите «Закрыть проект». Менеджер экспериментов закрывает все эксперименты и результаты, содержащиеся в проекте.
Конструктор глубоких сетей | Руководитель эксперимента | trainingOptions | trainNetwork