はじめに
強化学習のテキスト
「これからの強化学習」に出てくるベルマン方程式を導出する。自身のための覚書である。
収益
時間ステップ
tにおける収益
G_tとして、次式で定義される割引報酬和を考える。
\begin{equation}
G_t=\sum_{\tau=0}^{\infty}\gamma^{\tau}R_{t+1+\tau}
\end{equation}
ここで、
\gammaは割引率と呼ばれる量であり、
0\leqq\gamma\leqq 1を満たす。
R_tは時間ステップ
tにおける報酬を表す。上式を展開すると
\begin{equation}
G_t=R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+\cdots
\end{equation}
となる。つまり収益
G_tとは、次の時間ステップ
t+1から未来に向かって得られる報酬の和である。
状態価値関数
状態価値関数
V(s)は、時間ステップ
tにおける状態を表す確率変数
S_tの観測値が
sである条件の下で計算される収益
G_tの期待値である。
\begin{equation}
V(s)={\bf E}\left[G_t|S_t=s \right]
\end{equation}
行動価値関数
行動価値関数
Q(s,a)は、確率変数
S_tの観測値が
s、行動を表す確率変数
A_tの観測値がaである条件の下で計算される収益
G_tの期待値である。
\begin{equation}
Q(s,a)={\bf E}\left[G_t|S_t=s,A_t=a \right]
\end{equation}
ところで、
S_t=sのとき収益
G_tが実現する確率
P(G_t|S_t=s)と
S_t=s, A_t=aのとき収益
G_tが実現する確率
P(G_t|S_t=s,A_t=a)の間にはベイズの定理から次式が成り立つ。
\begin{equation}
P(G_t|S_t=s)=\sum_a P(A_t=a|S_t=s)P(G_t|S_t=s,A_t=a)
\end{equation}
ここで、
P(A_t=a|S_t=s)は、状態
sのとき行動
aが選択される確率であり、特に
\pi(a|s)と表記される。これはエージェントの方策を決める確率である。上の関係式から、状態価値関数と行動価値関数の間には次式が成り立つ。
\begin{equation}
V(s)=\sum_{a}\pi(a|s)Q(s,a)
\end{equation}
ベルマン方程式
状態価値関数
V(s)に式(2)を代入して
\begin{eqnarray}
V(s)&=&{\bf E}\left[G_t|S_t=s \right] \\
&=&{\bf E}\left[R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+\cdots|S_t=s \right] \\
&=&{\bf E}\left[R_{t+1}|S_t=s \right] +\gamma{\bf E}\left[R_{t+2}+\gamma R_{t+3}+\cdots|S_t=s \right]
\end{eqnarray}
を得る。右辺第1項は
\begin{eqnarray}
{\bf E}\left[R_{t+1}|S_t=s \right] &=&\sum_{s^{\prime},a}P(S_{t+1}=s^{\prime},A_t=a|S_t=s)\;R_{t+1} \\
&=&\sum_{s^{\prime},a}P(S_{t+1}=s^{\prime}|S_t=s,A_t=a)P(A_t=a|S_t=s)\;R_{t+1} \\
&=&\sum_{s^{\prime},a}P(s^{\prime}|s,a)\pi(a|s)\;r(s,a,s^{\prime})
\end{eqnarray}
となる。ここで、報酬関数
r(S_t,A_t,S_{t+1})を導入した。これは現在の状態と行動、および次の状態から報酬が決定されることを表している。また、確率
Pは、確率変数ではなくその実現値に依存するものである。従って、確率変数を省略することができる。
次に、式(9)の第2項を考える。
\begin{equation}
{\bf E}\left[R_{t+2}+\gamma R_{t+3}+\cdots|S_t=s \right]
=
{\bf E}\left[R_{t+2}|S_t=s \right]+
\gamma{\bf E}\left[R_{t+3}|S_t=s \right]+\cdots
\end{equation}
これの右辺第1項は
\begin{eqnarray}
{\bf E}\left[R_{t+2}|S_t=s \right]
&=&
\sum_{s^{\prime\prime},s^{\prime},a^{\prime},a} P(S_{t+2}=s^{\prime\prime},A_{t+1}=a^{\prime},S_{t+1}=s^{\prime},A_t=a|S_t=s)\;R_{t+2} \\
&=&
\sum_{s^{\prime\prime},s^{\prime},a^{\prime},a} P(S_{t+2}=s^{\prime\prime},A_{t+1}=a^{\prime}|S_{t+1}=s^{\prime})P(S_{t+1}=s^{\prime},A_t=a|S_t=s)\;R_{t+2} \\
&=&\sum_{s^{\prime},a} P(S_{t+1}=s^{\prime},A_t=a|S_t=s)\sum_{s^{\prime\prime},a^{\prime}}P(S_{t+2}=s^{\prime\prime},A_{t+1}=a^{\prime}|S_{t+1}=s^{\prime})\;R_{t+2} \\
&=&\sum_{s^{\prime},a} P(s^{\prime},a|s)\;{\bf E}\left[R_{t+2}|S_{t+1}=s^{\prime} \right] \\
&=&\sum_{s^{\prime},a} P(s^{\prime}|s,a)\pi(a|s)\;{\bf E}\left[R_{t+2}|S_{t+1}=s^{\prime} \right]
\end{eqnarray}
となる。式(16)からの(17) への変形では、確率変数を省略し、式(10)を用いた。式(13)の他の項についても同様に計算することにより次式を得る。
\begin{eqnarray}
{\bf E}\left[R_{t+2}+\gamma R_{t+3}+\cdots|S_t=s \right]&=&\sum_{s^{\prime},a} P(s^{\prime}|s,a)\pi(a|s)\;{\bf E}\left[R_{t+2}+\gamma R_{t+3}+\cdots|S_{t+1}=s^{\prime} \right] \\
&=&
\sum_{s^{\prime},a} P(s^{\prime}|s,a)\pi(a|s)\;V(s^{\prime})
\end{eqnarray}
式(19)から(20)への変形では
V(s)の定義を用いた。最後に式(12)と(20)から次式を得る。
\begin{equation}
V(s)=\sum_{s^{\prime},a} P(s^{\prime}|s,a)\pi(a|s)\left[r(s,a,s^{\prime})+\gamma V(s^{\prime})\right]
\end{equation}
これを状態価値関数に関するベルマンの方程式と呼ぶ。
次に行動価値関数についてのベルマン方程式を求める。
\begin{eqnarray}
Q(s,a)&=&{\bf E}\left[G_t|S_t=s,A_t=a \right] \\
&=&{\bf E}\left[R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+\cdots|S_t=s,A_t=a \right] \\
&=&{\bf E}\left[R_{t+1}|S_t=s,A_t=a \right] +\gamma{\bf E}\left[R_{t+2}+\gamma R_{t+3}+\cdots|S_t=s,A_t=a \right]
\end{eqnarray}
右辺第1項は
\begin{eqnarray}
{\bf E}\left[R_{t+1}|S_t=s,A_t=a \right]
&=&\sum_{s^{\prime}}P(S_{t+1}=s^{\prime}|S_t=s,A_t=a)\;R_{t+1} \\
&=&\sum_{s^{\prime}}P(s^{\prime}|s,a)\;r(s,a,s^{\prime})
\end{eqnarray}
右辺第2項は
\begin{equation}
{\bf E}\left[R_{t+2}+\gamma R_{t+3}+\cdots|S_t=s,A_t=a \right]
=
{\bf E}\left[R_{t+2}|S_t=s,A_t=a \right]+
\gamma{\bf E}\left[R_{t+3}|S_t=s,A_t=a \right]+\cdots
\end{equation}
これの右辺第1項は
\begin{eqnarray}
&&{\bf E}\left[R_{t+2}|S_t=s,A_t=a \right] \\
&=&
\sum_{s^{\prime\prime},s^{\prime},a^{\prime}} P(S_{t+2}=s^{\prime\prime},A_{t+1}=a^{\prime},S_{t+1}=s^{\prime}|S_t=s,A_t=a)\;R_{t+2} \\
&=&
\sum_{s^{\prime\prime},s^{\prime},a^{\prime}} P(S_{t+2}=s^{\prime\prime},A_{t+1}=a^{\prime}|S_{t+1}=s^{\prime})P(S_{t+1}=s^{\prime}|S_t=s,A_t=a)\;R_{t+2} \\
&=&\sum_{s^{\prime}}
\sum_{s^{\prime\prime},s^{\prime},a^{\prime}}
P(S_{t+2}=s^{\prime\prime}|S_{t+1}=s^{\prime},A_{t+1}=a^{\prime})
P(A_{t+1}=a^{\prime}|S_{t+1}=s^{\prime}) \times\\
&&
\hspace{200pt}P(S_{t+1}=s^{\prime}|S_t=s,A_t=a)\;R_{t+2} \\
&=&\sum_{s^{\prime}}
P(S_{t+1}=s^{\prime}|S_t=s,A_t=a)
\sum_{a^{\prime}}
P(A_{t+1}=a^{\prime}|S_{t+1}=s^{\prime})\times \\
&&
\hspace{200pt}\sum_{s^{\prime\prime}}
P(S_{t+2}=s^{\prime\prime}|S_{t+1}=s^{\prime},A_{t+1}=a^{\prime})\;R_{t+2} \\
&=&\sum_{s^{\prime}}
P(S_{t+1}=s^{\prime}|S_t=s,A_t=a)
\sum_{a^{\prime}}
P(A_{t+1}=a^{\prime}|S_{t+1}=s^{\prime})
\;{\bf E}\left[R_{t+2}|S_{t+1}=s^{\prime},A_{t+1}=a^{\prime} \right] \\
&=&\sum_{s^{\prime}}
P(s^{\prime}|s,a)
\sum_{a^{\prime}}
\pi(a^{\prime}|s^{\prime})
\;{\bf E}\left[R_{t+2}|S_{t+1}=s^{\prime},A_{t+1}=a^{\prime} \right]
\end{eqnarray}
他の項についても同様な計算を行えば次式を得る。
\begin{eqnarray}
&&{\bf E}\left[R_{t+2}+\gamma R_{t+3}+\cdots|S_t=s,A_t=a \right]\\
&=&
\sum_{s^{\prime}}
P(s^{\prime}|s,a)\sum_{a^{\prime}}
\pi(a^{\prime}|s^{\prime})
\;{\bf E}\left[R_{t+2}+\gamma R_{t+3}+\cdots|S_{t+1}=s^{\prime},A_{t+1}=a^{\prime} \right] \\
&=&
\sum_{s^{\prime}}
P(s^{\prime}|s,a)\sum_{a^{\prime}}
\pi(a^{\prime}|s^{\prime})
\;Q(s^{\prime},a^{\prime}) \\
\end{eqnarray}
式(26)と(37)から最終的に次式を得る。
\begin{equation}
Q(s,a)=\sum_{s^{\prime}} P(s^{\prime}|s,a)\left[r(s,a,s^{\prime})+\gamma \sum_{a^{\prime}}\pi(a^{\prime}|s^{\prime})Q(s^{\prime},a^{\prime})\right]
\end{equation}
式(6)を使えば
\begin{equation}
Q(s,a)=\sum_{s^{\prime}} P(s^{\prime}|s,a)\left[r(s,a,s^{\prime})+\gamma\;V(s^{\prime})\right]
\end{equation}
とも書ける。これらが、行動価値関数についてのベルマン方程式である。