Skip to content

Commit

Permalink
fix #5; footnotes correction; added minor comments
Browse files Browse the repository at this point in the history
  • Loading branch information
FortsAndMills committed Jan 13, 2022
1 parent 8d408d9 commit 360cac2
Show file tree
Hide file tree
Showing 30 changed files with 143 additions and 70 deletions.
2 changes: 1 addition & 1 deletion src/1.Setup/1.1.MDP.tex
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ \subsection{Марковский процесс принятия решений
\vspace{-0.9cm}
\end{wrapfigure}

Покажем, что от самого общего случая (генерации награды и состояний из распределения $p(r, s' \HM\mid s, a)$) можно перейти к детерминированной функции награды только от текущего состояния. Добавим в описание состояний информацию о последнем действии и последней полученной агентом награде, то есть для каждого возможного (имеющего ненулевую вероятность) перехода $(s, a, r, s')$ размножим $s'$ по числу\footnote{которое в худшем случае континуально, так как награда --- вещественный скаляр.} возможных исходов $p(r \HM\mid s, a)$ и по числу действий. Тогда можно считать, что на очередном шаге вместо $r(s, a)$ агенту выдаётся $r(s')$, и вся стохастика процесса формально заложена только в функции переходов. \QED
Покажем, что от самого общего случая (генерации награды и состояний из распределения $p(r, s' \HM\mid s, a)$) можно перейти к детерминированной функции награды только от текущего состояния. Добавим в описание состояний информацию о последнем действии и последней полученной агентом награде, то есть для каждого возможного (имеющего ненулевую вероятность) перехода $(s, a, r, s')$ размножим $s'$ по числу\footnote[*]{которое в худшем случае континуально, так как награда --- вещественный скаляр.} возможных исходов $p(r \HM\mid s, a)$ и по числу действий. Тогда можно считать, что на очередном шаге вместо $r(s, a)$ агенту выдаётся $r(s')$, и вся стохастика процесса формально заложена только в функции переходов. \QED
\end{theorem}

Считать функцию награды детерминированной удобно, поскольку позволяет не городить по ним мат. ожидания (иначе нужно добавлять сэмплы наград в определение траекторий). В любом формализме всегда принято считать, что агент сначала получает награду и только затем наблюдает очередное состояние.
Expand Down
2 changes: 1 addition & 1 deletion src/3.ClassicTheory/3.1.ValueFunctions.tex
Original file line number Diff line number Diff line change
Expand Up @@ -426,7 +426,7 @@ \subsection{Вид оптимальной стратегии (доказател
\end{cases}
$$

Решением такой задачи, в частности\footnote{здесь записана просто задача линейного программирования на симплексе ($\pi_t$ обязано быть распределением); общим решением задачи, соответственно, будет любое распределение, которое размазывает вероятности между элементами множества $\Argmax\limits_{a} Q^*_t(s, a)$.}, будет детерминированная стратегия
Решением такой задачи, в частности\footnote[*]{здесь записана просто задача линейного программирования на симплексе ($\pi_t$ обязано быть распределением); общим решением задачи, соответственно, будет любое распределение, которое размазывает вероятности между элементами множества $\Argmax\limits_{a} Q^*_t(s, a)$.}, будет детерминированная стратегия
$$\pi_t^*(s) \coloneqq \argmax_{a} Q^*_t(s, a)$$
а сам максимум, соответственно, будет равняться $\max\limits_{a} Q^*_t(s, a)$. Соответственно, $\max\limits_{\substack{\pi_t \\ \pi_{t+1} \\ \cdots}} V^\pi_t(s)$ достигает верхней оценки при этой $\pi^*_t$ и том наборе $\pi^*_{t+1}, \pi^*_{t+2} \dots$, на котором достигается значение $Q^*_t(s, \pi_t^*(s) )$.
\end{proof}
Expand Down
12 changes: 4 additions & 8 deletions src/3.ClassicTheory/3.2.PolicyImprovement.tex
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ \subsection{Advantage-функция}\label{subsection:advantage}

Допустим, мы находились в некотором состоянии $s$, и засэмплировали $a \HM\sim \pi(a \HM\mid s)$ такое, что $Q^\pi(s, a) \HM> V^\pi(s)$. Что можно сказать о таком действии? Мы знаем, что вообще в среднем политика $\pi$ набирает из данного состояния $V^\pi(s)$, но какой-то выбор действий даст в итоге награду больше $V^\pi(s)$, а какой-то меньше. Если $Q^\pi(s, a) \HM> V^\pi(s)$, то после того, как мы выбрали действие $a$, <<приняли решение>>, наша средняя будущая награда вдруг увеличилась.

Мы ранее обсуждали в разделе \ref{RLproblems} такую особую проблему обучения с подкреплением, как credit assingment, которая звучит примерно так: допустим, мы засэмплировали из траекторию $s, a, s', a', \dots $ до конца эпизода, и в конце в финальном состоянии через $T$ шагов получили сигнал (награду) +1. Мы приняли $T$ решений, но какое из всех этих действий повлекло получение этого +1? <<За что нас наградили?>> Повлияло ли на получение +1 именно то действие $a$, которое мы засэмплировали в стартовом $s$? Вопрос нетривиальный, потому что в RL есть отложенный сигнал: возможно, именно действие $a$ в состоянии $s$ запустило какую-нибудь цепочку действий, которая дальше при любом выборе $a', a'', \cdots$ приводит к награде +1. Возможно, конечно, что первое действие и не имело никакого отношения к этой награде, и это поощрение именно за последний выбор. А ещё может быть такое, что имело место везение, и просто среда в какой-то момент перекинула нас в удачное состояние.
Мы ранее обсуждали в разделе \ref{RLproblems} такую особую проблему обучения с подкреплением, как credit assingment, которая звучит примерно так: допустим, мы засэмплировали траекторию $s, a, s', a', \dots $ до конца эпизода, и в конце в финальном состоянии через $T$ шагов получили сигнал (награду) +1. Мы приняли $T$ решений, но какое из всех этих действий повлекло получение этого +1? <<За что нас наградили?>> Повлияло ли на получение +1 именно то действие $a$, которое мы засэмплировали в стартовом $s$? Вопрос нетривиальный, потому что в RL есть отложенный сигнал: возможно, именно действие $a$ в состоянии $s$ запустило какую-нибудь цепочку действий, которая дальше при любом выборе $a', a'', \cdots$ приводит к награде +1. Возможно, конечно, что первое действие и не имело никакого отношения к этой награде, и это поощрение именно за последний выбор. А ещё может быть такое, что имело место везение, и просто среда в какой-то момент перекинула нас в удачное состояние.

Но мы понимаем, что если какое-то действие <<затриггерило>> получение награды через сто шагов, в промежуточных состояниях будет информация о том, сколько времени осталось до получения этой отложенной награды. Например, если мы выстрелили во вражеский инопланетный корабль, и через 100 шагов выстрел попадает во врага, давая агенту +1, мы будем видеть в состояниях расстояние от летящего выстрела до цели, и знать, что через такое-то время нас ждёт +1. Другими словами, вся необходимая информация лежит в идеальных оценочных функциях $Q^\pi$ и $V^\pi$.

Так, если $Q^\pi(s, a) \HM= V^\pi(s)$, то мы можем заключить, что выбор $a$ не привёл ни к какой награде, которую мы не ожидаем в состоянии $s$. Если, например, $r(s, a) \HM+ V^\pi(s') \HM> Q^\pi(s, a)$, то мы можем заключить, что имело место везение: среда засэмплировала такое $s'$, что теперь мы получим больше награды, чем ожидали после выбора $a$ в состоянии $s$. И так далее: мы сможем отследить, в какой конкретно момент случилось то событие (сэмплирование действия или ответ среды), за счёт которого получена награда.
Так, если в некотором состоянии $s$ засэмплировалось такое $a$, что $Q^\pi(s, a) \HM= V^\pi(s)$, то мы можем заключить, что выбор действия на этом шаге не привёл ни к какой <<неожиданной>> награде. Если же $Q^\pi(s, a) \HM> V^\pi(s)$ --- то мы приняли удачное решение, $Q^\pi(s, a) \HM< V^\pi(s)$ --- менее удачное, чем обычно. Если, например, $r(s, a) \HM+ V^\pi(s') \HM> Q^\pi(s, a)$, то мы можем заключить, что имело место везение: среда засэмплировала такое $s'$, что теперь мы получим больше награды, чем ожидали после выбора $a$ в состоянии $s$. И так далее: мы сможем отследить, в какой конкретно момент случилось то событие (сэмплирование действия или ответ среды), за счёт которого получена награда.

Таким образом, идеальный <<кредит>> влияния действия $a$, выбранного в состоянии $s$, на будущую награду равен
$$Q^\pi(s, a) - V^\pi(s),$$
Expand Down Expand Up @@ -118,15 +118,13 @@ \subsection{Policy Improvement}
\end{proof}
\end{theoremBox}

% TODO: пример

Что означает эта теорема? Знание оценочной функции позволяет улучшить стратегию. Улучшать стратегию можно прямо в отдельных состояниях, например, выбрав некоторое состояние $s$ и сказав: неважно, как это повлияет на частоты посещения состояний, но будем конкретно в этом состоянии $s$ выбирать действия так, что значение
\begin{equation}\label{pi_optimization}
\E_{\textcolor{ChadPurple}{\pi_2}(a \mid s)} \textcolor{ChadBlue}{Q^{\pi_1}}(s, a)
\end{equation}
как можно больше. Тогда, если в $s$ действие выбирается <<новой>> стратегией $\textcolor{ChadPurple}{\pi_2}$, а в будущем агент будет вести себя \textit{не хуже}, чем $\textcolor{ChadBlue}{\pi_1}$, то и наберёт он в будущем не меньше $\textcolor{ChadBlue}{Q^{\pi_1}}(s, a)$. Доказательство теоремы \ref{th:policyimprovement} показывает, что выражение \eqref{pi_optimization} является нижней оценкой на награду, которую соберёт <<новый>> агент со стратегией $\textcolor{ChadPurple}{\pi_2}$.

Если эта нижняя оценка поднята выше $\textcolor{ChadBlue}{V^{\pi_1}}(s, a)$, то стратегию удалось улучшить: и тогда какой бы ни была $\pi_1$, мы точно имеем гарантии $\pi_2 \succeq \pi_1$. Важно, что такой policy improvement работает всегда: и для <<тупых>> стратегий, близких к случайному поведению, и для уже умеющих что-то разумное делать.
Если эта нижняя оценка поднята выше $\textcolor{ChadBlue}{V^{\pi_1}}(s)$, то стратегию удалось улучшить: и тогда какой бы ни была $\pi_1$, мы точно имеем гарантии $\pi_2 \succeq \pi_1$. Важно, что такой policy improvement работает всегда: и для <<тупых>> стратегий, близких к случайному поведению, и для уже умеющих что-то разумное делать.

В частности, мы можем попробовать нижнюю оценку \eqref{pi_optimization} максимально поднять, то есть провести \emph{жадный} (greedy) policy improvement. Для этого мы формально решаем такую задачу оптимизации:
$$
Expand All @@ -141,8 +139,6 @@ \subsection{Policy Improvement}

Конечно, мы так не получим <<за один ход>> сразу оптимальную стратегию, поскольку выбор $\textcolor{ChadPurple}{\pi_2}(a \mid s)$ сколь угодно хитро может изменить распределение траекторий, но тем не менее.



\needspace{15\baselineskip}
\begin{example}
Попробуем улучшить стратегию $\pi$ из примера \ref{ex:vfunction}, $\gamma = 0.8$. Например, в состоянии C она выбирает \colorsquare{ChadRed} с вероятностью 1 и получает -1; попробуем посчитать $Q^{\pi}(s \HM= C, \colorsquare{ChadBlue})$:
Expand Down Expand Up @@ -178,7 +174,7 @@ \subsection{Вид оптимальной стратегии (доказател
\begin{proof}[Необходимость]
Допустим, что $\pi$ оптимальна, но для некоторого $\hat{s}$ условие не выполнено, и $\max\limits_{a} A^\pi(\hat{s}, a) > 0$ (меньше нуля он, ещё раз, быть не может в силу утв.~ \ref{adv_is_positive}). Рассмотрим детерминированную $\pi_2$, которая в состоянии $\hat{s}$ выбирает какое-нибудь $\hat{a}$, такое что $A^\pi(\hat{s}, \hat{a}) > 0$ (это можно сделать по условию утверждения --- сам максимум может вдруг оказаться недостижим для сложных пространств действий, но какое-то действие с положительным advantage-ем мы найдём), а в остальных состояниях выбирает какое-нибудь действие, т.ч. advantage-функция неотрицательна. Тогда
$$V^{\pi_2}(\hat{s}) - V^{\pi}(\hat{s}) = \E_{\Traj \sim \pi_2 | s_0 = \hat{s}} \sum_{t \ge 0} \gamma^t A^{\pi}(s_t, a_t) > 0$$
поскольку все слагаемые неотрицательны, и во всех траекториях с вероятностью\footnote{мы специально стартовали из $\hat{s}$, чтобы пары $\hat{s}, \hat{a}$ <<встретились>> в траекториях, иначе могло бы быть такое, что агент в это состояние $\hat{s}$ <<никогда не попадает>>, и отделиться от нуля не получилось бы.} 1 верно $s_0 \HM= \hat{s}, a_0 \HM= \hat{a}$, то есть первое слагаемое равно $A(\hat{s}, \hat{a}) \HM> 0$.
поскольку все слагаемые неотрицательны, и во всех траекториях с вероятностью\footnote[*]{мы специально стартовали из $\hat{s}$, чтобы пары $\hat{s}, \hat{a}$ <<встретились>> в траекториях, иначе могло бы быть такое, что агент в это состояние $\hat{s}$ <<никогда не попадает>>, и отделиться от нуля не получилось бы.} 1 верно $s_0 \HM= \hat{s}, a_0 \HM= \hat{a}$, то есть первое слагаемое равно $A(\hat{s}, \hat{a}) \HM> 0$.
\end{proof}
\end{theoremBox}

Expand Down

0 comments on commit 360cac2

Please sign in to comment.