3.9K Views
March 26, 24
スライド概要
AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!
2023年度論文読み会#13(3Dデータ論文読み会#7) 2D画像を用いた3D拡散モデルの学習 東京大学大学院工学系研究科技術経営戦略学専攻 三宅大貴 0
1. Diffusion Modelの説明 1
VAE サンプル 𝑥𝑥 から潜在変数 𝑧𝑧 を求めること(もしくはその逆)を考える →パラメータ 𝜙𝜙, 𝜃𝜃 を持つDNNによってそれぞれの事後分布 𝑞𝑞𝜙𝜙 𝑧𝑧 𝑥𝑥 , 𝑝𝑝𝜃𝜃 𝑥𝑥 𝑧𝑧 を 計算する (𝑥𝑥 が与えられた時にどの 𝑧𝑧 が対応してるっぽいかを確率の形で表す) 𝑥𝑥 𝑞𝑞𝜃𝜃 𝑧𝑧 𝑥𝑥 𝑝𝑝𝜙𝜙 𝑥𝑥 𝑧𝑧 𝑧𝑧 データセット {𝑥𝑥 𝑖𝑖 } が与えられたとして,最尤推定によって最適化する 2
VAEにおけるELBOの導出 具体的に計算する (周辺化) (× 𝑞𝑞𝜙𝜙 /𝑞𝑞𝜙𝜙 ) (イェンセンの不等式) (ベイズの定理) (logの分解) (期待値と 𝐷𝐷𝐾𝐾𝐾𝐾 の定義) 3
ELBOの意味 Evidence Lower Bound (ELBO) log 𝑝𝑝 𝑥𝑥 の最大化=ELBOの最大化 1項目は,𝑥𝑥 を条件としてサンプリングされた 𝑧𝑧 の元での 𝑝𝑝𝜃𝜃 𝑥𝑥 𝑧𝑧 の期待値を最 大にしようとする ( 𝑥𝑥 をエンコード→デコードして元に戻ることを期待する) 2項目は,𝑧𝑧 の条件付分布を事前分布 𝑝𝑝 𝑧𝑧 に一致させようとする KL-divergenceは2つの分布が 等しい時に最小値 0 を取る 𝑝𝑝 𝑧𝑧 を標準正規分布にして,推論時は 𝑧𝑧 ∼ 𝑁𝑁 0, 𝐼𝐼 とサンプリングして 𝑝𝑝𝜃𝜃 𝑥𝑥 𝑧𝑧 を計算してやれば,サンプル 𝑥𝑥 が生成できる 4
階層的VAE VAEを階層的にすることを考える 拡散過程 𝑥𝑥0 ● ● 𝑞𝑞 𝑥𝑥1 𝑥𝑥0 𝑝𝑝𝜃𝜃 𝑥𝑥0 𝑥𝑥1 𝑥𝑥1 ⋯⋯ 𝑥𝑥𝑇𝑇−1 逆拡散過程 簡単にするために 𝑞𝑞 𝑥𝑥𝑡𝑡 𝑥𝑥𝑡𝑡−1 = 𝑁𝑁 𝑞𝑞 𝑥𝑥𝑇𝑇 𝑥𝑥𝑇𝑇−1 𝑥𝑥 𝑇𝑇 𝑝𝑝𝜃𝜃 𝑥𝑥𝑇𝑇−1 𝑥𝑥𝑇𝑇 𝛼𝛼𝑡𝑡 𝑥𝑥𝑡𝑡−1 , 1 − 𝛼𝛼𝑡𝑡 𝐼𝐼 とする 事前分布については,𝑝𝑝 𝑥𝑥𝑇𝑇 = 𝑁𝑁 0, 𝐼𝐼 とする 1つ目の制約から,𝑞𝑞 𝑥𝑥𝑡𝑡 𝑥𝑥0 = 𝑁𝑁 𝛼𝛼�𝑡𝑡 𝑥𝑥0 , 1 − 𝛼𝛼�𝑡𝑡 𝐼𝐼 と計算できる 𝑥𝑥𝑡𝑡 は 𝑥𝑥0 にガウシアン ノイズを付加したもの 5
階層的VAEにおけるELBO ELBOを同様に計算する 以下,3項目のみを考える 𝑞𝑞 𝑥𝑥𝑡𝑡−1 𝑥𝑥𝑡𝑡 , 𝑥𝑥0 はベイズの定理から,平均 𝜇𝜇𝑞𝑞 ,分散 𝜎𝜎𝑞𝑞2 の正規分布になることが 計算できる 𝑝𝑝𝜃𝜃 は 𝑥𝑥0 を知らない状態で計算する必要 があり,平均はDNNで予測するしかない 𝑝𝑝𝜃𝜃 𝑥𝑥𝑡𝑡−1 𝑥𝑥𝑡𝑡 を計算するためには,平均 𝜇𝜇𝜃𝜃 𝑥𝑥𝑡𝑡 ,分散 𝜎𝜎𝑞𝑞2 の正規分布と仮定して やればよい 6
Diffusion Modelの学習 𝜇𝜇𝜃𝜃 𝑥𝑥𝑡𝑡 で 𝜇𝜇𝑞𝑞 を予測してもよいが,𝑥𝑥0 を予測してもよい また,𝑥𝑥𝑡𝑡 は 𝑥𝑥0 と 𝜖𝜖 の線形和で書けたことを思い出せば, 𝜖𝜖 を予測してもよい 実験的には. 𝜖𝜖 を予測すると品質が高くなることがわかっている この二乗和の最小化 = KL-divergenceの最小化 =ELBOの最大化 7
ブラウン運動と確率微分方程式 Diffusion Modelの拡散過程は以下の確率微分方程式に従う ただし d𝐰𝐰 はブラウン運動(標準ウィーナー過程),𝐟𝐟 𝒙𝒙, 𝑡𝑡 , 𝑔𝑔 𝑡𝑡 はそれぞれ 𝑞𝑞 𝑥𝑥𝑡𝑡 𝑥𝑥0 から決まる関数 この時,逆拡散過程も同様に確率微分方程式で表せる 𝑝𝑝𝑡𝑡 𝒙𝒙 は拡散過程の確率微分方程式の解,d𝑤𝑤 � は 𝑇𝑇 から 0 へ進む標準ウィーナー 過程 Diffusion Model は ∇ log 𝑝𝑝𝑡𝑡 𝒙𝒙 を 学習している 8
確率フロー常微分方程式 確率微分方程式の解 𝑝𝑝𝑡𝑡 𝑥𝑥 について,フォッカー・プランク方程式という偏微 分方程式が成り立つ (一変数の場合) 以下の常微分方程式を,拡散係数が0の確率微分方程式と見なしてフォッカ ー・プランク方程式を導くと,同じ方程式になる =確率微分方程式を解いた場合と同じ 𝒙𝒙𝑡𝑡 が得られる 推論時には常微分方程式の数値解法を使える 9
2. HOLODIFFUSION: Training a 3D Diffusion Model Using 2D Images 10
論文情報 HOLODIFFUSION: Training a 3D Diffusion Model Using 2D Images CVPR2023 MetaAIのインターンとして行われた研究 以下スライドに掲載する画像・表は,上記論文から引用したものです 11
Introduction Diffusion Modelは2D分野では大きな成功を収めているものの,データセット の不足により3D分野では適用が難しい 既存の3D Diffusion Modelは,学習済みの2D Diffusion Modelを利用して構 築されている 本論文では,2Dデータを利用して(2D Diffusion Modelは利用せず),3D Diffusion Modelを構築する 12
問題の定式化 ● ● ● 𝑠𝑠 𝑖𝑖 : 1つのオブジェクトを複数視点から映した動画 𝑠𝑠 𝑖𝑖 = 𝐼𝐼𝑗𝑗𝑖𝑖 , 𝑃𝑃𝑗𝑗𝑖𝑖 for 𝑗𝑗 = 1, … , 𝑁𝑁frames 𝐼𝐼𝑗𝑗𝑖𝑖 ∈ ℝ3×𝐻𝐻×𝑊𝑊 , 𝑃𝑃𝑗𝑗𝑖𝑖 ∈ ℝ4×4 𝑉𝑉 ∈ ℝ𝑑𝑑×𝑆𝑆×𝑆𝑆×𝑆𝑆 : あるオブジェクトの3D特徴量表現 ( d は特徴量次元数) 𝑟𝑟𝜁𝜁 : レンダリング関数 𝑟𝑟𝜁𝜁 𝑉𝑉, 𝑃𝑃𝑗𝑗 = 𝐼𝐼𝑗𝑗 𝑉𝑉 を生成するようなDiffusion Model 𝐷𝐷𝜃𝜃 (と 𝑟𝑟𝜁𝜁 )を学習する 13
補助的なサンプリング 2Dデータのみしかないため,3D表現 𝑉𝑉 にアクセスできない 代わりに,2Dデータから構成した 𝑉𝑉� を使う 𝑽𝑽� の作り方 画像 𝐼𝐼𝑗𝑗 をCNNによって特徴マップ 𝑓𝑓𝑗𝑗 に変換し, カメラ行列 𝑃𝑃𝑗𝑗 を使って3D空間に射影する 具体的には,カメラの方向ベクトル 𝑣𝑣𝑗𝑗 と 𝑓𝑓𝑗𝑗 を 𝑗𝑗 𝑗𝑗 入力とし,3D特徴量 𝑓𝑓𝑓𝑚𝑚𝑚𝑚𝑚𝑚 と密度 𝜎𝜎𝑚𝑚𝑚𝑚𝑚𝑚 を 出力とするMLPを構築する 𝑗𝑗 𝑗𝑗 𝑉𝑉�𝑚𝑚𝑚𝑚𝑚𝑚 = � 𝜎𝜎𝑚𝑚𝑚𝑚𝑚𝑚 𝑓𝑓𝑓𝑚𝑚𝑚𝑚𝑚𝑚 𝑗𝑗 14
損失関数 以下の損失関数を用いる 𝐿𝐿photo = ||𝑟𝑟𝜁𝜁 𝐷𝐷𝜃𝜃 𝑉𝑉�𝑡𝑡 , 𝑡𝑡 , 𝑃𝑃𝑗𝑗 − 𝐼𝐼𝑗𝑗 ||2 問題点 𝑉𝑉� は厳密には3D表現でないため,これを学習しても 𝑉𝑉 を生成できない (具体的には書いてないが,例えば3D的に一貫性がなかったりする?) → �𝑉𝑉 と 𝑉𝑉 のズレ(ノイズ)も,𝐷𝐷𝜃𝜃 によって解消されると仮定する 15
改良した損失関数 ただし 𝐿𝐿′photo = ||𝑟𝑟𝜁𝜁 𝐷𝐷𝜃𝜃 (𝜖𝜖𝑡𝑡𝑡 (𝐷𝐷𝜃𝜃 𝑉𝑉�𝑡𝑡 , 𝑡𝑡 , 𝑡𝑡 ′ ), 𝑃𝑃𝑗𝑗 − 𝐼𝐼𝑗𝑗 ||2 𝜖𝜖𝑡𝑡 𝑍𝑍 ∼ 𝑁𝑁 𝛼𝛼�𝑡𝑡 𝑍𝑍, 1 − 𝛼𝛼�𝑡𝑡 𝐼𝐼 内側のデノイズは,𝑉𝑉�𝑡𝑡 → 𝑉𝑉0 (3D由来のノイズと,ガウシアンノイズを除去) 外側のデノイズは,𝑉𝑉𝑡𝑡 → 𝑉𝑉0 (ガウシアンノイズのみを除去) 実際には,各iterationで50%の確率でどちらかの損失関数を使う 16
実験 CO3Dv2というデータセットを使用 様々な種類のオブジェクトを周りから撮影した動画がカメラ姿勢と共に与えら れている リンゴ,消火栓,テディベア,ドーナツの4種類について,それぞれ500個の 動画で学習させた 17
定性評価 既存手法(上3つ)よりも高品質な生成結果 18
定性評価 カメラ方向を変化させて生成 pi-GAN は各フレームでの リアルさにおいて提案手法 を上回っている場合もある が,一貫性がほとんどない 19
定量評価 FID(生成画像の多様性と品質を評価する)とKIDで評価 pi-GANの方が優位なカテゴリもあるが,3Dの一貫性(VP)を考えると,提案手 法の方が優位 また,boostrap (2回デノイズ)によって品質が大きく向上している 20
可視化 21
参考文献 ● ● ● 内山祐介,『機械学習のための確率過程入門 確率微分方程式からベイズモ デル,拡散モデルまで』.オーム社,2023. 岡野原大輔,『拡散モデル データ生成技術の数理』.岩波書店,2023. Calvin Luo, Understanding diffusion models: A unified perspective. arXiv preprint arXiv:2208.11970, 2022. https://arxiv.org/abs/2208.11970 22
23