В этом примере показано, как настроить эксперимент, который заменяет уровни различных предварительно подготовленных сетей для обучения передаче. Чтобы сравнить производительность различных предварительно обученных сетей для вашей задачи, отредактируйте этот эксперимент и укажите, какие предварительно обученные сети использовать. Перед запуском эксперимента используйте такие функции, как для получения ссылок для загрузки предварительно подготовленных сетей из проводника надстроек.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 определяет уровни в сетевой архитектуре, которые необходимо заменить для обучения передаче. Дополнительные сведения о доступных предварительно обученных сетях см. в разделе Предварительно обученные глубокие нейронные сети.
Определяет объект для эксперимента. Пример обучает сеть в течение 10 эпох, используя начальную скорость обучения 0,0003 и проверяя сеть каждые 5 эпох.trainingOptions
В разделе «Метрики» указаны дополнительные функции, позволяющие оценить результаты эксперимента. Этот пример не включает пользовательские метрические функции.
При выполнении эксперимента Диспетчер экспериментов обучает сеть, определенную функцией настройки, шесть раз. В каждом испытании используется различная комбинация значений гиперпараметров. По умолчанию Experiment Manager запускает по одной пробной версии. При наличии Toolbox™ Parallel Computing можно выполнять несколько пробных версий одновременно. Чтобы получить наилучшие результаты, перед запуском эксперимента запустите параллельный пул с таким количеством работников, как GPU. Дополнительные сведения см. в разделе Использование диспетчера экспериментов для обучения сетей параллельной поддержке и поддержке графического процессора по выпуску (панель инструментов параллельных вычислений).
Чтобы запустить одну пробную версию эксперимента за один раз, на панели инструментов Диспетчера экспериментов нажмите кнопку Выполнить.
Чтобы запустить несколько пробных версий одновременно, щелкните Использовать параллельное, а затем Выполнить. Если текущий параллельный пул отсутствует, диспетчер экспериментов запускает его с использованием профиля кластера по умолчанию. Затем Experiment Manager выполняет несколько одновременных испытаний в зависимости от количества доступных параллельных работников.
Таблица результатов показывает точность и потери для каждого испытания.
Во время выполнения эксперимента щелкните Обучающий график (Training Plot), чтобы отобразить обучающий график и отслеживать ход выполнения каждого испытания.
Щелкните Матрица путаницы, чтобы отобразить матрицу путаницы для данных проверки в каждом завершенном испытании.
По завершении эксперимента можно отсортировать таблицу результатов по столбцам, отфильтровать пробные испытания с помощью панели Фильтры (Filters) или записать наблюдения путем добавления аннотаций. Дополнительные сведения см. в разделе Сортировка, фильтрация и аннотирование результатов эксперимента.
Чтобы проверить производительность отдельного испытания, экспортируйте обученную сеть или обучающую информацию для испытания. На панели инструментов Диспетчера экспериментов выберите «Экспорт» > «Обученная сеть» или «Экспорт» > «Учебная информация» соответственно. Дополнительные сведения см. в разделе Сеть и информация.
На панели «Обозреватель экспериментов» щелкните правой кнопкой мыши имя проекта и выберите «Закрыть проект». Менеджер экспериментов закрывает все эксперименты и результаты, содержащиеся в проекте.