本記事では,主に用語の確認をする.
なお,強化学習において頻繁に登場する記号たちをExtraMaterialにまとめている.
エージェントと環境
エージェントは,強化学習における主人公的なポジションであり, 行動(Action) をする.エージェントの行動によって,変化するものが 環境(Environment) である.エージェントは,環境の 状態(State) を得ることによって,次の行動を決定する.行動によって評価されるものが 報酬(Reward) である.
まとめると,時刻$t$のとき次の手順を踏む.
- エージェントは環境から状態$S_t$を得る.
- エージェントは状態$S_t$を用いて行動$A_t$を決定する.
- エージェントは行動$A_t$を実行する.
- エージェントは環境から報酬$R_t$を得る.
- 時刻$t+1$に移る.
決定的,確率的挙動
ロボット(エージェント)が迷路の中で,右に移動するという行動を取った.しかし,たまたま床がツルツルで滑ってしまうことが原因で,$0.1$の確立で左に移動してしまうとする.あるいは,エージェント以外が状態を変化させるような問題も考えられる.このような,行動に対して状態が確率によって変化することを 確率的(stochastic) な挙動 と呼ぶ.逆に,行動が確率によって変化しないことを 決定的(deterministic) な挙動 と呼ぶ.
決定的な挙動は式($1$)で表される. $$ \begin{align} s^\prime = f(s,a) \end{align} $$ $f$は状態$s$と行動$a$を受け取り,次の状態$s^\prime$を返す関数である.
また,状態$s$と行動$a$を取って状態$s^\prime$が得られる確率を式($2$)の$p$で表記する. $$ \begin{align} p(s^\prime|s,a) \end{align} $$ $p(s^\prime|s,a)$のパイプラインのような記号$|$を用いた表記は,$p(s^\prime)$の$s^\prime$に条件$s,a$を付け足すものである. 例えば,迷路の例で,
- $s$=スタート地点
- $a$=上に進む
- $s^\prime$=座標1に移動する
の場合$p(s^\prime|s,a)$は「スタート地点にいて上に進んだときに,座標1に移動する確率」を表している.
なお,決定的な挙動の場合,$p(s^\prime|s,a)=1$であると考えれば確率的な挙動の特殊ケースと捉えられる.
マルコフ性
$p(s^\prime|s,a)$という式は,次の状態$s^\prime$が現在の状態$s$と行動$a$のみから決まることを意味している.このような性質を マルコフ性(Markov property) と呼ぶ. 別の言い方をすると,過去の行動や状態は考えなくて良いということである.このマルコフ性を仮定することにより,過去の行動を考えた膨大な行動パターンを考える必要がなくなり,問題が解きやすくなる.
方策
マルコフ性を仮定した場合,現在の状態$s$のみから次の行動$a$を決定する.行動の方針のことを 方策(policy) と呼ぶ. 状態$s$であるときに,行動$a$を取る確率を$\pi(a|s)$で表現する. 決定論的な場合は$a=\mu(s)$と表すこともある.
エピソードタスクと連続タスク
エピソードタスクはオセロやチェスのような終わりのある問題のことである.オセロであれば,最終的には勝ち負け引き分けのいずれかになる.対して,終わりが考えにくいような問題を連続タスクと呼ぶ.注文を確認して在庫を管理するような問題は,これといった終わりを考えないエンドレスなものだと認識すると連続タスクだと考えられる.
収益
エージェントは時刻$t$から報酬$R_t,R_{t+1},R_{t+2},\cdots$を得ていく.これらの報酬をあわせたものを収益と呼ぶ. 時刻$t$の収益$G_t$は具体的に式($3$)の計算をする.ただし,$\gamma$は割引率と呼び,$0\leq \gamma \leq 1$である.
$$ \begin{align} G_t = R_t + \gamma R_{t+1} + \gamma^2 R_{t+2} + \cdots \end{align} $$
割引率を導入することで,未来の報酬を現在の報酬に対してどれだけ重視するかを決めることができる.また,連続タスクでは,$\gamma$を導入しないと$G_t$は無限大に発散するので,$G_t$を有限値に収束させるためにも必要である.
状態価値関数
収益$G_t$を導入したが,$G_t$は未来の報酬について値を計算するため,報酬$R$の値が不明である.未来では確率的な行動をすることもあり,どの値を報酬として用いるかがわからない.ここで,式($4$)で表される状態価値関数を導入する.
$$ \begin{align} v_\pi(s) = \mathbb{E}_\pi[G_t|S_t=s] \end{align} $$
さて,多くの変数が出てきてのでこれらの意味を整理する.
- $v_\pi(s)$は状態$s$の価値を表している.
- $v$や$\mathbb{E}$の右下についている$\pi$はこの方策ですよというサインみたいなもの.
- 条件として$G_t|\pi$という表記をする場合もある.
- $\mathbb{E} [ X ]$は$X$の期待値.
- $\mathbb{E}_\pi[G_t|S_t=s]$は,状態$s$にいて,方策$\pi$を用いたときの収益$G_t$の期待値を表している. なぜ期待値であるのかというと,方策$\pi$は確率で様々な行動$a$を取るため,それらの行動を平均化(期待値)したものを収益として用いるためである.
方策$\pi$をうまく選ぶことで,他のどの方策よりも状態$s$の価値が高くなるようにすることができる1.そのような方策を 最適方策 と呼び,$\pi^*$と表す.また,$\pi^*$についての状態価値観数$v_{\pi^*}$($v_*$と表すこともある)を 最適状態価値関数 と呼ぶ.
行動価値関数
状態価値関数$v$は,ある状態$s$の価値を表していた.行動価値関数$q$は,ある状態$s$で,行動$s$をしたときの価値を表す.定義式は,状態価値関数に行動の要素を追加させた式$(5)$で表される.
$$ \begin{align} q_\pi(s,a) = \mathbb{E}_\pi[G_t|S_t=s,A_t=a] \end{align} $$
単に$Q$関数と呼ぶこともある.
証明が可能だそう. ↩︎