DQN(Deep Q-Network)

Deep Q-Network

DQNとは

DQN(Deep Q-Network)とは、Q学習のQ値関数をディープニューラルネットワークで近似する深層強化学習アルゴリズムです。2013年にDeepMindにより提案され、Atariゲームで人間を超える性能を達成したことで深層強化学習の時代を切り開きました。

表:DQN(Deep Q-Network)の要点まとめ
ひとことで言うとQ値の表をニューラルネットワークに置き換えて、複雑な問題に対応した手法。
何が画期的か画面の画像をそのまま入力し、多数のゲームで人間を超える成績を出した。
注意点学習が不安定になりやすく、経験再生とターゲットネットワークが必須。

ニューラルネットワークによるQ値近似

テーブル型Q学習が全状態-行動ペアのQ値を明示的に保持するのに対し、DQNはニューラルネットワーク Q(s,a;θ) を用いてQ値を近似します。画像のような高次元入力を直接扱うことができ、畳み込みニューラルネットワーク(CNN)でAtariゲームの画面から特徴を抽出してQ値を出力します。

図:DQNのしくみ
1状態を入力画面の画像など
▶
2NNがQ値を出力各行動の価値を予測
▶
3経験を保存バッファに蓄積
▶
4ランダムに取り出す相関を断ち学習を安定化
▶
5NNを更新目標値に近づける

学習の安定化技術

DQNの成功の鍵は2つの安定化技術にあります。経験再生(Experience Replay)は過去の経験をバッファに保存してランダムに再利用することで、データの相関を軽減します。ターゲットネットワークは更新対象とは別の固定されたネットワークをTDターゲットの計算に使い、学習の振動を抑えます。

DQNの発展

Double DQN(過大評価の抑制)、Dueling DQN(状態価値とアドバンテージの分離)、Prioritized Experience Replay(重要な経験の優先的利用)、Rainbow(複数の改良の統合)など、多くの改良版が提案されています。