1行定義
ダブルDQNとは、行動の選択と、その行動の価値の評価を別々のネットワークで行うことで、DQNで起きやすいQ値の過大評価を抑える手法のことです。
くわしく
ダブルDQN(Double DQN)は、2015年にDeepMindのHado van Hasseltらが発表した、DQNの改良手法です。DQNで起きやすいQ値の過大評価を抑えます。
なぜ過大評価が起きるのか
DQNは、次の状態で取りうる行動のうち、最も大きいQ値を使って学習の目標値を作ります。しかし、学習途中のQ値には誤差が含まれます。誤差のせいで高めに出た値ほど「最大」として選ばれやすいので、目標値は真の値より高めに偏ります。誤差が平均すれば0でも、この偏りは起こります。
偏りがすべての行動に均等なら、行動の選び方は変わりません。しかし実際には偏り方にむらがあり、価値の低い行動を過大に評価して選んでしまうことがあります。論文では、DQNがAtariのいくつかのゲームでQ値を大きく過大評価していることを示しました。そして、ダブルDQNで過大評価が減り、いくつかのゲームで成績も大きく向上したと報告しています。
選ぶ役と評価する役を分ける
この問題には、2010年に表形式のQ学習向けに提案されたダブルQ学習という対策がありました。2つの価値の推定を用意し、一方で行動を選び、もう一方でその行動の価値を評価します。同じ推定で選択と評価の両方を行わないので、偶然の高い値に引きずられにくくなります。
ダブルDQNは、この考え方をDQNに取り入れました。目標値を計算するとき、次の状態での行動は学習中のネットワークで選び、その行動の価値はターゲットネットワークで評価します。DQNにもともとあるターゲットネットワークを使うので、ネットワークを追加する必要はありません。
位置づけ
ダブルDQNは、デュエリングネットワークなどとともに、6つの改良を組み合わせたRainbowの構成要素の1つです。
覚え方
「選ぶ人と値踏みする人を分ける」と覚えます。
G検定での出題
出題のされ方
最大のQ値を目標値に使うことで起きる過大評価の仕組み、行動の選択と評価を分ける考え方、デュエリングネットワークなどほかの改良手法との違い、Rainbowの構成要素である点が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| ダブルDQNこのページの用語 | 行動の選択と、その行動の価値の評価を別々のネットワークで行うことで、DQNで起きやすいQ値の過大評価を抑える手法 |
| デュエリングネットワーク | Q値を、状態そのものの価値と、行動ごとの有利さ(アドバンテージ)に分けて推定するDQNのネットワーク構造 |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
ダブルDQNの元になったダブルQ学習は、もともと表形式のQ学習で起きる過大評価を抑えるために提案された。
答えを見る
答え ◯ 正しい
2010年にHado van Hasseltが提案しました。2つの価値の推定を用意し、一方で行動を選び、他方で評価します。ダブルDQNはこれをDQNに応用しました。
-
ダブルDQNは、DQNとは別に新しいネットワークを2つ追加し、合計4つのネットワークを同時に学習する。
答えを見る
答え × 誤り
DQNがもともともつターゲットネットワークを評価役に使うので、新たなネットワークは不要です。DQNからの主な変更は目標値の計算式だけです。
-
Q値の推定値に含まれる誤差が平均すると0であれば、最大値を選んで目標値を作っても、過大評価は起こらない。
答えを見る
答え × 誤り
誤差が平均0でも、誤差で高めに出た値ほど最大値として選ばれやすいため、目標値は高めに偏ります。ダブルDQNはこの偏りを抑えます。