Reinforcement Learning as Probabilistic Inference

report is made by
Pavel Temirchev

 

Deep RL

reading group

 

based on the research of Sergey Levine's team

Мотивация

1) Sample Complexity!

2) Сходимость к локально-оптимальным политикам

Проблемы стандартного RL:

Идея: поощрять алгоритм исследовать все "оптимальные" стратегии!

REMINDER: стандартный RL

Марковский процесс:

a_0
s_0
a_1
s_1
a_2
s_2
p(\tau) = p(s_0) \prod_{t=0}^T p(a_t|s_t) p(s_{t+1}|s_t, a_t)

Задача максимизации:

\pi^\star = \arg\max_\pi \sum_{t=0}^T \mathbb{E}_{s_t, a_t \sim \pi} [r(s_t, a_t)]
Q^\pi(s_t,a_t) := r(s_t,a_t) + \sum_{t'=t+1}^T \mathbb{E}_{s_{t'}, a_{t'} \sim \pi} [r(s_{t'}, a_{t'})]

Q-функция:

Q^\star(s_t,a_t) = r(s_t,a_t) + \mathbb{E}_{s_{t+1}} V^\star(s_{t+1})

Соотношение Бэллмана (оптимальная Q-функция):

V^\star(s_t) = \max_a Q^\star(s_{t}, a)

Maximum Entropy RL

a_t \sim \mathcal{N}(\cdot| \pi^\star, \sigma^2)

Стандартный RL:

a_t \sim \exp{Q(s_t, a_t)}

Политика, пропорциональная Q:

Как найти такую политику?

\min_\pi\text{KL}\Big(\pi(\cdot|s_0)||\exp{Q(s_0, \cdot)}\Big) =
\max_\pi \mathbb{E}_\pi \Big[ Q(s_0, a_0) - \log \pi(a_0|s_0) \Big] =
\max_\pi \mathbb{E}_\pi \Big[ \sum_t^T r(s_t, a_t) {\color{pink}+ \mathcal{H} \big( \pi(\cdot|s_t) \big)}\Big]
Q(s_0, a_0)

RL как вероятностный вывод

a_0
s_0
a_1
s_1
\mathcal{O}_0
\mathcal{O}_1

Оптимальность:

p(\mathcal{O}_t =1 |s_t, a_t) := p(\mathcal{O}_t |s_t, a_t) = \exp(r(s_t, a_t))

Оптимальная траектория:

p(\tau|\mathcal{O}_{0:T}) \propto p(\tau,\mathcal{O}_{0:T})

RL:

Какая траектория приведет нас к оптимальному будущему?

Probabilistic Inference:

Какой могла быть траектория, если будущее оптимально?

Вариационный вывод

Распределение над оптимальными траекториями

(в соответствии с вероятностной моделью):

Форма      - это наш выбор (вариационное приближение):

q(\tau) = p(s_0)\prod_{t=0}^T\pi(a_t|s_t) p(s_{t+1}|s_t,a_t)
p(\tau|\mathcal{O}_{0:T}) \propto p(\tau,\mathcal{O}_{0:T}) = p(s_0)\prod_{t=0}^Tp(a_t|s_t)p(s_{t+1}|s_t,a_t) \exp\big(r(s_t, a_t)\big)

Задача вариационного вывода:

\text{KL}\big(q(\tau)||p(\tau,\mathcal{O}_{0:T})\big) \rightarrow \min_q
q(\tau)

        определяет траектории, по которым двигается агент

q

фиксируем динамику среды!

Вариационный вывод

Тогда:

\min_q \text{KL}\big(q(\tau)||p(\tau,\mathcal{O}_{0:T})\big) = - \min_q \mathbb{E}_q \frac{\log p(\tau,\mathcal{O}_{0:T})}{\log q(\tau)} =

Знакомый функционал - Maximum Entropy RL

= \max_q \mathbb{E}_q \Big[ \log p(s_0)+\sum_{t} \big( \log p(s_{t+1}|s_t,a_t) + r(s_t, a_t) \big) -
- \log p(s_0)-\sum_{t} \big( \log p(s_{t+1}|s_t,a_t) - \log \pi(a_t| s_t) \big) \Big]=
= \max_\pi \mathbb{E}_\pi \sum_{t}\Big[ r(s_t, a_t) + \mathcal{H}\big( \pi(\cdot| s_t)\big) \Big]

Возвращаясь к Q и V функциям

Данную задачу оптимизации можно переписать как:

V^{soft}(s_t) =\log \int \exp Q^{soft}(s_t, a_t) da_t
Q^{soft}(s_t, a_t) = r(s_t, a_t) + \mathbb{E}_{p(s_{t+1}|s_t, a_t)} V^{soft}(s_{t+1})

проверьте дома!

\pi(a_t|s_t) =\frac{\exp(Q^{soft}(s_t, a_t))}{\exp(V^{soft}(s_t))}
\sum_{t=0}^T\mathbb{E}_{s_t} \Big[ -\text{KL}\Big(\pi(a_t|s_t)||\frac{\exp(Q^{soft}(s_t, a_t))}{\exp(V^{soft}(s_t))}\Big) + V^{soft}(s_t) \Big] \rightarrow \max_\pi

То есть оптимальная политика:

где

- мягкий максимум

- соотношение Бэллмана

Вариационный вывод с использованием аппроксиматоров функций

Maximum Entropy Policy Gradients

\mathbb{E}_{\tau \sim \pi_\theta} \sum_{t=0}^T\Big[ r(s_t, a_t) + \mathcal{H}\big(\pi_\theta(\cdot|s_t)\big) \Big] \rightarrow \max_\theta

Напрямую максимизируем "энтропийную" награду

по параметрам политики     :

При использовании log-derivative trick, градиент по весам можно записать как:

\sum_{t=0}^T\mathbb{E}_{(s_t,a_t) \sim q_\theta} \Big[ \nabla_\theta \log\pi_\theta(a_t|s_t) \sum_{t'=t}^T\Big( r(s_{t'}, a_{t'}) -\log\pi_\theta(a_{t'}|s_{t'}) - b(s_{t'}) \Big)\Big]
\theta

Soft Q-learning

Обучаем Q функцию с параметрами     :

\phi
\mathbb{E}_{(s_t,a_t, s_{t+1}) \sim \mathcal{D}} \Big[ Q^{soft}_\phi(s_t, a_t) - \Big( r(s_t, a_t) + V^{soft}_\phi(s_{t+1})\Big) \Big]^2\rightarrow \min_\phi

используем replay буфер

где

V^{soft}_\phi(s_t) =\log \int \exp Q^{soft}_\phi(s_t, a_t) da_t

для непрерывных действий используем

importance sampling

Политика неявная:

\pi(a_t|s_t) = \exp\big(Q^{soft}_\phi(s_t, a_t) - V^{soft}_\phi(s_t)\big)

для сэмплов можно

использовать SVGD

Soft Q-learning

Exploration

Робастность

Многомодальная политика

Soft Actor-Critic

Обучаем сразу Q и V функции, и политику

\mathbb{E}_{(s_t,a_t, s_{t+1}) \sim \mathcal{D}} \Big[ Q^{soft}_\phi(s_t, a_t) - \Big( r(s_t, a_t) + V^{soft}_\psi(s_{t+1})\Big) \Big]^2\rightarrow \min_\phi

лосс для Q функции:

лосс для V функции:

\hat{V}^{soft}(s_t) = \mathbb{E}_{a_t \sim \pi_\theta} \Big[ Q^{soft}_\phi(s_t, a_t) - \log\pi_\theta(a_t|s_t) \Big]
\mathbb{E}_{s_t \sim \mathcal{D}} \Big[ \hat{V}^{soft}(s_t) - V^{soft}_\psi(s_{t}) \Big]^2 \rightarrow \min_\psi

лосс для политики:

\mathbb{E}_{s_t \sim \mathcal{D}, \;a_t \sim \pi_\theta} \Big[ Q^{soft}_\phi(s_t, a_t) -\log\pi_\theta(a_{t'}|s_{t})\Big] \rightarrow \max_\theta
\mathbb{E}_{(s_t,a_t, s_{t+1}) \sim \mathcal{D}} \Big[ Q^{soft}_\phi(s_t, a_t) - \Big( r(s_t, a_t) + V^{soft}_\psi(s_{t+1})\Big) \Big]^2\rightarrow \min_\phi

лосс для Q функции:

лосс для V функции:

\hat{V}^{soft}(s_t) = \mathbb{E}_{a_t \sim \pi_\theta} \Big[ Q^{soft}_\phi(s_t, a_t) - \log\pi_\theta(a_t|s_t) \Big]
\mathbb{E}_{s_t \sim \mathcal{D}} \Big[ \hat{V}^{soft}(s_t) - V^{soft}_\psi(s_{t}) \Big]^2 \rightarrow \min_\psi

лосс для политики:

\mathbb{E}_{s_t \sim \mathcal{D}, \;a_t \sim \pi_\theta} \Big[ Q^{soft}_\phi(s_t, a_t) -\log\pi_\theta(a_{t'}|s_{t})\Big] \rightarrow \max_\theta

Soft Actor-Critic

Soft Actor-Critic

Спасибо за внимание!

и приходите на семинары RL Reading Group

telegram: https://t.me/theoreticalrl

REFERENCES:

Soft Q-learning:

https://arxiv.org/pdf/1702.08165.pdf

Soft Actor Critic:

https://arxiv.org/pdf/1801.01290.pdf

Big Review on Probabilistic Inference for RL:

https://arxiv.org/pdf/1805.00909.pdf

Имплементация на TensorFlow:

https://github.com/rail-berkeley/softlearning

Быстрая и безболезненная имплементация на Catalyst.RL:

https://github.com/catalyst-team/catalyst/tree/master/examples/rl_gym

Иерархические политики (further reading):

https://arxiv.org/abs/1804.02808

Made with Slides.com