強化学習勉強メモ #1 用語確認

本記事では,主に用語の確認をする.

なお,強化学習において頻繁に登場する記号たちをExtraMaterialにまとめている.

エージェントと環境

 エージェントは,強化学習における主人公的なポジションであり, 行動(Action) をする.エージェントの行動によって,変化するものが 環境(Environment) である.エージェントは,環境の 状態(State) を得ることによって,次の行動を決定する.行動によって評価されるものが 報酬(Reward) である.

 まとめると,時刻ttのとき次の手順を踏む.

  1. エージェントは環境から状態StS_tを得る.
  2. エージェントは状態StS_tを用いて行動AtA_tを決定する.
  3. エージェントは行動AtA_tを実行する.
  4. エージェントは環境から報酬RtR_tを得る.
  5. 時刻t+1t+1に移る.

決定的,確率的挙動

 ロボット(エージェント)が迷路の中で,右に移動するという行動を取った.しかし,たまたま床がツルツルで滑ってしまうことが原因で,0.10.1の確立で左に移動してしまうとする.あるいは,エージェント以外が状態を変化させるような問題も考えられる.このような,行動に対して状態が確率によって変化することを 確率的(stochastic) な挙動 と呼ぶ.逆に,行動が確率によって変化しないことを 決定的(deterministic) な挙動 と呼ぶ.

決定的な挙動は式(11)で表される. s=f(s,a) \begin{align} s^\prime = f(s,a) \end{align} ffは状態ssと行動aaを受け取り,次の状態ss^\primeを返す関数である.

また,状態ssと行動aaを取って状態ss^\primeが得られる確率を式(22)のppで表記する. p(ss,a) \begin{align} p(s^\prime|s,a) \end{align} p(ss,a)p(s^\prime|s,a)のパイプラインのような記号|を用いた表記は,p(s)p(s^\prime)ss^\primeに条件s,as,aを付け足すものである. 例えば,迷路の例で,

  • ss=スタート地点
  • aa=上に進む
  • ss^\prime=座標1に移動する

の場合p(ss,a)p(s^\prime|s,a)は「スタート地点にいて上に進んだときに,座標1に移動する確率」を表している.

なお,決定的な挙動の場合,p(ss,a)=1p(s^\prime|s,a)=1であると考えれば確率的な挙動の特殊ケースと捉えられる.

マルコフ性

 p(ss,a)p(s^\prime|s,a)という式は,次の状態ss^\primeが現在の状態ssと行動aaのみから決まることを意味している.このような性質を マルコフ性(Markov property) と呼ぶ. 別の言い方をすると,過去の行動や状態は考えなくて良いということである.このマルコフ性を仮定することにより,過去の行動を考えた膨大な行動パターンを考える必要がなくなり,問題が解きやすくなる.

方策

 マルコフ性を仮定した場合,現在の状態ssのみから次の行動aaを決定する.行動の方針のことを 方策(policy) と呼ぶ. 状態ssであるときに,行動aaを取る確率をπ(as)\pi(a|s)で表現する. 決定論的な場合はa=μ(s)a=\mu(s)と表すこともある.

エピソードタスクと連続タスク

 エピソードタスクはオセロやチェスのような終わりのある問題のことである.オセロであれば,最終的には勝ち負け引き分けのいずれかになる.対して,終わりが考えにくいような問題を連続タスクと呼ぶ.注文を確認して在庫を管理するような問題は,これといった終わりを考えないエンドレスなものだと認識すると連続タスクだと考えられる.

収益

 エージェントは時刻ttから報酬Rt,Rt+1,Rt+2,R_t,R_{t+1},R_{t+2},\cdotsを得ていく.これらの報酬をあわせたものを収益と呼ぶ. 時刻ttの収益GtG_tは具体的に式(33)の計算をする.ただし,γ\gammaは割引率と呼び,0γ10\leq \gamma \leq 1である.

Gt=Rt+γRt+1+γ2Rt+2+ \begin{align} G_t = R_t + \gamma R_{t+1} + \gamma^2 R_{t+2} + \cdots \end{align}

割引率を導入することで,未来の報酬を現在の報酬に対してどれだけ重視するかを決めることができる.また,連続タスクでは,γ\gammaを導入しないとGtG_tは無限大に発散するので,GtG_tを有限値に収束させるためにも必要である.

状態価値関数

 収益GtG_tを導入したが,GtG_tは未来の報酬について値を計算するため,報酬RRの値が不明である.未来では確率的な行動をすることもあり,どの値を報酬として用いるかがわからない.ここで,式(44)で表される状態価値関数を導入する.

vπ(s)=Eπ[GtSt=s] \begin{align} v_\pi(s) = \mathbb{E}_\pi[G_t|S_t=s] \end{align}

さて,多くの変数が出てきてのでこれらの意味を整理する.

  • vπ(s)v_\pi(s)は状態ssの価値を表している.
  • vvE\mathbb{E}の右下についているπ\piはこの方策ですよというサインみたいなもの.
    • 条件としてGtπG_t|\piという表記をする場合もある.
  • E[X]\mathbb{E} [ X ]XXの期待値.
    • Eπ[GtSt=s]\mathbb{E}_\pi[G_t|S_t=s]は,状態ssにいて,方策π\piを用いたときの収益GtG_tの期待値を表している. なぜ期待値であるのかというと,方策π\piは確率で様々な行動aaを取るため,それらの行動を平均化(期待値)したものを収益として用いるためである.

方策π\piをうまく選ぶことで,他のどの方策よりも状態ssの価値が高くなるようにすることができる1.そのような方策を 最適方策 と呼び,π\pi^*と表す.また,π\pi^*についての状態価値観数vπv_{\pi^*}(vv_*と表すこともある)を 最適状態価値関数 と呼ぶ.

行動価値関数

 状態価値関数vvは,ある状態ssの価値を表していた.行動価値関数qqは,ある状態ssで,行動ssをしたときの価値を表す.定義式は,状態価値関数に行動の要素を追加させた式(5)(5)で表される.

qπ(s,a)=Eπ[GtSt=s,At=a] \begin{align} q_\pi(s,a) = \mathbb{E}_\pi[G_t|S_t=s,A_t=a] \end{align}

単にQQ関数と呼ぶこともある.


  1. 証明が可能だそう. ↩︎

Licensed under CC BY-NC-SA 4.0
Built with Hugo
テーマ StackJimmy によって設計されています。