Rainbow:Combining Improvements
in Deep Reinforcement Learning
NN論⽂を肴に酒を飲む会#5
22 Slides
arXiv:1710.02298
 もくじ 2
•  ⾃⼰紹介
•  紹介論⽂概要
•  論⽂紹介
– 背景
– DQN概要
– Rainbowに使⽤されている各⼿法の概要
– 実験結果
•  まとめ
 ⾃⼰紹介 3
•  名前
–  吉永 尊洸(@tekenuko)
•  職業
–  データサイエンティスト(仮)
•  素粒⼦論→データ分析コンサル→事業会社
•  ブログ
–  http://tekenuko.hatenablog.com
•  趣味
–  リアル脱出ゲーム
 紹介論⽂概要 4
•  著者
–  Hessel et al. (DeepMindの⼈たち)
•  AAAI 2018
•  概要
–  DQNまわりの発展を詰め込んだモデルを提案
•  Double DQN, Prioritized replay, Dueling networks,
Multi-step learning, Distributed RL, Noisy Nets
–  2017/10時点でState of the Artを達成
–  各⼿法の寄与を実験的に評価
•  Prioritized replay, Multi-step learningが重要そう
•  選定理由
–  パフォーマンスの図にグッときた
 背景 5
•  強化学習が近年多くの成功をおさめている
–  きっかけは、Deep-Q Network(DQN)
–  Atari2600といったレトロゲームでは、⼈間に
近い性能を獲得
–  DQNをきっかけに、多くの拡張が提案され、
State of the Art(SoTA)の更新が続いている
•  エージェントが環境と相互作⽤しながら、
より良い⾏動の仕⽅を学ぶ
•  累積の報酬を最⼤化するように、⾏動の
指針(⽅策)を最適化する
 強化学習 6
⾏動
状態
報酬
状態
報酬エージェント 環境
割引率(0~1)
 Q-learning 7
•  ⾏動の価値をあらわす関数(⾏動価値関数)
を更新することで、最適⽅策に近づける
•  最適⾏動価値関数と最適⽅策
•  更新則
 DQN概要 8
•  ⾏動価値関数をDNNで近似( )し、
教師ありのように学習をおこなう
ゲーム画⾯
(状態)
畳み込みニューラルネットワーク(CNN)
…
 DQNの⼯夫 9
•  CNNを利⽤(ゲーム画⾯を⼊⼒)、ゲーム間
で⼊⼒・中間層を共有
–  パラメータを減らし過学習を緩和
•  Target network
–  ⽬的関数の収束を安定化させるために、⼀定期間
パラメータを固定
•  Experience replay
–  ⼊⼒間の相関による学習の偏りを緩和するために、
直近の体験から⼀様乱数でサンプリングして学習
Target的な部分
 DQN以降の発展 10
•  DQN(Mnih+ 2015)以降、様々な拡張が提案
–  Double DQN(Hasselt+ 2016)
–  Prioritized replay(Schaul+ 2015)
–  Dueling network(Wang+ 2016)
–  Multi-step learning(Sutton 1998, アイデアは前からあった)
–  Distributed RL(Bellemare+ 2017)
–  Noisy Nets(Fortunaro+ 2017)
•  Rainbowでは上記の⼿法を合体
 Double DQN 11
•  最適⾏動の決定と評価するQ関数を分ける
•  ⾏動の過⼤評価を防ぐ働きがある
–  関数近似の近似誤差がある状態でmaxをとると、過⼤
評価される⾏動があるかもしれない
パラメータ  を持つqで⾏動の決定と評価をおこなう
⾏動の決定はパラメータ  を持つqでおこなう
評価はパラメータ  をもつqでおこなう
 Prioritized replay(優先度付き体験再⽣) 12
•  学習の余地の⼤きいデータを優先的にサンプル
–  学習の余地の⼤きさ=TD誤差の⼤きさ
•  Atari2600の41/49ゲームでDQNより性能向上
–  experience replayで実現した偏りの⼩さい学習を壊
してしまうことになるが、そのほうが良いこともある
•  Q関数を状態で決まる部分と⾏動も含めて決まる
部分に分けて学習する
 Dueling networks 13
DQN
Dueling
出⼒はQ
状態に関する価値
状態に対する⾏動の相対的な価値(アドバンテージ)
 Multi-step learning 14
•  ⽬的関数をnステップ先の量で置き換える
–  nステップ先の報酬
–  nステップ先のQを推定
•  適切にnを選ぶと学習が速くなる(らしい)
 Distributional RL 15
•  報酬の期待値の代わりに報酬の分布を推定
–  通常のDQNは、累積報酬の期待値を推定
–  潜在的な要因によって報酬分布に差がある場合は、期
待値だけ⾒ていると状況を正しく反映できないかも
•  報酬をN個の値をもつ離散分布と考え、⾏動ごと
にN個の値を出⼒するように拡張
–  DQNの出⼒層を(N×⾏動数)次元に変更
•  分布の推定は、Kulback-Leibler divergenceの
最⼩化問題に帰着させる
 Noisy Nets 16
•  ネットワークの重みにノイズを付与して、探索の
効果を⼊れる
–  例:全結合層
•  学習時に通常⾏われるε-greedy⽅策などの代わり
(DQN)
N(0,1)
要素積
学習パラメータ N(0,1)学習パラメータ
 Rainbow 17
•  前述の⼿法を合体
–  報酬の分布の推定をおこなう
•  ⽬的関数はKulback-Leibler divergence
–  ⽬的関数でnステップ先の量を利⽤
–  ⾏動選択と評価の関数を分ける
–  ネットワーク構造はDueling network
–  Noisy Netsでランダム性を持たせる
–  学習の際のサンプリングは、学習の余地の⼤きいもの
を優先的に選択
•  Kulback-Leibler divergenceの⼤きさで評価
•  Atari2600でパフォーマンスを評価
 実験結果1 18
•  単体の⼿法を圧倒
–  パフォーマンスも良いし、学習も早い(+図がネタ的)
provements in Deep Reinforcement Learning
Hado van Hasselt
DeepMind
Tom Schaul
DeepMind
Georg Ostrovski
DeepMind
Bilal Piot
DeepMind
Mohammad Azar
DeepMind
David Silver
DeepMind
made sev-
hm. How-
mplemen-
examines
lly studies
combina-
Atari 2600
nal perfor-
tion study
verall per-
ment learn-
g problems
thm (DQN;
arning with
replay en-
many Atari
エキスパート(⼈間)
1秒=60フレーム
2億フレームだと40⽇くらい学習
 実験結果2 各⼿法の重要度 19
•  Rainbowから要素を⼀つずつ抜いて影響度を⽐較
–  Prioritized replay, Multi-step learning(あと次点で
Distributed RL)が影響度⼤
 まとめ 20
•  Rainbowという、近年のDQNの発展を詰め込
んだモデルを提案
–  Double DQN, Prioritized replay, Dueling
networks, Multi-step learning, Distributed RL,
Noisy Nets
•  2017/10時点でState of the Artを達成
•  各⼿法の寄与を実験的に評価
–  Prioritized replay, Multi-step learningが重要そう
 その後の発展 Ape-X 21
•  もうSoTAじゃないかも…
–  下記の論⽂で、Ape-Xというものが提案
•  Distributed Prioritized Experimental Replay
–  Hogan et al. (DeepMindの⼈たち)
–  ICLR 2018(Poster)
–  Double DQN, Prioritized replay, Dueling
networks, Multi-step learning
–  複数のActorを⽤意し、経験を共有メモリに貯め、
貯めた情報を⽤いてLearnerが学習
•  Actorを分散させることで、Prioritized replayを効率化
 その後の発展 Ape-X 22
•  既存⼿法よりも良い
–  Raibowよりも良い
–  注意
•  Ape-X:1GPU+360CPU
•  他:1GPU
•  さらに並列化して⾼速化する
仕組みの提案が偉いのかも
•  発展についていくのも⼤変
–  だけど…
Under review as a conference paper at ICLR 2018
0 50 100 150 200 250 300
Training Time (Hours)
50%
100%
150%
200%
250%
300%
350%
400%
450%
Human-normalizedScore
(MedianOver57Games)
Ape-X DQN (20hrs)
Ape-X DQN (70hrs)
Ape-X DQN (120hrs)
DQN
Rainbow
Prioritized DQN
C51
Gorila
EpisodeReturn
(Mean)
EpisodeReturn
1
1
EpisodeReturn
(Mean)
Figure 2: Left: Atari results aggregated across 57 ga
training curves for selected games, against baselines.

Rainbow

  • 1.
    Rainbow:Combining Improvements in DeepReinforcement Learning NN論⽂を肴に酒を飲む会#5 22 Slides arXiv:1710.02298
  • 2.
     もくじ 2 •  ⾃⼰紹介 • 紹介論⽂概要 •  論⽂紹介 – 背景 – DQN概要 – Rainbowに使⽤されている各⼿法の概要 – 実験結果 •  まとめ
  • 3.
     ⾃⼰紹介 3 •  名前 – 吉永 尊洸(@tekenuko) •  職業 –  データサイエンティスト(仮) •  素粒⼦論→データ分析コンサル→事業会社 •  ブログ –  http://tekenuko.hatenablog.com •  趣味 –  リアル脱出ゲーム
  • 4.
     紹介論⽂概要 4 •  著者 – Hessel et al. (DeepMindの⼈たち) •  AAAI 2018 •  概要 –  DQNまわりの発展を詰め込んだモデルを提案 •  Double DQN, Prioritized replay, Dueling networks, Multi-step learning, Distributed RL, Noisy Nets –  2017/10時点でState of the Artを達成 –  各⼿法の寄与を実験的に評価 •  Prioritized replay, Multi-step learningが重要そう •  選定理由 –  パフォーマンスの図にグッときた
  • 5.
     背景 5 •  強化学習が近年多くの成功をおさめている – きっかけは、Deep-Q Network(DQN) –  Atari2600といったレトロゲームでは、⼈間に 近い性能を獲得 –  DQNをきっかけに、多くの拡張が提案され、 State of the Art(SoTA)の更新が続いている
  • 6.
  • 7.
  • 8.
     DQN概要 8 •  ⾏動価値関数をDNNで近似()し、 教師ありのように学習をおこなう ゲーム画⾯ (状態) 畳み込みニューラルネットワーク(CNN) …
  • 9.
     DQNの⼯夫 9 •  CNNを利⽤(ゲーム画⾯を⼊⼒)、ゲーム間 で⼊⼒・中間層を共有 – パラメータを減らし過学習を緩和 •  Target network –  ⽬的関数の収束を安定化させるために、⼀定期間 パラメータを固定 •  Experience replay –  ⼊⼒間の相関による学習の偏りを緩和するために、 直近の体験から⼀様乱数でサンプリングして学習 Target的な部分
  • 10.
     DQN以降の発展 10 •  DQN(Mnih+2015)以降、様々な拡張が提案 –  Double DQN(Hasselt+ 2016) –  Prioritized replay(Schaul+ 2015) –  Dueling network(Wang+ 2016) –  Multi-step learning(Sutton 1998, アイデアは前からあった) –  Distributed RL(Bellemare+ 2017) –  Noisy Nets(Fortunaro+ 2017) •  Rainbowでは上記の⼿法を合体
  • 11.
     Double DQN 11 • 最適⾏動の決定と評価するQ関数を分ける •  ⾏動の過⼤評価を防ぐ働きがある –  関数近似の近似誤差がある状態でmaxをとると、過⼤ 評価される⾏動があるかもしれない パラメータ  を持つqで⾏動の決定と評価をおこなう ⾏動の決定はパラメータ  を持つqでおこなう 評価はパラメータ  をもつqでおこなう
  • 12.
     Prioritized replay(優先度付き体験再⽣) 12 • 学習の余地の⼤きいデータを優先的にサンプル –  学習の余地の⼤きさ=TD誤差の⼤きさ •  Atari2600の41/49ゲームでDQNより性能向上 –  experience replayで実現した偏りの⼩さい学習を壊 してしまうことになるが、そのほうが良いこともある
  • 13.
    •  Q関数を状態で決まる部分と⾏動も含めて決まる 部分に分けて学習する  Dueling networks13 DQN Dueling 出⼒はQ 状態に関する価値 状態に対する⾏動の相対的な価値(アドバンテージ)
  • 14.
     Multi-step learning 14 • ⽬的関数をnステップ先の量で置き換える –  nステップ先の報酬 –  nステップ先のQを推定 •  適切にnを選ぶと学習が速くなる(らしい)
  • 15.
     Distributional RL 15 • 報酬の期待値の代わりに報酬の分布を推定 –  通常のDQNは、累積報酬の期待値を推定 –  潜在的な要因によって報酬分布に差がある場合は、期 待値だけ⾒ていると状況を正しく反映できないかも •  報酬をN個の値をもつ離散分布と考え、⾏動ごと にN個の値を出⼒するように拡張 –  DQNの出⼒層を(N×⾏動数)次元に変更 •  分布の推定は、Kulback-Leibler divergenceの 最⼩化問題に帰着させる
  • 16.
     Noisy Nets 16 • ネットワークの重みにノイズを付与して、探索の 効果を⼊れる –  例:全結合層 •  学習時に通常⾏われるε-greedy⽅策などの代わり (DQN) N(0,1) 要素積 学習パラメータ N(0,1)学習パラメータ
  • 17.
     Rainbow 17 •  前述の⼿法を合体 – 報酬の分布の推定をおこなう •  ⽬的関数はKulback-Leibler divergence –  ⽬的関数でnステップ先の量を利⽤ –  ⾏動選択と評価の関数を分ける –  ネットワーク構造はDueling network –  Noisy Netsでランダム性を持たせる –  学習の際のサンプリングは、学習の余地の⼤きいもの を優先的に選択 •  Kulback-Leibler divergenceの⼤きさで評価 •  Atari2600でパフォーマンスを評価
  • 18.
     実験結果1 18 •  単体の⼿法を圧倒 – パフォーマンスも良いし、学習も早い(+図がネタ的) provements in Deep Reinforcement Learning Hado van Hasselt DeepMind Tom Schaul DeepMind Georg Ostrovski DeepMind Bilal Piot DeepMind Mohammad Azar DeepMind David Silver DeepMind made sev- hm. How- mplemen- examines lly studies combina- Atari 2600 nal perfor- tion study verall per- ment learn- g problems thm (DQN; arning with replay en- many Atari エキスパート(⼈間) 1秒=60フレーム 2億フレームだと40⽇くらい学習
  • 19.
     実験結果2 各⼿法の重要度 19 •  Rainbowから要素を⼀つずつ抜いて影響度を⽐較 – Prioritized replay, Multi-step learning(あと次点で Distributed RL)が影響度⼤
  • 20.
     まとめ 20 •  Rainbowという、近年のDQNの発展を詰め込 んだモデルを提案 – Double DQN, Prioritized replay, Dueling networks, Multi-step learning, Distributed RL, Noisy Nets •  2017/10時点でState of the Artを達成 •  各⼿法の寄与を実験的に評価 –  Prioritized replay, Multi-step learningが重要そう
  • 21.
     その後の発展 Ape-X 21 •  もうSoTAじゃないかも… – 下記の論⽂で、Ape-Xというものが提案 •  Distributed Prioritized Experimental Replay –  Hogan et al. (DeepMindの⼈たち) –  ICLR 2018(Poster) –  Double DQN, Prioritized replay, Dueling networks, Multi-step learning –  複数のActorを⽤意し、経験を共有メモリに貯め、 貯めた情報を⽤いてLearnerが学習 •  Actorを分散させることで、Prioritized replayを効率化
  • 22.
     その後の発展 Ape-X 22 •  既存⼿法よりも良い – Raibowよりも良い –  注意 •  Ape-X:1GPU+360CPU •  他:1GPU •  さらに並列化して⾼速化する 仕組みの提案が偉いのかも •  発展についていくのも⼤変 –  だけど… Under review as a conference paper at ICLR 2018 0 50 100 150 200 250 300 Training Time (Hours) 50% 100% 150% 200% 250% 300% 350% 400% 450% Human-normalizedScore (MedianOver57Games) Ape-X DQN (20hrs) Ape-X DQN (70hrs) Ape-X DQN (120hrs) DQN Rainbow Prioritized DQN C51 Gorila EpisodeReturn (Mean) EpisodeReturn 1 1 EpisodeReturn (Mean) Figure 2: Left: Atari results aggregated across 57 ga training curves for selected games, against baselines.