1行定義
デュエリングネットワークとは、Q値を、状態そのものの価値と、行動ごとの有利さ(アドバンテージ)に分けて推定するDQNのネットワーク構造のことです。
くわしく
デュエリングネットワーク(Dueling Network)は、2015年にDeepMindのZiyu Wangらが発表した、DQNのネットワーク構造の改良です。
考え方:状態の良さと行動の差を分ける
Q値は「この状態でこの行動をとったら、この先どれだけ報酬を得られそうか」を表します。これは次の2つに分けて考えられます。
- 状態価値V(s):その状態にいること自体の良さ。
- アドバンテージA(s, a):その状態で、ある行動がほかの行動と比べてどれだけ有利か。
たとえばカーレースのゲームで、前方に車がいない場面では、どう操作しても結果はほとんど変わりません。大事なのは状態そのものの良さです。一方、すぐ前に車がいる場面では、どの行動を選ぶかが大きく効きます。
ネットワークの構造
DQNは、画面の特徴から行動ごとのQ値を直接出力します。デュエリングネットワークは、畳み込み層で特徴を取り出したあと、流れを2つに分けます。一方は状態価値を、もう一方は行動ごとのアドバンテージを出力し、最後に組み合わせてQ値にします。単に足すだけでは2つへの分け方が1通りに決まらないため、論文ではアドバンテージの平均を引いて組み合わせます。式で書くと Q(s, a) = V(s) + A(s, a) - mean(A(s, ・)) です。
何がよくなるのか
DQNでは、ある行動のQ値を更新しても、ほかの行動のQ値は直接は変わりません。デュエリングネットワークでは、どの行動で学習しても状態価値の流れが更新されるため、状態の良し悪しを効率よく学べます。特に、価値の似た行動が多い場面で効果があります。論文では、Atariのゲームでそれまでの最高性能を上回りました。
ダブルDQNとは改良する部分が異なり、組み合わせて使えます。どちらもRainbowの構成要素です。
覚え方
「場面の良さ」と「手の良さ」を分けて見積もる、と覚えます。
G検定での出題
出題のされ方
Q値を状態価値とアドバンテージに分けて推定する構造、どの行動を選んでも結果が変わりにくい状態で学習が効率化する理由、ダブルDQNとの違い、Rainbowの構成要素である点が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| デュエリングネットワークこのページの用語 | Q値を、状態そのものの価値と、行動ごとの有利さ(アドバンテージ)に分けて推定するDQNのネットワーク構造 |
| ダブルDQN | 行動の選択と、その行動の価値の評価を別々のネットワークで行うことで、DQNで起きやすいQ値の過大評価を抑える手法 |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
デュエリングネットワークでは、畳み込み層で共通の特徴を取り出したあと、状態価値を出力する流れと、アドバンテージを出力する流れに分かれる。
答えを見る
答え ◯ 正しい
2つの流れの出力を最後に組み合わせてQ値にします。出力はDQNと同じく行動ごとのQ値なので、DQNの学習方法をそのまま使えます。
-
デュエリングネットワークは、Q値の過大評価を抑えるために、行動の選択と価値の評価を別々のネットワークで行う手法である。
答えを見る
答え × 誤り
それはダブルDQNの説明です。デュエリングネットワークはネットワークの構造を変える改良で、ダブルDQNと組み合わせて使うこともできます。
-
状態価値とアドバンテージを単純に足すだけでは、同じQ値に対する2つへの分け方が1通りに決まらないため、アドバンテージから平均を引くなどの工夫を加える。
答えを見る
答え ◯ 正しい
状態価値に定数を足し、アドバンテージから同じ定数を引いても、Q値は変わりません。平均を引くことで分け方を定め、学習を安定させます。