方策
エージェントがどのように行動を決めるかを表したものを方策 (policy) という。
現在の状態 s のみによって行動 a が決まるような、確率に依らない方策を決定論的 (deterministic) な方策といい、これを定式化すると以下のようになる。
s′=μ(s)
一方、決定論的でない (確率に依る) 方策を確率的な方策といい、方策 π が状態 s から行動 a を選ぶ確率を π(a∣s) で表す。
状態遷移確率
状態遷移確率 (state transition probability) は状態 s から行動 a を選択したとき、状態 s′ に遷移する確率であり、p(s′∣s,a) で表す。
状態遷移確率は現実問題における不確実 (あるいは計算が難しい)
な挙動を表すのに用いられる。
例えば、ロボットを移動させる際の床の摩擦やモーターの故障などが挙げられる。
方策 π によって状態 s から次の状態 s′ に状態遷移する確率は以下のように表せる。
a∑π(a∣s)p(s′∣s,a)
マルコフ決定過程
状態遷移において、今の状態 s と行動 a のみによって次の状態が一意に決まる性質をマルコフ性という。
また、マルコフ性をもつ過程をマルコフ決定過程 (Markov Decision Process, 以下MDP) という。
マルコフ性を定式化すると以下のようになる。
s′=f(s,a)
報酬関数
報酬関数 (reward function) は状態 s から行動 a を選択し状態 s′ に遷移したときに得られる報酬であり、r(s′,a,s) で表す。
収益
収益 (return) は時刻 t から得る報酬の和であり、Gt で表す。
ただし、終わりがないタスク (連続タスク) において収益は無限大に発散しうるため、将来の報酬に割引率 γ(γ<1) を乗算することで、収益が発散することを防ぐ。
Gt=Rt+γRt+1+γRt+2+⋯=Rt+γGt+1
状態価値関数
状態価値関数 (state value function) (あるいは単に価値関数とも) は、状態 s から方策 π に従って行動したときの収益の期待値であり、vπ(s) で表す。
vπ(s)=Eπ[Gt∣St=s]
状態価値関数のベルマン方程式
ベルマン方程式 (Bellman Equation) は、MDPにおいて成立する、状態価値関数を求める上で重要な方程式である。
vπ(s)=a,s′∑π(a∣s)p(s′∣s,a){r(s,a,s′)+γvπ(s′)}
vπ(s)=Eπ[Gt∣St=s]=Eπ[Rt+γGt+1∣St=s]=Eπ[Rt∣St=s]+γEπ[Gt+1∣St=s]ここで
Eπ[Rt∣St=s]Eπ[Gt+1∣St=s]=a,s′∑π(a∣s)p(s′∣s,a)r(s,a,s′)=a,s′∑π(a∣s)p(s′∣s,a)Eπ[Gt+1∣St+1=s′]より
vπ(s)=a,s′∑π(a∣s)p(s′∣s,a){r(s,a,s′)+γvπ(s′)}
状態価値関数のベルマン最適方程式
すべての状態において状態価値関数が最大となるような方策 π∗ を最大方策という。
また、最適方策 π∗ に従って行動したときの状態価値関数を v∗ で表す。
このとき v∗ について成り立つベルマン方程式をベルマン最適方程式 (Bellman Optimality Equation) といい、次のように表せる。
v∗(s)=a,s′∑π∗(a∣s)p(s′∣s,a){r(s,a,s′)+γv∗(s′)}
行動価値関数/Q関数
行動価値関数 (action value function) は、状態 s から行動 a を選択し、その後は方策 π に従って行動したときの収益の期待値であり、qπ(s) で表す。
qπ(s,a)=Eπ[Gt∣St=s,At=a]=Eπ[Rt+γGt+1∣St=s,At=a]
行動価値関数は慣習的にQ関数と呼ばれ、本記事でも以下Q関数と呼ぶ。
Q関数は状態価値関数に対して行動 a を設定したものである。
状態価値関数 vπ(s) はQ関数 qπ(s,a) を用いて次のように表せる。
vπ(s)=a∑π(a∣s)qπ(s,a)
Q関数のベルマン方程式
qπ(s,a)=s′∑p(s′∣s,a){r(s,a,s′)+γa′∑π(a′∣s′)qπ(s′,a′)}
Q関数のベルマン最適方程式
qπ(s,a)=s′∑p(s′∣s,a){r(s,a,s′)+γa′maxqπ(s′,a′)}