Q学習とは
Q学習(Q-Learning)とは、最適な行動価値関数Q*(s,a)を学習するモデルフリーの強化学習アルゴリズムです。1989年にChris Watkinsにより提案され、オフポリシー型のTD制御手法として広く利用されています。方策に依存せず最適Q値を直接学習できることが最大の特徴です。
| ひとことで言うと | 各状態での各行動の価値(Q値)を、経験から表に書き込んでいく学習法。 |
|---|---|
| どこで使う | 状態と行動が限られた問題。在庫の発注判断、簡単な経路探索。 |
| 注意点 | 状態や行動が多いと表が巨大になる。そこでDQNが使われる。 |
Q学習の更新則
Q学習の更新式は Q(s,a) ← Q(s,a) + α[r + γ max_a' Q(s',a') - Q(s,a)] です。ここでαは学習率、rは即時報酬、γは割引率です。注目すべきは次状態での最大Q値 max_a' Q(s',a') を使う点で、これにより実際の行動方策とは独立に最適Q値を学習できます(オフポリシー学習)。
1行動して観測報酬と次の状態を得る
▶
2次状態の最大Q値最善手の価値を見る
▶
3目標値を計算報酬+割引×最大Q値
▶
4Q値を少し寄せる学習率ぶん更新
↺ 1〜4を大量にくり返してQ表が完成する
オフポリシーの利点
Q学習がオフポリシーであるとは、学習に使う方策(ε-greedyなど)と学習対象の方策(greedy方策)が異なることを意味します。これにより、探索しながら同時に最適方策を学習でき、他のエージェントのデータや過去のデータからも学習できるという柔軟性があります。
テーブル型Q学習の限界
テーブル型Q学習は全ての状態-行動ペアのQ値をテーブルに保持するため、状態空間が大きい問題では適用困難です。この制限を克服するため、ニューラルネットワークでQ値を近似するDQN(Deep Q-Network)が開発され、深層強化学習の幕を開けました。