Slide 1

Slide 1 text

deeplab 深層学習&ロボティクス勉強会 Domain Randomization for Sim2Real Transfer Takehiko Ohkawa, Haruka Kiyohara, Ryosuke Takanami, Fumi Takahashi, Tatsukichi Shibuya, Ryota Marumoto

Slide 2

Slide 2 text

深層学習&ロボティクス勉強会 deeplabは2019年4月に設立した学生による人工知能研究会である.東大,東工大,早 慶大をはじめとする都内の学部生を中心に20名以上が参加し,2019年度は5.4日に1 回ペース,年間60回を超える勉強会を開催し,人工知能関連分野 (ML, DL, CV, NLP, RL, Robotics, Speech, HCI, CognitiveScience, etc) を探究している. 今回は「深層学習の最新トレンドと強化学習,ロボティックス分野における発展」をテー マとし,勉強会を実施した.題材としてOpenAIのRoboticsチームの研究者であるLilian Wengさんのブログ (https://lilianweng.github.io/lil-log) を参考にし,資料作成,発表, ディスカッションを行った.

Slide 3

Slide 3 text

Sim2Real Transfer ● ロボティクス分野では,学習にシミュレータが頻繁に利用される. ● 学習時のシミュレーション環境から実世界のテスト環境への転移は重要な問題 ● 解決策 (a) System identification: 物理システムの数理モデル (=シミュレータ) を構築する. しかし,キャリブレーシ ョンに労力を必要とし,推定結果が不確実な場合がある. (b) Domain adaptation: 転移学習の一つで,タスクモデル内で実データ分布とシミュレーションデータ分布 のマッチングを図る学習方式. (c) Domain randomization: 多様なシミュレーション環境を生成し,その上でうまく汎化するように学習する. 学習環境のバリエーションの中に実環境も含まれることが期待できるので,実ドメインへ適応する可能性が ある. (a) (b) (c)

Slide 4

Slide 4 text

What is Domain Randomization? ● Domain adaptationは実データ分布を表現する上で多くの学習データを必要とする が,domain randomizationは少数もしくは実データなしで実現可能. ● シミュレーション環境をsource domain 𝑒𝜉 , 実環境をtarget domainとして, シミュレー ターの変数 𝜉~Ξ を制御して,方策パラメータ 𝜃 を学習する. R(∙)は期待報酬であり,𝜏 はランダム化されたソースドメイン 𝑒𝜉 から収集される軌 跡である.

Slide 5

Slide 5 text

Uniform Domain Randomization ● 初期のdomain randomizationの研究では,シミュレーターの変数 𝜉 をある区間内で 一様にサンプリングしていた. ● 変数例 • Position, shape, and color of objects • Material texture • Lighting condition • Random noise added to images • Position, orientation, and field of view of the camera in the simulator ● 主に,ロボット把持のタスクで活用される [Tobin et al., 2017]

Slide 6

Slide 6 text

Why does Domain Randomization Work? ● 最適化の観点から 学習時に実環境にアクセス可能だとすると,2段階最適化問題として考えることができる. ● メタ学習の観点から Domain randomizationは様々なタスクの集合として見ることができ,メモリを持つRNNを用いた方策学習で は,メタ学習として捉えることもできる. ランダム化したシミュレーション環境で方策を学習した元で 実データの上で誤差が小さくなる 分布パラメータ 𝜑 を決める

Slide 7

Slide 7 text

Guided Domain Randomization ● シミュレーターの変数を一様にサンプルするのではなく,タスク性能,実データ,シミ ュレーターの情報を利用して効率化する. ● Optimization for Task Performance タスク性能を報酬として強化学習問題を設定し,その最大化を図る (c.f., NAS, AutoAugment). ● Match Real Data Distribution シミュレーション環境と実環境の状態分布をマッチするように学習する. ● Guided by Data in Simulator シミュレーションデータを利用して,識別困難なデータを生成し,その上で学習する.

Slide 8

Slide 8 text

Optimization for Task Performance ● タスク性能を報酬としてシミュレーターの変数 𝜉 を強化学習の枠組みで最適化する (learning to simulate) [Ruiz et al., 2019]. ● 変数 𝜉 は多変量ガウス分布でモデル化する. ● その他に,進化アルゴリズムCovariance Matrix Adaptation Evolution Strategy (CMA-ES) を利用する例もある [Yu et al., 2019].

Slide 9

Slide 9 text

Optimization for Task Performance ● Domain adaptationではappearanceのdomain gap解消が主な焦点であったが, Meta-Sim [Kar et al., 2019] はコンテンツのgapにも対処する. ● 合成データの各オブジェクトの性質とその関係性は,階層的に表現される. 1. 事前モデルを学習する.シーングラフsに関する恒等写像 G(s) = s を学習する. 2. 実データと合成データ間のMMD lossから分布マッチングを図る. 3. REINFORCEを用いて,合成データ上で学習し実データでテストしたタスク性能を最大化する.

Slide 10

Slide 10 text

Match Real Data Distribution ● MetaOpt [Chebotar et al., 2019] では,合成データ,実データの上で方策を学習し, そこからrolloutによって生成される軌跡 𝜏sim , 𝜏real の分布マッチングを行う. シミュレータが微分可能か否かで,距離尺度 𝐷(∙, ∙) や最適化の設計方針が大きく 変わる.

Slide 11

Slide 11 text

Match Real Data Distribution ● Randomized-to-Canonical Adaptation Networks (RCAN) [James et al., 2019] は, domain adaptationとdomain randomizationを組み合わせた研究例である. ● Gはrandom→canonical環境への写像を学習し,test時にも適用することで,学習・ 評価を同じドメインで実行する.

Slide 12

Slide 12 text

Guided by Data in Simulator ● Deception [Zakharov et al., 2019] は,ネットワークを利用したdomain randomization であり, Deceptionは,入力画像に背景・照明変化や歪みを加える操作を行う. ● 以下の2ステップで学習を行う. 1. 認識モデルを固定し,タスク誤差を最大化するようにDeceptionモジュールを学習する. ここでは,Gradient Reversal Layer (GRL) によって勾配を反転させることで学習される. 2. 次に,Deceptionモジュールを固定し,Deceptionが生成する識別困難なサンプルをもとに識別モデルを 学習する.

Slide 13

Slide 13 text

Guided by Data in Simulator ● Active Domain Randomization (ADR) [Mehta et al., 2019] は,もっともinformativeな 環境を探索し,方策はその環境から生成される学習困難なサンプルのもとで学習さ れる.ここで,Informativenessは,ランダム化される前の環境referenceとランダム化 を施した環境の差分に応じて設計される.

Slide 14

Slide 14 text

Summary ● Sim2Realのdomain gapはロボティクスの実世界応用にとって非常に重要な問題で あり,domain randomizationがその解決の一助になる. ● 最近は, 以下の3つのアプローチが主流である. 1. Optimization for Task Performance 2. Match Real Data Distribution 3. Guided by Data in Simulator ● 課題: ランダム化した環境の中に実環境に近いものが含まれるという強い仮定 シミュレータが微分不可能な場合に学習が難しくなる

Slide 15

Slide 15 text

References (1/2) ● Lilian Weng. Domain randomization for sim2real transfer. 2019. http://lilianweng.github.io/lil-log/2019/05/04/domain-randomization.html ● Josh Tobin et al. Domain randomization for transferring deep neural networks from simulation to the real world. IROS, 2017. ● Nataniel Ruiz et al. Learning to simulate. ICLR, 2019. ● Wenhao Yu et al. Policy transfer with strategy optimization. ICLR, 2019. ● Amlan Kar et al. Meta-sim: Learning to generate synthetic datasets. arXiv, 2019. ● Yevgen Chebotar et al. Closing the sim-to-real loop: Adapting simulation randomization with real world experience. arXiv, 2019. ● Stephen James et al. Sim-to-real via sim-to-sim: Data-efficient robotic grasping via randomized-to-canonical adaptation networks. CVPR, 2019.

Slide 16

Slide 16 text

References (2/2) ● Sergey Zakharov et al. DeceptionNet: Network-driven domain randomization. arXiv, 2019. ● Bhairav Mehta et al. Active Domain Randomization. arXiv, 2019.