Попробуйте несколько предварительно обученных сетей за передачу обучения

В этом примере показано, как сконфигурировать эксперимент, который заменяет слои различных предварительно обученных сетей для передачи обучения. Чтобы сравнить производительность различных предварительно обученных сетей для вашей задачи, отредактируйте этот эксперимент и задайте который предварительно обученные сети использовать. Прежде, чем запустить эксперимент, используйте функции, такие как googlenet заставить ссылки загружать предварительно обученные сети с Add-On Explorer.

Передача обучения обычно используется в применении глубокого обучения. Можно взять предварительно обученную сеть и использовать ее в качестве начальной точки, чтобы изучить новую задачу. Подстройка сети с передачей обучения обычно намного быстрее и легче, чем обучение сети со случайным образом инициализированными весами с нуля. Можно быстро передать изученные функции новой задаче с помощью меньшего числа учебных изображений.

Существует много предварительно обученных сетей, доступных в Deep Learning Toolbox™. Эти предварительно обученные сети имеют различные характеристики, которые имеют значение при выборе сети, чтобы примениться проблеме. Самые важные характеристики являются сетевой точностью, скоростью и размером. Выбор сети обычно является компромиссом между этими характеристиками. Для получения дополнительной информации смотрите Предварительно обученные Глубокие нейронные сети.

Открытый эксперимент

Во-первых, откройте пример. Experiment Manager загружает проект с предварительно сконфигурированным экспериментом, который можно смотреть и запустить. Чтобы открыть эксперимент, в Браузере Эксперимента, дважды кликают имя эксперимента (TransferLearningExperiment).

Определение эксперимента состоит из описания, гипертаблицы параметров, функции настройки, и (опционально) набора метрических функций, чтобы оценить результаты эксперимента. Для получения дополнительной информации смотрите, Конфигурируют Эксперимент Глубокого обучения.

Поле Description содержит текстовое описание эксперимента. В данном примере описание:

Perform transfer learning by replacing layers in a pretrained network.

Гипертаблица параметров содержит имена и значения гиперпараметров, используемых в эксперименте. Когда вы запускаете эксперимент, развертки Experiment Manager через гиперзначения параметров, и обучает сеть многократно. Каждое испытание использует различную комбинацию гиперзначений параметров, заданных в таблице. В этом примере, гиперпараметр NetworkName задает сеть, чтобы обучаться и значение опции обучения 'miniBatchSize'.

Функция Setup конфигурирует обучающие данные, сетевую архитектуру и опции обучения для эксперимента. Чтобы смотреть функцию настройки, под Функцией Setup, нажимают Edit. Функция настройки открывается в редакторе MATLAB. В этом примере, функции настройки:

  • Загрузки и извлечения Цветочный набор данных, который составляет приблизительно 218 Мбайт. Для получения дополнительной информации об этом наборе данных смотрите Наборы Данных изображения.

  • Загружает предварительно обученную сеть, соответствующую гиперпараметру NetworkName. Вспомогательный функциональный findLayersToReplace определяет слои в сетевой архитектуре, чтобы заменить для передачи обучения. Для получения дополнительной информации о доступных предварительно обученных сетях смотрите Предварительно обученные Глубокие нейронные сети.

  • Задает trainingOptions объект для эксперимента. Пример обучает сеть в течение 10 эпох, с помощью начальной скорости обучения 0,0003 и подтверждая сеть каждые 5 эпох.

Раздел Metrics задает дополнительные функции, которые оценивают результаты эксперимента. Этот пример не включает метрических функций.

Запустите эксперимент

Во вкладке Experiment Manager нажмите Run. Experiment Manager обучает сеть, заданную функцией настройки многократно. Каждое испытание использует различную комбинацию гиперпараметров. Таблица результатов показывает точность и потерю для каждого испытания.

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

Нажмите Confusion Matrix, чтобы отобразить матрицу беспорядка для данных о валидации в каждом завершенном испытании.

Когда эксперимент заканчивается, можно отсортировать таблицу результатов по столбцу или отфильтровать испытания при помощи панели Фильтров. Для получения дополнительной информации смотрите сортировку и Результаты Эксперимента Фильтра.

Чтобы проверить производительность отдельного испытания, экспортируйте обучивший сеть или учебную информацию для испытания. На вкладке Experiment Manager выберите Export> Trained Network или Export> Training Information, соответственно. Для получения дополнительной информации см. Выходные аргументы.

Закройте эксперимент

В Браузере Эксперимента щелкните правой кнопкой по имени проекта и выберите Close Project. Experiment Manager сохраняет ваши результаты и закрывает все эксперименты, содержавшиеся в проекте.

Смотрите также

| | |

Похожие темы