Experiment Manager

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

Описание

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

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

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

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

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

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

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

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

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

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

По умолчанию Experiment Manager запускает по одной пробной версии за раз. Если у вас есть Parallel Computing Toolbox™, можно сконфигурировать эксперимент, чтобы запустить несколько испытаний одновременно. Параллельный запуск эксперимента позволяет использовать MATLAB® пока обучение в прогресс. Для получения дополнительной информации смотрите Использование 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 Toolstrip: На вкладке Apps, в разделе Machine Learning and Deep Learning, щелкните значок приложения.

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

Примеры

расширить все

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

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

Также можно сконфигурировать эксперимент самостоятельно, выполнив следующие шаги.

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

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

3. В разделе «Эксперименты с классификацией изображений» выберите «Классификация изображений по протягивающим гиперпараметрам».

4. Укажите имя и местоположение нового проекта. Experiment Manager открывает новый эксперимент в проекте. На панели Эксперимент (Experiment) отображаются описание, гиперпараметры, функция настройки и метрики, которые определяют эксперимент.

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

Classification of digits, using various initial learning rates.

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

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

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

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

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

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

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

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

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

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

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

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

Чтобы проверить эффективность отдельного теста, экспортируйте обученную сеть или обучающую информацию для теста. На панели инструментов Experiment Manager выберите Экспорт > Обученная сеть или Экспорт > Информация о обучении, соответственно. Для получения дополнительной информации смотрите net и info.

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

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

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

Также можно сконфигурировать эксперимент самостоятельно, выполнив следующие шаги.

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

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

3. В разделе «Эксперименты по регрессии изображений» выберите «Регрессия изображений методом протягивания гиперпараметров».

4. Укажите имя и местоположение нового проекта. Experiment Manager открывает новый эксперимент в проекте. На панели Эксперимент (Experiment) отображаются описание, гиперпараметры, функция настройки и метрики, которые определяют эксперимент.

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

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

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

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

  • Load Training Data определяет данные обучения и валидации для эксперимента как 4-D массивы. Данные обучения и валидации каждый состоят из 5000 изображений из набора данных Digits. На каждом изображении показана цифра от 0 до 9, повернутая на определенный угол. Значения регрессии соответствуют углам поворота. Дополнительные сведения об этом наборе данных см. в разделе Наборы данных изображений.

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

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

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

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

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

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

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

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

Чтобы проверить эффективность отдельного теста, экспортируйте обученную сеть или обучающую информацию для теста. На панели инструментов Experiment Manager выберите Экспорт > Обученная сеть или Экспорт > Информация о обучении, соответственно. Для получения дополнительной информации смотрите net и info.

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

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

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

Также можно сконфигурировать эксперимент самостоятельно, выполнив следующие шаги.

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

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

3. В разделе «Эксперименты с классификацией изображений» выберите «Классификация изображений с использованием пользовательского цикла обучения».

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

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

Classification of digits, using various initial learning rates.

4. В группе « Гиперпараметров» замените значение myInitialLearnRate с 0.0025:0.0025:0.015.

5. В разделе Training Function нажмите Edit. Функция обучения откроется в РЕДАКТОРА MATLAB. Функция обучения задает обучающие данные, сетевую архитектуру, опции обучения и процедуру обучения, используемые экспериментом. В этом эксперименте функция обучения имеет четыре раздела.

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

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

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

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

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

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

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

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

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

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

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

Чтобы закрыть эксперимент, на панели «Браузер экспериментов» щелкните правой кнопкой мыши имя проекта и выберите «Закрыть проект». 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 - введите двухэлементный вектор, который задает нижнюю и верхнюю границы реальное или целочисленное гиперпараметра или строковых массивов или массива ячеек, который перечисляет возможные значения категориального гиперпараметра.

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

    • Transform - Выбор none (без преобразования) или log (логарифмическое преобразование).

      Для log, гиперпараметр должен быть real или integer и положительный. Гиперпараметр ищется и моделируется на логарифмической шкале.

    Когда вы запускаете эксперимент, Experiment Manager ищет лучшую комбинацию гиперпараметров. Каждое испытание в эксперименте использует новую комбинацию значений гиперзначений параметров на основе результатов предыдущих испытаний. Чтобы указать длительность своего эксперимента, под Bayesian Optimization Options введите максимальное время (в секундах) и максимальное количество испытаний для выполнения. Для байесовской оптимизации требуется 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 или GRU), используя последовательности и ответы, заданные sequences.
function [sequences,layers,options] = Experiment_setup(params)
...
end
Обучите сеть с помощью последовательностей, заданных sequences и ответы, заданные responses.
function [sequences,reponses,layers,options] = Experiment_setup(params)
...
end
Обучите сеть для задач классификации или регрессии функции (для примера, многослойного перцептрона или 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 задает функции для оценки результатов эксперимента. Входом к метрической функции является структура с тремя полями:

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

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

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

  • Настройка сети, которая не задана графиком слоев.

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

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

  • Обучение генеративной состязательной сети (GAN).

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

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

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

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

  • 0.01

  • 0.01:0.01:0.05

  • [0.01 0.02 0.04 0.08]

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

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

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

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

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

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

Примечание

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

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

Когда вы запускаете эксперимент, 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 хранит копию всех функций, которые вы используете, поэтому вы не должны вручную переименовывать эти функции при изменении и повторном запуске эксперимента.

Похожие примеры

Совет

  • Чтобы визуализировать, построить и обучить сеть без размашистых гиперпараметров, можно использовать Deep Network Designer приложение. После обучения сети сгенерируйте скрипт, чтобы использовать его в качестве начальной точки для ваших экспериментов по глубокому обучению. Для получения дополнительной информации смотрите Adapt Code Generated в Deep Network Designer для использования в Experiment Manager.

См. также

Приложения

Функции

Объекты

Введенный в R2020a