本文へ移動

G検定(ジェネラリスト検定)

でぃーきゅーえぬ

DQN

DQN

Deep Q-Network

DQNは、生のピクセルを入力とする畳み込みニューラルネットワークをQ学習の一種で訓練し、経験再生によって学習を安定させた深層強化学習のモデルです。

詳しい説明

生のピクセルから価値関数を学ぶモデル

DQN(Deep Q-Network)は、強化学習を用いて、高次元の感覚入力から直接制御の方策を学ぶことに成功した最初の深層学習モデルとして発表されました。モデルの本体は畳み込みニューラルネットワークで、入力は画面の生のピクセル、出力は将来の報酬を推定する価値関数です。このネットワークを、Q学習を変形した手法で訓練します。

著者らは、Arcade Learning Environment に収められた7つの Atari 2600 のゲームにこの手法を適用しました。その際、ゲームごとにアーキテクチャや学習アルゴリズムを調整していません。結果として、7つのうち6つのゲームでそれまでのすべての手法を上回り、3つのゲームでは人間の専門家の成績も上回りました。ゲームごとの作り込みなしに、同じ仕組みで複数の課題を学べた点が重要です。

中核となる経験再生

DQNの中核は経験再生(experience replay)です。TD-Gammon のように、得た経験をその場で1回だけ学習に使うオンラインの手法とは異なり、DQNはエージェントが各時刻に得た経験、すなわち状態、行動、報酬、次の状態の組を、多くのエピソードにわたってリプレイメモリに蓄えます。学習の内側のループでは、蓄えた経験の中からランダムに取り出したサンプルに対して、Q学習の更新(ミニバッチによる更新)を行います。

経験再生には、標準的なオンラインのQ学習と比べて3つの利点があります。

  • データ効率: 1つの経験を何度もの重みの更新に使えるため、少ない経験から多くを学べます。
  • 相関の除去: 連続したサンプルどうしは強く相関しているため、そのまま学習すると効率が悪くなります。サンプルをランダムに選ぶことでこの相関を崩し、更新の分散を減らせます。
  • 発散の防止: 方策に従って学習すると、現在のパラメータが次に学習するデータを決めてしまい、望ましくないフィードバックのループが生じます。その結果、パラメータが悪い局所解にとどまったり、破滅的に発散したりするおそれがあります。経験再生では、行動の分布が過去の多くの状態にわたって平均されるため、学習がなめらかになり、パラメータの振動や発散を避けられます。

アルゴリズムの流れ

学習はおおむね次の順に進みます。まず、容量を決めたリプレイメモリと、重みをランダムに初期化した行動価値関数Qを用意します。各ステップでは、epsilon-greedy 方策に従い、確率 epsilon でランダムな行動を、それ以外ではQを最大にする行動を選びます。行動を実行して報酬と次の画像を観測し、前処理をしたうえで、その遷移をリプレイメモリに保存します。

次に、リプレイメモリから遷移のミニバッチをランダムに取り出し、ターゲット値を決めます。終端の状態では、ターゲットは得られた報酬そのものです。終端でない状態では、報酬に、次の状態におけるQの最大値を割引率で割り引いたものを加えます。最後に、このターゲットと現在のQの推定値との差の二乗に対して勾配降下を1ステップ行い、ネットワークの重みを更新します。

この後に提案されたダブルDQNやデュエリングネットワークなどの改良手法は、このDQNを土台としています。

試験で問われること

G検定

  • DQNでは、どのような入力をどのようなネットワークで処理し、何を出力するのかを説明できますか。
  • 経験再生(experience replay)とはどのような仕組みで、リプレイメモリに何を蓄え、どのように学習に使うのかを説明してください。
  • 経験再生によって得られる利点として、データ効率、サンプル間の相関の除去、パラメータの発散の防止がそれぞれなぜ実現するのかを説明できますか。
  • DQNの学習で、epsilon-greedy 方策による行動選択と、ターゲット値と現在のQの推定値との二乗誤差による勾配降下がそれぞれどのような役割を果たすかを説明してください。

最終更新日: 2026/09/14