Артём Сорокин | 07 Декабря
Что мы хотим получить при помощи обучения с подкреплением:
where:
Задача:
Мы бы хотели найти градиент нашей целевой функции по параметрам стратегии πθ, которая генерирует траектории
Целевая функция
кумулятивная награда за траекторию
Чтобы максимизировать средний ожидаемый доход:
Найдем:
Log-derivative trick:
Максимизируем средний ожидаемый доход:
Градиент по θ:
Распишем pθ(τ):
Возьмем логарифм:
Градиент по Стратегии:
Максимизируем средний ожидаемый доход:
Градиент по θ:
Мы не знаем реального значения мат. ожидания здесь:
Как всегда можем оценить его используя сэмплирование:
Оцениваем Градиент по стратегии:
Обновляем параметры стратегии:
Псевдокод:
REINFORCE оценивает градиент по стратегии (Policy Gradient):
Для оценки градиента по параметрам θ нужно собирать сэмплы при помощи πθ!
On-policy алгоритмы:
Псевдокод:
Представим, что учим стратегию по экспертным траекториями
при помощи обучения с учителем:
Используем Cross Entropy-loss для каждого перехода (st,at,st+1) в датасете :
0.2
0.7
0.1
1
0
0
Ground Truth из датасета в st:
Стратегия в st:
at
Градиент при клонировании поведения (Behaviour Clonning):
Градиент по стратегии:
Цель минимизировать JBC(θ)
Цель максимизировать J(θ)
Цель максимизировать −JBC(θ)
BC учит модель выбирать теже действия что и эксперт!
PG учит модель выбирать действия ведущие к высоким наградам за эпизод!
Градиент по стратегии:
PG учит стратегию выбирать действия ведущие к высокому доходу за эпизод!
Проблема: высокая дисперсия!
выглядит подозрительно!
Принцип причинности: действие на шаге t не может повлиять на награду за шаг t′ если t′<t
выглядит подозрительно!
Последние действия становятся менее значимыми!
Финальная Версия:
Принцип причинности: действие на шаге t не может повлиять на награду за шаг t′ если t′<t
Обновляем стратегию пропорционально доходу τ(r):
Обновляем стратегию пропорционально тому на сколько τ(r) лучше чем средний доход:
где:
Вычитание бейзлайна дает несмещенную оценку (и часто работает лучше):
В методах на основе функций ценности (DQN, Q-learning, SARSA, и тд.) мы использовали ϵ-жданую стратегию, чтобы агент исследовал новые варианты в среде
Регуляризация энтропии стратегии агента:
В методах с явным представлением стратегии агента, можно использовать более гибкий вариант:
Добавление к функции потерь −H(πθ):
Финальная версия REINFORCE с "учетом причинности" и бейзлайном:
Вспоминаем Функции ценности:
Что это?
Оценка Qπθ(si,t,ai,t) по одному сэмплу
Совместим Градиент по стратегии и Функции Ценности!
Вспомним про бейзлайн:
дисперсия меньше чем у оценки по одному сэмплу
Тут тоже стоит учесть причинность....
Функция приемущества / Advantage Function:
апроксимируем это значение при помощи одного сэмпла
на сколько at лучше чем обычное поведение стратегии
Легче учить только одну функцию!
...но можно сделать еще лучше:
Совместим Градиент по стратегии и Функции Ценности!
Функция приемущества:
Выучить V-функцию легче, т.к. она зависит от меньшего числа аргументов
Совместим Градиент по стратегии и Функции Ценности!
на сколько at лучше чем обычное поведение стратегии
Policy Iteration напоминалка:
В DQN была Target Network, тут просто не проводим градиенты.
ϕ: свой набор параметров
Answer: Учим на нескольких средах одновременно!
Не можем использовать Replay Memory, но нам нужно декоррелировать сэмплы
Каждый рабочий:
Взаимодествие с каждой средой и обучение происходит асинхронно
Приемущества:
Недостатки:
Взаимодествие с каждой средой и обучение происходит асинхронно
Решение проблем A3C:
Эту версию обычно называют A2C... снова...
Приемущества:
Недостатки:
Эту версию обычно называют A2C... снова...