end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

強化学習におけるマルコフ決定過程やQ学習を再整理

マルコフ決定過程、Q学習、TD誤差、ε-greedy等の用語が多く、自分なりに整理

参考url

強化学習やQ学習とは?

機械学習における位置づけ

様々、ググって以下のように理解しました

機械学習┬強化学習──┬マルコフ決定過程──┬Q学習─DQN
        ├教師あり学習├動的計画法──TD学習┘
        └教師なし学習└モンテカルロ法┘     

強化学習とは

Agentが試行錯誤を通じ、環境から最も報酬を得やすい行動を学習すること。

┌───┐
│Agent ├──Action──┐
└───┘              ↓
  ↑              ┌──────┐
  └ State,Reward ┤Environment │
                  └──────┘
項目 説明
Agent エージェント
Environment 環境. 例:迷路
Action 行動. Agentの上下左右の動き
State 状態. Agentが位置する各マス目
Transit 遷移. 状態sで行動aをとり、次のs'となる(※1)
Reward 時報酬. ぞの時点で得られる即時報
Policy 方策. 累積報酬を最大化する行動戦略

※1 ε-greedy法で行動選択しますので、 確率εでランダムな行動を行い、確率1-εで報酬の高い(最適)行動を選択します

┌──┬──┬──┬──┐
│                  ゴール│
│                   +1 │
│    ┼──┼    ┼──┤
│    │空  │    │ゴール│
│    │  欄│    │ -1 │
│    ┼──┤    ┼    ┤
│エージ      │          │
│ ェント      │          │
└─────┴─────┘

Q学習とは

  • 各状態:Sと各行動:Aに対応するQ値を保持するQ table:Q(s,a)を使用(以下)
  • Q値とは状態行動価値.(即時報酬であるRewardとは異なる)
  • Agentは最もQ値が高い行動を選択. ただし、εの確率でrandom行動
  • 弱点は状態数:Sが多いと Q tableも巨大になり 学習が進まない点
     a 0    a 1   …   a n
   ┌──┬──┬──┬──┐
s 0│Q 00│Q 01│ … │Q 0n│
   ├──┼──┼──┼──┤
s 1│Q 10│Q 11│ … │Q 1n│
   ├──┼──┼──┼──┤
 : │ :  │ :  │ :  │ :  │
   ├──┼──┼──┼──┤
s m│Q m0│Q m1│ … │Q mn│
   └──┴──┴──┴──┘

Q値更新式と、マルコフ決定過程、TD学習

\large {
新Q ← 旧Q + 学習率(得た報酬 + 割引率・遷移先の最大Q - 旧Q)
}
\large {
= Q(s,a) ← Q(s,a) + α(r + γ・max_{a'}Q(s',a') - Q(s,a))
}

ただし

  • γ: 割引率、0~1. 発散を防ぎ、時間経過に応じ、得る報酬を小さくする為
  • α: 学習率、0~1

上式の『  学習率(得た報酬 + 割引率・遷移先の最大Q - 旧Q) 』部を TD誤差(Temporal Difference、時間的差分)といい、 Q学習(TD学習)ではこの部分が収束するよう学習。

マルコフ決定過程(Markov Decision Process MDP)とは?

次の状態になる確率が、現在の状態と行動でのみ決まること(過去の状態に依存しない)。

Q学習もMDPの1つの為、 先程の更新式には過去の状態を引数に使用していません。

Q学習の学習手順

以下のStep1~3をQがある程度収束するまで繰り返します

  • Step0 すべてのQを初期化(例:ゼロ化)
  • Step1 現状態sでQ(s,a)に従い、行動aを実行
  • Step2 環境から遷移先状態s′と報酬rを受領
  • Step3 遷移先状態s′や報酬r等を先程の式へ代入し、Q(s,a)を更新