こんにちは。今回は、強化学習(Reinforcement Learning / RL)を学び始めた私が、
つまづきやすい理論を整理&要約しながら、ブログとしてアウトプットしてみました。
強化学習は2×2のマトリクスで整理できる
強化学習にはいろいろなアルゴリズムがありますが、「何を学ぶか?どうやって学ぶか?」で以下の4象限に分類できます。
ベルマン方程式のどこに着目するか、が違うイメージです。
価値ベース(Value-based) | 方策ベース(Policy-based) | |
モデルベース(Model-based) | ①方策反復(Policy Iteration) | ②Dyna-style + 方策学習 |
モデルフリー(Model-free) | ③Q-Learning | ④Policy Gradient (REINFORCEなど) |
ベルマン方程式:
V(s)=a∑π(a∣s)s′∑P(s′∣s,a)[R(s,a,s′)+γV(s′)]
・a∑π(a∣s) 方策(状態sで行動aをとる確率)
・P(s′∣s,a):遷移確立
・R(s,a,s′):報酬
・γ :割引率
・V(s′):次の状態の価値
方策反復は、価値 V(s)V(s)V(s) を先に計算して、その価値をもとに方策を改善していく。
Q-Learningは、価値ではなく行動ごとの価値 Q(s,a)Q(s, a)Q(s,a) を経験から直接学んでいく。
Policy Gradientは、価値もQも使わず、方策そのもの π(a∣s)\pi(a|s)π(a∣s) をパラメータとして持ち、勾配で調整する。
→ つまり「何を主役に学習するのか?」が全然違う!
各手法の特徴ざっくり整理
手法 | 学ぶ対象 | 特徴 | 向いている場面 |
方策反復 | V(s) | モデルベース。理論的で安定 | 小規模・モデルがある環境 |
Q-learning | Q(s,a) | モデル不要。経験から学ぶ | 実践・ロボット・ゲーム |
Policy Gradient | a∑π(a∣s) | 方策を直接学ぶ | 連続値の行動など |
コメント