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

Made with Slides.com