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

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

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

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

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

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

Когда вы создаете эксперимент, Experiment Manager создает шаблон функции настройки. Чтобы отредактировать эту функцию, в разделе Setup Function нажатия кнопки Edit.

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

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

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

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

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

Чтобы закрыть эксперимент, на панели «Браузер экспериментов» щелкните правой кнопкой мыши имя проекта и выберите «Закрыть проект». Experiment Manager закрывает все эксперименты и результаты, содержащиеся в проекте.
Deep Network Designer | Experiment Manager | trainingOptions | trainNetwork