【DL輪読会】Lipschitz Singularities in Diffusion Models

4.4K Views

December 01, 23

スライド概要

シェア

またはPlayer版

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

関連スライド

各ページのテキスト
1.

Lipschitz Singularities in Diffusion Models Shohei Taniguchi, Matsuo Lab

2.

書誌情報 Lipschitz Singularities in Diffusion Models • ICLR 2024 under review (8, 8, 8, 6) • arXivもに若干タイトルが違うが同じ論文が上がっている • 著者は全員Alibaba 概要 • 拡散モデルのノイズ予測器がt = 0付近で発散することを指摘 • これを解消することで学習を安定化させる手法を提案 2

3.

Outline 1. 前提知識:Diffusion model 2. 拡散モデルのリプシッツ特異性 3. 提案法:E-TSDM 4. 実験 5. まとめ・感想 3

4.

Diffusion Model

5.

Diffusion Model • データ x0 にガウシアンノイズを徐々に加えていくことを考える q (xt ∣ x 0 ) = + 2 σt =1 𝒩 • 2 αtはtについて単調現象で,αt 2 (αtx0, σt I) 5

6.

Diffusion Model • この拡散課程を逆向きに辿れば,データを生成できる • つまりq (xt−1 ∣ xt)がわかればいいので,これをpθ (xt−1 ∣ xt)でモデル化する pθ (xt−1 ∣ xt) = q (xt−1 ∣ xt, x0 = x̂θ (xt; t)) x̂θ (xt; t) = (xt − σt ⋅ ϵθ̂ (xt; t)) /αt 6

7.

Diffusion Model 目的関数 • 対数尤度の下界がシンプルな形で書ける ϵ∼ (0, I),p(t)∼ (0,1) [ log pθ (x0) ≥ • wt = wt ϵ − ϵθ̂ (xt; t) 2 2 d(log(αt /σt ))/dt 𝒰 𝔼 𝒩 • 実践的には,学習を安定させるために,wt = 1にすることが多い 7 2 ]

8.

Lipschitz Singularity

9.

リプシッツ定数 • 任意のx, yについて以下が成り立つとき,関数fはL-リプシッツ f (x) − f (y) x−y ≤L • 勾配の大きさの上界を表す • fを損失関数とすると,Lが大きいときは,関数がパラメータxに対して急激に 変化するため学習が不安定になりやすい 9

10.

拡散モデルのリプシッツ性 定理3.1 ∂ϵθ(x, t) = ∂t αt dαt ∂ ∇x log qt(x) ∇x log qt(x) − σt dt ∂t 2 1 − αt • t → 0 で αt → 1 なので,第1項の分母が0になり発散する • 実際,(dαt /dt) |t=0 ≠ 0, ∇x log qt(x) |t=0 ≠ 0 のとき,以下のいずれかが成立 lim sup t→0+ ∂ϵθ(x, t) ∂t → ∞; lim sup t→0+ 10 ∂ ∇x log qt(x) σt ∂t →∞

11.

拡散モデルのリプシッツ性 実験的に検証 • 実験的にもDDPMのノイズ予測器は,t = 0付近でリプシッツ定数が発散する • リプシッツ定数は以下の値で推定 ] − ϵθ (xt, t′)] ∥2 Δt  𝔼  K (t, t′) = xt [∥ϵθ (xt, t) 11

12.

𝕋 = {t0, t1, ⋯, tn} 提案法 Early Timestep-shared Diffusion Model, E-TSDM t∼ (0,T),x0∼q(x0),ϵ∼ (0,I) [ ℒ (ϵθ) := f (t) = 0 = t0 < t1 < ⋯ < tn = t̃ t1 − t0 = ti − ti−1, ∀i = 1,2,⋯, n ϵθ (αtx0 + σtϵ, f (t)) − ϵ max1≤i≤n {ti−1 ∈ 2] 2 : ti−1 ≤ t} (t < t̃) {t (t ≥ t̃) • tが小さい時には,階段関数で直近のti−1に丸めて,微分が0になるようにする 𝕋 𝔼 𝕋 𝒩 𝒰 𝕋 • (疑問点) これ端点では微分が発散してるのでは? 12

13.

実験 定量評価 (FID) • 単純な改良だが,どのデータセットでも性能が上がる 13

14.

実験 実験設定に対する頑健性 • 離散/連続時間の設定やノイズスケジュールの種類によらず性能が改善する 14

15.

実験 Ablation study • 端点t̃や刻み幅t̃/nは大きすぎても小さすぎても良くない 15

16.

実験 サンプラーの選び方への頑健性 • SDEのサンプラーの選び方にも依存せずに改善する 16

17.

まとめ • 拡散モデルは,t = 0付近でリプシッツ定数が発散するため,学習が不安定に なりやすい • t = 0付近でノイズ予測器に入力するtをクリップすれば,発散が起こらない • この方法を用いると,データセットなどによらず一貫して性能が向上する 17

18.

感想 • モチベーションはわかるし面白い • 提案法がなぜいいのかが今ひとつピンとこない • t < t̃ で t の情報が消えてるが,それでよい理由がよくわからない • そもそも真の ϵθ = − σt ∇x log qt(x) が t = 0 で発散するのが問題なのだから t の入れ方を変えてもあまり意味がない気がしてしまう 18