В этом примере показов, как использовать 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
.
trainNetwork
Experiment Manager использует выходы функции настройки, чтобы вызвать trainNetwork
функция. Удалите вызов, чтобы trainNetwork
из скопированного и вставленного сгенерированного кода.
Теперь функция настройки готова. Нажмите кнопку Сохранить, чтобы сохранить отредактированную функцию настройки.
В Experiment Manager запуска эксперимент нажав Запуск. Когда вы запускаете эксперимент, Experiment Manager обучает сеть, заданную функцией настройки. В каждом испытании используется одна из скоростей обучения, заданных в таблице гиперпараметров.
Во время выполнения эксперимента нажмите Training Plot, чтобы отобразить график обучения и отследить прогресс в каждом испытании.
Таблица результатов отображает точность и потери для каждого пробного периода. Когда эксперимент заканчивается, можно отсортировать испытания по метрикам точности или потерь, чтобы увидеть, какое испытание работает лучше всего. В этом эксперименте Испытание 6 с начальной скоростью обучения 0,0110 имеет самую высокую точность валидации.
Чтобы закрыть эксперимент, на панели «Браузер экспериментов» щелкните правой кнопкой мыши имя проекта и выберите «Закрыть проект». Experiment Manager закрывает все эксперименты и результаты, содержащиеся в проекте.
Deep Network Designer | Experiment Manager | trainingOptions
| trainNetwork