Experiment Manager

Спроектируйте и запустите эксперименты, чтобы обучить и сравнить нейронные сети для глубокого обучения

Описание

Приложение Experiment Manager позволяет вам создать эксперименты глубокого обучения, чтобы обучить нейронные сети под несколькими начальными условиями и сравнить результаты. Например, можно использовать эксперименты глубокого обучения для:

  • Развернитесь через область значений гиперзначений параметров или используйте Байесовую оптимизацию, чтобы найти оптимальные опции обучения. Байесова оптимизация требует Statistics and Machine Learning Toolbox™.

  • Используйте встроенную функцию trainNetwork или задайте свою собственную учебную функцию.

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

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

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

Experiment Manager организует ваши эксперименты и приводит к проекту.

  • Можно сохранить несколько экспериментов в том же проекте.

  • Каждый эксперимент содержит набор results в течение каждого раза, когда вы запускаете эксперимент.

  • Каждый набор результатов состоит из одного или нескольких trials, соответствующий различной комбинации гиперпараметров.

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

Панель Experiment Browser отображает иерархию экспериментов и приводит к проекту. Например, этот проект имеет два эксперимента, каждый из которых имеет несколько наборов результатов.

Experiment Browser showing two experiments. Experiment1 is a built-in training experiment with four results. Experiment2 is a custom training experiment with two results.

Синяя фляга указывает на встроенный учебный эксперимент, который использует trainNetwork функция. Зеленая мензурка указывает на пользовательский учебный эксперимент, который использует различную учебную функцию. Чтобы открыть настройку для эксперимента и просмотреть его результаты, дважды кликните имя эксперимента или набор результатов.

Experiment Manager app

Откройте приложение Experiment Manager

  • MATLAB® Панель инструментов: На вкладке Apps, под Machine Learning and Deep Learning, кликают по значку приложения.

  • Командная строка MATLAB: Войти experimentManager.

Примеры

развернуть все

В этом примере показано, как использовать шаблон эксперимента для классификации изображений широкими гиперпараметрами. С этим шаблоном можно быстро настроить встроенный учебный эксперимент, который использует trainNetwork функция. Для большего количества примеров решения задач классификации изображений с Experiment Manager смотрите, Создают Эксперимент Глубокого обучения для Классификации и Использование Experiment Manager, чтобы Обучить нейронные сети параллельно. Для получения дополнительной информации об альтернативной стратегии к широким гиперпараметрам смотрите Гиперпараметры Эксперимента Мелодии при помощи Байесовой Оптимизации.

Откройте пример, чтобы загрузить проект с предварительно сконфигурированным экспериментом, который можно смотреть и запустить. Чтобы открыть эксперимент, в панели Браузера Эксперимента, дважды кликают имя эксперимента (Experiment1).

В качестве альтернативы можно сконфигурировать эксперимент сами путем выполнения этих шагов.

1. Открытый Experiment Manager. Диалоговое окно обеспечивает ссылки на начинающие примеры и ваши недавние проекты, а также кнопки, чтобы создать новый проект или открыть пример из документации.

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

3. При Экспериментах Классификации Изображений выберите Image Classification by Sweeping Hyperparameters.

4. Задайте название и местоположение для нового проекта. Experiment Manager открывает новый эксперимент в проекте. Панель Эксперимента отображает описание, гиперпараметры, функцию настройки и метрики, которые задают эксперимент.

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

Classification of digits, using various initial learning rates.

6. Под Гиперпараметрами замените значение myInitialLearnRate с 0.0025:0.0025:0.015. Проверьте, что Стратегия установлена в Exhaustive Sweep.

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

  • Обучающие данные загрузки задают хранилища данных изображений, содержащие данные об обучении и валидации для эксперимента. Эксперимент использует набор данных Цифр, который состоит из 10 000 28 28 пиксельные полутоновые изображения цифр от 0 до 9, категоризированный цифрой, которую они представляют. Для получения дополнительной информации об этом наборе данных смотрите Наборы Данных изображения.

  • Архитектура Сети Define задает архитектуру для простой сверточной нейронной сети для классификации глубокого обучения.

  • Укажите, что Опции обучения задают trainingOptions объект для эксперимента. В этом эксперименте функция настройки загружает значения для начальной скорости обучения от myInitialLearnRate запись в гипертаблице параметров.

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

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

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

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

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

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

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

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

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

В этом примере показано, как использовать шаблон эксперимента для регрессии изображений широкими гиперпараметрами. С этим шаблоном можно быстро настроить встроенный учебный эксперимент, который использует trainNetwork функция. Для другого примера решения задачи регрессии с Experiment Manager смотрите, Создают Эксперимент Глубокого обучения для Регрессии. Для получения дополнительной информации об альтернативной стратегии к широким гиперпараметрам смотрите Гиперпараметры Эксперимента Мелодии при помощи Байесовой Оптимизации.

Откройте пример, чтобы загрузить проект с предварительно сконфигурированным экспериментом, который можно смотреть и запустить. Чтобы открыть эксперимент, в панели Браузера Эксперимента, дважды кликают имя эксперимента (Experiment1).

В качестве альтернативы можно сконфигурировать эксперимент сами путем выполнения этих шагов.

1. Открытый Experiment Manager. Диалоговое окно обеспечивает ссылки на начинающие примеры и ваши недавние проекты, а также кнопки, чтобы создать новый проект или открыть пример из документации.

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

3. При Экспериментах Регрессии Изображений выберите Image Regression by Sweeping Hyperparameters.

4. Задайте название и местоположение для нового проекта. Experiment Manager открывает новый эксперимент в проекте. Панель Эксперимента отображает описание, гиперпараметры, функцию настройки и метрики, которые задают эксперимент.

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

Regression to predict angles of rotation of digits, using various initial learning rates.

6. Под Гиперпараметрами замените значение myInitialLearnRate с 0.001:0.001:0.006. Проверьте, что Стратегия установлена в Exhaustive Sweep.

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

  • Обучающие данные загрузки задают данные об обучении и валидации для эксперимента как 4-D массивы. Данные об обучении и валидации каждый состоит из 5 000 изображений от набора данных Цифр. Каждое изображение показывает цифру от 0 до 9, вращаемый определенным углом. Значения регрессии соответствуют углам вращения. Для получения дополнительной информации об этом наборе данных смотрите Наборы Данных изображения.

  • Архитектура Сети Define задает архитектуру для простой сверточной нейронной сети для регрессии глубокого обучения.

  • Укажите, что Опции обучения задают trainingOptions объект для эксперимента. В этом эксперименте функция настройки загружает значения для начальной скорости обучения от myInitialLearnRate запись в гипертаблице параметров.

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

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

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

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

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

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

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

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

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

Откройте пример, чтобы загрузить проект с предварительно сконфигурированным экспериментом, который можно смотреть и запустить. Чтобы открыть эксперимент, в панели Браузера Эксперимента, дважды кликают имя эксперимента (Experiment1).

В качестве альтернативы можно сконфигурировать эксперимент сами путем выполнения этих шагов.

1. Открытый Experiment Manager. Диалоговое окно обеспечивает ссылки на начинающие примеры и ваши недавние проекты, а также кнопки, чтобы создать новый проект или открыть пример из документации.

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

3. При Экспериментах Классификации Изображений выберите Image Classification Using Custom Training Loop.

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

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

Classification of digits, using various initial learning rates.

4. Под Гиперпараметрами замените значение myInitialLearnRate с 0.0025:0.0025:0.015. Проверьте, что Стратегия установлена в Exhaustive Sweep.

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

  • Обучающие данные загрузки задают обучающие данные для эксперимента как 4-D массивы. Эксперимент использует набор данных Цифр, который состоит из 5 000 28 28 пиксельные полутоновые изображения цифр от 0 до 9, категоризированный цифрой, которую они представляют. Для получения дополнительной информации об этом наборе данных смотрите Наборы Данных изображения.

  • Архитектура Сети Define задает архитектуру для простой сверточной нейронной сети для классификации глубокого обучения. Чтобы обучить сеть с пользовательским учебным циклом, учебная функция представляет сеть как dlnetwork объект.

  • Укажите, что Опции обучения задают опции обучения, используемые экспериментом. В этом эксперименте учебная функция загружает значения для начальной скорости обучения от myInitialLearnRate запись в гипертаблице параметров.

  • Обучайтесь Модель задает пользовательский учебный цикл, используемый экспериментом. В течение каждой эпохи пользовательский учебный цикл переставляет данные и выполняет итерации по мини-пакетам данных. Для каждого мини-пакета пользовательский учебный цикл оценивает градиенты модели, состояние, и потерю, определяет скорость обучения для основанного на времени расписания скорости обучения затухания и обновляет сетевые параметры. Чтобы отследить прогресс обучения и записать значение учебной потери, учебная функция использует experiments.Monitor объект monitor.

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

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

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

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

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

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

Чтобы проверить производительность отдельного испытания, экспортируйте учебный выход для испытания. На панели инструментов Experiment Manager выберите Export. В этом эксперименте учебный выход является структурой, которая содержит значения учебной потери и обучившего сеть.

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

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

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

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

Под Hyperparameters выберите стратегию использовать для вашего эксперимента.

  • Чтобы развернуться через область значений гиперзначений параметров, установите Strategy на Exhaustive Sweep. В гипертаблице параметров задайте значения гиперпараметров, используемых в эксперименте. Можно задать гиперзначения параметров как скаляры или векторы с числовым, логическим, или представить значения в виде строки. Например, это допустимые технические требования гиперпараметра:

    • 0.01

    • 0.01:0.01:0.05

    • [0.01 0.02 0.04 0.08]

    • ["sgdm" "rmsprop" "adam"]

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

  • Чтобы найти оптимальные опции обучения при помощи Байесовой оптимизации, установите Strategy на Bayesian Optimization. В гипертаблице параметров задайте эти свойства гиперпараметров, используемых в эксперименте:

    • Range — Вводит двухэлементный вектор, который дает нижнюю границу и верхнюю границу действительного - или гиперпараметр с целочисленным знаком, или массив строк или массив ячеек, который перечисляет возможные значения категориального гиперпараметра.

    • Ввод Выберите real (гиперпараметр с действительным знаком), integer (гиперпараметр с целочисленным знаком), или categorical (категориальный гиперпараметр).

    • Transform — Выберите none (никакое преобразование) или log (логарифмическое преобразование). Для log, гиперпараметром должен быть real или integer и положительный. При использовании этой опции гиперпараметр ищется и моделируется на логарифмическом масштабе.

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

    Чтобы задать длительность вашего эксперимента, под Bayesian Optimization Options, вводят максимальное время (в секундах) и максимальное количество испытаний, чтобы запуститься. Обратите внимание на то, что фактическое время выполнения и количество испытаний в вашем эксперименте могут превысить эти настройки, потому что Experiment Manager проверяет эти опции только, когда испытание закончило выполняться.

    Байесова оптимизация требует Statistics and Machine Learning Toolbox. Для получения дополнительной информации смотрите Гиперпараметры Эксперимента Мелодии при помощи Байесовой Оптимизации.

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

Цель экспериментаПодпись функции Setup
Обучите сеть для классификации изображений и задач регрессии с помощью изображений и ответов, заданных images и опции обучения заданы options.
function [images,layers,options] = Experiment_setup(params)
...
end
Обучите сеть с помощью изображений, заданных images и ответы заданы responses.
function [images,responses,layers,options] = Experiment_setup(params)
...
end
Обучите сеть для последовательности или классификации timeseries и задач регрессии (например, LSTM или сеть ГРУ) использование последовательностей и ответов, заданных sequences.
function [sequences,layers,options] = Experiment_setup(params)
...
end
Обучите сеть с помощью последовательностей, заданных sequences и ответы заданы responses.
function [sequences,reponses,layers,options] = Experiment_setup(params)
...
end
Обучите сеть для классификации функций или задач регрессии (например, многоуровневый perceptron, или MLP, сеть) использование данных о функции и ответов, заданных features.
function [features,layers,options] = Experiment_setup(params)
...
end
Обучите сеть с помощью данных о функции, заданных features и ответы заданы responses.
function [features,responses,layers,options] = Experiment_setup(params)
...
end

Примечание

Experiment Manager не поддерживает выполнение нескольких испытаний параллельно, когда вы устанавливаете опцию обучения ExecutionEnvironment к "multi-gpu" или "parallel" или когда вы включаете опции обучения DispatchInBackground. Используйте эти опции, чтобы ускорить ваше обучение, только если вы намереваетесь запустить один суд над вашим экспериментом за один раз. Для получения дополнительной информации смотрите Использование Experiment Manager, чтобы Обучить нейронные сети параллельно.

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

  • trainedNetwork SeriesNetwork объект или DAGNetwork объект, возвращенный trainNetwork функция. Для получения дополнительной информации смотрите, Обучил сеть.

  • trainingInfo структура, содержащая учебную информацию, возвращенную trainNetwork функция. Для получения дополнительной информации смотрите Учебную информацию.

  • parameters структура с полями от гипертаблицы параметров.

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

Если ваш эксперимент использует Байесовую оптимизацию, выберите метрику, чтобы оптимизировать из списка Optimize. В списке Direction укажите, что вы хотите к Maximize или Minimize эта метрика. Experiment Manager использует эту метрику, чтобы определить лучшую комбинацию гиперпараметров для вашего эксперимента. Можно выбрать стандартную метрику обучения или валидации (такую как точность, RMSE или потеря) или пользовательскую метрику из таблицы.

В этом примере показано, как настроить пользовательский учебный эксперимент с помощью приложения Experiment Manager. Пользовательское обучение экспериментирует рабочие процессы поддержки, которые требуют учебной функции кроме trainNetwork. Эти рабочие процессы включают:

  • Обучение сети, которая не задана графиком слоев.

  • Обучение сеть с помощью пользовательского расписания скорости обучения.

  • Обновление настраиваемых параметров сети при помощи пользовательской функции.

  • Обучение порождающая соперничающая сеть (GAN).

  • Обучение сиамской сети.

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

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

Под Hyperparameters выберите стратегию использовать для вашего эксперимента.

  • Чтобы развернуться через область значений гиперзначений параметров, установите Strategy на Exhaustive Sweep. В гипертаблице параметров задайте значения гиперпараметров, используемых в эксперименте. Можно задать гиперзначения параметров как скаляры или векторы с числовым, логическим, или представить значения в виде строки. Например, это допустимые технические требования гиперпараметра:

    • 0.01

    • 0.01:0.01:0.05

    • [0.01 0.02 0.04 0.08]

    • ["sgdm" "rmsprop" "adam"]

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

  • Чтобы найти оптимальные опции обучения при помощи Байесовой оптимизации, установите Strategy на Bayesian Optimization. В гипертаблице параметров задайте эти свойства гиперпараметров, используемых в эксперименте:

    • Range — Вводит двухэлементный вектор, который дает нижнюю границу и верхнюю границу действительного - или гиперпараметр с целочисленным знаком, или массив строк или массив ячеек, который перечисляет возможные значения категориального гиперпараметра.

    • Ввод Выберите real (гиперпараметр с действительным знаком), integer (гиперпараметр с целочисленным знаком), или categorical (категориальный гиперпараметр).

    • Transform — Выберите none (никакое преобразование) или log (логарифмическое преобразование). Для log, гиперпараметром должен быть real или integer и положительный. При использовании этой опции гиперпараметр ищется и моделируется на логарифмическом масштабе.

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

    Чтобы задать длительность вашего эксперимента, под Bayesian Optimization Options, вводят максимальное время (в секундах) и максимальное количество испытаний, чтобы запуститься. Обратите внимание на то, что фактическое время выполнения и количество испытаний в вашем эксперименте могут превысить эти настройки, потому что Experiment Manager проверяет эти опции только, когда испытание закончило выполняться.

    Байесова оптимизация требует Statistics and Machine Learning Toolbox. Для получения дополнительной информации смотрите Использование Байесова Оптимизация в Пользовательских Учебных Экспериментах.

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

  • Структура с полями от гипертаблицы параметров

  • experiments.Monitor возразите, что можно использовать, чтобы отследить прогресс обучения, полей информации об обновлении в таблице результатов, значениях записи метрик, используемых обучением, и произвести учебные графики

Experiment Manager сохраняет выход учебной функции, таким образом, можно экспортировать его в рабочее пространство MATLAB, когда обучение завершено.

Примечание

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

Если ваш эксперимент использует Байесовую оптимизацию, в разделе Metrics, под Optimize, введите имя метрики, чтобы оптимизировать. В списке Direction укажите, что вы хотите к Maximize или Minimize эта метрика. Experiment Manager использует эту метрику, чтобы определить лучшую комбинацию гиперпараметров для вашего эксперимента. Можно выбрать любую метрику, что вы задаете использование experiments.Monitor объект для учебной функции.

Experiment Manager предоставляет две возможности для прерывания экспериментов:

  • Stop отмечает любые рабочие испытания как Stopped и сохраняет их результаты. Когда эксперимент останавливается, можно отобразить учебный график и экспортировать учебный выход для этих испытаний.

  • Cancel отмечает любые рабочие испытания как Canceled и отбрасывает их результаты. Когда эксперимент останавливается, вы не можете отобразить учебный график или экспортировать учебный выход для этих испытаний.

Обе опции сохраняют результаты любых завершенных испытаний и отменяют любые испытания с очередями. Как правило, Cancel быстрее, чем Stop.

Вместо того, чтобы остановить эксперимент, можно остановить отдельное испытание, которое запускается, или отмените индивидуума поставленное в очередь испытание. В столбце Progress таблицы результатов нажмите Stop или Кнопку отмены для испытания.

Results table showing Stop icon for a running trial.

Когда обучение завершено, можно перезапустить испытание, которое вы остановили или отменили. В столбце Progress таблицы результатов нажмите кнопку Restart для испытания.

Results table showing Restart icon for a running trial.

В качестве альтернативы, чтобы перезапустить все испытания, которые вы отменили в панели инструментов Experiment Manager, нажимают Restart All Canceled .

Примечание

Эксперименты, которые используют Байесовую оптимизацию, поддерживают только опцию Cancel. Кроме того, эти эксперименты не поддерживают перезапуск отмененных испытаний.

Пользовательские учебные эксперименты, которые используют исчерпывающую развертку, поддерживают только опцию Stop.

В этом примере показано, как сравнить ваши результаты и записать ваши наблюдения после выполнения эксперимента.

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

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

  1. Укажите на заголовок столбца, по которому вы хотите отсортировать.

  2. Кликните по треугольному значку.

  3. Выберите Sort in Ascending Order или Sort in Descending Order.

    Results table showing drop down menu for the Validation Accuracy column.

Чтобы отфильтровать испытания от таблицы результатов, используйте панель Filters.

  1. На панели инструментов Experiment Manager выберите Filters.

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

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

    Histogram for Validation Accuracy, with filter sliders set to 62 and 64.88.

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

    Results table showing only trials with Validation Accuracy greater than 62.

  3. Чтобы восстановить все испытания в таблице результатов, закройте панель Experiment Result и вновь откройте результаты панели Experiment Browser.

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

  1. Щелкните правой кнопкой по ячейке по таблице результатов и выберите Add Annotation. В качестве альтернативы выберите ячейку в таблице результатов и, на панели инструментов Experiment Manager, выберите Annotations> Add Annotation.

    Results table showing drop down menu for the Validation Accuracy cell with the largest value.

  2. В панели Annotations введите свои наблюдения в текстовое поле.

    Annotation text says, "Best accuracy so far. Train for longer to improve this value."

    Можно добавить несколько аннотаций для каждой ячейки в таблице результатов. Каждая аннотация отмечена меткой времени.

  3. Чтобы подсветить ячейку, которая соответствует аннотации, щелкните по ссылке выше аннотации.

Чтобы открыть панель Annotations и просмотреть все ваши аннотации, на панели инструментов Experiment Manager, выбирают Annotations> View Annotations.

В этом примере показано, как смотреть настройку эксперимента, который привел к данному результату.

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

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

На первой панели Experiment Result щелкните по ссылке View Experiment Source. Experiment Manager открывает панель Experiment Source, которая содержит определение эксперимента, которое произвело первый набор результатов. Щелкните по ссылке в нижней части панели, чтобы открыть функцию настройки, что вы использовали первый раз, когда вы запустили эксперимент. Можно скопировать эту функцию настройки, чтобы повторно выполнить эксперимент с помощью простой сети классификации.

На второй панели Experiment Result щелкните по ссылке View Experiment Source. Experiment Manager открывает панель Experiment Source, которая содержит определение эксперимента, которое произвело второй набор результатов. Щелкните по ссылке в нижней части панели, чтобы открыть функцию настройки, что вы использовали второй раз, когда вы запустили эксперимент. Можно скопировать эту функцию настройки, чтобы повторно выполнить эксперимент с помощью передачи обучения.

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

Связанные примеры

Советы

Введенный в R2020a