С глубоким имитационным обучением

Представьте, что вы — космический корабль, которому поручено совершить путешествие с Земли на Марс. Как бы вы контролировали себя в каждый момент времени, чтобы выполнить эту миссию? Это вопрос, который задает оптимальное управление.

Однако для большинства интересных систем ответить на этот вопрос нелегко, например, из-за неизвестной или слишком сложной динамики. На самом деле часто невозможно найти оптимальное управление u как функцию состояния u(s) в замкнутой форме. Поэтому вместо этого часто ищут альтернативное решение без обратной связи, которое дает оптимальную траекторию[(s, u)_0, …, (s, u)_n]. Хотя это решение не является оптимальным управлением, это траектория, демонстрирующая оптимальное управление.

Это ключ! Мы можем получить демонстрации экспертного (оптимального) поведения, которые затем можем использовать для обучения.

В Karate Kid мы знаем, что мистер Мияги является экспертом, но мы не знаем, что происходит у него в голове (неизвестная динамика). Несмотря на это, Даниэль смог извлечь уроки из своих экспертных демонстраций (оптимальные траектории).

Цели

Теперь представьте, что вы снова космический корабль, каковы будут ваши цели?

  1. Сначала, конечно, мы должны добраться до места назначения (Марс), чтобы выполнить миссию.
  2. Во-вторых, мы должны минимизировать некоторые эксплуатационные расходы, например, время в пути или расход топлива.

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

Предположим, у нас есть две возможные функции стоимости (лагранжиан), которые интегрируются от начального момента времени t = 0 до конечного момента времени t = T:

  1. время в пути: L = 1
  2. расход топлива: L = u

Мы могли бы найти оптимальную траекторию с любой функцией, но что, если мы хотим достичь оптимального баланса между ними?

Приходит гомотопия!

Мы можем определить гомотопную функцию стоимости L, которая объединяет одну стоимость L1 с другой L2, используя параметр гомотопии 0 <= a <= 1:

L = a*L1 + (1-a)*L2.

Теперь мы можем просто настроить a, чтобы настроить приоритет L1 и L2. Вы можете использовать a = 0, чтобы удовлетворить только L1, и a = 1, чтобы удовлетворить только L2. Если вы хотите компромисса в удовлетворении, вы можете использовать 0 < a < 1.

Обучение

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

Но что, если мы хотим изучить более одного поведения. Мы можем сделать это как люди, так почему же глубокое обучение не может достичь этого, учитывая его значительный прогресс в последние годы? Это звучало разумно, поэтому мы попробовали!

В предыдущих работах [1, 2, 3, 4] оптимальное управление с обратной связью по состоянию u(s) изучалось путем демонстрации оптимальных траекторий из принципа максимума Понтрягина с использованием глубоких многослойных персептронов.

Имея большую базу данных оптимальных траекторий, мы можем создать такую ​​обучающую базу данных:

State     Control
s_0       u_0
s_1       u_1
s_2       u_2
...       ...
s_m       u_m

С помощью нейронной сети и этой базы данных мы можем изучить отображение состояния на оптимальное управление s -> u.

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

State     Homotopy Parameter     Control
s_0       a_0                    u_0
s_1       a_1                    u_1
s_2       a_2                    u_2
...       ...                    ...
s_m       a_m                    u_m

С помощью этого типа базы данных мы изучаем отображение состояния и параметра гомотопии в оптимальное управление (s, a) -> u. Это позволяет нам использовать нейронную сеть в качестве оптимального контроллера обратной связи по состоянию, что позволяет нам изменить оптимизируемые критерии на лету!

Представление

Удивительно, но реализованная нейронная сеть смогла изучить прерывистый гомотопический путь между оптимальным управлением топливом (выстрел-выстрел) и оптимальным управлением по времени (выстрел).

Выводы

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

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

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

Спраг, Кристофер Илифф, Дарио Иззо и Петтер Огрен. «Изучение семейства контроллеров с обратной связью по оптимальному состоянию. (2019)»

Ваше здоровье!