4.4K Views
December 01, 23
スライド概要
DL輪読会資料
Lipschitz Singularities in Diffusion Models Shohei Taniguchi, Matsuo Lab
書誌情報 Lipschitz Singularities in Diffusion Models • ICLR 2024 under review (8, 8, 8, 6) • arXivもに若干タイトルが違うが同じ論文が上がっている • 著者は全員Alibaba 概要 • 拡散モデルのノイズ予測器がt = 0付近で発散することを指摘 • これを解消することで学習を安定化させる手法を提案 2
Outline 1. 前提知識:Diffusion model 2. 拡散モデルのリプシッツ特異性 3. 提案法:E-TSDM 4. 実験 5. まとめ・感想 3
Diffusion Model
Diffusion Model • データ x0 にガウシアンノイズを徐々に加えていくことを考える q (xt ∣ x 0 ) = + 2 σt =1 𝒩 • 2 αtはtについて単調現象で,αt 2 (αtx0, σt I) 5
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
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 ]
Lipschitz Singularity
リプシッツ定数 • 任意のx, yについて以下が成り立つとき,関数fはL-リプシッツ f (x) − f (y) x−y ≤L • 勾配の大きさの上界を表す • fを損失関数とすると,Lが大きいときは,関数がパラメータxに対して急激に 変化するため学習が不安定になりやすい 9
拡散モデルのリプシッツ性 定理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 →∞
拡散モデルのリプシッツ性 実験的に検証 • 実験的にもDDPMのノイズ予測器は,t = 0付近でリプシッツ定数が発散する • リプシッツ定数は以下の値で推定 ] − ϵθ (xt, t′)] ∥2 Δt  𝔼  K (t, t′) = xt [∥ϵθ (xt, t) 11
𝕋 = {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
実験 定量評価 (FID) • 単純な改良だが,どのデータセットでも性能が上がる 13
実験 実験設定に対する頑健性 • 離散/連続時間の設定やノイズスケジュールの種類によらず性能が改善する 14
実験 Ablation study • 端点t̃や刻み幅t̃/nは大きすぎても小さすぎても良くない 15
実験 サンプラーの選び方への頑健性 • SDEのサンプラーの選び方にも依存せずに改善する 16
まとめ • 拡散モデルは,t = 0付近でリプシッツ定数が発散するため,学習が不安定に なりやすい • t = 0付近でノイズ予測器に入力するtをクリップすれば,発散が起こらない • この方法を用いると,データセットなどによらず一貫して性能が向上する 17
感想 • モチベーションはわかるし面白い • 提案法がなぜいいのかが今ひとつピンとこない • t < t̃ で t の情報が消えてるが,それでよい理由がよくわからない • そもそも真の ϵθ = − σt ∇x log qt(x) が t = 0 で発散するのが問題なのだから t の入れ方を変えてもあまり意味がない気がしてしまう 18