見出し画像

Gymで強化学習⑤マルコフ決定過程

前回の記事では手動で宇宙船を動かすエージェントを取り扱いました。実際に試してみると、初めの頃に取った行動が最終的に着陸できるかどうかに大きく影響するのがわかります。上空での操作によっては地上に近づいた頃にはもう手遅れでどのようなコントロールを行なっても取り返しがつかなくなります。とはいうものの過去の失敗を悔やまずに、現在の状態から未来に向けて最善な行動を行い続けるしかありません。

そんなわけで手動ではほぼ着陸できないのですが、強化学習でこのような問題をどう捉えるのかを今回の記事では解説します。

マルコフ性と状態遷移

強化学習における状態について取り扱った記事で状態を定義する際にマルコフ性があるように設定する話をしました。マルコフ性があると何が良いかというと、ある状態から次の状態への変化は過去の状態から切り離して考えることができる点です。

例えば、月面着陸の環境では現在状態から遷移できる次の状態はほぼ無限にあります。宇宙船の位置は変わるし、縦速度、横速度、角速度などランダムな動きなどを組み合わせると全てを把握し切れません。しかし一旦状態が遷移すると過去に起こった一連の状態は次に起こる状態と切り離して考えても良いことになります。そうでなければ問題が複雑になり過ぎてしまいます。

仮に、現在状態$${s_t}$$として以下のようにさまざま次の状態があるとします。

この時点で$${s_t}$$より以前の状態を知る必要はありません。現在の位置や速度などの情報だけで次の状態の予測が可能だからです。それは100%確定できるという意味ではなく、次の状態は現在の状態に依存するのであってその前の状態には依存しないということです。

確率で表現すると$${s_{t+1}}$$から次の状態への遷移は$${s_t}$$とは独立に決まることになります。

$$
P(s_{t+1}|s_t) = P(s_{t+1}|s_t, s_{t-1}, s_{t-2}, \dots, s_{1})
$$

これは次の状態がどうなるかの予測は現在状態$${s_t}$$が条件として与えられた確率になり、それ以前の状態が与えられても予測は変わらないことになります。

次のステップで状態$${s^3}$$に移ったとします。つまり、$${s_{t+1} = s^3}$$で状態が確定します。するとその先にまた無数の可能性が広がります。

ここでも$${s_{t+1}}$$から次の状態への遷移は$${s_t}$$とは独立に決まります。それを確率で表現すると

$$
P(s_{t+2}|s_{t+1}) = P(s_{t+2}|s_{t+1}, s_t, \dots, s_0)
$$

こうして状態が遷移していきます。ある状態から次の状態への変化にはたくさんの可能性がありますが、一度遷移が起きたら、それが現在の状態となります。そして、そこから次への状態へ遷移が起きる、ということが繰り返されます。よって、一連の状態が生じることになります。

これをマルコフ過程(Markov Process)あるいはマルコフ連鎖(Markov Chain)と呼びます。なんの不思議もない、当たり前ではないかと感じるかもしれません。

しかし、もしマルコフ性がなかったら状態遷移の下図のようにずっと複雑になります。

ここから先は

3,437字 / 1画像

キカベン・読み放題

¥1,000 / 月
初月無料
このメンバーシップの詳細

この記事が気に入ったらサポートをしてみませんか?