[DL輪読会]TossingBot: Learning to Throw Arbitrary Objects with Residual Physics

>100 Views

April 22, 19

スライド概要

2019/04/19
Deep Learning JP:
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

DEEP LEARNING JP [DL Papers] TossingBot: Learning to Throw Arbitrary Objects with Residual Physics Kohei Nishimura, DeepX,Inc. http://deeplearning.jp/ 1

2.

書誌情報 • Title: TossingBot: Learning to Throw Arbitrary Objects with Residual Physics • Authors: Zeng, Andy and Song, Shuran and Lee, Johnny and Rodriguez, Alberto and Funkhouser, Thomas • Institutes: – – – – Princeton University Google Columbia University MIT • preprint in Arxiv • URL: https://tossingbot.cs.princeton.edu/ 3

3.

発表内容 • TossingBotの紹介とTossingBotで用いているResidual RLに関する論文につい ても触れます – Residual Reinforcement Learning for Robot Control • Tobias Johannink, Shikhar Bahl, Ashvin Nair, Jianlan Luo, Avinash Kumar, Matthias Loskyll, Juan Aparicio Ojea, Eugen Solowjow, Sergey Levine – Residual Policy Learning • Tom Silver, Kelsey Allen, Josh Tenenbaum, Leslie Kaelbling 4

4.

Tossing Bot の概要 • Grasping & ThrowingのタスクをRLで達成 – シミュレーター、実世界の両方で検証 • sim2realではなくそれぞれの環境で学習&検証 • 論文の貢献 – 画像を入力にしてGrasping & Throwingの方策を強化学習するアーキテクチャを提案 – Residual Physics(Residual RL)を用いることによって、性能が向上することを確認した 5

5.

Residual RLとは • S: 状態, A: 行動, R: 報酬, T: 遷移確率Pr(s’ | s, a) • RL – M=(S, A, R, T, γ)がMDPであるとして、 最適方策π:S→Aを求める • Residual RL – 事前方策π: S→Aを用いてresidual policy𝜋𝜃 : 𝑆 ⟶ 𝐴を下記の通り定義し𝑓θ を学習 πθ 𝑠 = π 𝑠 + 𝑓θ(𝑠) – Residual RLの方策の勾配は事前方策と関係ないため、事前方策が微分不可能でも方 策勾配法を使うことができる 6

6.

Residual RLとは • Motivation – 簡単な類似タスクを解ける方策(=事前方策)を用いて、難しいタスク(=partial observability, sensor noise, etc.)を解ける方策を獲得したい 7

7.

Residual RLのメリット • サンプル効率を上げることができる – 探索時にヒントとなる事前方策があるので、安定して学習させることができる • 環境の変化, 状態や行動のノイズに対して頑健な方策を獲得できる – 論文内では、sensor noise, model misspecification, controller miscalibration, partial observality に対して有効と主張されている – (個人的な解釈) – タスクに対して必要な動き(ある程度のダイナミクス)は事前方策で得られるとすると、 – Residual RLで学習させる方策はノイズに対して汎化性能を持つことだけを考えれば よくなるのでノイズに頑健な方策を獲得できる 8

8.

論文紹介: Residual Policy Learning • 微分不可能な方策(ex. 従来制御の方策やModel Basedな方策)の性能を向上さ せる手法としてResidual Policy Learning(=Residual RL)を提案 – long-horizon, sparse-rewardなタスクでも方策を学習できる手法と主張 • 実験タスク – ロボット制御のシミュレーションタスク • タスクはPush, SlipperyPush, PickAndPlace, NoisyHook, ComplexPush, MBRLPusher 9

9.

Residual Policy Learningの手法 • 手法 – 事前方策 • ヒューリスティックな方策 • モデルベースの手法(MPC, PETS: Probabilistic Ensembles with Trajectory Sampling) – 学習させたい方策𝑓θ の最終層は全て0で初期化 • 事前方策が学習環境下でうまく動くなら𝑓θ は何もしなくていい – 方策学習アルゴリズム • DDPG + HER 10

10.

Residual Policy Learning • 実験タスクの例: ComplexHook 11

11.

Residual Policy Learning • 結果(task: ComplexHook) – initialはノイズのない環境下で動く フィードバック制御の方策 – Expert Exploreは探索時のみ 事前方策を用いる手法 12

12.

論文紹介: Reinforcement Learning for Robot Control • 実世界での機械制御に向けて安全で、サンプリング効率の良い手法として Residual RLを提案 • 実験内容 – 2つの設置されたブロックの間にブロックを差し込むタスク • graspingはしない • sim-to-sim, real-to-real, sim-to-realで実験 13

13.

Residual Reinforcement Learning for Robot Control • 手法 – 事前方策 • hand-engineered controller(フィードバック制御) – 方策学習アルゴリズム • TD3 – 報酬関数(目標位置との距離、設置されたブロックに対する角度) • sim: • real: 14

14.

Residual Reinforcement Learning for Robot Control • 結果(上の行がsim, 下の行がreal) 15

15.

Residual Reinforcement Learning for Robot Control • 結果(Sim to Real) 16

16.

Residual RLのまとめ • 手法 – 事前方策π: S→Aを用いてresidual policyπθ : S ⟶ Aを下記の通り定義しfθ を 学習 πθ s = π s + fθ (s) • メリット – 環境の変化、行動のノイズに対して頑健な方策を学習できる – 環境の変化, 状態や行動のノイズに対して頑健な方策を獲得できる 17

17.

TossingBot • タスク – bin内の中から目標の枠に向けて物体を選んで投げ入れる – 入力情報: binのRGBD画像、投げ入れる目標の箱の位置 • どの物体をgrasp&throwするかは自由 18

18.

Throwingの難しさ • 物体で空力が異なるので同じ速度でアームを動かして物体を投げても、Grasp した場所が異なれば落下地点が大きく異なることがある 19

19.

Throwing Controller • リリースする座標と座標におけるエンドエフェクターの速度を推定 – 推定した座標と速度を元にIKを解いてロボットアームを制御する • Residual Physics(=Residual RL)の利用 𝑣 = 𝑣ො + δ リリースする座標における エンドエフェクターの速度 ←方策NNによる速度差分 Physics Controllerによる速度 – Physics Controllerは、リリースする位置に拘束条件(台からの高さ、アーム根元から の距離)を加えて、下記の方程式を解いて速度を計算する 1 2 𝑝 = 𝑟 + 𝑣ො + a𝑡 2 20

20.

TossingBotのシステム概要 21

21.

Perception Network • Grasping, Throwingの入力に用いる特徴表現𝜇を抽出 • ネットワーク内容 – アーキテクチャ • FCN ResNet-7 – 入力: Heightmap: 𝐼 • (斜めから撮影したRGBD画像を変換) • binの中だけcrop – 画像サイズは180x140(binの大きさが0.9x0.7m, 各ピクセルが5x5mmの領域を表現) • Dの値は正規化(平均0, 分散1) – 出力: 特徴表現𝜇 • 35 x 45 x 512 22

22.

Grasping Module • Graspingの把持位置𝑥の3次元座標とエンドエフェクターの角度θを出力する • 特徴表現𝜇からpixel-wiseな把持確率のmap: 𝑄𝑔 を生成するのを16回 (Heightmap:𝐼を22.5度ずつ回転)行い、把持確率がもっとも高い点を選択する • ネットワーク内容 – アーキテクチャ • FCN 入力 – 入力: 特徴表現𝜇 – 出力: 把持確率のmap 𝑄𝑔 • 140 x 180 x 1 23

23.

Throwing Module • Throwingのリリース位置の3次元座標𝑟とエンドエフェクターの3次元方向の速 度𝑣を出力する • 特徴表現𝜇からpixel-wiseな速度差分δのマップを生成して、把持した点のδを 用いて投げる • ネットワーク内容 – アーキテクチャ • FCN入力 – 入力: • 特徴表現𝜇, • physics controllerで推定した速度𝑣 – 出力: 速度差分δのマップ: 𝑄𝑔 • 140 x 180 x 1 24

24.

学習方法 • GraspingとThrowingの方策は同時に学習する – 学習アルゴリズムはPrioritized Experience Replay(ICLR, 2016) • 探索はε-greedy • 誤差関数は – 𝐿𝑔 はgraspingがうまくいっているかどうかのクロスエントロピーロス – 𝐿𝑡 はthrowingに対するlossでHuber lossを使用 • mse lossだと外れ値に対してあまりうまくsensitiveではないからとのこと • graspingの成功可否𝑦𝑖 はthrowingの成功可否δ𝑖とする – エンドエフェクターの先端の距離を用いるよりも安定したthrowingができるように なったとのこと 25

25.

学習アルゴリズム 26

26.

実験環境 • ロボットアーム: UR5, グリッパー: RG2 • 実験開始時にbinの中に指定数の物体がランダムに置かれる – n=12 (in sim) and n=80 (in real) – 実世界では、人の介在を減らすために投げ入れる枠が15°傾いている 27

27.

実験内容 • 試行回数 – train: 15,000試行, test: 1,000試行 • 比較手法 – Human(average height:174.0 ± 8.3cm) – Physics only – Regression • 特徴表現𝜇から直接リリース時の速度を求める • ピクセルごとのリリース点から目標枠までの距離を特徴表現𝜇にそれぞれconcatする – Regression-pretrained-on-physics • physics-based controllerが出力した𝑣をregressionで出力するもの ො – NNのアーキテクチャについて言及なし 28

28.

Grasping & Throwing 実験結果 • Sim (train: sim & test:sim) 29

29.

考察: 環境に対する汎化性能 • 環境に対する汎化性能検証 – train時にやっていない枠にThrowingを行うタスクの結果(左) • 状態に対する汎化性能検証 – 初見の物体に対してGrasping&Throwingを行うタスクの結果(右) • 他の手法よりもよい性能を実験的に確認した 30

30.

考察: Grasping と Throwing • Graspingの成功可否を2つの場合で比較した実験を実施 1. 2. throwingの成功可否 エンドエフェクター先端の間の距離 による指標 →1. の方がうまく学習が進んだ • GraspingとThrowingが関係 していることが実験的にも 確認された 31

31.

考察: セマンティックな表現の獲得 • 出した特徴表現において色に影響されない、物体形状に基づいた表現を獲得で きていることを確認した • ピンポン球、ペンについて特徴表現上の距離のヒートマップを作成し、色に関 係なく同じ物体の表現上の距離が近いことを確認した • (もしかしたら物理特性を考慮した特徴表現が獲得できている可能性がある?) 32

32.

まとめ • Residual RLについて – サンプリング効率をよくする – 環境、行動、状態に対してロバストな方策を学習できる というメリットが主張されていて、sim, realでの実験結果を取り上げました。 • TossingBotについて – Grasping & ThrowingというタスクをResidual RLを用いて画像入力のRLで解くアー キテクチャについて紹介しました 33

33.

所感 • Residual RL – 実機制御に有用な考え方 – 事前方策に用いる方策の選び方は試行錯誤が必要そう • TossingBot – タスク間の関係から有用な表現、よりよい性能が得られるのは当然な部分もあるけど 面白い • Throwingを指標にすることでGraspingがうまくなる • 画像入力にGrasping&Throwingすることで、セマンティックな画像表現を得られる 34

34.

Appendix 35

35.

結果: Pick and Place Efficiency • Pick and Placeの効率を評価 – Pick and Throwをしている先行研究がないので、Pick and Placeの手法とスピードを 評価 – 正しくthrowできた場合に1 successful graspとする • 608grasps per hour & 84.7% throwing accuracy なぜ、pick speedが早いのかに ついて言及はなかった 36

36.

参考文献 • TossingBot: Learning to Throw Arbitrary Objects with Residual Physics – https://tossingbot.cs.princeton.edu/ • Residual Reinforcement Learning for Robot Control – https://arxiv.org/abs/1812.03201 • Residual Policy Learning – https://arxiv.org/abs/1812.06298 • Improving Robot Control With Residual RL – https://medium.com/syncedreview/improving-robot-control-with-residual-rl41a8e6f898c9 37