28
"Learning Physical Intuition of Block Towers by Example" @ DL Hacks 2016/04/28 東東東東東東東東東東東東東 東東東東東東東東東 東東東東東 東東 東東 [email protected]

[DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

Embed Size (px)

Citation preview

Page 1: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

"Learning Physical Intuition of Block Towers by Example" @ DL Hacks

2016/04/28

東京大学大学院工学系研究科技術経営戦略学専攻 松尾研究室

黒滝 紘生[email protected]

Page 2: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

概要

・ Learning Physical Intuition of Block Towers by Example

・ Adam Lerer, Sam Gross, Rob Fergus・ Facebook AI Research・ Cited: 1 (Google Scholar)・ http://arxiv.org/abs/1603.01312

・要点

- 「積み木が崩れるかどうか」 + 「どこに落ちるか」を予測させるタスク

- ゲームエンジン内で、大量の積み木パターンを生成して学習 / 実験

- さらに、実世界の実験データでも良い結果を得た

- 人間並みの予測結果を得た

- フレームワーク (UETorch) を公開した

3

Page 3: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

タスク 1/2

・左 : ゲーム内に生成した積み木 右 : 実世界の積み木 これが、支えを外したとき、下図のように崩れるか否かを予測する。

4

Page 4: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

タスク 2/2

・上 : ゲーム空間内で、積み木が崩れる様子 (1 秒ごと ) 下 : この積み木の動作に対応する「マスク」。

・初期状態の画像だけから、このマスクを予測する。

5

Page 5: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

結果の様子 1/2

・上が正しいマスク、下がモデルによる (0 秒時点での ) 予測。 多くのケースでは正しく予測できている。 ( 論文 )

6

Page 6: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

結果の様子 2/2

・上が正しいマスク、下がモデルによる (0 秒時点での ) 予測。 予測が難しいケースもある。

7

Page 7: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

選んだ理由

・ドワンゴのハッカソンに行ってきた (Web ページにて説明 )・「類似研究も出ている」とおっしゃっていたので、発掘してみた

8

Page 8: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

補足

・もう一つ、もっと行動学習っぽい論文が見つかった・こっちは Q 学習 + Minecraft を扱ってる

・ Exploratory Gradient Boosting for Reinforcement Learning in Complex Domains

・ David Abel, Alekh Agarwal, Fernando Diaz, Akshay Krishnamurthy, Robert E. Schapire

・ http://arxiv.org/abs/1603.04119

9

Page 9: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

Contents

10

1. Introduction

2. Methods

3. Results

4. Discussion

Page 10: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

1. Introduction 1/3

・実世界での物理的な常識や直感を学習させたい

・ディープで生データから、高レベルの物理的常識の学習に成功した研究はない

・ロボットの利用も一つの方法だが、ここではゲームエンジンを使った

- ゲームエンジンは、確立した物理シミュレーション + 行動環境としても使える。

- エンジン "Unreal Engine 4" の内部スクリプトは Lua で書ける。 そこで、このエンジンに、 Torch の Deep Learning コードを組み込んだ。

- ( 注 ) この研究では、行動学習そのものは行っていない

・「積み木が崩れるか否か ? 」「積み木が最後どこに行くか ? 」の 2 つを学習させた

11

Page 11: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

1. Introduction 2/3

・提案手法ネットワークの "PhysNet" は、以下の既存手法を組み合わせている( 後述 )

- ResNet-34 ( 共通部分 )

- Googlenet ( 落下判定 )

- DeepMask のアレンジ ( マスク予測 )

12

Page 12: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

1. Introduction 3/3

【貢献】

・ Convnet による、静的安定性の予測- 実世界の積み木についても汎化できた- 訓練時に見なかった、新たな物理的状況にも汎化できた。

・力学的な予測  - 積み木が落ちる軌跡も予測できた。

- 加速度や運動量を捉えたといえる。

・人間の被験者との比較- 実データでは同じぐらい、 ( ゲーム内の ) 人工データでは上回った。- 人間の判断と、高い相関をもっていた。

・フレームワーク UETorch の公開- オープンソースで無料公開

13

Page 13: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

Contents

14

1. Introduction

2. Methods

3. Results

4. Discussion

Page 14: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

2.1 UETorch

・ Unreal Engine4 (UE4) のゲームループに直接組み込まれた、Lua/Torch の機械学習環境

・ Lua はゲームスクリプトの代表的言語なので、相性がよい

・スクリーンショット、セグメンテーションマスク、 optical フロー、ゲームの入力操作などの機能もつけた

・ http://github.com/facebook/UETorch

15

Page 15: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

2.2 Data Collection

・人工データ

- (UETorch 内で、 )2〜 4個の色ブロックをランダムに置いた- 場所、回転、カメラの位置、背景、光源などもランダム- 8 フレーム / 秒でスクリーンショットを記録- 全部合わせて 180,000 シミュレーション ( 積み木の個数などはバランス取った )- そのうち 12,288 シミュレーションは、テストデータ

・実世界データ

- 4 つの積み木に色を塗り、白い背景においた- 初めは棒で上側をおさえているので、崩れない。 棒を離すと、崩れたり崩れなかったりする。- その様子をカメラ動画として撮った。- 合わせて 493例ができた

16

Page 16: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

2.3 Human Subject Methodology

・ 10 人の人間の被験者をよんで、同じ実験をやってもらった (数は減らした )

- 人工データと実データの両方

17

Page 17: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

2.4 Model Architectures

・図は、提案手法の "PhysNet"

・上の分岐がマスク予測 (ResNet34 + DeepMask のアレンジ ) 下の分岐が落下予測 (ResNet34 + Googlenet)

・マスクセグメンテーションから、マスクの未来予測へとアレンジ。

18

Page 18: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

2.5 Evaluation

・落下予測の評価は、予測精度で行った。 また、「特定のブロック高さを抜いて学習」→「抜いて置いた高さでテスト」の転移学習の評価も行った。

・マスク予測は、「 mean mask IoU 」およびピクセル毎の対数尤度  IoU = intersection over union

( マスク 2色が被ってしまってるピクセル数 ) / (2色を合わせたピクセル数 )

19

Page 19: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

Contents

20

1. Introduction

2. Methods

3. Results

4. Discussion

Page 20: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

3.1 Fall Prediction Results 1/3

・落下予測の精度・ Googlenet を、 Imagenet で pretraining すると、

実世界データでの精度が向上することに注目。人工データは変わらない。

21

Page 21: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

3.1 Fall Prediction Results 2/3

・画像の一部を、ガウシアンノイズでぼやかす。 →画像のどの部分が、予測に効いているのか知りたい。

・図 A はかけたノイズの様子。

・図 B-D で、- 緑のヒートマップの部分を隠すと、

  「落ちる」の確信度が増加。

- 赤のヒートマップの部分を隠すと、  「落ちる」の確信度が減少。

・ B の不安定そうな部分を隠すと、「落ちる」と思いにくくなる。

 青 /緑ブロックの接地面の 不安定さを認識している、と取れる。

22

Page 22: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

3.1 Fall Prediction Results 3/3

・人間との比較。 赤 : 人間 青 : 提案モデル (PhysNet) 。・人工データでは上回り、実世界データでも並んだ。・相関係数の比較において、人間 -PhysNet が、人間 - 正解よりも近かった。

23

Page 23: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

3.2 Mask Prediction Results

・マスク予測の精度

24

Page 24: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

3.3 Evaluation on Held-Out Number of Blocks 1/2

・ブロック {3個 or 4個 } のパターンを抜いて学習させたネットワークを、 抜いた個数パターンでテストした結果。 (青い部分が、学習しなかったパター

ン )

・学習しなかったパターンの精度は落ちたが、やはり人間と比較できる。

25

Page 25: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

3.3 Evaluation on Held-Out Number of Blocks 2/2

・ブロック {3個 or 4個 } のパターンを抜いて学習させたネットワークを、 抜いた個数パターンでテストしたときのマスク。

26

Page 26: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

Contents

27

1. Introduction

2. Methods

3. Results

4. Discussion

Page 27: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example

4. Discussion

・ボトムアップの CNN で、人間レベルのブロック予測ができた。

・ Imagenet で pretraining していれば、実世界の画像にも汎化 / 対応できる。

・訓練で見てないタワーの高さにも対応できるので、物理法則を捉えていると言えそうだ。

・ UETorch は、他の機械学習の実験にも有用なはず。

28

Page 28: [DL Hacks輪読] Learning Physical Intuition of Block Towers by Example