Web教科書

DQN (Deep Q-Network)

DQNとその発展形(価値ベースの手法)

解説:強化学習の「革命児」と、その進化の系譜

2013年、DeepMind社が発表したDQN(Deep Q-Network)は、それまで不可能だった「AIがテレビゲーム(Atari)を人間以上のスコアでプレイする」ことを実現し、第3次AIブームの火付け役となりました。

しかし、初期のDQNにはまだ多くの欠点がありました。その後、世界中の研究者が「もっと賢く、もっと安定させよう」と改良を重ね、多くの派生モデルが誕生しました。

1. DQN (Deep Q-Network)

すべての始まり。Q学習とディープラーニングの融合。

従来の「Q学習(Qテーブル)」では、組み合わせが無限にあるような複雑な環境(画面の画素数など)に対応できませんでした。そこで、Qテーブルの代わりにニューラルネットワーク(CNN)」を使ってQ値を近似計算させたのがDQNです。

🔑 学習を安定させた2つの発明

  • Experience Replay(経験再生):
    過去の経験(データ)をメモリに貯めておき、ランダムに取り出して学習する。データの相関(連続性)を断ち切り、学習を安定させる。
  • Fixed Target Q-Network:
    「教師役のネットワーク」の重みを一定期間固定する。目標値がコロコロ変わるのを防ぎ、学習の発散を抑える。

2. Double DQN (DDQN)

「自信過剰(過大評価)」を直したモデル。

  • 課題:DQNには、特定の行動の価値を高く見積もりすぎてしまう(楽観的すぎる)癖がありました。
  • 解決策:「行動を選ぶネットワーク」と「その価値を評価するネットワーク」を分けました。
    これにより、Q値の過大評価(Overestimation)を抑制し、より正確な価値判断ができるようになりました。

3. Dueling Network

「状況」と「行動」を分けて考えるモデル。

  • 課題:「目の前に崖がある」という状況(状態)では、「右へ行く」「左へ行く」などの行動に関わらず、すでに危険(価値が低い)です。しかしDQNは全ての行動ごとにいちいち計算していました。
  • 解決策:ネットワークの構造を途中で2つに分岐させました。
    1. 状態価値関数 V(s):その「状態」自体の良さ(崖の前はヤバい!)
    2. アドバンテージ関数 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つのネットワークの役割を明確に分けた(選択係と評価係)」点がポイントです。
タイトルとURLをコピーしました