DQNとその発展形(価値ベースの手法)
解説:強化学習の「革命児」と、その進化の系譜
2013年、DeepMind社が発表したDQN(Deep Q-Network)は、それまで不可能だった「AIがテレビゲーム(Atari)を人間以上のスコアでプレイする」ことを実現し、第3次AIブームの火付け役となりました。
しかし、初期のDQNにはまだ多くの欠点がありました。その後、世界中の研究者が「もっと賢く、もっと安定させよう」と改良を重ね、多くの派生モデルが誕生しました。
1. DQN (Deep Q-Network)
すべての始まり。Q学習とディープラーニングの融合。
従来の「Q学習(Qテーブル)」では、組み合わせが無限にあるような複雑な環境(画面の画素数など)に対応できませんでした。そこで、Qテーブルの代わりに「ニューラルネットワーク(CNN)」を使ってQ値を近似計算させたのがDQNです。
- Experience Replay(経験再生):
過去の経験(データ)をメモリに貯めておき、ランダムに取り出して学習する。データの相関(連続性)を断ち切り、学習を安定させる。 - Fixed Target Q-Network:
「教師役のネットワーク」の重みを一定期間固定する。目標値がコロコロ変わるのを防ぎ、学習の発散を抑える。
2. Double DQN (DDQN)
「自信過剰(過大評価)」を直したモデル。
- 課題:DQNには、特定の行動の価値を高く見積もりすぎてしまう(楽観的すぎる)癖がありました。
- 解決策:「行動を選ぶネットワーク」と「その価値を評価するネットワーク」を分けました。
これにより、Q値の過大評価(Overestimation)を抑制し、より正確な価値判断ができるようになりました。
3. Dueling Network
「状況」と「行動」を分けて考えるモデル。
- 課題:「目の前に崖がある」という状況(状態)では、「右へ行く」「左へ行く」などの行動に関わらず、すでに危険(価値が低い)です。しかしDQNは全ての行動ごとにいちいち計算していました。
- 解決策:ネットワークの構造を途中で2つに分岐させました。
- 状態価値関数 V(s):その「状態」自体の良さ(崖の前はヤバい!)
- アドバンテージ関数 A(s, a):その行動をとるメリット(右より左がマシ!)
最後にこれらを足し合わせます(Q = V + A)。これにより、行動が結果に影響しない場面での学習効率が劇的に上がりました。
4. Noisy Network
「探索」を賢く自動化したモデル。
- 課題:DQNでは、たまにランダムな行動をとる「ε-greedy法(イプシロン・グリーディ法)」で探索を行っていましたが、これはサイコロを振るような「運任せ」の非効率な探索でした。
- 解決策:ネットワークの重み自体に「ノイズ」を混ぜました。学習が進むにつれてノイズの大きさをAI自身が調整するようにし、運任せではない、一貫性のある探索を実現しました。
5. Rainbow
DQN拡張手法の「全部入り(アベンジャーズ)」。
DQNの発表以降に提案された優れた拡張手法(Double DQN, Dueling Network, Prioritized Experience Replay, Multi-step learning, Distributional RL, Noisy Networkなど)を7つ全て組み合わせたモデルです。個別に使うよりも遥かに高い性能を記録しました。
6. Ape-X
「分散型」で圧倒的な経験を積む手法。
1つのAIがプレイして学習するのではなく、多数のAI(Actor)が別々にゲームをプレイしてデータを集め、1つの巨大なサーバ(Learner)がそのデータをまとめて学習する「分散強化学習」のフレームワークです。学習速度と性能が飛躍的に向上しました。
G検定対策
比較まとめ表(ここが出ます!)
| モデル名 | 解決した課題 | キーワード |
|---|---|---|
| DQN | Q学習の高次元対応 | Experience Replay Target Network |
| Double DQN | Q値の過大評価 (Overestimation) |
選択と評価の分離 |
| Dueling Network | 行動価値の冗長な計算 | 状態価値関数 V アドバンテージ関数 A |
| Noisy Network | 非効率な探索 | 重みにノイズを加算 |
| Rainbow | 単体手法の限界 | 全部入り(統合モデル) |
| Ape-X | 学習速度の限界 | 分散強化学習 Prioritized Experience Replay |
ひっかけ対策
- × Dueling Networkはネットワークを2つの独立したものに分割する
(解説)入り口(入力層)は一つで、途中で2つに分岐し、最後(出力層)でまた合流する構造です。「完全に2つに分ける」わけではありません。 - × Double DQNはネットワークを2つ使う
(解説)〇正解です。ただし、DQNもTarget Networkを使うので2つ使います。Double DQNは「計算式の中で、2つのネットワークの役割を明確に分けた(選択係と評価係)」点がポイントです。
