1行定義
Q学習とは、ある状態である行動をとったときの価値(Q値)を、試行錯誤で得た報酬をもとに更新して学ぶ、価値ベースの強化学習の手法のことです。
くわしく
Q学習は強化学習の代表的な手法の1つで、1989年にクリストファー・ワトキンスが提案しました。エージェントは環境の中で行動を選び、その結果として報酬と次の状態を受け取ります。Q学習では、「この状態でこの行動をとると、将来にわたってどれだけの報酬が見込めるか」という値を学習します。この値を行動価値(Q値)と呼び、状態と行動の組からQ値を返す関数を行動価値関数と呼びます。
更新のしかた
状態と行動の数が少なければ、Q値を表(Qテーブル)で管理できます。最初は適当な値から始め、行動するたびに次の式で表の値を少しずつ直します。
Q(s, a) ← Q(s, a) + α × (r + γ × max_a' Q(s', a') − Q(s, a))
r + γ × max_a' Q(s', a')は、受け取った報酬rに、次の状態s'で最もよい行動をとった場合のQ値を割引率γで割り引いて足したものです。これを目標として、いまのQ値との差に学習率αを掛けた分だけ近づけます。学習が進めば、各状態でQ値が最大の行動を選ぶだけで、よい行動がとれるようになります。
方策オフ型
学習中の行動選びでは、ε-greedy方策のように、ときどき無作為な行動を試して探索します。一方、更新式では、次に実際にとる行動ではなく、Q値が最大の行動の値を使います。このように、行動を選ぶ方策と、学習の目標にする方策が異なる手法を方策オフ型と呼びます。次に実際に選んだ行動のQ値で更新するSARSAは、方策オン型です。
発展
Q学習は、環境の遷移確率を知らなくても使えるモデルフリーの手法です。一方、ゲーム画面の画素の組み合わせのように状態の数が膨大だと、表では管理できません。そこで、Q値をニューラルネットワークで近似したのがDQNです。
覚え方
「次の一手は、いちばんよい手を打つつもりで見積もる」と覚えます。
G検定での出題
出題のされ方
行動価値関数(Q値)を学ぶ価値ベースの手法であること、更新に次の状態での最大のQ値を使う方策オフ型である点、SARSAやDQNとの関係が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| Q学習このページの用語 | ある状態である行動をとったときの価値(Q値)を、試行錯誤で得た報酬をもとに更新して学ぶ、価値ベースの強化学習の手法 |
| SARSA | 次の状態で実際に選んだ行動の行動価値を使って行動価値関数を更新する、方策オン型の強化学習の手法 |
違いを表で比べる
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
Q学習は、環境の状態遷移の確率や報酬の仕組みがあらかじめわかっていないと使えない。
答えを見る
答え × 誤り
Q学習は、実際に行動して得た報酬と次の状態だけから学ぶ、モデルフリーの手法です。
-
状態の数が膨大でQ値を表で管理できないという課題に対し、Q値をニューラルネットワークで近似したのがDQNである。
答えを見る
答え ◯ 正しい
DQNはゲーム画面の画素を入力とし、各操作のQ値を出力するネットワークを学習しました。
-
Q学習で学ぶQ値は、ある状態でその行動をとった直後に受け取る報酬だけの大きさを表す。
答えを見る
答え × 誤り
Q値は、その行動のあとに受け取る報酬を割り引いて足し合わせた、将来にわたる報酬の見込みを表します。