737 Views
February 22, 19
スライド概要
DL輪読会資料
DEEP LEARNING JP [DL Papers] “Sim-to-Real via Sim-to-Sim: Data-efficient Robotic Grasping via Randomized-to-Canonical Adaptation Networks” (RCAN) 國吉新山研究室M2/DeepX 吉田岳人 DL輪読会2018/02/23 http://deeplearning.jp/ 1
書誌情報 • 著者の名前 – Stephen James, Paul Wohlhart, Mrinal Kalakrishnan, Dmitry Kalashnikov, Alex Irpan, Julian Ibarz, Sergey Levine, Raia Hadsell, Konstantinos Bousmalis • 著者の所属 – Imperial College London, X(Google), Google Brain, DeepMind, UC Berkeley – 第一著者 • the Dyson Robotics Lab at Imperial College London – DysonがSLAMの研究者とコラボして作ったラボ • Xでインターン中にこの論文を書いた • ステータス – ArXiv、学会はこれから • 投稿日 – 2019/12/18 – 2ヶ月ほど前 • RCANの読み方 – ”アール・シー・エー・エヌ”と呼ぶとR-CNNと混ざる(聞き間違え事例あり) – とりあえず”アルカン”と呼んでいるが、日本でしか通じなさそう 2
概要 • • 強化学習によるロボットアームのGraspingに関する論文 GoogleによるGrasping研究の系譜に属する(次ページで詳しく説明) – • 訓練時 – – • 画像を簡素なSim画像(正準画像)に塗り替える色塗り器G 簡素なSim画像を入力して制御する方策π の学習 テスト時 ※追加学習することもあり – – • [Levine+, 2016] → GraspGAN → QT-Opt → RCAN (New!) 学習ずみのGで実画像を簡素な柄に塗り、 学習ずみのπにそれを入力して制御することでSim2ealを達成 結果として、追加学習なしで70%、ありで94%の成功率達成 どんな柄でも 簡素に塗る 方策は 簡素な画像から 行動を出力 方策は 簡素な画像から 行動を出力 あ 実画像も 塗れる! 3
背景:GoogleGraspingと深層学習 • 紹介する論文は全てトレイ中の物体をひたすらにGrasping、物体指定不可 • GoogleのGraspingの研究 論文 時期 学習環境 方策の学習法 成功率/試行回数 解決した課題 [Levine+,2016] 2016/03 Real 教師あり学習 78%/900k RGB カメラで、精密なカメラキャリブなしの汎化性の高いGrasping GraspGAN 2017/09 Sim,(Real) 教師あり学習 63%/9m w/o labels Sim2Realによる、実データのラベル収集の除去・削減 QT-Opt 2018/06 Real Q学習(QT-Opt) 96%/608k 強化学習による、成功率90%超・巧みなGrasping RCAN 2018/12 Sim,(Real) Q学習(QT-Opt) 70%/0, 94%/28k Sim2Real・強化学習による、成功率90%超・実データ収集の除去・削減 – – – – Sim2Realを扱う点でGraspGANと類似 方策の学習にQT-Optを用いる点でQT-Optと類似 いずれも、RGBカメラのみでDepthカメラを使わない縛り Depthを使って90%以上のGraspingを達成するものにUC Berkeleyのチームによる DexNet2.0[Mahler+, 2017]がある 4
背景:GoogleのGraspingの既存研究の概要 • [Levine+, 2016] – • 14機の実機により教師あり学習で把持成功確率の予測 GraspGAN [Bousmalis+, 2017] – 2種類のドメイン適応 • • – • GraspGAN:シミュレータの画像を実画像のスタイルに変換 DANN[Ganin+, 2015]: ドメインに不変な特徴量を抽出 [Levine+, 2016] 参考:2018/08/10のDL輪読会で発表(リンク) QT-Opt [Kalashnikov+, 2018] – – – – – 連続行動に適応可能なQ-Learning手法 オフポリシーによりデータ蓄積可能→把持の成功と物体への汎化を両立 GraspGANによる実画像スタイルへの変換 Actor-Critcのように2つのネットワークの交互最適化をしないため安定 [Bousmalis+, 2017] 結果として、サンプル効率・精度向上(RGBを用いる手法で初めて90%超) 強化学習を用いているため(上2つは教師あり学習)、Re-Grasping・把持しやすい位置に物体を移動等の巧みな戦略が発現 あ 構造を壊して、掴みやすい配置に したのちにGraspしている=RLによる信用割当 邪魔されて動く物体に対してGrasping =Closed-Loopの利点 5
背景: GoogleのGraspingの研究〜[Levine+, 2016]の手法〜 1. 画像とコマンドから把持成功確率を推定するネットワーク (Grasp predictor)を学習 𝑃 𝑠𝑢𝑐𝑐𝑒𝑠𝑠 𝒙𝒊,𝟎 , 𝒙𝒊,𝒄 , 𝒗𝒊 = 𝑐𝑜𝑛𝑣 𝒙𝒊,𝟎 , 𝒙𝒊,𝒄 , 𝒗𝒊 – – – – 𝑖はタイムステップ 、𝒙𝒊,𝟎 は初期状態の画像、𝒙𝒊,𝟎 は現時点の画像 𝒗𝒊 はコマンド:グリッパーの移動量と回転角 1エピソード10タイムステップでエピソードの終わりにエンドエフェクタが閉じる よって、1回のエピソードで画像・コマンドと成功/失敗のラベルデータが10個集まる 2. 学習したGrasp predictorを用いて把持成功確率の高いコマンドを選んで出力 – コマンドの選出にはクロスエントロピー法(CEM)を用いる 6
背景: GoogleのGraspingの研究〜GraspGAN の手法〜 GraspGANの変換後の画像と実画像で Grasp predictor with DANNを学習 GraspGANでシミュレーション画像を変換 実画像の スタイルに 変換 シミュレータ 画像 セグメン テーションマスク 出力 – Gの損失はLSGANのGに加えて、 ロボットや物体の位置姿勢等を保持したいので、 セグメンテーションを出力しそのL2損失、 Sim画像と変換後の画像をGrasp predictorに入力したと きの最終層の値のL2損失(Grasp predictorにおいて意 味が等しくなる) 2つ目のConv層からDomain Classifierを接続 ※入力の違いに注意 • GraspGANの損失にはsim画像と変換後の 画像を入力 • Grasp Predictor with DANNには変換後の 画像と実画像を入力 7
背景: GoogleのGraspingの研究〜QT-Optの手法〜 • Q関数の学習 – Clipped Double-Q Learning – ベルマン誤差に クロスエントロピー損失を使用 • 最適行動の選択 – Cross Entropy Method(CEM)を利用 • 64個のサンプルのうちQ値が最大となる 6個のサンプルをチョイス • 6このサンプルの平均・分散を用いてガウス分布を フィッティング • ガウス分布からまた64個のサンプルを抽出 …以上を繰り返す • 分散学習による大規模データ収集 – CEMを用いたターゲットQの計算と訓練を非同期処理 • オフポリシーとオンポリシー両方利用 – オフポリシー • 580kの蓄積されたオフポリシーデータで方策を事前学習 – オンポリシー • その後、10分最新の方策をロールアウトして収集したオンポリシーデータとオフポリシーデータを混ぜて追加学習 • 最終的に、28kのオンポリシーデータを収集 8
背景:ドメインランダマイゼーションとドメイン適応 • ドメインランダマイゼーション – 概要:ターゲットドメインを包含するようなドメイン群において訓練してドメイン汎化 – 手段:データのある要素をランダマイズして、モデルに入力 – 例 • 強化学習におけるSim2Realにおいて、ダイナミクスのランダマイズは常套手段 – シミュレータのダイナミクスのランダマイズ+LSTMを方策 – ダイナミクスの変化をs,aの系列から推察して適応 – In-Hand ManipulationやLocomotionにおいて、高性能なSim2Realを実現 • 画像分野においても、テクスチャのランダマイズによる汎化性能の向上は常套手段 – 欠点:タスクを必要以上に難しくする • タスクの性質の学習に加え、入力値の任意の変化への汎化 • ドメイン適応 – – – – 概要:ソースドメインで得た知識をターゲットドメインに適応する 手段:2種類の方法が存在(P.6で説明済) 例:GraspGAN 欠点:ラベルが不要とはいえ、実世界でデータを集めるコスト有 9
手法: 概要 • ドメインランダマイゼーションの弱点の克服 – ランダマイズされた入力値への汎化と、タスクの学習を同時に行う必要があった – 本論文では、2つのステップに分離することで解決 • Randomized-to-Canonical Adaptation Networks (RCAN) – ステップ:入力値への汎化 – 概要:ランダマイズ画像から正準画像への変換 – 学習対象:cGANのGとD • QT-Opt – ステップ:タスク(Grasping)の学習 – 概要:正準画像から画像から行動の出力 – 学習対象:方策π [RCAN] どんな画像で も正準画像に [QT-Opt] 方策は正準画像とラ ンダマイズ画像から 行動を出力 10
手法:Gの学習(RCAN) • • 入力 𝑥𝑠 GにU-Netを用いたcGAN 入力𝑥𝑠 – ランダマイズ画像をcGANのcとする(次ページ詳細) • 出力𝑥𝑐 , 𝑚, 𝑑 出力の 教師ラベル – 全てシミュレータで教師ラベルを容易に取得可能 – 正準画像 𝑥𝑐 • テクスチャ・色の選択には任意性があるが、以下のように選択 – 床・トレイ・アームは常に同じ色で固定 – 物体はランダマイズされたテクスチャのまま – セグメンテーションマスク 𝑚 ・Depth 𝑑 • 物体の三次元位置を保存した正準画像を得ることが目的 • 𝑚 のカテゴリ – 物体・トレイ・トレイの仕切り・ロボットアーム・床 の5つのカテゴリ • 𝑥𝑐 損失 𝐿𝑒𝑞 と 𝐿𝐺𝐴𝑁 𝑚 𝑑 – 𝐿𝑒𝑞 :𝑥, 𝑚, 𝑑におけるピクセル間距離の和(leq , leq , leq ) 𝑥 𝑚 • leq : 正準画像のMean Pairwise Squared Error(MPSE) 𝑑 𝑥 – If, labels=[a, b, c] and predictions=[x, y, z], – then loss = [ ((a-b) - (x-y)).^2 + ((a-c) - (x-z)).^2 + ((b-c) - (y-z)).^2 ] / 3 • leq , leq 𝑚 𝑑 – Depth・セグメンテーションマスクのL2損失 – 𝐿𝐺𝐴𝑁 :Adversarial Loss(画像のぼやけ防止) 11
手法:Qの学習(QT-Opt) • 状態:𝑥𝑐 と𝑥s – 𝑥𝑐 :テクスチャへの汎化とRLを分離する目的 – 𝑥s : 𝑥𝑐 だけでは変換誤差があるため、変換前も入れておく • これはドメインランダマイゼーションをやっているのと等しい – 実は、Randomized-to-Canonical Adaptationとドメインランダマイゼーションのどちらもやってる – 𝑚や𝑑を入力にすることも可能だが、QT-Optとの公正な比較のため除外 • 行動:𝑡, 𝑟, 𝑔𝑜𝑝𝑒𝑛 , 𝑔𝑐𝑙𝑜𝑠𝑒 , 𝑒 – – – – 𝑡 ∶現在位置からの移動量(相対位置ベクトル) 𝑟:グリッパーの地面と垂直な軸に対する回転角 𝑔𝑜𝑝𝑒𝑛 ・𝑔𝑐𝑙𝑜𝑠𝑒 :グリッパーの開閉コマンド 𝑒:エピソード終了コマンド • すばやいGraspingを促す • 報酬: – エピソードの最後で成功なら1otherwise0 • 成功失敗の判定はエピソード終了時にグリッパーを 開いて前後の画像の差分を取る(成功なら差分があるはず) – マイステップごと-0.05 • すばやいGraspingを促す • • 1エピソード20タイムステップ 損失(P.9で説明済) 12
実験:データに関して • 物体の種類に関して – Sim • 1000個のランダムな形状をした物体 • 51,300個の現実的な形状をした物体 Sim 左:ランダム 右:ShapeNet – ShapeNetで生成 • エピソードの初めにランダムに物体が5つ選ばれる – Real • 1000個の訓練用物体(追加学習する場合は使用) • 1セット5,6個のテスト用物体 • Real訓練 ランダマイズ – テクスチャ • 5000個の画像を用いる – 照明の位置・向き・色 – アーム・トレイ・トレイの仕切りの位置・サイズ Realテスト • Sim・Real間でのカメラの位置や 向き・歪み等のパラメータへの転移を可能にさせるためと思われる • 追加学習をする場合の試行回数 – QT-Optと同じ28k 13
実験:結果 • QT-Optとの比較 – QT-Opt • • – RCAN • • – Simのみで学習すると70%達成 追加学習をすると90%超 QT-Optと比べて1%以下にデータ削減 考察 • • • Simで学習のみ/+Realのオンラインで5k/28k Simでの試行錯誤回数不明 結果 • • • – オフラインのみで580k/+オンラインで5k/28k どちらの場合もRealで学習 Simのみで学習した際に性能が落ちるのは現実画像の変換ミスにより謎の生成物ができてしまっている可能性 現実の画像を増やすと、徐々にQ関数が着目するのが、𝑥s になるのではないか Domain Randomizationとの比較 – Mild • P.12で説明した要素から アーム・トレイ・仕切りの位置・サイズ除外 • 床のランダマイズは6つの画像しか使わない – Medium – Heavy – 結果 • • • • Mildに加えて床を5000個の画像でランダマイズ P.12で説明した全要素 QT-Optにドメインランダマイゼーションをするだけで良い、PPOやA3Cがドメインランダマイゼーションでうまく機能しないらしい 床はそこまでランダマイズしなくていよい 14
まとめと感想と発表会のフィードバック • まとめ – Gによるランダマイズ画像への汎化とQによるタスクの学習を分離した • Gはランダマイズ→正準画像の変換 • Qは正準画像→Q値出力 – すると、学習が容易になりSim2Realの性能が上がった • Depthとセグメンテーションマスクの教師ラベルを簡単に得られるシミュレーションの利点も活用 • 感想 – ソースドメインとターゲットドメインの間に中間ドメインを設けるのは、面白い – Sim2Real View Invariant Visual Servoing by Recurrent Controlのように、クエリ画像投げ て対象物体をGraspingすることが次の目標? • フィードバック – クエリ画像を投げる時に正準画像だと難しいかも? – Q. ダイナミクスのランダマイズはいらない? • A. 物体に動きがあるわけでもないためGraspingで必要なのは、物体・グリッパー間の摩擦だけど、剛体 であれば強く締めればいいから必要なさそう 15