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

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

Два основных подхода к имитационному обучению:

  1. Поведенческое клонирование (BC).

Поведенческое клонирование изучает политику как проблему контролируемого обучения над парами состояние-действие из экспертных траекторий. Это наиболее распространенный и простой подход к имитационному обучению, поскольку он рассматривает проблему имитации как контролируемую. Однако он имеет тенденцию быть успешным только с большими объемами обучающих данных и неэффективен из-за ошибки сложения, вызванной ковариантными сдвигами. BC также не может уловить интуицию о том, что действия, совершаемые экспертом, являются целенаправленными и имеют цель, которую эксперт пытается достичь. Типичный пример BC - отображение передней стереокамеры автомобиля на угол поворота рулевого колеса с использованием данных, полученных водителем-человеком. (Пожалуйста, не садитесь в такие машины)

2. Обратное обучение с подкреплением (IRL).

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

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

Символы, которые мы будем использовать

Максимальный IRL случайной энтропии:

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

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

Если вы новичок в обучении с обратным подкреплением, вы удивитесь, почему мы рассматриваем энтропию, для этого потребуется еще один блог, но вот замечательная статья, чтобы показать вам, почему: Обучение с обратным подкреплением с максимальной энтропией автора Ziebart et al.

Генеративное состязательное имитационное обучение (GAIL):

Что такое GAIL?

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

Для GAIL мы создадим среду обучения с подкреплением, в которой IRL является двойником проблемы RL (так, в основном, RL и IRL связаны друг с другом посредством обмена определенными парами терминов). Решение основной проблемы RL является оптимальным и представляет собой то же решение, что и решение, полученное из функции стоимости IRL.

Итак, вдохновение здесь было, можем ли мы охарактеризовать RL (IRL (πE))? И да, мы можем:

ψ-регуляризованное обратное обучение с подкреплением неявно ищет политику, мера занятости которой близка к показателям эксперта, измеряемым ψ *.

Здесь мера занятости (ρ) - это распределение пары состояние-действие, обнаруженное при навигации по среде с помощью политики.

а ψ * - выпуклое сопряжение ψ

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

Подождите, но что такое регуляризатор ψ и как его выбрать? Что ж, давайте попробуем постоянный или линейный, легко.

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

Линейный регуляризатор

Авторы рассмотрели простой класс линейных функций стоимости с некоторыми выбранными особенностями состояний. Это приводит нас к ученичеству (еще одна интересная статья Эндрю Нг и Питера Аббеля) , где цель состоит в том, чтобы найти политику, работающую лучше, чем эксперт.

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

Отлично, мы получили это, но подождите, есть проблемы с обучением на ученичестве (как обычно). Для ученичества нам необходимо:

1. Создавайте особенности очень осторожно: если истинная функция стоимости не лежит в C, нет гарантии, что AL восстановит экспертную политику.

2. Тщательная настройка процедуры отбора проб. (GAIL устранил необходимость в этой настройке, используя GAN для настройки процедуры выборки.)

О нет, какой регуляризатор выбрать сейчас?

Рассматриваемые функции стоимости (линейная функция с предопределенным набором функций) слишком просты, поэтому давайте рассмотрим более сложный класс функций стоимости (например, нейронную сеть).

Оказывается, оптимальный проигрыш аналогичен расхождению Дженсена-Шенона (Ура!).

Итак, теперь случайная энтропия H рассматривается как регуляризатор политики и контролируется λ ≥ 0. Новый алгоритм имитационного обучения можно сформулировать как:

Теперь нам нужно найти политику, мера занятости которой сводит к минимуму расхождение Дженсена-Шеннона с политикой экспертов. Явно мы должны найти седловую точку вышеприведенного выражения.

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

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

Выпуклое сопряжение вышеупомянутого регуляризатора можно определить как (вывод объяснен в видео):

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

Регуляризатор устанавливает связь между имитационным обучением и генеративными состязательными сетями (которые обучают генеративную модель (G), запутывая классификатор дискриминатора (D)). Чтобы узнать больше о GAN, ознакомьтесь с моей статьей Введение в GAN.

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

Итак, что на самом деле происходит?

По сути, мы собираемся найти политику агента π, а также дискриминатор (D), чтобы попытаться различить, генерируется ли пара состояния и действия экспертом или политикой.

Хорошо, но как теперь оптимизировать?

Простой, градиентный спуск над параметрами политики и дискриминатора. Градиент политики гарантирует схождение к локальным минимумам и не зависит от модели.

Но оценки градиента могут иметь большие отклонения, и для градиента политики также требуются небольшие шаги. (О, чувак!) Что нам теперь делать? Хм. Здесь в игру вступает TRPO.

Но подождите, а почему TRPO (Trust Region Policy Optimization)?

Шаг TRPO служит той же цели, что и алгоритм ученичества, он предотвращает слишком сильное изменение политики из-за шума в градиентах политики.

Если вы хотите узнать больше о градиенте политики и TRPO, посмотрите мой другой пост о TRPO и PPO.

Алгоритм:

Итак, наконец, мы подошли к алгоритму, но подождите, разве вы не понимаете, почему вы читаете этот блог?

Подводя итог, мы в основном собираемся подогнать параметризованную политику (π) и сеть дискриминатора с весами и чередовать шаги градиента Адама для увеличения значения относительно D и шаг TRPO на θ для уменьшения значения относительно политики. (π).

Архитектура, используемая для обучения:

  • Дискриминатор использует ту же архитектуру, что и генератор (политика).
  • Два скрытых слоя по 100 единиц каждый с нелинейностями tanh между ними.
  • Вначале сети всегда инициализировались случайным образом.

Давайте посмотрим, как мы можем реализовать это с помощью tensorflow, чтобы делать кое-какие интересные вещи в следующем блоге.

Вывод:

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

Реализации:

  1. Реализация Tensorflow генеративного состязательного имитационного обучения
  2. Базовые версии OpenAI GAIL

использованная литература

  1. Генеративное состязательное имитационное обучение