Deep Q-Network(DQN)は、深層学習(Deep Learning)と強化学習(Reinforcement Learning)を統合したアルゴリズムであり、特に高次元の状態空間(例:画像)を扱う強化学習問題において大きなブレークスルーをもたらしました。DQNは、**Q学習(Q-Learning)の拡張であり、Q関数の近似に畳み込みニューラルネットワーク(CNN)**などの深層ニューラルネットワークを用いる点が特徴です。
背景と基本的アイデア
従来のQ学習では、状態-行動空間が離散的であることが前提でしたが、現実世界では状態空間が非常に大きく、離散化が困難な場合が多くあります。DQNは以下のような方法でこの課題に対処します:
-
Q関数を深層ニューラルネットワークで近似する
-
経験再生(Experience Replay)
-
ターゲットネットワーク(Target Network)
DQNの構成要素とアルゴリズム
1. Q関数の近似
DQNでは、状態 と行動 を入力とし、それに対応するQ値 を出力する関数をニューラルネットワーク で近似します。ここで はネットワークの重みです。
2. 経験再生(Experience Replay)
過去の遷移 を**リプレイバッファ(Replay Buffer)**に保存し、学習時にランダムにサンプルすることで以下を実現します:
-
データ間の相関を低減
-
データの再利用による学習の安定化
3. ターゲットネットワーク
DQNでは、学習の安定性を保つために、Q関数を2つのネットワークで分離します:
-
メインネットワーク(学習対象)
-
ターゲットネットワーク(固定パラメータ)
一定ステップごとに、ターゲットネットワークのパラメータ をメインネットワークのパラメータ にコピーします。
DQNの学習ステップ(簡略)
-
初期化:
-
Qネットワークとターゲットネットワークの重みを初期化
-
経験再生メモリを空にする
-
-
各ステップ:
-
現在の状態 で -greedy 方策に従い行動 を選択
-
行動を実行し、報酬 と次の状態 を観測
-
経験 をバッファに保存
-
バッファからミニバッチをサンプリング
-
ターゲット値 を以下の式で計算:
-
損失関数:
-
勾配降下法でパラメータ を更新
-
一定ステップごとに
-
DQNの成功例と限界
成功例
-
Atari 2600ゲームで人間レベルを超えるパフォーマンスを達成(DeepMind, 2015)
限界
-
学習が不安定になることがある(特に高次元環境)
-
動的環境に対する汎化性能に限界
-
オフポリシー学習であるため方策の変更が難しい
DQNの発展形
DQNは以下のような改良型アルゴリズムの基礎になっています:
-
Double DQN:最大化バイアスの軽減
-
Dueling DQN:状態価値とアドバンテージの分離
-
Prioritized Experience Replay:重要な経験を優先的に再生
-
Rainbow DQN:複数手法の統合による高性能化
まとめ
| 特徴 | 内容 |
|---|---|
| 方策 | オフポリシー |
| 価値関数 | Q関数 をニューラルネットワークで近似 |
| 安定化手法 | 経験再生、ターゲットネットワーク |
| 適用対象 | 高次元観測空間(例:画像)、ゲームプレイなど |
DQNは、深層学習と強化学習の統合により、従来不可能だった環境においても方策の学習を可能にした代表的手法です。深層強化学習の発展の起点ともいえる重要なアルゴリズムです。
生成日:2025/06/01