В этом примере показано, как сконфигурировать эксперимент, который инициализирует веса сверток и полносвязных слоев, используя различные инициализаторы веса для обучения. Чтобы сравнить эффективность различных инициализаторов веса для вашей задачи, создайте эксперимент, используя этот пример в качестве руководства.
При обучении нейронной сети для глубокого обучения инициализация весов и смещений слоев может оказать большое влияние на то, насколько хорошо сеть обучается. Выбор инициализатора оказывает большее влияние на сети без нормализации партии . слоев. Дополнительные сведения об инициализаторах веса см. в разделе Сравнение инициализаторов веса слоев.
Сначала откройте пример. Experiment Manager загружает проект с помощью предварительно сконфигурированного эксперимента, который можно просмотреть и запустить. Чтобы открыть эксперимент, в панели Experiment Browser дважды кликните имя эксперимента (WeightInitializerExperiment
).
Встроенные обучающие эксперименты состоят из описания, таблицы гиперпараметров, функции настройки и набора метрических функций для оценки результатов эксперимента. Для получения дополнительной информации см. раздел «Настройка встроенного обучающего эксперимента».
Поле Description содержит текстовое описание эксперимента. В данном примере описанием является:
Perform transfer learning by initializing the weights of convolution and fully connected layers in a pretrained network.
Раздел «Гиперпараметров» задает стратегию (Exhaustive Sweep
) и значения гиперзначений параметров для использования в эксперименте. Когда вы запускаете эксперимент, Experiment Manager обучает сеть с помощью каждой комбинации значений гиперзначений параметров, заданных в таблице гиперпараметра. Этот пример использует гиперпараметры WeightsInitializer
и BiasInitializer
чтобы задать инициализаторы веса и смещения для свертки и полносвязных слоев в предварительно обученной сети. Для получения дополнительной информации об этих инициализаторах смотрите WeightsInitializer
и BiasInitializer
.
Функция Setup настраивает обучающие данные, сетевую архитектуру и опции обучения для эксперимента. Чтобы просмотреть функцию настройки, в разделе Setup Function, нажмите Edit. Функция настройки откроется в MATLAB ® Editor.
В этом примере функция настройки:
Загружает и извлекает набор данных Flowers, который составляет около 218 МБ. Дополнительные сведения об этом наборе данных см. в разделе Наборы данных изображений.
Загружает предварительно обученную сеть GoogLeNet и инициализирует входной вес в свертках и полносвязных слоях с помощью инициализаторов, заданных в таблице гиперпараметров. Вспомогательная функция findLayersToReplace
определяет, какие слои сетевой архитектуры могут быть изменены для передачи обучения.
Задает
объект для эксперимента. Пример обучает сеть в течение 10 эпох, используя мини-пакет размером 128 и проверяя сеть каждые 5 эпох.trainingOptions
Раздел Metrics задает дополнительные функции, которые оценивают результаты эксперимента. Этот пример не включает какие-либо пользовательские метрические функции.
Когда вы запускаете эксперимент, Experiment Manager обучает сеть, заданную функцией настройки, несколько раз. В каждом испытании используется разная комбинация значений гиперзначений параметров. По умолчанию Experiment Manager запускает по одной пробной версии за раз. Если у вас есть Parallel Computing Toolbox™, можно запустить несколько испытаний одновременно. Для достижения наилучших результатов, прежде чем вы запустите свой эксперимент, запустите параллельный пул с таким количеством работников, как графические процессоры. Для получения дополнительной информации смотрите Использование Experiment Manager для обучения сетей в параллельных и графический процессор поддержке по Релизу (Parallel Computing Toolbox).
Чтобы запустить по одной пробной версии эксперимента за раз, на панели инструментов Experiment Manager нажмите кнопку Запустить.
Чтобы запустить несколько испытаний одновременно, щелкните Использовать Параллель (Use Parallel) и затем Запуск. Если текущий параллельный пул отсутствует, Experiment Manager запускает его с помощью профиля кластера по умолчанию. Затем Experiment Manager выполняет несколько одновременных испытаний, в зависимости от количества доступных параллельных работников.
Таблица результатов отображает точность и потери для каждого пробного периода.
Во время выполнения эксперимента нажмите Training Plot, чтобы отобразить график обучения и отследить прогресс в каждом испытании.
Нажмите Confusion Matrix, чтобы отобразить матрицу неточностей для данных валидации в каждой завершенной пробной версии.
Когда эксперимент заканчивается, можно отсортировать таблицу результатов по столбцам, фильтровать пробные версии с помощью панели Фильтры (Filters) или записывать наблюдения путем добавления аннотаций. Для получения дополнительной информации см. Раздел «Сортировка, фильтрация и аннотация результатов эксперимента».
Чтобы проверить эффективность отдельного теста, экспортируйте обученную сеть или обучающую информацию для теста. На панели инструментов Experiment Manager выберите Экспорт > Обученная сеть или Экспорт > Информация о обучении, соответственно. Для получения дополнительной информации см. net и info.
На панели браузера экспериментов щелкните правой кнопкой мыши имя проекта и выберите «Закрыть проект». Experiment Manager закрывает все эксперименты и результаты, содержащиеся в проекте.