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 (беспилотный автомобиль):
- Берем хорошего водителя
- Отправляем ездить по маршруту
- Записываем видео его траекторий (\( s_i\))
- Сохраняем историю его действий (\(a_i\))
- Обучаем 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
Assume, expert acts proportionally to the exponent of reward:
Maximum likelihood approach, again:
Not good at all! Let's find gradients
Maximum Entropy Inverse RL
Let's find gradients
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:
Train policy to maximize reward and entropy:
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:
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
- 337