Экспериментируйте с инициализаторами веса для передачи обучения

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

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

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

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

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

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

Perform transfer learning by initializing the weights of convolution and
fully connected layers in a pretrained network.

Раздел Hyperparameters задает стратегию (Exhaustive Sweep) и гиперзначения параметров, чтобы использовать для эксперимента. Когда вы запускаете эксперимент, Experiment Manager обучает сеть с помощью каждой комбинации гиперзначений параметров, заданных в гипертаблице параметров. Этот пример использует гиперпараметры WeightsInitializer и BiasInitializer задавать инициализаторы веса для свертки и полносвязных слоев в предварительно обученной сети.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

| |

Похожие темы