【拡散モデル勉強会】Guiding a Diffusion Model with a Bad Version of Itself

198 Views

July 02, 24

スライド概要

シェア

またはPlayer版

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

関連スライド

各ページのテキスト
1.

Guiding a Diffusion Model with a Bad Version of Itself Matsuo Lab M1 Miyake Daiki 1

2.

書誌情報 Guiding a Diffusion Model with a Bad Version of Itself arXivリンク https://arxiv.org/abs/2406.02507 著者はTero Karrasら(NVIDIA) スタイル的にはNeurIPSに投稿されている? 2

3.

概要 • Classifier-free guidanceでは,条件ナシで学習したモデルと条件アリで学習した モデルを使ってサンプリングを行うことで,より強い条件付き生成を行う • 2つのモデルの性質として本質的に重要なのは,「条件ナシ/アリ」というよりは, 「性能が悪い/良い」なのではないか? • より小さなコストで学習させたモデルを利用したガイダンス手法を提案 • Classifier-free guidanceでは品質と多様性のトレードオフがあったが,提案手法 では多様性をある程度保ったまま品質を向上 3

4.

Classifier-free guidance Classifier-free guidance (CFG) は,条件ナシのモデルの出力と条件アリのモデルの 出力との線形和を出力とする (ただし実際には,1つのモデルで条件の入力を変えるような実装がされる) ∇𝐱𝐱 log 𝑝𝑝𝑤𝑤 𝐱𝐱 𝐜𝐜; 𝜎𝜎 = ∇𝐱𝐱 log 𝑝𝑝0 𝐱𝐱 ∅; 𝜎𝜎 + 𝑤𝑤 ∇𝐱𝐱 log 𝑝𝑝1 𝐱𝐱 𝐜𝐜; 𝜎𝜎 − ∇𝐱𝐱 log 𝑝𝑝0 𝐱𝐱 ∅; 𝜎𝜎 4

5.

CFGの問題点 逆拡散過程で ∇𝐱𝐱 log 𝑝𝑝𝑤𝑤 𝐱𝐱 𝐜𝐜; 𝜎𝜎 を使っても,データ分布そのものを生成することはで きない むしろ実際にはより狭い分布を生成する 例)「カエルにもトカゲにも見える画像」よりも「どこからどう見てもカエルに見え る画像」が生成されやすくなる CFGを使うことで品質を向上させることはできるが,多様性が失われる 5

6.

なぜCFGで品質が向上するか? CFGを使うことで, • クラス境界から離れたデータを生成 • データ分布の中心側のデータを生成 することがわかる 1つ目は,条件ナシのモデルと条件アリ のモデルで出力が変わることが理由 品質向上に寄与しているのは2つ目の性質だが,これはなぜ起こるのか? 6

7.

なぜCFGで品質が向上するか? 仮説: 条件ナシと条件アリのモデルで性能に差があるから 条件ナシのモデルは,条件のヒントがない分, 相対的に難しいタスクを学習している → 𝑝𝑝0 の分布は, 𝑝𝑝1 の分布と比べて, データ分布から離れる方向に広くなる ∇𝐱𝐱 log 𝑝𝑝𝑤𝑤 𝐱𝐱 𝐜𝐜; 𝜎𝜎 = ∇𝐱𝐱 log 𝑝𝑝0 𝐱𝐱 ∅; 𝜎𝜎 𝑝𝑝1 𝐱𝐱 𝐜𝐜; 𝜎𝜎 𝑝𝑝0 𝐱𝐱 ∅; 𝜎𝜎 𝑤𝑤 であるから,デノイジングの過程は 𝑝𝑝1 /𝑝𝑝0 を大きくする方向に進む =よりデータにfitする方向に進む 7

8.

提案手法 条件アリ/ナシとしていたモデルを,それぞれ学習が十分/不十分なモデルで置き換 える ∇𝐱𝐱 log 𝑝𝑝𝑤𝑤 𝐱𝐱 𝐜𝐜; 𝜎𝜎 = ∇𝐱𝐱 log 𝑝𝑝0 𝐱𝐱 𝐜𝐜; 𝜎𝜎 + 𝑤𝑤 ∇𝐱𝐱 log 𝑝𝑝1 𝐱𝐱 𝐜𝐜; 𝜎𝜎 − ∇𝐱𝐱 log 𝑝𝑝0 𝐱𝐱 𝐜𝐜; 𝜎𝜎 クラス境界も生成できるため,CFGほど多様性を失わずに生成できる 8

9.

初期実験 ベースライン ImageNet-512で学習させたEDM2-S (FID=2.56) Dropout ベースラインにDropoutを5%かけたもの(FID=4.98)と,10%かけたもの(FID=15.00) →FID=2.55 Input noise 画像のノイズレベルを10%増やして学習させたもの(FID=3.96)と,20%増やしたもの (FID=0.73) →FID=2.56 Dropoutしたものと,ノイズを加えたもの →FIDは悪化 (学習条件は同じであることが重要) 9

10.

定量評価 • mainモデルに対して,学習時間の短縮とモデルサイズの縮小によって性能の悪い guidingモデルを作る • 比較手法はCFGと,CFG+Guidance interval • 学習時間短縮,モデルサイズ縮小の片方だけでもCFGよりは品質向上(FID=1.51, 2.13) • EMA lengthの値が同じだと品質は悪化(FID=1.53) 10

11.

定量評価 • 他のモデルでも同様に品質向上 • 特に,提案手法はunconditionalな生成でも品質向上が可能 FID=11.67→3.86と大きく改善 11

12.

Ablation • 学習時間,モデルサイズ,EMA length の値によって品質がどう変わるか検証 • FIDがベストなのは,学習時間とモデルサイズを共にちょうど良く小さくした時 • 特にモデルサイズを小さくしすぎると,ハイパラ 𝑤𝑤 に敏感になってしまう • EMA length の値に対しても敏感 12

13.

Ablation • 他のguidingモデルの作り方を検討 • データ量を減らす,mainモデルを劣化させてguidingモデルを作る,量子化に よってguidingモデルを作るといったやり方は有効でなかった 13

14.

定性評価 • Frog, Palace, Mushroom, Castleのクラスを生成 • CFGだと 𝑤𝑤 を強めることで 別の画像に収束していくが, 提案手法だと画像の内容は 大きく変わらない 14

15.

定性評価 • DeepFloyd IFに対して提案手法を適用 • 階層的な3つのモデルから成る • 最初の64x64を生成するモデルに 対して提案手法を適用し,後段の 2つのモデルではCFGを使用 https://ja.stability.ai/blog/deepfloyd-if-text-to-image-model 15

16.

定性評価 • CFGのみを強めると, 画像がシンプルになる • 提案手法のみを強めても, CFGほどはシンプルに ならない 16

17.

Discussion • guiding modelをどう作るのがベストか? もっとも簡単には初期のcheckpointを使うことだが,公開モデルはcheckpointま で公開してくれていない • Multi-stageのような学習時に,途中でデータが変わってしまうのも問題 17