強化学習:Markov Decision Processes(マルコフ決定過程)
はじめに
今回は、強化学習における最も重要な考え方の1つであるマルコフ決定過程について整理していきます.
目標
- マルコフ決定過程の概要を理解する
マルコフ決定過程(Markov Decision Processes)
強化学習の枠組み(再掲)
マルコフ決定過程の説明に先立ち、強化学習フレームワークにおける用語とその意味について再度示します.
エージェントと環境は、において、相互に影響を及ぼします
- エージェントはステップごとに状態を獲得
- ステップtにおける行動を実行する
- 行動によって、報酬を得る
- 行動によって、状態がからに変化する
強化学習のシステムは以下のように表されます.
マルコフ決定過程
強化学習のタスクが、マルコフ性を満たす場合、そのタスクはマルコフ決定過程(Markov decision process,MDP)と呼ばれます.もし、行動と状態が有限であるなら、有限マルコフ決定過程と呼ばれます(Finite MDP).
マルコフ決定過程のタスクにおいて、次の状態は、現在の状態Sと行動Aによって確率的に決定されます.その確率は、エージェントが状態sにおいて行動aを決定したとき、状態sが状態s'に遷移する確率として以下の用に表されます.
$$P(s' | s, a)$$
例えば、マルコフ決定過程のもとではt+1ステップ目における状態はtステップ目の状態と、その状態で選ばれた行動により、以下のように求めることができます.
$$S_{t+1} \sim P(s' | S_t, A_t)$$
このとき[tex:S{t+1}]は[tex:S{t-1}]やなどには依存せず、とのみに依存して定まることに注意が必要です.このように直前の状態によってのみ遷移確率が決まる性質のことをマルコフ性(The Markov Property)と言います.(この性質があるタスクは、マルコフ決定過程のタスクとして考えられるといった方が正しいと思います.)
また、現在の状態と行動および次の状態[tex:S{t+1}]に応じて、報酬[tex:R{t+1}]を次のように定めます.
$$R_{t+1} = r (S_t, A_t, S_{t+1})$$
報酬と収益(Rewards and Returns)
以前述べたように、強化学習の目的は長期的な報酬を最大化することである.すなわち、[tex: R{t+1}, R{t+2}, R_{t+3} \dots]を最大にする行動を選択することです.
しかし、将来的に得られるであろう報酬と、今得られる報酬では後者に重みをおく方が現実的だと言えます.そこで、割引率(discount rate)を用いて、将来得られる報酬を割り引く方法がよく用いられます.割引率 ()を考慮した時刻tの収益は以下のように表されます.
$$G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} +\gamma^3 R_{t+4}+ \cdots $$
これにより、将来得られる報酬より現在得られる報酬を重視すると同時に、計算が発散しにくくなるというメリットもあります.
収益を計算してみましょう.
割引率と報酬から得られる収益を計算してみましょう.(間違っていたらご指摘ください.)
Reward Sequence | Return | |
---|---|---|
0.5 (or any) | 1 0 0 0 | 1.0 |
0.5 | 0 0 2 0 0 0 | 0.5 |
0.9 | 0 0 2 0 0 0 | 1.62 |
0.5 | -1 2 6 3 2 0 0 0 | 2.0 |
まとめ
マルコフ決定過程の概要および割引率の考え方について整理しました.
全然、価値関数の話に入れませんでした.次回から価値関数について整理していきます.