【DL輪読会】HyperDiffusion: Generating Implicit Neural Fields withWeight-Space Diffusion

136 Views

June 09, 23

スライド概要

2023/6/9
Deep Learning JP
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

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

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

HyperDiffusion: Generating Implicit Neural Fields with Weight-Space Diffusion Naruya Kondo (Digital Nature Group D1) 1

2.

書誌情報 ● HyperDiffusion: Generating Implicit Neural Fields with Weight-Space Diffusion ○ Arxiv Submitted on 2023/03/29 (CVPR?) ○ by Technical University of Munich, Apple (⇦ Vision Pro (VR HMD) で話題の!!) ● ひとことで言うと ○ 3D / 4D の (条件付けなしの) 深層生成モデル ○ データセットの各データを (neural field) MLPで過適合させて、 MLP のパラメタ空間で diffusion model を学習、MLP パラメタの生成を可能にする ○ 4D でも同じやり方でできる 2

3.

プロジェクトページ https://ziyaerkoc.com/hyperdiffusion/?ref=aiartweekly 3

4.

ここからの内容 • 背景 • 提案手法 – Per-Sample MLP Overfitting – MLP Weight-Space Diffusion – 実装のベース: G.pt • • • • • • 比較手法 (3つ) 評価指標 (4つ) 結果 Limitation (関連研究) まとめと感想 4

5.

HyperDiffusion 5

6.

背景 • 3D の生成モデルの学習が難しい – – – – ボクセル (データ量が爆発) メッシュ (スパース、トポロジーの問題) (点群 (?) / Tri-Plane (?)) …どういう表現ベースで学習すればいいのか • 3D のデータがそんなにない – 空間全体が学習できる (多様体が獲得できる) ほどもない – 過適合を避けるとなると、詳細な形を生成するのが困難 • 各データに最適化されたMLPの空間で diffusion する! – データが密 – High detailed な生成が期待できる 6

7.

全体像 学習データ (過適合MLPを用意) (過適合されたような、新しいMLPを生成) 7

8.

全体像 (これ自体は簡単) (MLP Overfitting + Diffusion) 8

9.

Per-Sample MLP Overfitting • • • • • 入力 → 出力: xyz,(t) → in/out (1/0) だいたい同じようなMLPの モデル: 3層のMLP, hidden 128 (パラメタ数≈36k) パラメタが集められる! データ数: 10万点 (一様) + 10万点 (表面付近) モデルの初期化: 1つめのデータに overfitting した MLPを使う 学習: BCE Loss, 800epoch, 6分 per shape 9

10.

MLP Weight-Space Diffusion w,b (4箇所) Diffusion • transformerベース。500 diffusion step • MLPパラメタに noise を足して除いて学習 transformer • 2880 hidden, 12 layers, 16 attention head • 9個のトークン (w,b × 4 + t) t: diffusion step 10

11.

実装のベース: G.pt Learning to Learn with Generative Models of Neural Network Checkpoints (ICLR 2023 Reject, reviewer「役に立つか分からない」) • 勾配法 (の最適化器) は、過去の経験を参考にしない問題がある – 常に目の前や少し前のデータしか考えてない • 大量のモデルを学習させた時の checkpointsで diffusion してみた • • • diffusion step でパラメタ最適化ができるようになり、 (そのタスクでは) 1stepだけで劇的にlossを更新できるようになる パラメータ空間の多様体を見ることができるようになる (狙ったloss / errorのモデルを作れるようになる) • (感想: パラメタ空間 denoising のメタ学習ができたら最高そう) 11

12.

比較手法 • PVD (Point Voxel Diffusion, ICCV 2021) – 3D点群データで diffusion – 球状の点群から始めて、point-voxel CNN で 点群全体を一括で少し動かすようにして denoise • DPC (Diffusion Probabilistic Models, CVPR 2021) – 3D点群データで diffusion – auto-encoder の表現学習と組み合わせて、 点単位で動かす? • Voxel ← オリジナルで追加のベースラインを用意 (for 3D, 4D) – 24^3のボクセルに区切って、直接 transformer で diffusion 12

13.

評価指標 • FPD スコア – 生成画像の品質と多様性の両方を評価 – FID スコアの 点群 ver. 学習済みPointNet++を代わりに使う。 • 学習済みモデルで正解データ、生成データの特徴量ベクトルを全部出して、特徴量ベクトルの多次元ガウ ス分布のフレシェ距離がスコア。(多次元ガウス分布は特徴ベクトルの平均と共分散行列で作られる、フレ シェ距離は、2つのガウス分布の平均の間のユークリッド距離と、それぞれの共分散行列のトレース (対角 成分の和) の差との和) • (準備) Chamfer Distance (CD) – 2つの点群X,Yの距離の定義の1つ (メッシュの距離にも使える) • • 点群Xの各点xについて一番近い点群Yのある点までの距離の総和 + そのXY逆版 4Dなら各時刻tでこのCDをとってTで平均 評価指標の詳しい説明がのってた論文 : https://arxiv.org/abs/2210.06978 13

14.

評価指標 Sr: 正解データ(点群)の集合、Sg: 生成データの集合 • MMD (Minimum matching distance) スコア – – – どれだけ正解データセットに近い多様な生成ができているか 正解データそれぞれについて、一番近い生成データとの距離の和 △ 悪い生成結果について評価されない • COV (Coverage) スコア – – COV だと誤って高く評価されてしまう例 はこんなの?この場合、次の1-NNA の 方が良さそう (by 近藤) どれだけ正解データセットを網羅できているか 各生成データについて一番近い正解データを集めた集合の個数の、正解データ全体の個数に対する比率 評価指標の詳しい説明がのってた論文 : https://arxiv.org/abs/2210.06978 14

15.

評価指標 • 1-NNA (1-nearest neighbor accuracy) スコア – – 生成画像の品質と多様性の両方を評価 生成に一番近いのが生成ならペナルティ1点、正解に一番近いのが正解ならペナルティ1点 – 正解データと生成データは空間の中で良く混ざっているといいよね、分布が完全に1対1対応レベルで一致して いるとさらにいいよね。 あるデータ1個に注目して、(1番)近いサンプルのラベルだけからrかgかかを当てるときに、良く混ざってる (== 正解は50%) なら 0.5点、分布が完全一致 (== 正解は0%) なら 0点 (最高)、というスコア Nx 関数1[] : Sg ⋃ Sr - {X} の中で1番 X に近い要素 : [] 内がYesなら1, Noなら0 評価指標の詳しい説明がのってた論文 : https://arxiv.org/abs/2210.06978 15

16.

結果 • データ: ShapeNet (3D), DeformingThings4D⇩ (4D) • 3D – 3000~6000個 / カテゴリ • 4D – 1772 anim 採用 – 16 frame 16

17.

結果 • 1-NNA と FPDが本命の評価指標。良かった • 4D も voxel より良かった • その他 ablation – Positional Encoding ありの方が良い – 1つめのNLPで残りのNLP初期化した方が良い 17

18.

Limitations • 明示的な surface reconstruction の最適化はできていない – やってみたけどうまく行かなかったらしい • 広域3Dデータに対して、MLP で表現するには限界がある – (Block NeRF みたいに) ブロック分割して複数の MLP で表現できるかも • (続きのanimation を生成するとかはたぶん難しそう (近藤)) 18

19.

関連研究 - GEM (2021) / Functa (2022) - パラメタ空間の一部だけを生成したり、 潜在変数を使ってパラメタを変えたり - DIFFUSION PROBABILISTIC FIELDS (2023) - Explicit field representation で生成 functa 19

20.

まとめと感想 • MLP のパラメタ空間で生成モデルを学習させる新しさ – – – – 高解像度化が期待できる 3D でも 4D でも同じやり方でできる 獲得した MLP は downstream タスクに使えるかも Diffusion Models の alternative アプローチとなるだろう • 感想 – パラメタ空間のノイズってわかるものなのか・・・? • (CNNの基底なら分かるっちゃ分かる(?)し、分かるのかな) – より Diffusion が学習しやすい MLP のパラメタのパターンとかありそう • そうなってくると使ってみたい – Tri-Plane系とどっちの方がいいんだろう 20

21.

(おまけ) EMD (Earth-Mover-Distance) • • • 点群Aの1点1点すべてを点群Bのどれかの点に被りなくかつ割り当てられない点も出ないように移動させたときの総 移動距離 Chamfer Distanc の代わりに使われることがある。 最適な対応付けを効率的に見つけるアルゴリズム (ハンガリアンアルゴリズムなど) が存在します by GPT 21