Выберите Training Configurations for Sequence-to-Sequence Regression

В этом примере показано, как создать эксперимент глубокого обучения, чтобы сравнить различную предварительную обработку данных и сетевые настройки глубины для регрессии от последовательности к последовательности. В этом примере вы используете Experiment Manager, чтобы обучить сети долгой краткосрочной памяти (LSTM), которые предсказывают остающийся срок полезного использования (RUL) механизмов. Эксперимент использует Турбовентиляторный Набор Данных моделирования Ухудшения Engine, описанный в [1]. Для получения дополнительной информации об обработке этого набора данных для регрессии от последовательности к последовательности смотрите, что Регрессия От последовательности к последовательности Использует Глубокое обучение.

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

Когда вы обучаете нейронную сеть для глубокого обучения, как вы предварительно обрабатываете данные, и количество слоев в сети может влиять на учебное поведение и эффективность сети. Выбор глубины сети LSTM включает балансирующуюся скорость и точность. Например, более глубокие сети могут быть более точными, но занять больше времени, чтобы обучаться и сходиться [2].

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

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

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

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

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

Sequence-to-sequence regression to predict the remaining useful life (RUL) of engines.
This experiment compares network performance when changing data thresholding level
and LSTM layer depth.

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

  • 'Threshold' наборы все данные об ответе выше порогового значения, чтобы быть равным пороговому значению. Чтобы предотвратить универсальные данные об ответе, используйте пороговые значения, больше или равные 150.

  • 'LSTMDepth' указывает на количество слоев LSTM, используемых в сети. Задайте этот гиперпараметр как целое число между 1 и 3.

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

В этом примере функция настройки имеет три раздела.

  • Загрузите и Предварительно обработайте загрузки Данных, и извлекает Турбовентиляторный Набор Данных моделирования Ухудшения Engine из https://ti.arc.nasa.gov/tech/dash/groups/pcoe/prognostic-data-repository/[3]. Этот раздел функции настройки также отфильтровывает постоянные ценные функции, нормирует данные о предикторе, чтобы иметь нулевое среднее значение и модульное отклонение, отсекает данные об ответе при помощи значения 'Порогового' гиперпараметра, и случайным образом выбирает учебные примеры, которые будут использоваться для валидации.

  • Архитектура Сети Define задает архитектуру для сети LSTM для регрессии от последовательности к последовательности. Сеть состоит из слоев LSTM с 128 скрытыми модулями, сопровождаемыми полносвязным слоем размера 100 и слоя уволенного с вероятностью уволенного 0.5. Количество слоев LSTM равняется 'LSTMDepth' значение от гипертаблицы параметров.

  • Укажите, что Опции обучения задают опции обучения для эксперимента. Поскольку более глубокие сети занимают больше времени, чтобы сходиться, номер эпох определяется к 300, чтобы гарантировать все сетевые глубины, чтобы сходиться. Этот пример проверяет сеть каждые 30 итераций. Начальная скорость обучения 0.01 и понижается на коэффициент 0,2 каждых 15 эпох. С опцией обучения 'ExecutionEnvironment' установите на 'auto', эксперимент работает на графическом процессоре, если вы доступны. В противном случае программное обеспечение использует центральный процессор. Поскольку этот пример сравнивает сетевые глубины и обучается в течение многих эпох, использование графического процессора значительно ускоряет учебное время. Используя графический процессор требует Parallel Computing Toolbox™ и поддерживаемого устройства графического процессора. Для получения дополнительной информации смотрите Поддержку графического процессора Релизом (Parallel Computing Toolbox).

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

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

MeanMaxAbsoluteError метрика вычисляет максимальную абсолютную погрешность, усредненную через целый набор обучающих данных. Эта метрика вызывает predict функция, чтобы сделать последовательность предсказаний RUL от набора обучающих данных. Затем после вычисления максимальной абсолютной погрешности между каждым учебным ответом и предсказанной последовательностью ответа, функция вычисляет среднее значение всех максимальных абсолютных погрешностей. Эта метрика идентифицирует максимальные отклонения между фактическими и предсказанными ответами.

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

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

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

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

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

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

Оцените результаты

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

  1. Укажите на Валидацию столбец MeanMaxAbsoluteError или RMSE.

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

  3. Выберите Sort в порядке возрастания.

Если никакое одно испытание не минимизирует оба значения, рассмотрите предоставление настройки к испытанию, которое занимает место хорошо для каждого значения. Например, в этих результатах, испытайте 3, имеет самую маленькую Валидацию значение RMSE и второе наименьшее значение MeanMaxAbsoluteError.

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

  1. В таблице результатов щелкните правой кнопкой по ячейке Validation RMSE лучшего испытания.

  2. Выберите Add Annotation.

  3. В панели Аннотаций введите свои наблюдения в текстовое поле.

  4. Повторите предыдущие шаги для ячейки MeanMaxAbsoluteError.

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

  1. Выберите лучшее испытание в своем эксперименте.

  2. На панели инструментов Experiment Manager нажмите Export.

  3. В диалоговом окне введите имя переменной рабочей области для экспортируемой сети. Именем по умолчанию является trainedNetwork.

  4. Используйте экспортируемую сеть и Threshold значение сети как входные параметры помощнику функционирует helperPlot. Например, в командном окне MATLAB, введите:

helperPlot(trainedNetwork,150)

Графики функций истинные и предсказанные последовательности ответа невидимых тестовых данных.

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

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

Ссылки

  1. Saxena, Abhinav, Кай Гоебель, Дон Саймон и Нил Экланд. "Повредите моделирование распространения для симуляции запуска к отказу авиационного двигателя". 2 008 международных конференций по вопросам предзнаменований и медицинского управления (2008): 1-9.

  2. Jozefowicz, Rafal, Войцех Зэремба и Илья Сутскевер. "Эмпирическое исследование текущих сетевых архитектур". Продолжения 32-й международной конференции по вопросам машинного обучения (2015): 2342-2350.

  3. Saxena, Abhinav, Кай Гоебель. "Турбовентиляторный Набор Данных моделирования Ухудшения Engine". НАСА Репозиторий данных Предзнаменований Эймса, https://ti.arc.nasa.gov/tech/dash/groups/pcoe/prognostic-data-repository/, Исследовательский центр Эймса, Поле Moffett, Приблизительно

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

Приложения

Функции

Похожие темы