>100 Views
May 08, 20
スライド概要
2020/05/08
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
Learning to Simulate Complex Physics with Graph Networks 進したい
書誌情報 • "Submitted to ICML 2020" • 著者:Peter W. Battaglia達(Deepmind + Stanford大) – Graph Netの強い方(Graph Netの提案者) • Twitterでバズってた
概要 • 「剛体/液体/可変形体 + それらの相互作用」のシミュレーションの、汎用的 な学習フレームワーク • 学習ベースではSoTA • めちゃくちゃ汎化する, 幅広い物体に使える – 予測ステップ数, 物体の量, 形。固体/液体/粘性/可変形。 • モチベーション – 古典的なシミュレータは高コスト(計算資源, 速度) – どれだけ頑張ってもわからない物理法則/物理パラメータがある – (将来的に)観測データから直で学んでほしい • ひとこと – trainableなパラメタが多くて賢い。"高次元科学"してる感じ。
結果が映えてる https://sites.google.com/view/learni ng-to-simulate/home#h.p_ne1gyU G1RebB 青:液体,赤:粘性,茶色:砂 シンプルな学習データだけでいろいろできるように⇨
アジェンダ 問題設定 手法 既存手法 実験
問題設定 - 学習用の粒子レベルのデータは与えられる - 1k~20kの粒子, 100~1k step - trainと同じデータ分布のtestで評価 + Out of distributionなタスクでも評価 - 様々な問題設定が ある(a~h) - +3Dタスク - 単一種類の粒子を 学習(a,b,c)、坂が ある(d)、3種類の 粒子を同時に学習 (e)、等
Non-学習ベースの手法 - “smoothed particle hydrodynamics” (SPH)(液体) - 自身と周りの粒子の密度で運動方程式を近似して、速度の変化を求める - (Monaghan, 1992) - “material point method” (MPM) (deformable) - (Sulsky et al., 1995) - 有限要素法に似てるらしい(?) - “position-based dynamics” (PBD) (deformable) - (Muller et al. ¨ , 2007) - 粒子同士が一定の距離を保つという拘束条件を 解くらしい(?)
手法:Graph Network-based Simulators(GNS) - 思想:リッチな(物理的な)状態は、粒子のグラフ構造+メッセージパッシング で表現される - 簡単な物理的な裏付け:「エネルギーと運動量の交換」がメッセージパッシングに相 当 - 空間不変性という強い帰納バイアスが入れられる - 提案手法はSPHを表現できる(内包) - (GNの途中で密度カーネルを作って圧力を評価すればいい) - 勝手に粒子間の物理法則を見つけてくれる(はず)
全体像 xt sθ xt+1 - Xt: 各粒子の座標( - s: シミュレーター )等 - dθ: ダイナミクス - Y: Updateの入力となる何か - 今回は≒加速度 - Update: 更新関数 - 何でもいい - 今回はYに加速度 を期待して、以下で - Update関数だけ(物理をもとに)定めて、(半陰的オイラー法) 後は基本学習してもらう Xt+1( )を求める
全体像 xt sθ xt+1 - Xt: 各粒子の座標( )等 - Encoder - ノードを少しつないでグ ラフを作る - ノード/エッジに Embeddingする(v,e) - Processor - グラフNNでv,eを M回更新 - Decoder - 更新後のvでy(加速度) を推論
Encoder 入力: 4ステップ前の速度↑ 現在の速度↑ - 入力Xは、粒子の座標 + 5ステップ前までの 速度 (+ 重力、外力など) - v: ノードベクトル - e: エッジベクトル - ただしc: 相対距離、方向ベクトル - 変位とかバネ係数とかが相当 - 5ステップ分も入れるのが ”高次元科学”っぽい - embedding_dim: 128 - NN: 隠れ層2層, relu, layer_norm - Processor,Decoderでも同じ構造
Processor - vの更新 - eの更新(eは有向) - 入力はすべてconcatしてMLP - Mステップの更新で、毎回別のパラメ タのGNを使う(unshared) [DL輪読会]Relational inductive biases, deep learning, and graph networks GN(Graph Net) 昔の中川さんの輪読で登場
Decoder 1回NN使うだけ。
目的関数 - 1stepの予測のみで学習 - 学習時に自らの予測で誤差がたまらなくていいよね - その他工夫点: - 入力データに正規分布でノイズを加える - テスト時には自らの予測で誤差ができて、入力がOut of Distributionになりかねないので耐性を つける - ターゲット(加速度)を正規化する - 学習は早くなったけど精度は別に変わらなかった
重要なハイパラ - ハイパラにもロバストだった - (上がtrain, 下がtest) - 論文の実験はすべて同じハイパラで行った - c,d - processorでMステップ forwardする際のNNを変 えるか否か - e,f - ノードをつなげる半径 - g,h - 入力のノイズ - i, j - 入力が相対座標か絶対 座標か
データセット - 主にTaich MPMで作成(Diff-Taichではない) - https://github.com/yuanming-hu/taichi_mpm SIGGRAPH 2018 MITライセンス! python APIがある サンプルが充実してる (この研究グループ何者)(MIT)
比較手法:CConv - LAGRANGIAN FLUID SIMULATION WITH CONTINUOUS CONVOLUTIONS - ICLR 2020 accept - Intel - Convベース - non-graph - めちゃくちゃ高速 - CConvはGSNの 特別な場合らしい
比較手法:CConv - LAGRANGIAN FLUID SIMULATION WITH CONTINUOUS CONVOLUTIONS - 3つに分けてembedding - 外壁 - 周囲の粒子 - 注目してる粒子 - 特殊なカーネルで2Dマップを作る - △1ステップ前の状態だけで決めてる - △流体/一種類の予測に特化
比較手法:DPI - Learning Particle Dynamics for Manipulating Rigid Bodies, Deformable Objects, and Fluids - ICLR 2019 accept - Tenenbaumさん、MIT - 実機応用もしてる(おにぎりをこねる) - 画像から点群を推論し、目的の形になるように適 切な把持方向を探索してrollout
比較手法:DPI - Learning Particle Dynamics for Manipulating Rigid Bodies, Deformable Objects, and Fluids - ほぼGNSと同じ - △ 1ステップ前の情報しか使わない - △ M回のmessage passingで同じパラメータを使っ ている - 〇 ただM回message passingしてるだけではなかな か遠くまで伝わらないので、階層的なグラフを作る - 粒子をいくつかのクラスターに(機械的に)分けて、 それぞれで代表点(root)を作る - root2leaf, leaf2root, root2rootのエッジを追加
定量比較 • CConv(SoTA)とのみ比較 – MSEでの比較(⇩) – CConvがL1,L2誤差だけで評価してた • 「最終状態だけが欲しいときとかもあるし、ほか の評価も入れた方がいいよね」 – 他の評価指標(⇨) • • • • MMD(maximum mean discrepancy) OT(Optimal Transport(最適輸送)) どちらも順序に依存しない評価指標 (ヒルベルト空間が出てきた...)
うまくいかなかったケース - 長期の予測で剛体の方が崩れる - オリジナルの形を記憶し続けるのが難しい - 剛体は変形しないという(特殊な)制約を入れてい ない - へばりついて滑り落ちないことがある - 悪いシード - へばりつくのはtrainデータでは珍しいの現象なの で、もっとデータを与える必要がある
まとめ • 広く使える粒子ベースの学習フレームワークを提案した – 空間不変性という強い制約 + trainableパラメータを広く配置 • 入力(5ステップ)、エッジ、グローバル、non-shared パラメタ(message-passing時) • 将来的に未来予測、因果推論に使える