Почему Q-Learning - это обучение вне политики? - PullRequest
0 голосов
/ 10 декабря 2018

Привет, сообщество переполнения стека!

В настоящее время я слежу за лекциями Дэвида Сильвера по обучению подкреплению и в какой-то момент действительно запутался в его слайде «Контроль без модели».

ВНа слайдах Q-Learning рассматривается как обучение вне политики.Я не мог понять причину этого.Также он упоминает, что у нас есть как целевые, так и поведенческие политики.Какова роль политики поведения в Q-Learning?

Когда я смотрю на алгоритм, он выглядит так просто, как обновить оценку Q (s, a), используя максимальное значение Q (s ', a') функция.На слайдах это сказано как «мы выбираем следующее действие, используя политику поведения», но здесь мы выбираем только максимальное.

Я так запутался в алгоритме Q-Learning.Не могли бы вы мне помочь?

Ссылка на слайд (страницы: 36-38): http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/control.pdf

Ответы [ 2 ]

0 голосов
/ 13 декабря 2018

В идеале вы хотите узнать истинную Q-функцию, то есть ту, которая удовлетворяет уравнению Беллмана

Q(s,a) = R(s,a) + gamma*E[Q(s',a')]   forall s,a

, где ожидание превышает a' по отношению к политике.

Во-первых, мы приближаем проблему и избавляемся от «ошибок», потому что у нас есть доступ только к нескольким выборкам (особенно при непрерывном действии, когда «поиск» приводит к бесконечному числу ограничений).Во-вторых, скажем, вы хотите изучить детерминистическую политику (если есть оптимальная политика, то есть детерминированная оптимальная политика).Тогда ожидание исчезает, но вам нужно как-то собрать образцы.Вот где возникает политика «поведения», которая обычно представляет собой просто шумную версию политики, которую вы хотите оптимизировать (наиболее распространенными являются e-жадность или вы добавляете гауссовский шум, если действие непрерывно).

Итак, теперь у вас есть образцы, собранные из политики поведения и целевой политики (детерминированной), которую вы хотите оптимизировать.Результирующее уравнение равно

Q(s,a) = R(s,a) + gamma*Q(s',pi(s'))

разница между двумя сторонами является ошибкой TD, и вы хотите минимизировать ее, учитывая выборки, собранные из политики поведения

min E[R(s,a) + gamma*Q(s',pi(s')) - Q(s,a)] 

, где ожидаемое значение приблизительнос выборками (s,a,s'), собранными с использованием политики поведения.

Если мы рассмотрим псевдокод Соруша, если действия дискретны, то pi(s') = max_A Q(s',A) и правило обновления является производной от ошибки TD (0).

Вот несколько хороших простых текстов, чтобы узнать больше о TD: 1 , 2 , 3 , 4 .


РЕДАКТИРОВАТЬ

Просто чтобы подчеркнуть разницу между включенной и выключенной политикой. SARSA находится в режиме on-policy, потому что ошибка TD для обновления политики:

min E[R(s,a) + gamma*Q(s',a') - Q(s,a)] 

a' - это действие, собираемое при выборке данных с использованием политики поведения, а не pi(s') (действие, которое целевая политика выберет в состоянии s').

0 голосов
/ 11 декабря 2018

сначала проверьте этот ответ https://stats.stackexchange.com/a/184794

Q-learning algorithm

Насколько мне известно, целевая политика - это то, что мы определяем как нашу политику, это может быть эпсилон-жадный или что-то еще.но в поведенческой политике мы просто используем жадную политику, чтобы выбрать действие, даже не принимая во внимание то, что является нашей целевой политикой, поэтому он оценивает наш Q, предполагая, что соблюдена жадная политика, несмотря на то, что она не следует жадной политике.

...