強化学習:Markov Decision Processes(マルコフ決定過程)

はじめに

今回は、強化学習における最も重要な考え方の1つであるマルコフ決定過程について整理していきます.

目標

マルコフ決定過程(Markov Decision Processes)

強化学習の枠組み(再掲)

f:id:shirakonotempura:20190122035140p:plain

マルコフ決定過程の説明に先立ち、強化学習フレームワークにおける用語とその意味について再度示します.

エージェントと環境は、t  = 0, 1, 2, \dotsにおいて、相互に影響を及ぼします

  • エージェントはステップtごとに状態S_tを獲得
  • ステップtにおける行動A_tを実行する
  • 行動A_tによって、報酬R_{t+1}を得る
  • 行動A_tによって、状態がS_tからS_{t+1}に変化する

強化学習のシステムは以下のように表されます. f:id:shirakonotempura:20190126033017p:plain

マルコフ決定過程

強化学習のタスクが、マルコフ性を満たす場合、そのタスクはマルコフ決定過程(Markov decision process,MDP)と呼ばれます.もし、行動と状態が有限であるなら、有限マルコフ決定過程と呼ばれます(Finite MDP).

マルコフ決定過程のタスクにおいて、次の状態は、現在の状態Sと行動Aによって確率的に決定されます.その確率は、エージェントが状態sにおいて行動aを決定したとき、状態sが状態s'に遷移する確率として以下の用に表されます.

$$P(s' | s, a)$$

例えば、マルコフ決定過程のもとではt+1ステップ目における状態S_{t+1}はtステップ目の状態S_tと、その状態で選ばれた行動A_tにより、以下のように求めることができます.

$$S_{t+1} \sim P(s' | S_t, A_t)$$

このとき[tex:S{t+1}]は[tex:S{t-1}]やA_{t-1}などには依存せず、S_tA_tのみに依存して定まることに注意が必要です.このように直前の状態によってのみ遷移確率が決まる性質のことをマルコフ性(The Markov Property)と言います.(この性質があるタスクは、マルコフ決定過程のタスクとして考えられるといった方が正しいと思います.)

また、現在の状態S_tと行動A_tおよび次の状態[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]を最大にする行動A_tを選択することです.

しかし、将来的に得られるであろう報酬と、今得られる報酬では後者に重みをおく方が現実的だと言えます.そこで、割引率(discount rate)を用いて、将来得られる報酬を割り引く方法がよく用いられます.割引率\gamma \gamma \in [0, 1))を考慮した時刻tの収益G_tは以下のように表されます.

$$G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} +\gamma^3 R_{t+4}+ \cdots $$

これにより、将来得られる報酬より現在得られる報酬を重視すると同時に、計算が発散しにくくなるというメリットもあります.

収益を計算してみましょう.

割引率と報酬から得られる収益を計算してみましょう.(間違っていたらご指摘ください.)

\gamma Reward Sequence Return
0.5 (or any) 1 0 0 0 \dots 1.0
0.5 0 0 2 0 0 0 \dots 0.5
0.9 0 0 2 0 0 0 \dots 1.62
0.5 -1 2 6 3 2 0 0 0 \dots 2.0

まとめ

マルコフ決定過程の概要および割引率の考え方について整理しました.

全然、価値関数の話に入れませんでした.次回から価値関数について整理していきます.