145 Views
November 20, 20
スライド概要
2020/11/20
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
DEEP LEARNING JP Parrot: Data-Driven Behavioral Priors [DL Papers] for Reinforcement Learning Hiroki Furuta http://deeplearning.jp/
書誌情報 • タイトル: Parrot: Data-Driven Behavioral Priors for Reinforcement Learning • 著者・所属: Anonymous • 会議: ICLR2021 (under review, score: 9, 8, 7, 6) • URL: https://openreview.net/forum?id=Ysuv-WOFeKR • 概要: 画像入力のマニピュレーションにおいて、複数タスクの試行 データから行動の事前知識(Prior)を獲得する手法、PARROTを提案し た。 FlowベースのReal NVPで学習したPriorを用いることで、既存手 法を大きく上回って未知のタスクを学習できる。 2
研究背景 • 強化学習は様々なタスク(ロボットアームで物を掴む、置くなど)を学 習できるが、一から学習するため非常に大量の試行データを必要とす る • 一方で、機械学習の他分野ではそれぞれのタスクで一から学習させる ことは稀 ➢ 例) 自然言語処理: BERT, 画像認識: ImageNet ➢ 基本、これらを目的に合わせてfine-tuningする • 強化学習によるロボット制御でも同じことがやりたい 3
RLにおけるPre-training • (例)これまでに得られている、様々なタスクにおける成功した試行デー タを活用して、新たなタスクの学習を容易にする ➢ “様々なタスクにおける成功した試行データ”をどのように得るか?→(例)テレオペ レーションなど[Lynch+ 2019] • 行動の事前知識(Behavioral Prior)を表現学習を通して学習する ➢ RLにおいていい表現(Representation)とは(著者の定義) 1. 効率的な探索を促す 2. 方策の学習を簡単にする 3. 環境についての情報を失わない(サンプルできないactionなどが生じないようにする) 4
既存の研究との関連 • RLと模倣学習 ➢ マルチタスクでの研究であり、実験で優位性を示した • 生成モデルと強化学習 ➢ VAEを用いて環境をモデル化することが多いが、可逆なFlow-basedな手法を用いた • 階層強化学習 ➢ 時間方向の抽象化(Temporally-Extended Abstraction)を扱うことが多いが、PARROT はMDP(特に行動空間)を容易なものに変更する • メタ学習 ➢ 未知タスクを学習するという点で近いが、より簡単な問題設定を扱う 5
問題設定 • 通常の(PO)MDP: 𝑀 = (𝑆, 𝐴, 𝑇, 𝑟, 𝛾) ➢ 画像を𝑆(状態)として扱う • MDPの分布𝑝(𝑀)を考える(異なるMDP=異なるタスク) • 最適な方策で様々なタスクのデータを収集 ➢ それぞれのMDPはダイナミクスなど共通な部分を含んでいることを仮定 • Behavior Priorはこのデータから学習(メタRLは𝑀~𝑝(𝑀)の下でエー ジェント自身がデータ収集) 6
問題設定 • Near-optimalな試行データ(報酬なし)から様々なタスクを学習 7
PARROT: Prior AcceleRated ReinfOrcemenT • MDPを”変更”する、可逆な関数𝑓を学習する ➢ Unit Gaussian noise 𝑧を画像𝑠で条件づけて行動𝑎にマッピング ➢ 可逆な変換の学習にはReal NVPを用いる 8
PARROT • 可逆な変換を用いることで、 𝑧の空間と𝑎の空間がそれぞれ対応する ようになり、RLによる探索を妨げない(全ての行動を実行できる) • 𝑓はタスクを解くために意味のある行動に関する事前知識として働く ので、MDPをより容易なものに”変更”しているとみなせる 9
【参考】Real-NVP • (a)のCoupling Layerを4層用いる ➢ 詳しい説明は[DL輪読会]Flow-based Deep Generative Modelsを参照 10
アルゴリズム • 方策𝜋を学習するアルゴリズムとしてはSACを採用 ➢ 全体は非常に簡単なアルゴリズム 11
実験 • ハードコードされた方策でデータ収集 • タスクはGrasping か Pick and Place • 報酬はSparse(0/1) 12
比較手法 • SAC ➢ 画像入力、試行データは用いない • SAC with demonstrations (BC-SAC) ➢ 試行データからBehavior CloningしてSACでfine-tuning • VAE-features ➢ β-VAEで学習した表現を用いてSACを学習 • Trajectory modeling and RL (TrajRL) ➢ 軌道全体をVAEでモデル化した上で、そこで得られた表現を用いてSACを学習 • Hierarchical imitation and RL (HIRL) ➢ 試行データから下位の方策を学習し、RLで上位の方策(Option)を学習する • Prior-explore ➢ RLでデータを収集する際にPriorからサンプルする 13
結果 • ほとんど全ての環境で一番良い 14
軌道の可視化 • ランダム方策を実行した際の、Behavioral Priorなし/ありの比較 • Behavioral Priorを用いることで、ランダム方策でありながら、物体 との相互作用がありそうな意味のある行動をとっていることがわかる 15
Ablation Study (1) • データセットの規模 ➢ デフォルトは50k ➢ 少なくてもパフォーマンスに変動はなく、5kの場合でも一から学習するよりは 良い 16
Ablation Study (2) • Priorデータと新しいタスクのミスマッチ ➢ データ: Pick and Place, タスク: Grasping → うまくいく ➢ データ: Grasping, タスク: Pick and Place → うまくいかない ➢ 後者がうまくいかないのはグリッパーを開けるなどの新しい行動のせいではな いか? 17
まとめ • 画像入力のマニピュレーションにおいて、複数タスクの試行データか ら行動の事前知識(Prior)を獲得する手法、PARROTを提案 • Flowベースの生成モデルによる可逆な(invertible)変換が事前知識と RLによるfine-tuningを繋ぐ上で重要 感想 ➢ 非常に素直な手法で結果も良くてすごい ➢ 最近、Hierarchical RLに近いやり方でSkill/Option/Primitive/Priorの学習をす る論文が流行っていて、一通りやり尽くされた(?)感じがある • LfP[Lynch+ 2019], Learning Robot Skills[Shanker+ 2020], OPAL[Ajay+ 2020], COG[Singh+ 2020] 18