Mais conteúdo relacionado Rainbow2. 論文概要
• 著者
Matteo Hessel, Joseph Modayil, Hado van Hasselt, Tom Schaul, Georg Ostrovski,
Will Dabney, Dan Horgan, Bilal Piot, Mohammad Azar, David Silver
• AAAI 2018
https://arxiv.org/abs/1710.02298
• 被引用数:36件(2018/6/28)
• 複数のDQNの拡張モデルを組み合わせて出来たRainbowという
ハイパフォーマンスな手法を提案し、当時のstate-of-the-art(最先端技術)となった
1
3. Rainbowとは?
1. DQN 7つのモデルを
2. Double DQN(DDQN) 組み合わせる…
3. Prioritized Experience Replay
4. Dueling Networks
5. Multi-step Learning
6. Distributional RL
7. Noisy Nets
7つのモデルが持つ特性を
良い所取り!
Rainbow
2
10. 5. Multi-step learning
• 学習に用いる報酬を1-stepの報酬からn-stepに拡張した手法
報酬:
• Rainbowではn=1,3,5を比較し、最も良かったn=3を使っている
TD誤差(n=3):
大きくしすぎてもバイアスが大きくなる
適切なnの設定が重要
学習の高速化につながる!
9
11. 6. Distributional RL
• DQNではQ関数を収益の期待値で表現している
これは状態・行動に分布が左右される
• その期待値を分布として学習する手法
学習が安定する!
例 FREEWAY 鳥に当たらないように車を動かすゲーム
鳥 車
引用:A Distributional Perspective on
10
12. 7. Noisy Nets
• ε-greedy法による探索では確率εでランダムに行動する、しかし…
εに左右されやすく、設定が難しい
最初の報酬を得るのに多くの行動選択枝があると難しい
• どのくらいランダムにするかをノイズを用いてネットワークに学習させる
通常の全結合
Noisy Nets
どのくらいランダムにするかの ランダムなノイズ
学習パラメータ
探索効率の改善!
11
16. 実験結果 2.1種抜けとの比較
• 右図:Rainbowから1種抜いたモデルとRainbowのスコアの比較図
• 縦軸:スコア
• 横軸:学習に用いたフレーム数
• PriorityとMulti-step抜き…影響が大きい
早い段階でパフォーマンスに大きな影響
• DoubleとDuel抜き…影響が小さい
引用:Rainbow: Combining Improvements
in Deep Reinforcement Learning
Double
影響力大!
Multi-step
Priority
DQN
Noisy
影響力小
Duel
Dis
15
19. 参考文献
• Deep Reinforcement Learning with Double Q-learning
Hado van Hasselt, Arthur Guez, David Silver
• Prioritized Experience Replay
Tom Schaul, John Quan, Ioannis Antonoglou, David Silver
• Dueling Network Architectures for Deep Reinforcement Learning
Ziyu Wang, Tom Schaul, Matteo Hessel, Hado van Hasselt, Marc Lanctot, Nando de Freitas
• A Distributional Perspective on Reinforcement Learning
Marc G. Bellemare, Will Dabney, Rémi Munos
• Noisy Networks for Exploration
Meire Fortunato, Mohammad Gheshlaghi Azar, Bilal Piot, Jacob Menick, Ian Osband, Alex
Graves, Vlad Mnih, Remi Munos, Demis Hassabis, Olivier Pietquin, Charles Blundell, Shane
Legg
• https://github.com/arXivTimes/arXivTimes/issues/439
18
Notas do Editor AAAI アメリカ人工知能学会に論文が掲載されています ある状態sにおいて行動aを取った時、どれだけ報酬rが得られるか
報酬rは短期的な報酬で長期的な価値Qとは別
強化学習では、目先の報酬(Immediate rewards:即時報酬)ではなく、将来に得られる価値を最大化させるように行動します
環境は試合、エージェントは選手で、どのような行動(プレー)をしたら報酬(褒められるか)を学習していき、そして将来にわたる最大の価値Q(ゴールを決める)を目指していくということです。
この差分(=誤差)をTD誤差といい(TD = Temporal Difference)、TD誤差により学習を行う手法をTD学習といいます https://book.mynavi.jp/manatee/detail/id=89691
https://qiita.com/sugulu/items/bc7c70e6658f204f85f9
Q関数をディープラーニングすること。
Experience Replayは従来のQ学習のように1ステップごとにそのステップの内容(experience)を学習するのではなく、メモリに各ステップの内容を保存しておき、メモリから内容をランダムに取り出して(replay)、ニューラルネットワークに学習させる方法です。
Fixed Target Q-Network とニューラルネットワークは主となるmain-networkとは別に、誤差関数で使用する行動価値を求めるtarget-networkを用意します。そしてQ学習で使用するmaxaQ(st+1, a)の値はtarget-networkから求めます。このtarget-networkは少し前の時間のmain-networkを使用するようにします。
ニューラルネットワークの学習に、そのニューラルネットワークの出力を使用すると学習が安定しづらいという問題が発生します。Fixed Target Q-Networkはこの問題を解決する工夫となります。Fixed Target Q-Networkはミニバッチ学習を行うことで実装することができます。
報酬のclippingは各ステップで得られる報酬を-1, 0, 1のいずれかに固定しておく方法です。こうすることで、ゲーム内容(学習対象)によらず、同じハイパーパラメータでディープラーニングを実行しやすいというメリットがあります。
誤差関数を二乗誤差からハーバー関数にすることで誤差1以上の際に絶対値誤差を使用することで学習が安定します。 Q学習では、推定のQ値が真の値に対して二乗誤差が正になるとき、maxQ値が真の値よりも大きくなってしまう(過大評価)
ターゲット(y)生成時に現在のネットワークとは別のネットワークを用いて過大評価を抑制します。
“”“
Q値の更新における「遷移先の状態における期待報酬」の推定では、"max"が使用される。期待報酬の推定には当然ノイズがあることが想定され、そのノイズが0を中心とした-ε ~ +εの範囲である場合、"max"をとっていると常に+ε側に振れたものが選択されることになる。そうなると、期待報酬はどうしても真の値より上振れすることになる。これが"overestimations"と呼ばれる問題となる。
https://qiita.com/sugulu/items/10ac7ce53de40d4c8891
“”“ サンプル、、、DQNでメモリに保存していた状態(s(t), a(t), r(t), s(t+1), a(t+1) )
P(i)について・・・α=0で一様サンプリング、αが大きいほど偏ったサンプリングを表現
注意点
TD誤差の少ない経験がずっと再生されない
関数近似によるノイズに影響されやすい
高優先度の経験をgreedyにサンプルすると過学習しやすい https://qiita.com/sugulu/items/6c4d34446d4878cde61a
Qには状態sだけで決まる部分と行動aによって決まる部分がある。それを分けて学習する方法で、
メリットはV(s)が行動によらず毎回学習できる点 やりすぎると(モンテカルロ法と同様)バイアスが大きくなってしまう
手法としては割と古くからあり、nは3や5が良いことが知られている。 図はFREEWAYという鶏を車に当たらないよう、下から上に移動させるゲームにおける報酬分布の差異を示している。左の図では車は離れている状態のためどの行動でも同じような報酬の分布だが、車が近づいてきたときは下に下がるか上に上がってしまうかの方が分布の平均が高くなっていることが分かる。
(質問されたら)
範囲が広い分布を選ばない・・・変な行動をするリスクを抑えられる
ベルマン方程式を用いているが詳しくは見ていませんでした 記号は要素ごとの積
1-εで最適行動
グリーディ法
一番最初に思いつく方法は、現在の推定される行動の価値の中で、最も価値の高い行動を選ぶという方法。
εグリーディ法
グリーディ法の場合、常に「今のところ一番良さげなレバー」しか選ばないので、つまり「知識利用」のみを行って、「探査」は行わないことになる。
それだと推定される行動の価値が改善されていかない可能性があるので、ε(0<ε<1)の確率で、ランダムに行動を選択するような方法も考えてみる。 マルチステップに至っては終盤の学習にも影響、PriorityとMulti-stepは全57ゲーム中53で良い影響を及ぼしている。
Distributionは最初40Mフレームではレインボーとほぼ同じ
中央の基準線がレインボーのパフォーマンス
PriorityとMulti-step抜きは全57ゲーム中53で影響を及ぼしている。 実装。きちんと論文同等のパフォーマンスが出るか検証されており、学習済みモデルも提供されている。
https://github.com/Kaixhin/Rainbow