G検定(ジェネラリスト検定)
だぶるでぃーきゅーねっとわーく
ダブル DQN
Double DQN
ダブルDQNは、DQNにある既存のターゲットネットワークを使って行動の選択と価値の評価を分け、Q学習の行動価値の過大評価を抑える手法です。
詳しい説明
Q学習が抱える過大評価の問題
Q学習は広く使われている強化学習のアルゴリズムですが、条件によっては行動価値を過大評価することが知られています。原因は、更新の目標値を計算するときに、推定した行動価値の中から最大のものをとる操作を含んでいることです。推定値には誤差がつきものですが、最大値をとる操作は、たまたま大きめに見積もられた値を、小さめに見積もられた値よりも選びやすくなります。その結果、現実にはありえないほど高い行動価値を学習してしまうことがあります。
この問題は、Q学習と深層ニューラルネットワークを組み合わせたDQNでも起きていました。ダブルDQNを提案した論文は、まずDQNがAtari 2600のいくつかのゲームで大幅な過大評価に苦しんでいることを実証しています。
ダブルQ学習の考え方
過大評価への対策として先に提案されていたのが、ダブルQ学習です。ダブルQ学習は、もともと表形式の設定、つまり状態と行動の組ごとに価値を表に記録する設定で導入された手法です。その考え方は、目標値の計算にある最大化の操作を、どの行動を選ぶかという行動の選択と、選んだ行動の価値がどれだけかという行動の評価の2つの役割に分解することです。選択と評価を同じ推定値で行うと、大きめに見積もられた行動を選び、その大きめの値をそのまま使ってしまいます。2つの役割を別々の価値関数に担わせることで、この偏りを減らせます。
論文は、このダブルQ学習の考え方が、表形式にとどまらず、ニューラルネットワークのような大規模な関数近似の下でも機能するように一般化できることを示しました。
ダブルDQNの仕組み
ダブルQ学習には2つ目の価値関数が必要です。ダブルDQNでは、ネットワークを新たに追加するのではなく、DQNの構造にもともとあるターゲットネットワークを2つ目の価値関数として使います。具体的には、学習中のオンラインネットワークを使って貪欲な方策に従う行動、つまり価値が最大と見積もられる行動を選び、その行動の価値をターゲットネットワークで見積もります。オンラインネットワークとターゲットネットワークは完全に独立しているわけではありませんが、追加のネットワークを用意しなくてよい自然な候補になっています。名前は、ダブルQ学習とDQNの両方にちなんでダブルDQNと付けられました。
DQNへの最小限の変更という位置づけ
ダブルDQNは、DQNからダブルQ学習へ向けた、おそらく最小限の変更として設計されています。狙いは、ダブルQ学習の利点の大部分を得ながら、DQNのほかの部分はそのまま残して公平に比較できるようにし、計算の負担もほとんど増やさないことです。ターゲットネットワークの更新のやり方もDQNから変えておらず、オンラインネットワークを定期的にコピーする方式のままです。
この変更によって、観察された過大評価が仮説どおりに減っただけでなく、いくつかのゲームでは性能が大きく向上したと報告されています。
試験で問われること
G検定
- Q学習が行動価値を過大評価しやすいのはなぜか、目標値の計算に含まれる最大化の操作と推定誤差の関係から説明できますか。
- ダブルQ学習が過大評価を減らすために、最大化の操作をどのような2つの役割に分解するのかを説明できますか。
- ダブルDQNでは、オンラインネットワークとターゲットネットワークがそれぞれ行動の選択と価値の評価のどちらを担うのかを答えられますか。
- ダブルDQNがDQNへの最小限の変更とされる理由を、新しいネットワークを追加しない点とターゲットネットワークの更新方法を変えない点から説明できますか。
最終更新日: 2026/09/23