マルコフ決定過程、Q学習、TD誤差、ε-greedy等の用語が多く、自分なりに整理
参考url
- 【入門】Q学習の解説とpythonでの実装 〜シンプルな迷路問題を例に〜
- Pythonではじめる強化学習 - Qiita
- 強化学習2 (マルコフ決定過程) | PythonとRPAで遊ぶ
- 【1-3: 強化学習の概要】みんなの強化学習講座 - YouTube
強化学習や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学習
ただし
- γ: 割引率、0~1. 発散を防ぎ、時間経過に応じ、得る報酬を小さくする為
- α: 学習率、0~1
上式の『 』部を 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)を更新