SlideShare a Scribd company logo
1 of 28
Hierarchical and Interpretable
Skill Acquisition in Multi-task
Reinforcement Learning
2018/02/09
NN論文を肴に酒を飲む会 #5
仲田 圭佑
自己紹介
• 名前
• 仲田 圭佑 (なかた けいすけ)
• 仕事
• データ分析@株式会社ブレインパッド
• 研究開発寄りの部署でお仕事に役立ちそうな機械学習研究のサーベイ
をしつつ、受託分析業務をしています
• 最近気になっている分野
• 強化学習
• 今回のNN論文を肴に酒を飲む会のテーマが強化学習なので今日は楽しみです
Hierarchical and Interpretable Skill Acquisition
in Multi-task Reinforcement Learning
• ICLR2018 Poster: https://openreview.net/forum?id=SJJQVZW0b
• arXiv: https://arxiv.org/abs/1712.07294
• arXiv 版はデグレっている (2018/02/08現在) ので、ICLR 版推奨
• Official blog article
• https://einstein.ai/research/hierarchical-reinforcement-learning
• Authors:
• Tianmin Shu
• Univ. of California, Los Angeles
• (Intern at Salesforce Research)
• Caiming Xiong
• Richard Socher
• Salesforce Research
概要
• 階層的にスキルを取得させる強化学習のフレームワークを提案
• 上位スキルが下位スキルを出来る限り利用するように訓練
• 各スキルは自然言語
と対応させる
• Minecraft で実験
導入
• 人間は単純なスキルを組み合わせて新しいスキルを得ている
• 強化学習でも、スキル間の関係を発見して、階層的に組み合わ
せることで新しいスキルを獲得しよう!
• 各スキルは解釈可能であってほしい
• → 各スキルが解く「タスク」は、人間による自然言語の指示で表現
Hierarchical Reinforcement Learning
• 階層的にタスクおよび方策・行動を分割する強化学習。
上位/下位の2階層にするのが典型的。
(だが、提案法では多階層が可能)
• global policy (上位)
• 最終ゴールを達成するために必要なサブゴールの系列を決定する
• より抽象的 (「ブロックを探す」等)
• エージェントによって直接実行はできない行動を出力
• option とか macro action とか呼ばれたりする
• local policy (下位)
• サブゴールを達成するための行動系列を決定する
• より具体的 (「前に1歩進む」「前のマスの物体を取得する」等)
• 実際にエージェントが実行可能な、プリミティブな行動を出力
• primitive action とか呼ばれたりする
モデル
• の説明の前に・・・
• 方策の階層構造の概要 (図1) を説明
• 実際に、あるタスクがどう分割されているかを例示
タスクの実行例 (図1)
basic actions
terminal policy
top-level policy
• terminal 以外の policy は、ひとつ下位の policy に処理を委譲する
か、basic action を直接実行する
• terminal policy は basic (primitive) action しか実行できない
タスクの実行例 (図1)
• 各タスク (と行動) の発火順序
①
②
③
④ ⑤ ⑥
⑦
⑧
⑨
⑩ ⑪
⑫
⑬
設定
:(kステージの) タスク。<find blue> とか。
:状態。つまりゲーム画面。※
※ 手持ちのブロックも状態に含む?論文中に明記なし
:プリミティブ行動。「一歩前へ」とか、
「目の前の物体を取得」とか
:報酬。タスク g ごとに与えられることに注意
(<find blue>のクリア条件と<put blue>のクリア条件は異なるため)
:(kステージの) 方策。k=0 なら terminal、
k=K なら top-level policy
は、k が対応するタスクセット を解く。
また、タスクセットは入れ子になっている:
つまり、上位方策は下位方策でも解けるタスクを解くこともある。
(が、実際のところそういうタスクは下位方策に委譲するように訓練させる。後述)
階層型方策
・
・
・
k = K (top-level policy)
k = K-1
k = 0 (terminal policy)
・・・
• 上位方策はモジュール内部に
ひとつ下の下位方策を持つ
• 上位方策は下位方策への
タスク委譲を判断するし、
自ら primitive action を取る
こともある
• ただし最下位方策 (terminal)
は primitive action しか
取れない
階層型方策 (絵)
ひとつ下の下位方策
(Base)
下位方策に与える
タスク g を
生成する方策
(Instruction)
自ら primitive action
を取るときの方策
(Augmented flat)
Aug. flat と Base の
どちらを使うか
判断する方策
(Switch)
階層型方策 (式)
Base方策とAug. flat方策のどちらを
使うかの判断 e を、Switch方策で生成
自分に与えられたタスク g から、Base方策
に渡すタスク g’ をInstruction方策で生成
eが1なら自分のAug. flat方策から、0ならBase方策から、
取るべき primitive action を生成。
この一連の流れ全体がステージkの Global policy となる
Stochastic Temporal Grammar (STG)
• タスクには依存関係がある
• オブジェクトを持っていないと置けないはず。等
• 強化学習とは別に、
過去の成功系列 (positive episode) をもとに、タスクの依存関
係の順番を文法だと考えて、正しい文法を推測。
推測した文法を利用して、方策の事前分布に補正をかける:
やたらごつい名前がついているが、やっていることは、
過去に成功して報酬がもらえたタスク系列に似てほしいから、その経験分布をかけているだけ
訓練
• 各ステージkごとに段階的に訓練させていく (progressive
learning 的)
• さらに、ひとつのステージの中でも、訓練を2フェーズに分割
(curriculum learning)
• さらにさらに、その各フェーズの中でも、それぞれの方策モ
ジュールは順繰りにひとつずつ更新をかけ、それ以外は更新を
止めておく (alternating update)
• 訓練の擬似コードは、付録A: Algorithm 2
Progressive Learning
• k の若い順から訓練を進める
• 上位方策からは、
下位方策のパラメータは
更新しない
・
・
・
k = K (top-level policy)
k = K-1
k = 0 (terminal policy)
・・・
訓練の順番
Curriculum Learning
• 同じステージ内でも、2フェイズに分けて訓練する
• Phase1
• base skill acquisition phase
• 下位方策 (下位ステージ, k-1) が訓練に利用したタスクのみを上位方策に解か
せる
• 「下位方策ですでに解けるタスクは、下位方策に適切にタスクを委譲すれば
良い」を学ばせる
• Phase2
• novel skill acquisition phase
• 今のステージ (k) で新たに加わったタスクも含めて解かせる
• 「どのタスクが下位方策で解けて、どのタスクが自ら Aug. flat 方策で解かな
いといけないか」を学ばせる
Alternating Update
• M=500 ステップごとに、3つの方策のパラメータの更新対象を
切り替える
• Switch policy
• Instruction policy
• Augmented flat policy
• (もちろん、このとき対象外の
方策のパラメータは更新しない)
Advantage Actor-Critic (A2C)
• 方策勾配法をベースとして、価値関数 (のアドバンテージ) を同
時に推定する A2C でパラメータ更新
Actor 側の勾配
Critic 側の勾配
ω:重点サンプリングの補正項
(経験再生っぽいことをしているので)
実験
• Minecraft で、「ブロックを重ねる」というタスクを解かせ
る:
=={“Find x”}
={“Find x”, “Get x”}
={“Find x”, ”Get x”, “Put x”}
={“Find x”, “Get x”, “Put x”, “Stack x”}
={“Find x”, “Get x”, “Put x”, “Stack x”, “Put x on y”}
x, y には色の名前 (6種類) が入る。ただし x と y は異なる色。
よってタスクはぜんぶで 種類ある。
各タスクを完遂すると+1の報酬を貰ってエピソード終了。
実行不可能なサブタスクを生成すると-0.5の罰則を受けてエピソード終了。
実験
実験
(a): の学習曲線。Reward が落ちている部分は Phase の切り替え。
(b): の学習曲線。ただし Phase 1 を pre-trained で固定して Phase 2 のみの比較。
いずれも提案法はちゃんと学習できていることがわかる
実験
は、”Get x” を受けて、最初に “Find x” を に対して命令。
しかし、制御が返ってきた後、まだ x を見つけていないことに気づき、
再度 に “Find x” を命令している。
感想
• かなりの hand-engineering
• 問題設定やモデル設計、学習方法の工夫に人間の事前知識をだいぶ入
れている印象
• この点は論文中でも将来の課題として触れられている
• 下位方策に完全に操作を委譲してしまう提案法のアプローチだ
と、「状況が変わったので、実行中の下位方策を一旦中断して
再度上位方策で方針を決め直す」とかはできなさそう
• 例えば、マルチエージェント系だと、他のエージェントによって状況
を変えられてしまうことが特に起こりやすい気がする
感想
• 自然言語で解釈可能とは言っても、
語彙がとても少ない上に文章長が2とか
• これくらいの規模なら、埋め込みをせずにそのまま単語インデックス
をエンコードかけても大丈夫そうに感じる
• もちろん、大規模な語彙や文章での発展を考えて応用可能なアーキテクチャで実
験しているという点は理解できる
• もしかしたら、「put と stack は埋め込みが近くなっている」とかあ
るかもしれない?(指示としては似ているので)
感想
• progressinve/curriculum learning によって簡単なタスクを強制的に先に
学習させ、階層的スキルの未分化/過分化の問題を防止しているように見
える
• 方策蒸留系 (H-DRLN等?) のアプローチも、progressive learning に見える。スキル
の未分化/過分化が自然に防げると思われる
• ICLR2018 には、階層的強化学習系として progressive RL のポスターも通っている
• Progressive Reinforcement Learning with Distillation for Multi-Skilled Motion Control
• https://openreview.net/forum?id=B13njo1R-
参考資料
• Thinking out loud: hierarchical and interpretable multi-task
reinforcement learning
• https://einstein.ai/research/hierarchical-reinforcement-learning
• NIPS2017読み会@PFN: Hierarchical Reinforcement
Learning + α
• https://www.slideshare.net/yukono1/nips2017pfn-hierarchical-
reinforcement-learning
参考文献
• Shu, T., Xiong, C., & Socher, R. (2018). Hierarchical and Interpretable Skill
Acquisition in Multi-task Reinforcement Learning. ICLR.
• Tessler, C., Givony, S., Zahavy, T., Mankowitz, D. J., & Mannor, S. (2017). A
Deep Hierarchical Approach to Lifelong Learning in Minecraft. AAAI.
• Berseth, G., Xie, C., Cernek, P., & Panne, M. Van de. (2018). Progressive
Reinforcement Learning with Distillation for Multi-Skilled Motion Control.
ICLR.
• Hermann, K. M., Hill, F., Green, S., Wang, F., Faulkner, R., Soyer, H., et al.
(2017). Grounded Language Learning in a Simulated 3D World. arXiv preprint.
• Rusu, A. A., Colmenarejo, S. G., Gulcehre, C., Desjardins, G., Kirkpatrick, J.,
Pascanu, R., et al. (2016). Policy Distillation. ICLR.
• Su, P.-H., Budzianowski, P., Ultes, S., Gasic, M., & Young, S. (2017). Sample-
efficient Actor-Critic Reinforcement Learning with Supervised Data for
Dialogue Management. ICLR.

More Related Content

What's hot

ChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なことChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なことRetrieva inc.
 
Decision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence ModelingDecision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence ModelingYasunori Ozaki
 
論文紹介:Dueling network architectures for deep reinforcement learning
論文紹介:Dueling network architectures for deep reinforcement learning論文紹介:Dueling network architectures for deep reinforcement learning
論文紹介:Dueling network architectures for deep reinforcement learningKazuki Adachi
 
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜Jun Okumura
 
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−Deep Learning JP
 
Generative adversarial nets
Generative adversarial netsGenerative adversarial nets
Generative adversarial netsKeisuke Hosaka
 
ChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことJiro Nishitoba
 
2015年9月18日 (GTC Japan 2015) 深層学習フレームワークChainerの導入と化合物活性予測への応用
2015年9月18日 (GTC Japan 2015) 深層学習フレームワークChainerの導入と化合物活性予測への応用 2015年9月18日 (GTC Japan 2015) 深層学習フレームワークChainerの導入と化合物活性予測への応用
2015年9月18日 (GTC Japan 2015) 深層学習フレームワークChainerの導入と化合物活性予測への応用 Kenta Oono
 
Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model (MuZero)
Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model (MuZero)Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model (MuZero)
Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model (MuZero)harmonylab
 
Rainbow: Combining Improvements in Deep Reinforcement Learning (AAAI2018 unde...
Rainbow: Combining Improvements in Deep Reinforcement Learning (AAAI2018 unde...Rainbow: Combining Improvements in Deep Reinforcement Learning (AAAI2018 unde...
Rainbow: Combining Improvements in Deep Reinforcement Learning (AAAI2018 unde...Toru Fujino
 
[DL輪読会]Learning to Act by Predicting the Future
[DL輪読会]Learning to Act by Predicting the Future[DL輪読会]Learning to Act by Predicting the Future
[DL輪読会]Learning to Act by Predicting the FutureDeep Learning JP
 
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -Ogushi Masaya
 
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKSDeep Learning JP
 
GPU上でのNLP向け深層学習の実装について
GPU上でのNLP向け深層学習の実装についてGPU上でのNLP向け深層学習の実装について
GPU上でのNLP向け深層学習の実装についてYuya Unno
 
生成モデルの Deep Learning
生成モデルの Deep Learning生成モデルの Deep Learning
生成モデルの Deep LearningSeiya Tokui
 
[DL輪読会]Learning to Adapt: Meta-Learning for Model-Based Control
[DL輪読会]Learning to Adapt: Meta-Learning for Model-Based Control[DL輪読会]Learning to Adapt: Meta-Learning for Model-Based Control
[DL輪読会]Learning to Adapt: Meta-Learning for Model-Based ControlDeep Learning JP
 
ICLR2018読み会@PFN 論文紹介:Intrinsic Motivation and Automatic Curricula via Asymmet...
ICLR2018読み会@PFN 論文紹介:Intrinsic Motivation and Automatic Curricula via Asymmet...ICLR2018読み会@PFN 論文紹介:Intrinsic Motivation and Automatic Curricula via Asymmet...
ICLR2018読み会@PFN 論文紹介:Intrinsic Motivation and Automatic Curricula via Asymmet...Jun Okumura
 
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)Hiroki Nakahara
 
MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習Preferred Networks
 

What's hot (20)

ChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なことChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なこと
 
Decision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence ModelingDecision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence Modeling
 
論文紹介:Dueling network architectures for deep reinforcement learning
論文紹介:Dueling network architectures for deep reinforcement learning論文紹介:Dueling network architectures for deep reinforcement learning
論文紹介:Dueling network architectures for deep reinforcement learning
 
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
 
Deep learning入門
Deep learning入門Deep learning入門
Deep learning入門
 
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
 
Generative adversarial nets
Generative adversarial netsGenerative adversarial nets
Generative adversarial nets
 
ChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なこと
 
2015年9月18日 (GTC Japan 2015) 深層学習フレームワークChainerの導入と化合物活性予測への応用
2015年9月18日 (GTC Japan 2015) 深層学習フレームワークChainerの導入と化合物活性予測への応用 2015年9月18日 (GTC Japan 2015) 深層学習フレームワークChainerの導入と化合物活性予測への応用
2015年9月18日 (GTC Japan 2015) 深層学習フレームワークChainerの導入と化合物活性予測への応用
 
Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model (MuZero)
Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model (MuZero)Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model (MuZero)
Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model (MuZero)
 
Rainbow: Combining Improvements in Deep Reinforcement Learning (AAAI2018 unde...
Rainbow: Combining Improvements in Deep Reinforcement Learning (AAAI2018 unde...Rainbow: Combining Improvements in Deep Reinforcement Learning (AAAI2018 unde...
Rainbow: Combining Improvements in Deep Reinforcement Learning (AAAI2018 unde...
 
[DL輪読会]Learning to Act by Predicting the Future
[DL輪読会]Learning to Act by Predicting the Future[DL輪読会]Learning to Act by Predicting the Future
[DL輪読会]Learning to Act by Predicting the Future
 
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
 
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
 
GPU上でのNLP向け深層学習の実装について
GPU上でのNLP向け深層学習の実装についてGPU上でのNLP向け深層学習の実装について
GPU上でのNLP向け深層学習の実装について
 
生成モデルの Deep Learning
生成モデルの Deep Learning生成モデルの Deep Learning
生成モデルの Deep Learning
 
[DL輪読会]Learning to Adapt: Meta-Learning for Model-Based Control
[DL輪読会]Learning to Adapt: Meta-Learning for Model-Based Control[DL輪読会]Learning to Adapt: Meta-Learning for Model-Based Control
[DL輪読会]Learning to Adapt: Meta-Learning for Model-Based Control
 
ICLR2018読み会@PFN 論文紹介:Intrinsic Motivation and Automatic Curricula via Asymmet...
ICLR2018読み会@PFN 論文紹介:Intrinsic Motivation and Automatic Curricula via Asymmet...ICLR2018読み会@PFN 論文紹介:Intrinsic Motivation and Automatic Curricula via Asymmet...
ICLR2018読み会@PFN 論文紹介:Intrinsic Motivation and Automatic Curricula via Asymmet...
 
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
 
MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習
 

Similar to Hierarchical and Interpretable Skill Acquisition in Multi-task Reinforcement Learning

A Road map of Data Analysis for Visualization with D3.js
A Road map of Data Analysis for Visualization with D3.jsA Road map of Data Analysis for Visualization with D3.js
A Road map of Data Analysis for Visualization with D3.js博三 太田
 
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するTakahito Tejima
 
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第2回
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第2回(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第2回
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第2回Project Samurai
 
メディアコンテンツ向け記事検索DBとして使うElasticsearch
メディアコンテンツ向け記事検索DBとして使うElasticsearchメディアコンテンツ向け記事検索DBとして使うElasticsearch
メディアコンテンツ向け記事検索DBとして使うElasticsearchYasuhiro Murata
 
JavaScript Basic 01
JavaScript Basic 01JavaScript Basic 01
JavaScript Basic 01Yossy Taka
 
マイニング探検会#09 情報レコメンデーションとは
マイニング探検会#09 情報レコメンデーションとはマイニング探検会#09 情報レコメンデーションとは
マイニング探検会#09 情報レコメンデーションとはYoji Kiyota
 
再考: お買い得物件を機械学習で見つける方法
再考: お買い得物件を機械学習で見つける方法再考: お買い得物件を機械学習で見つける方法
再考: お買い得物件を機械学習で見つける方法智志 片桐
 
オリジナル社内ツールの末路
オリジナル社内ツールの末路オリジナル社内ツールの末路
オリジナル社内ツールの末路Kiyotaka Kunihira
 
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Tatsuya Tojima
 
『逆転オセロニア』における運用効率化支援 〜デッキログのデータマイニング〜
『逆転オセロニア』における運用効率化支援  〜デッキログのデータマイニング〜『逆転オセロニア』における運用効率化支援  〜デッキログのデータマイニング〜
『逆転オセロニア』における運用効率化支援 〜デッキログのデータマイニング〜DeNA
 
Proof summit 2017 for slideshare
Proof summit 2017 for slideshareProof summit 2017 for slideshare
Proof summit 2017 for slideshareKeisuke Yahata
 
ゼロから始めるSparkSQL徹底活用!
ゼロから始めるSparkSQL徹底活用!ゼロから始めるSparkSQL徹底活用!
ゼロから始めるSparkSQL徹底活用!Nagato Kasaki
 
[db analytics showcase Sapporo 2017] A15: Pythonでの分散処理再入門 by 株式会社HPCソリューションズ ...
[db analytics showcase Sapporo 2017] A15: Pythonでの分散処理再入門 by 株式会社HPCソリューションズ ...[db analytics showcase Sapporo 2017] A15: Pythonでの分散処理再入門 by 株式会社HPCソリューションズ ...
[db analytics showcase Sapporo 2017] A15: Pythonでの分散処理再入門 by 株式会社HPCソリューションズ ...Insight Technology, Inc.
 
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"Kentaro Yoshida
 
より深く知るオプティマイザとそのチューニング
より深く知るオプティマイザとそのチューニングより深く知るオプティマイザとそのチューニング
より深く知るオプティマイザとそのチューニングYuto Hayamizu
 
WordBench Kobe jQueryどうでしょう
WordBench Kobe jQueryどうでしょうWordBench Kobe jQueryどうでしょう
WordBench Kobe jQueryどうでしょうHishikawa Takuro
 
Essential Scrum And Manager
Essential Scrum And ManagerEssential Scrum And Manager
Essential Scrum And ManagerMasanori Kado
 

Similar to Hierarchical and Interpretable Skill Acquisition in Multi-task Reinforcement Learning (20)

A Road map of Data Analysis for Visualization with D3.js
A Road map of Data Analysis for Visualization with D3.jsA Road map of Data Analysis for Visualization with D3.js
A Road map of Data Analysis for Visualization with D3.js
 
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
 
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第2回
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第2回(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第2回
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第2回
 
メディアコンテンツ向け記事検索DBとして使うElasticsearch
メディアコンテンツ向け記事検索DBとして使うElasticsearchメディアコンテンツ向け記事検索DBとして使うElasticsearch
メディアコンテンツ向け記事検索DBとして使うElasticsearch
 
JavaScript Basic 01
JavaScript Basic 01JavaScript Basic 01
JavaScript Basic 01
 
マイニング探検会#09 情報レコメンデーションとは
マイニング探検会#09 情報レコメンデーションとはマイニング探検会#09 情報レコメンデーションとは
マイニング探検会#09 情報レコメンデーションとは
 
再考: お買い得物件を機械学習で見つける方法
再考: お買い得物件を機械学習で見つける方法再考: お買い得物件を機械学習で見つける方法
再考: お買い得物件を機械学習で見つける方法
 
JAWSUG 20191028
JAWSUG 20191028JAWSUG 20191028
JAWSUG 20191028
 
オリジナル社内ツールの末路
オリジナル社内ツールの末路オリジナル社内ツールの末路
オリジナル社内ツールの末路
 
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門
 
『逆転オセロニア』における運用効率化支援 〜デッキログのデータマイニング〜
『逆転オセロニア』における運用効率化支援  〜デッキログのデータマイニング〜『逆転オセロニア』における運用効率化支援  〜デッキログのデータマイニング〜
『逆転オセロニア』における運用効率化支援 〜デッキログのデータマイニング〜
 
Proof summit 2017 for slideshare
Proof summit 2017 for slideshareProof summit 2017 for slideshare
Proof summit 2017 for slideshare
 
ゼロから始めるSparkSQL徹底活用!
ゼロから始めるSparkSQL徹底活用!ゼロから始めるSparkSQL徹底活用!
ゼロから始めるSparkSQL徹底活用!
 
[db analytics showcase Sapporo 2017] A15: Pythonでの分散処理再入門 by 株式会社HPCソリューションズ ...
[db analytics showcase Sapporo 2017] A15: Pythonでの分散処理再入門 by 株式会社HPCソリューションズ ...[db analytics showcase Sapporo 2017] A15: Pythonでの分散処理再入門 by 株式会社HPCソリューションズ ...
[db analytics showcase Sapporo 2017] A15: Pythonでの分散処理再入門 by 株式会社HPCソリューションズ ...
 
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
 
より深く知るオプティマイザとそのチューニング
より深く知るオプティマイザとそのチューニングより深く知るオプティマイザとそのチューニング
より深く知るオプティマイザとそのチューニング
 
WordBench Kobe jQueryどうでしょう
WordBench Kobe jQueryどうでしょうWordBench Kobe jQueryどうでしょう
WordBench Kobe jQueryどうでしょう
 
Essential Scrum And Manager
Essential Scrum And ManagerEssential Scrum And Manager
Essential Scrum And Manager
 
IkaLog Presentation v1.3
IkaLog Presentation v1.3IkaLog Presentation v1.3
IkaLog Presentation v1.3
 
Ssaw08 0930
Ssaw08 0930Ssaw08 0930
Ssaw08 0930
 

Hierarchical and Interpretable Skill Acquisition in Multi-task Reinforcement Learning

  • 1. Hierarchical and Interpretable Skill Acquisition in Multi-task Reinforcement Learning 2018/02/09 NN論文を肴に酒を飲む会 #5 仲田 圭佑
  • 2. 自己紹介 • 名前 • 仲田 圭佑 (なかた けいすけ) • 仕事 • データ分析@株式会社ブレインパッド • 研究開発寄りの部署でお仕事に役立ちそうな機械学習研究のサーベイ をしつつ、受託分析業務をしています • 最近気になっている分野 • 強化学習 • 今回のNN論文を肴に酒を飲む会のテーマが強化学習なので今日は楽しみです
  • 3. Hierarchical and Interpretable Skill Acquisition in Multi-task Reinforcement Learning • ICLR2018 Poster: https://openreview.net/forum?id=SJJQVZW0b • arXiv: https://arxiv.org/abs/1712.07294 • arXiv 版はデグレっている (2018/02/08現在) ので、ICLR 版推奨 • Official blog article • https://einstein.ai/research/hierarchical-reinforcement-learning • Authors: • Tianmin Shu • Univ. of California, Los Angeles • (Intern at Salesforce Research) • Caiming Xiong • Richard Socher • Salesforce Research
  • 6. Hierarchical Reinforcement Learning • 階層的にタスクおよび方策・行動を分割する強化学習。 上位/下位の2階層にするのが典型的。 (だが、提案法では多階層が可能) • global policy (上位) • 最終ゴールを達成するために必要なサブゴールの系列を決定する • より抽象的 (「ブロックを探す」等) • エージェントによって直接実行はできない行動を出力 • option とか macro action とか呼ばれたりする • local policy (下位) • サブゴールを達成するための行動系列を決定する • より具体的 (「前に1歩進む」「前のマスの物体を取得する」等) • 実際にエージェントが実行可能な、プリミティブな行動を出力 • primitive action とか呼ばれたりする
  • 7. モデル • の説明の前に・・・ • 方策の階層構造の概要 (図1) を説明 • 実際に、あるタスクがどう分割されているかを例示
  • 8. タスクの実行例 (図1) basic actions terminal policy top-level policy • terminal 以外の policy は、ひとつ下位の policy に処理を委譲する か、basic action を直接実行する • terminal policy は basic (primitive) action しか実行できない
  • 9. タスクの実行例 (図1) • 各タスク (と行動) の発火順序 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬
  • 10. 設定 :(kステージの) タスク。<find blue> とか。 :状態。つまりゲーム画面。※ ※ 手持ちのブロックも状態に含む?論文中に明記なし :プリミティブ行動。「一歩前へ」とか、 「目の前の物体を取得」とか :報酬。タスク g ごとに与えられることに注意 (<find blue>のクリア条件と<put blue>のクリア条件は異なるため) :(kステージの) 方策。k=0 なら terminal、 k=K なら top-level policy は、k が対応するタスクセット を解く。 また、タスクセットは入れ子になっている: つまり、上位方策は下位方策でも解けるタスクを解くこともある。 (が、実際のところそういうタスクは下位方策に委譲するように訓練させる。後述)
  • 11. 階層型方策 ・ ・ ・ k = K (top-level policy) k = K-1 k = 0 (terminal policy) ・・・ • 上位方策はモジュール内部に ひとつ下の下位方策を持つ • 上位方策は下位方策への タスク委譲を判断するし、 自ら primitive action を取る こともある • ただし最下位方策 (terminal) は primitive action しか 取れない
  • 12. 階層型方策 (絵) ひとつ下の下位方策 (Base) 下位方策に与える タスク g を 生成する方策 (Instruction) 自ら primitive action を取るときの方策 (Augmented flat) Aug. flat と Base の どちらを使うか 判断する方策 (Switch)
  • 13. 階層型方策 (式) Base方策とAug. flat方策のどちらを 使うかの判断 e を、Switch方策で生成 自分に与えられたタスク g から、Base方策 に渡すタスク g’ をInstruction方策で生成 eが1なら自分のAug. flat方策から、0ならBase方策から、 取るべき primitive action を生成。 この一連の流れ全体がステージkの Global policy となる
  • 14. Stochastic Temporal Grammar (STG) • タスクには依存関係がある • オブジェクトを持っていないと置けないはず。等 • 強化学習とは別に、 過去の成功系列 (positive episode) をもとに、タスクの依存関 係の順番を文法だと考えて、正しい文法を推測。 推測した文法を利用して、方策の事前分布に補正をかける: やたらごつい名前がついているが、やっていることは、 過去に成功して報酬がもらえたタスク系列に似てほしいから、その経験分布をかけているだけ
  • 15. 訓練 • 各ステージkごとに段階的に訓練させていく (progressive learning 的) • さらに、ひとつのステージの中でも、訓練を2フェーズに分割 (curriculum learning) • さらにさらに、その各フェーズの中でも、それぞれの方策モ ジュールは順繰りにひとつずつ更新をかけ、それ以外は更新を 止めておく (alternating update) • 訓練の擬似コードは、付録A: Algorithm 2
  • 16. Progressive Learning • k の若い順から訓練を進める • 上位方策からは、 下位方策のパラメータは 更新しない ・ ・ ・ k = K (top-level policy) k = K-1 k = 0 (terminal policy) ・・・ 訓練の順番
  • 17. Curriculum Learning • 同じステージ内でも、2フェイズに分けて訓練する • Phase1 • base skill acquisition phase • 下位方策 (下位ステージ, k-1) が訓練に利用したタスクのみを上位方策に解か せる • 「下位方策ですでに解けるタスクは、下位方策に適切にタスクを委譲すれば 良い」を学ばせる • Phase2 • novel skill acquisition phase • 今のステージ (k) で新たに加わったタスクも含めて解かせる • 「どのタスクが下位方策で解けて、どのタスクが自ら Aug. flat 方策で解かな いといけないか」を学ばせる
  • 18. Alternating Update • M=500 ステップごとに、3つの方策のパラメータの更新対象を 切り替える • Switch policy • Instruction policy • Augmented flat policy • (もちろん、このとき対象外の 方策のパラメータは更新しない)
  • 19. Advantage Actor-Critic (A2C) • 方策勾配法をベースとして、価値関数 (のアドバンテージ) を同 時に推定する A2C でパラメータ更新 Actor 側の勾配 Critic 側の勾配 ω:重点サンプリングの補正項 (経験再生っぽいことをしているので)
  • 20. 実験 • Minecraft で、「ブロックを重ねる」というタスクを解かせ る: =={“Find x”} ={“Find x”, “Get x”} ={“Find x”, ”Get x”, “Put x”} ={“Find x”, “Get x”, “Put x”, “Stack x”} ={“Find x”, “Get x”, “Put x”, “Stack x”, “Put x on y”} x, y には色の名前 (6種類) が入る。ただし x と y は異なる色。 よってタスクはぜんぶで 種類ある。 各タスクを完遂すると+1の報酬を貰ってエピソード終了。 実行不可能なサブタスクを生成すると-0.5の罰則を受けてエピソード終了。
  • 22. 実験 (a): の学習曲線。Reward が落ちている部分は Phase の切り替え。 (b): の学習曲線。ただし Phase 1 を pre-trained で固定して Phase 2 のみの比較。 いずれも提案法はちゃんと学習できていることがわかる
  • 23. 実験 は、”Get x” を受けて、最初に “Find x” を に対して命令。 しかし、制御が返ってきた後、まだ x を見つけていないことに気づき、 再度 に “Find x” を命令している。
  • 24. 感想 • かなりの hand-engineering • 問題設定やモデル設計、学習方法の工夫に人間の事前知識をだいぶ入 れている印象 • この点は論文中でも将来の課題として触れられている • 下位方策に完全に操作を委譲してしまう提案法のアプローチだ と、「状況が変わったので、実行中の下位方策を一旦中断して 再度上位方策で方針を決め直す」とかはできなさそう • 例えば、マルチエージェント系だと、他のエージェントによって状況 を変えられてしまうことが特に起こりやすい気がする
  • 25. 感想 • 自然言語で解釈可能とは言っても、 語彙がとても少ない上に文章長が2とか • これくらいの規模なら、埋め込みをせずにそのまま単語インデックス をエンコードかけても大丈夫そうに感じる • もちろん、大規模な語彙や文章での発展を考えて応用可能なアーキテクチャで実 験しているという点は理解できる • もしかしたら、「put と stack は埋め込みが近くなっている」とかあ るかもしれない?(指示としては似ているので)
  • 26. 感想 • progressinve/curriculum learning によって簡単なタスクを強制的に先に 学習させ、階層的スキルの未分化/過分化の問題を防止しているように見 える • 方策蒸留系 (H-DRLN等?) のアプローチも、progressive learning に見える。スキル の未分化/過分化が自然に防げると思われる • ICLR2018 には、階層的強化学習系として progressive RL のポスターも通っている • Progressive Reinforcement Learning with Distillation for Multi-Skilled Motion Control • https://openreview.net/forum?id=B13njo1R-
  • 27. 参考資料 • Thinking out loud: hierarchical and interpretable multi-task reinforcement learning • https://einstein.ai/research/hierarchical-reinforcement-learning • NIPS2017読み会@PFN: Hierarchical Reinforcement Learning + α • https://www.slideshare.net/yukono1/nips2017pfn-hierarchical- reinforcement-learning
  • 28. 参考文献 • Shu, T., Xiong, C., & Socher, R. (2018). Hierarchical and Interpretable Skill Acquisition in Multi-task Reinforcement Learning. ICLR. • Tessler, C., Givony, S., Zahavy, T., Mankowitz, D. J., & Mannor, S. (2017). A Deep Hierarchical Approach to Lifelong Learning in Minecraft. AAAI. • Berseth, G., Xie, C., Cernek, P., & Panne, M. Van de. (2018). Progressive Reinforcement Learning with Distillation for Multi-Skilled Motion Control. ICLR. • Hermann, K. M., Hill, F., Green, S., Wang, F., Faulkner, R., Soyer, H., et al. (2017). Grounded Language Learning in a Simulated 3D World. arXiv preprint. • Rusu, A. A., Colmenarejo, S. G., Gulcehre, C., Desjardins, G., Kirkpatrick, J., Pascanu, R., et al. (2016). Policy Distillation. ICLR. • Su, P.-H., Budzianowski, P., Ultes, S., Gasic, M., & Young, S. (2017). Sample- efficient Actor-Critic Reinforcement Learning with Supervised Data for Dialogue Management. ICLR.