Imitation Learning
&
Inverse RL

 

lecturer: Pavel Temirchev

Is the reward always given?

  • In games the reward is natural
     
  • But in reality is not always

\( r(s, a) = 1\) if running \(0\) otherwise - hard to evaluate
(and hard to optimize)

\( r(s, a) = w_0 v(s) - w_1 ||a||^2 + w_2 [ |\theta_{torso}(s)| < \epsilon ] + w_3 [ h_{torso}(s) > h ] \)
Hard to construct and choose coefficients

Sometimes it is easier to show rather than evaluate

Напоминалка: обучение с учителем

Supervised learning

  • Имеется выборка:
    \( D :=\{ (x_i, y_i)\} \)
  • Нужно выучить отображение:
    \( \hat{y}_i = f(x_i) \)
  • Такое, что:
    \(\hat{y}_i \approx y_i \)

Стандартное предположение:

  • Правильные ответы \(y_i\) известны

\(x_i\) - изображение

\(y_i\) - метка класса

СОБАКА

КОШКА

Учитель

Процесс принятия решений

Decision Process  (a self-driving car)

Процесс принятия решений

Decision Process

Наблюдения:

  • Изображения с видеокамеры
  • Данные с датчиков

Действия:

  • Газ \ тормоз
  • Поворот руля

Цель:

  • ехать по маршруту

\(s_i\) - изображение

\(a_i\) - действие

ДЕЙСТВИЕ 1

ДЕЙСТВИЕ 2

? кто разметит выборку ?
!! действия влияют на наблюдения !!
??
??

Behavior Clonning

Что, если попросить эксперта сказать, какие действия хорошие?

А затем применить обучение с учителем.

На примере self-driving cars (беспилотный автомобиль):

  1. Берем хорошего водителя
  2. Отправляем ездить по маршруту
  3. Записываем видео его траекторий (\( s_i\))
  4. Сохраняем историю его действий (\(a_i\))
  5. Обучаем ML модель \(\pi\):
    \( a_i \approx \pi(s_i) \)

Behavior Clonning

Неизбежно, наш агент заедет туда, где эксперт никогда не был.

Агент не знает, как себя там вести.

Проблема Distributional Shift:

Наши наблюдения меняются с изменением стратегии!

A Machine Learning Approach to Visual Perception of Forest Trails for Mobile Robots (Giusti, 2015):

DAGGER

Можно просить эксперта возвращать агента на путь истинный.

На примере self-driving cars (беспилотный автомобиль):

  • Отправляем водителя ездить по маршруту
  • Записываем его траектории \(s_i\) и действия \(a_i\)
  • Обучаем ML модель \( \pi: a_i \approx \pi(s_i) \)
  • Делаем, пока не удовлетворены:
    • Пускаем агента в город, собираем траектории \(s_i\)
    • Просим эксперта дать правильные действия \(a_i\) для собранных траекторий \(s_i\)

DAGGER

Плюсы:

  • Очень прост
  • Иногда хорошо работает

Минусы:

  • Эксперт нужен в режиме онлайн
  • Агент не будет лучше эксперта
  • Не всегда эксперт вообще знает, что делать!

Действия: напряжение, подаваемое на моторчики в суставах

DAGGER

Imitation Learning setting

Standard RL setting:


given:

  • environment
  • reward function

find:

  • optimal policy

Imitation Learning setting:


given:

  • environment
  • samples from expert policy

find:

  • optimal policy

Idea

  • Learn (somehow) reward function \( R_\theta (s, a) \), the expert is trying to maximize
     
  • Find the policy \(\pi_\phi\), that maximizes the learned reward \(R_\theta\)

Is it even possible?

Is it even possible?

Inverse Reinforcement Learning

Standard RL setting:


given:

  • environment
  • reward function

find:

  • optimal policy

Inverse RL setting:


given:

  • environment
  • samples from expert policy

find:

  • reward function
  • optimal policy

Maximum Entropy Inverse RL

\pi_{expert}(\tau) = \frac{1}{Z} \exp(R_\psi(\tau))

Assume, expert acts proportionally to the exponent of reward:

R_\psi(\tau) = \sum_{(s,a) \in \tau} r_\psi(s,a)
\mathcal{L}(\psi) = \sum_{\tau \in \mathcal{D}} \log \pi_{expert}(\tau)

Maximum likelihood approach, again:

= \sum_{\tau \in \mathcal{D}} R_\psi(\tau) - N\log\sum_\tau \exp(R_\psi(\tau))

Not good at all! Let's find gradients

= \sum_{\tau \in \mathcal{D}} \left[ R_\psi(\tau) - \log\sum_{\tau'}\exp(R_\psi(\tau')) \right] =

Maximum Entropy Inverse RL

\nabla\mathcal{L}(\psi) = \sum_{\tau \in \mathcal{D}} \nabla R_\psi(\tau) - N\nabla\big [\log\sum_\tau \exp(R_\psi(\tau)) \big]
= \sum_{\tau \in \mathcal{D}} \nabla R_\psi(\tau) - N\frac{1}{\sum_\tau \exp(R_\psi(\tau))}\sum_\tau \exp(R_\psi(\tau)) \nabla R_\psi(\tau)

Let's find gradients

= N \left[ \mathbb{E}_{\tau \sim \mathcal{D}} \nabla R_\psi(\tau) - \mathbb{E}_{\tau \sim \pi^*_\psi} \nabla R_\psi(\tau) \right]

log

exp

reward

softmax

Maximum Entropy Inverse RL

Model-based algorithm - not practical

Lets approximate the policy

\( \text{KL}\left( \pi_\phi(\tau) || \pi^*_\psi(\tau) \right) = \mathbb{E}_{\tau \sim \pi_\phi} \log \frac{\pi_\phi(\tau)}{\pi^*_\psi(\tau)} \)

\( = \mathbb{E}_{\tau \sim \pi_\phi} \log \pi_\phi(\tau) - \mathbb{E}_{\tau \sim \pi_\phi} R_\psi(\tau) + \mathbb{E}_{\tau \sim \pi_\phi} \log \sum_{\tau'} \exp (R_\psi(\tau')) \)

does not depend on \( \phi \)

\( \propto \mathbb{E}_{\tau \sim \pi_\phi} \log \pi_\phi(\tau) - \mathbb{E}_{\tau \sim \pi_\phi} R_\psi(\tau) \)

entropy maximization

reward maximization

Train them both

Step of gradient ascent for reward:

\nabla \mathcal{L}(\psi)= N \left[ \mathbb{E}_{\tau \sim expert} \nabla R_\psi(\tau) - \mathbb{E}_{\tau \sim \pi^*_\psi} \nabla R_\psi(\tau) \right]

Train policy to maximize reward and entropy:

J(\phi)= \mathbb{E}_{\tau \sim \pi_\phi} \left[ \sum_t r_\psi(s_t, a_t) + \mathcal{H} (\pi_\phi(\cdot | s_t)) \right]

Guided Cost Learning (Finn et al., 2016)

GENERATOR
DISCRIMINATOR

Guided Cost Learning (Finn et al., 2016)

Generative Adversarial Networks

Generative Adversarial
Imitation Learning (Ho & Ermon, 2016)

Train discriminator \(D_\psi\) instead of rewards:

Train policy to fake discriminator and maximize entropy:

J(\phi)= \mathbb{E}_{\tau \sim \pi_\phi} \left[ \sum_t -\log D_\psi(s_t, a_t) + \mathcal{H} (\pi_\phi(\cdot | s_t)) \right]
\mathbb{E}_{\tau \sim \pi^*_\psi} \sum_t \log D_\psi(s_t, a_t) + \mathbb{E}_{\tau \sim expert} \sum_t \log (1- D_\psi(s_t, a_t)) \rightarrow \max_\psi

DRL from human preferences (Christiano, 2017)

DRL from human preferences (Christiano, 2017)

DRL from human preferences (Christiano, 2017)

The end

Imitation and Inverse RL

By cydoroga

Imitation and Inverse RL

  • 259