• Регистрация
Sjatohu9
Sjatohu9 +1.09
н/д

Углублённое обучение: краткий путеводитель

12.09.2020

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

Углублённое обучение – это тип изучения механизма, в котором компьютер изучает выполнение задачи через повторяющиеся взаимодействия с динамической окружающей средой. Этот метод изучения проб и ошибок даёт компьютеру возможность создать множество решений без человеческого вмешательства и без точного плана решения задачи. Один из известных примеров углублённого обучения в действии – это «АльфаГоу», первая компьютерная программа, ставшая чемпионом мира в игре «Гоу».

Углублённое обучение работает с данными из динамической окружающей среды – другими словами, с данными, которые изменяют внутренние условия на внешние, такие как погода или уличное движение. Цель алгоритма углублённого обучения – найти стратегию, которая должна дать оптимальный результат. Метод углублённого обучения достигает этой цели благодаря исследованию части программного обеспечения, называемой «агентом», взаимодействию с ней и изучению окружающей среды.

Пример автомобильной езды

Одним из важных аспектов автомобильной езды является парковка автомобиля. Цель автомобильного компьютера («агента») поставить машину на нужное парковочное место и в правильном положении. В этом примере «окружающая среда» - это всё, что находится вне «агента»: динамика автомобиля, рядом стоящие автомобили, погодные условия и так далее. В течение обучения «агент» использует записи с камер видеонаблюдения, GPS, лазерный радар и другие приборы, воспроизводящие команды вождения, торможения и ускорения («действия»). Изучая как воспроизвести правильные действия в процессе наблюдения («политическое приспосабливание»), «агент» пытается повторно поставить автомобиль на стоянку, используя метод проб и ошибок. Правильное действие отмечается (усиливается) цифровым сигналом.

Рисунок 1. Обзорная диаграмма обучения с подкреплением.

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

Алгоритмы для углублённого обучения

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

Рисунок 2. Нейронная сеть для автономного вождения.

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

Поток работ углублённого обучения

Тренировка «агента», используемого при углублённом обучении включает в себя пять шагов:

  1. Создание окружающей среды. Создать окружающую среду, внутри которой «агент» может обучать, включая интерфейс между «агентом» и окружающей средой. Определить может ли окружающая среда быть воображаемой моделью или реальной физической системой. Воображаемая окружающая среда – обычно  хороший первый шаг до тех пор, пока она – безопасна и допускает проведение эксперимента.
  2. Определение вознаграждения. Уточнить сигнал вознаграждения, который «агент» использует для измерения этого параметра для заданных целей и как этот сигнал воспроизводится в окружающую среду. Форма вознаграждения может требовать несколько повторений полученного правильного результата.
  3. Создание «агента». «Агент» состоит из политики и алгоритма тренировки. Также  для его создания Вам нужно:

    · Выбрать способ представления политики (например, использование нейронных сетей или улучшение таблиц). Рассмотреть, как Вы хотите построить систему параметров и логику, которая решает труднорешаемую задачу «агента».

    ·  Подобрать подходящий алгоритм тренировки. Более современные алгоритмы углублённого обучения основаны на нейронных сетях, потому что они – хорошие примеры для больших определённых действительных пространств и сложных задач.

  4. Тренировка и подтверждение действий «агента». Установить действия для тренировки (такие как остановка движения) и натренировать «агента» для приспособления политики. Самый лёгкий способ подтверждения политики тренировки через подражание.
  5. Развёртывание политики. Развернуть политику тренировки подтверждения действий, используя воспроизводимый С/С++ или CUDA код. Не нужно беспокоиться об «агентах» и алгоритмах тренировки в этом случае: политика – одна система решений.

Процесс повторений

Тренировка «агента» при использовании углублённого обучения включает определенное количество проб и ошибок. Решения и результаты в поздних стадиях могут потребовать Вас вернуться к ранней стадии потока работ. Например, если процесс тренировки не сошёлся к оптимальной политике в течение определённого количества времени, Вы можете усовершенствовать любой из следующих пунктов перед тренировкой «агента»:

  • Настройки тренировки;
  • Конфигурацию алгоритма обучения;
  • Утверждение политики;
  • Определение сигнала награждения;
  • Сигналы действия и наблюдения;
  • Динамику окружающей среды.

Когда углублённое обучение – это правильный подход?

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

  • Он – неэффективен. Это означает, что есть множество тренировок, требующих достичь подходящего результата. Даже для относительно простых действий время тренировки может быть от нескольких минут до нескольких часов или дней. «АльфаГоу» тренировалась, играя в миллионы игр безостановочно несколько дней, накапливая многолетний опыт изучения человека.
  • Правильное решение задачи может быть сложным: многие дизайнерские решения должны быть делом, которое может потребовать нескольких повторений, чтобы получить верное решение. Эти решения включают в себя выбор подходящей структуры нейронных сетей, приспосабливающихся преувеличенных параметров и придающей формы сигнала награждения.
  • Натренированная широкая политика нейронной сети – «чёрный ящик», подразумевающий, что внутренняя структура сети – также составная часть (часто включающая миллионы параметров), которой почти невозможно понять, объяснить и оценить полученные результаты. Это делает её трудной для того, чтобы установить формально представленные гарантии  политики нейронных сетей.

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

Пример из жизни: роботы учатся ходить

Учёные из университета Южной Калифорнии лаборатории Валеро создали простую ногу робота, которая научилась двигаться за считанные минуты, используя алгоритм углублённого обучения, написанный в Матлаб.

Рис. 3. Новая роботизированная конечность Valero Lab.

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

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

Углублённое обучение и «бормотание двигателя»

При объединении «бормотания двигателя» с углублённым обучением система пробует выполнить случайные движения и изучает возможности их движения через его результаты. Для этого исследования команда начала позволять системе работать наугад или использовать «бормотание двигателя». Учёные дали системе вознаграждение – в рассмотренном случае, двигая стопу вперед – всё время она решала данную задачу верно.

Алгоритм результата, называемый «J2P» (от простого к сложному), копирует простую задачу, в которой биологические нервные системы мозга контролируют ноги, изучая движение, которое происходит, когда сухожилие двигает ногу. Это происходит благодаря усилению (вознаграждению) поведения, которое определяет задачу. В данном случае задача – успешное движение стопы. Система создаёт общее понимание своего движения через «бормотание двигателя» и затем учёные решают «сложную» задачу, изучая каждое действие или «J2P».

Нейронная сеть, созданная в компании «Матлаб и инструменты углублённого обучения» использует результаты «бормотания двигателя» для создания обратной связи между информацией (движением) и данными (действиями двигателя). Сеть совершенствует модель, основанную на попытке в течение периода углублённого обучения достичь желаемых результатов при изучении дома.

Рисунок 4. Алгоритм G2P.

Она запоминает лучший результат всё время и, если новый поток информации создаёт лучший результат, она переписывает программу модели с новыми параметрами.

Алгоритм «G2P» может изучить новую задачу походки только в течение пяти минут невыстроенной игры. Он может затем приспособиться к другим задачам без дополнительного программирования.

Источники

  1. MathWorks

Теги

    12.09.2020

    Комментарии

    • AlMich
      AlMich+27.80
      13.09.2020 15:56

      Похоже на поток сознания, не углубленный...