exponenta event banner

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

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

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

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

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

Сначала откройте пример. Диспетчер экспериментов загружает проект с предварительно настроенным экспериментом, который можно проверить и запустить. Чтобы открыть эксперимент, в панели «Обозреватель экспериментов» дважды щелкните имя эксперимента (TransferLearningExperiment).

Встроенные обучающие эксперименты состоят из описания, таблицы гиперпараметров, функции настройки и коллекции метрических функций для оценки результатов эксперимента. Дополнительные сведения см. в разделе Настройка встроенного учебного эксперимента.

Поле Описание содержит текстовое описание эксперимента. В этом примере приводится следующее описание:

Perform transfer learning by replacing layers in a pretrained network.

Раздел «Гиперпараметры» определяет стратегию (Exhaustive Sweep) и значения гиперпараметров для использования в эксперименте. При выполнении эксперимента Диспетчер экспериментов обучает сеть с использованием каждой комбинации значений гиперпараметров, указанных в таблице гиперпараметров. В этом примере гиперпараметр NetworkName определяет сеть для обучения и значение параметра обучения 'miniBatchSize'.

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

В этом примере функция настройки:

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

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

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

В разделе «Метрики» указаны дополнительные функции, позволяющие оценить результаты эксперимента. Этот пример не включает пользовательские метрические функции.

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

При выполнении эксперимента Диспетчер экспериментов обучает сеть, определенную функцией настройки, шесть раз. В каждом испытании используется различная комбинация значений гиперпараметров. По умолчанию Experiment Manager запускает по одной пробной версии. При наличии Toolbox™ Parallel Computing можно выполнять несколько пробных версий одновременно. Чтобы получить наилучшие результаты, перед запуском эксперимента запустите параллельный пул с таким количеством работников, как GPU. Дополнительные сведения см. в разделе Использование диспетчера экспериментов для обучения сетей параллельной поддержке и поддержке графического процессора по выпуску (панель инструментов параллельных вычислений).

  • Чтобы запустить одну пробную версию эксперимента за один раз, на панели инструментов Диспетчера экспериментов нажмите кнопку Выполнить.

  • Чтобы запустить несколько пробных версий одновременно, щелкните Использовать параллельное, а затем Выполнить. Если текущий параллельный пул отсутствует, диспетчер экспериментов запускает его с использованием профиля кластера по умолчанию. Затем Experiment Manager выполняет несколько одновременных испытаний в зависимости от количества доступных параллельных работников.

Таблица результатов показывает точность и потери для каждого испытания.

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

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

По завершении эксперимента можно отсортировать таблицу результатов по столбцам, отфильтровать пробные испытания с помощью панели Фильтры (Filters) или записать наблюдения путем добавления аннотаций. Дополнительные сведения см. в разделе Сортировка, фильтрация и аннотирование результатов эксперимента.

Чтобы проверить производительность отдельного испытания, экспортируйте обученную сеть или обучающую информацию для испытания. На панели инструментов Диспетчера экспериментов выберите «Экспорт» > «Обученная сеть» или «Экспорт» > «Учебная информация» соответственно. Дополнительные сведения см. в разделе Сеть и информация.

Близкий эксперимент

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

См. также

Приложения

Функции

Связанные темы