Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SSII2023 [SS1] 拡散モデルの基礎とその応用 ~Diffusion Models入門~

SSII2023 [SS1] 拡散モデルの基礎とその応用 ~Diffusion Models入門~

More Decks by 画像センシングシンポジウム

Other Decks in Science

Transcript

  1. 2 自己紹介 早川 顕生 / Akio Hayakawa 株式会社ソニーリサーチ Diffusion Modelsに関する動画も

    多数ございますので是非ご活用ください! Youtubeへのリンク ソニーリサーチ について ⇒ https://www.ai.sony/ja/articles/sonyai019-jp/
  2. 3 拡散モデルの爆発的発展(特にtext-to-image) DALL-E 2 Imagen Stable Diffusion “Hierarchical Text-Conditional Image

    Generation with CLIP Latents,” arXiv 2022. https://github.com/CompVis/stable-diffusion “Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding,” NeurIPS 2022.
  3. 4 拡散モデルの応用 “GibbsDDRM: A Partially Collapsed Gibbs Sampler for Solving

    Blind Inverse Problems with Denoising Diffusion Restoration,” ICML 2023. “Instruct 3D-to-3D: Text Instruction Guided 3D-to-3D conversion,” arXiv 2023. 画像ぼけの推定と除去 言語指示によるNeRFの編集
  4. 7 生成モデルの目的とバリエーション 画像出展: https://laion.ai/blog/laion-aesthetics/ 学習 生成 モデル化したいデータ集合 簡単に サンプリング できることが

    望ましい 𝑧 Diffusion Models 𝑥! 𝑥" Denoiser 𝑥# Denoiser 𝑝(𝑥) 生成モデル GANs Flow 𝑧 𝑥! 𝑥 Discriminator 0/1 Generator 𝑧 𝑥 𝑥$ Flow 𝑓(𝑥) Inverse 𝑓!"(𝑥) 𝒛 ∼ 𝑁(𝟎, 𝑰) などでモデル化 VAE 𝑧 𝑥 Encoder 𝑥$ Decoder
  5. 8 異なる生成モデル間での長所短所の比較 “Tackling the Generative Learning Trilemma with Denoising Diffusion

    GANs”, ICLR 2022 それぞれの生成モデルは 生成の ①品質, ②速度, ③多様 性 の観点で長所短所がある GANs Diffusion Models 長所: 高品質かつ多様な生成 短所: 生成が遅い 長所: 高品質かつ高速な生成 短所: 多様性が乏しい 長所:多様かつ高速な生成 短所:低品質な生成 VAE / Flow
  6. 10 拡散モデルとは • 拡散過程(or 類似の過程)に基づく生成モデル • 徐々に拡散していく過程を考え、これを逆方向に辿ることによってデータを生成 • 物理現象とのアナロジーで 時刻の概念を導入(時刻0がデータ、時刻Tが完全なノイズに対応)

    生成対象のデータ ガウシアンノイズ 微小なノイズを付加 微小なノイズを(DNNで)除去 繰り返すことで ノイズをデータに変換 繰り返すことで データをノイズに変換 拡散過程 データ生成 “Denoising Diffusion Probabilistic Models,” NeurIPS 2020. “Deep Unsupervised Learning using Nonequilibrium Thermodynamics,” ICML 2015.
  7. 11 Denoising Diffusion Probabilistic Models(DDPM) “Denoising Diffusion Probabilistic Models,” NeurIPS

    2020. 生成対象のデータ ガウシアンノイズ 逆拡散過程(→)のポイント ① ② 𝑞 𝑥! 𝑥" 拡散過程(←)のポイント ① 1時刻の遷移はガウス分布 𝑞 𝑥" 𝑥"#$ ≔ 𝑁(𝑥"; 1 − 𝛽" 𝑥"#$, 𝛽"𝐈) ② 𝒙𝒕 |𝒙𝟎 の分布もガウス分布 𝑞 𝑥" 𝑥% ≔ 𝑁(𝑥"; 1 𝛼" 𝑥%, (1 − 1 𝛼")𝐈) ただし、 % 𝛼! = ∏%&' ! (1 − 𝛽%) 拡散過程 (データ→ノイズ) 逆拡散過程 (ノイズ→データ) ① 1時刻の遷移はガウス分布 (十分に微小な時刻変化であれば) ① 𝑝! 𝑥"#$ 𝑥" = 𝑁(𝑥"#$; 𝜇!(𝑥", 𝑡), 𝚺!(𝑥", 𝑡)) 適当な定数𝜎! "𝑰として固定 ハイパラ𝛽! または $ 𝛼! で定まる
  8. 12 Denoising Diffusion Probabilistic Models(DDPM) “Denoising Diffusion Probabilistic Models,” NeurIPS

    2020. 生成対象のデータ ガウシアンノイズ 逆拡散過程(→)のポイント ① ② 𝑞 𝑥! 𝑥" 拡散過程(←)のポイント ① 1時刻の遷移はガウス分布 𝑞 𝑥" 𝑥"#$ ≔ 𝑁(𝑥"; 1 − 𝛽" 𝑥"#$, 𝛽"𝐈) ② 𝒙𝒕 |𝒙𝟎 の分布もガウス分布 𝑞 𝑥" 𝑥% ≔ 𝑁(𝑥"; 1 𝛼" 𝑥%, (1 − 1 𝛼")𝐈) ただし、 % 𝛼! = ∏%&' ! (1 − 𝛽%) 拡散過程 (データ→ノイズ) 逆拡散過程 (ノイズ→データ) ① 1時刻の遷移はガウス分布 (十分に微小な時刻変化であれば) ① 𝑝! 𝑥"#$ 𝑥" = 𝑁(𝑥"#$; 𝜇!(𝑥", 𝑡), 𝚺!(𝑥", 𝑡)) 適当な定数𝜎! "𝑰として固定 ハイパラ𝛽! または $ 𝛼! で定まる 各時刻で𝜇! が推定できればデータ生成が可能
  9. 13 ノイズ推定二乗誤差の最小化による拡散モデルの学習 ポイント ① 拡散モデルにおける 負の対数尤度の上界最小化 = 「真のデノイズ結果の平均」の回帰問題 ポイント ②

    「真のデノイズ結果の平均」はデータ𝑥" とノイズ𝜖 ~ 𝑁(0, I)の線形和で表せる ≤ 9 "&' ( 𝔼) 𝑥" 𝑥% 𝐷*+ 𝑞 𝑥"#$ 𝑥", 𝑥% ‖ 𝑝! 𝑥"#$ 𝑥" − log 𝑝! 𝑥% + {𝑝! 𝑥( と𝑝!(𝑥")に関する項} C 𝜇" 𝑥", 𝑥% = 𝑐%𝑥% + 𝑐$𝑥" = 𝑐% 1 𝛼" + 𝑐$ 𝑥" − 𝑐% 1 − 1 𝛼" 1 𝛼" 𝜖 𝑐! = 𝛽" 1 − 𝛽"#$ 1 − - 𝛼" , 𝑐$ = 1 − 𝛽" (1 − - 𝛼"#$ ) 1 − - 𝛼" 𝑥" = - 𝛼" 𝑥! + 1 − - 𝛼" 𝜖 実はどちらもガウス分布なので平均パラメタの二乗誤差となる ※𝑁(𝑥"#$; 7 𝜇"(𝑥", 𝑥!), 9 𝛽"𝑰)と𝑁(𝑥"#$; 𝜇%(𝑥", 𝑡), 𝜎" &𝑰) 1 2𝜎! = 0 𝜇! 𝑥!, 𝑥" − 𝜇>(𝑥!, 𝑡) = + const. 𝒙𝒕 から𝝐を推定して0 𝜇! に変換することも可能 ※時刻に応じた係数も無視 = 𝔼",$ 𝜖 − 𝜖!( * 𝛼"𝑥% + 1 − * 𝛼"𝜖, 𝑡) & 最終的に学習に 利用する損失
  10. 14 学習の概要 ノイズを載せた画像からノイズを推定 • ノイズを推定するモデルは、各時刻で同じモデルを共通して利用 • DDPMで使われたモデルはself-attention付きのU-net(後述) 時刻情報 𝑡~𝑈(1, 𝑇)

    DNN + 2乗誤差 最小化 学習データ 𝑥# ノイズ 𝜖~𝑁(0,1) 推定したノイズ 𝜖$ ノイズ付きデータ 2 𝛼% 𝑥# + 1 − 2 𝛼% 𝜖 モデルを更新
  11. 15 よく使われるモデルアーキテクチャ(U-Net) ResBlock x 𝑁# ResBlock x 𝑁$ ResBlock +

    MH-Att x 𝑁% ResBlock + MH-Att x 𝑁& ResBlock + MH-Att x 𝑁% ResBlock x 𝑁$ ResBlock x 𝑁# Embed + Affine x2 時刻情報𝑡 + + 各ResBlockでaffineをかけてチャンネルごとのスケールとバイアスを算出し、抽出した特徴量に適用 深いところでのみmulti-head attentionをかける ノイズ付き 画像 推定した ノイズ Downsample Downsample Upsample Upsample MH-Att: Multi-Head Attention Embed: 固定長ベクトルへの埋め込み “Diffusion Models Beat GANs on Image Synthesis,” NeurIPS 2021.
  12. 17 テキスト条件付き生成を行うモデル • テキスト情報は、時刻と同様に入力 or/and 注意機構を利用 Embed + Affine x2

    時刻情報𝑡 Encoder (e.g., CLIP) テキスト Add 画像トークン テキストトークン テキストトークンも使う テキスト情報を追加入力
  13. 18 Diffusion Modelを学習する空間の違い 基本的には、品質優先のPixel Space vs 生成速度優先のLatent Space Enc. LatentでのDiffusion

    Dec. … PixelでのDiffusion … ノイズ付与 ノイズ付与 Pixel Diffusion Latent Diffusion 学習済み VAEなどを利用 縦横1/2に圧縮すると1/4のデータサイズ → 高速化 Enc/Decの圧縮性能が品質のボトルネック → 品質劣化
  14. 20 Text to Imageに関連する手法の分類と発展 Imagen SUR-Adapter Re-Imagen eDiff-I UPainting LatentDiffusion

    ERNIE-ViLG 2.0 GLIDE Dalle-2 StableDiffusion Text → Image Latent SpaceのDiffusion Text + Spatial Hints → Image SceneComposer ReCo SpaText Text ↔ Image Versatile Diffusion UniDiffuser ※ 離散表現を直接利用 条 件 の 追 加 相 互 生 成 可 能 化 UniD3 LLM CLIP 学習 テキスト特徴 による分類 ※ Reco以外はLatentとPixel両方
  15. 21 ポイント Imagen (1/2): モデルの概要 画像出典: Laion-400m dataset “Cute golden

    retriever in the autumn park” 学習済み 言語モデル Unet構造の denoiser (freeze) 𝑥, 𝑥"#$ 𝑐 (condition入力) Text入力 学習済み言語モデル(T5-XXL) によるText特徴を利用したPixel Spaceでの拡散モデル + • Cascaded diffusion models • Efficient U-Net Diffusion Modelの性能を向上させる工夫 Cascaded Diffusionによる 64 → 256 → 1024の3段階生成 パラメタを低解像に集中させた Efficient U-Net (Upsamplerに利用) “Photorealistic Text-to-Image Diffusion Models with Deep Language Understand NeurIPS 2022
  16. 23 ポイント Latent Diffusion Models 低次元の潜在空間で拡散モデルを学習することで計算コストを軽減 事前学習済みVAEや VQGANなどを用いてデー タを潜在空間へ 条件付けは画像空間での

    拡散モデルの方法を踏襲 “High-Resolution Image Synthesis with Latent Diffusion Models”, CVPR 2022 低次元潜在空間で拡散モデル を学習し計算効率を向上
  17. 24 Open SourceとしてのStable Diffusion OpenCLIP-ViT/Hを用いてLAION-5Bで学習したLatent Diffusion Model (v2.0)のこと https://github.com/Stability-AI/StableDiffusion 単純なText

    to Imageだけでなく、Depth Conditionによる性能向上やInpainting等の画像変換を実現 する機能など種々の最新研究に基づく拡張も含めて公開されている
  18. 27 画像生成から動画生成へ: モデル化方針の大別 動画生成モデルの定式化として、以下の二つの方針が提案されている ① 動画を画像の集合とみなして連続した画像群の同時分布を学習 ② 生成済み(または与えられた)フレームを条件として続くフレームの条件付き分布を学習 ① Nフレームの動画の分布𝑝(𝑥!:#

    )を学習するタイプ ② 既知のフレーム群𝑓を条件として フレーム群𝑥の条件付き分布𝑝(𝑥|𝑓)を学習するタイプ 〇 比較的大規模なデータセットでの成功報告多数 × 時間的一貫性を持った長い動画の生成は苦手な傾向 ※ 部分的に生成済みフレームを入力することで近似的に②の分布を表現可能 ×比較的小規模なデータセットでの検証(多様性が乏しい?) 〇時間的一貫性を持った長時間の動画を生成するのが得意 “Make-A-Video: Text-to-Video Generation without Text-Video Data”, ICLR 2023 既に生成したフレーム を条件として入力 “MCVD: Masked Conditional Video Diffusion for Prediction, Generation, and Interpolation”, NeurIPS 2022 全てのフレームが Unetの入力として 入ってくる
  19. 28 画像生成から動画生成へ: 一般的なモデル構造 時間的な関係性を持った複数のフレームの関係性を扱うために 2D + 1DのConvolutionやAttentionを導入して、ネットワークを拡張することが多い • 3DのConvolutionやAttentionと比較して計算コスト小 •

    初期化を工夫すれば学習済み画像生成モデルを初期重みとして利用可能 “Make-A-Video: Text-to-Video Generation without Text-Video Data”, ICLR 2023 2D convolutionの後ろに 時間方向の1D convolutionを追加 2D self-attentionの後ろに 時間方向の1D Attentionを追加
  20. 29 Imagen Video Imagenを正統進化させたPixel Spaceでの拡散モデル • 空間/時間的に階層的に生成を繰り返すことで高品質な動画生成を実現 • 画像テキストペアデータセットも学習に用いて、各フレームの生成結果を高品質化 •

    Classifier Free Guidanceによる生成品質とテキスト忠実性のコントロール • 段階的蒸留を適用し生成速度の改善 • ベースとなる動画生成モデル (x 1) • 空間的な高解像度化をするモデル (x 3) • 時間的な補完をするモデル (x 3) の合計7個の拡散モデルによる段階的な生成 言語モデルによる表現をテキスト特徴量として 用いるため、文字もうまく反映できる Imagen Video: High Definition Video Generation with Diffusion Models, Arxiv 2022
  21. 30 Stable DiffusionをVideo生成に拡張する手法 (1/3): Magic Video Latent Diffusionの計算コストの軽さをなるべく保ったまま動画生成への拡張する手法 • 学習済みStableDiffusionのモデル構造を動画へ拡張

    • 時間方向の1D convではなく2D conv + modulation (各層で独立したパラメタでFILM) • 1D Attentionの方向を過去から未来の方向のみに制限 “MagicVideo: Efficient Video Generation With Latent Diffusion Models”, arxiv 2022
  22. 31 Stable DiffusionをVideo生成に拡張する手法 (2/3): Align Your Latents Stable Diffusionの重みを固定して、時間的な処理を行うために追加する層のみ学習する手法 •

    動画への対応のために追加した層のパラメタのみ学習する • Auto EncoderのDecoder部分のみ動画データでFineTuneして時間的一貫性を向上 • 階層的な生成を行うことで高品質な画像生成を実現 “Align your Latents: High-Resolution Video Synthesis with Latent Diffusion Models”, CVPR 2023
  23. 32 Stable DiffusionをVideo生成に拡張する手法 (3/3): 生成結果 Magic Video Align Your Latents

    階層的な生成+動画によるDecoder のfinetuneで品質が向上 “Align your Latents: High-Resolution Video Synthesis with Latent Diffusion Models”, CVPR 2023 “MagicVideo: Efficient Video Generation With Latent Diffusion Models”, arxiv 2022
  24. 33 拡散モデルを用いた3D生成 他の3Dモデルを更新 3D表現(に変換できる表現)を生成 拡散モデルの利用方法による分類 スコアの蒸留による最適化 (①) 生成画像で最適化 (②) 拡散モデルで3D表現を直接生成

    (LDM含む) Point Cloud Mesh SDF 3D再構成モデル(の条件)を生成 Field DreamFusion SJC Magic 3D HiFA ProlificDreamer Latent-NeRF Fantasia3D “Debiasing Scores and Prompts” Perp-Neg Zero 1-to-3 3D Fuse SparseFusion 3D一貫性の改善 3Dモデルの改良 3D awareな 拡散モデル の利用 RGBD2 Text2NeRF SceneScape ①や②を補助的に 利用して既存手法を改善 DiffusionNeRF NerfDiff ISS++ GAUDI NeuralField-LDM LDM3D 画像出力 (RGBD/NVS) Dream3D 3DiM RenderDiffusion (Triplane含む) 3Dモデル出力の精緻化に利用 HoloDiffusion LAS-Diffusion 3DQD Wavelet for 3D SDFusion Diffusion-SDF DiffRF PVD DPM for PC LION Point・E Shape・E HyperDiffusion 3DShape2VecSet PDR 3DDesigner DiffDreamer NeRFの条件 NeRFのパラメタ SDFStyleGANの条件 NeRDi Meshの更新 NeRFパラメタの更新 NeRFの学習の正則化 NeRF出力の精緻化と蒸留 SVRのPrior & SDSでFinetune nerfで生成したviewを精緻化 カメラ位置に応じてワープした画像を精緻化 NVMG MeshDiffusion ATT3D
  25. 34 拡散モデルを利用した3D生成手法の大別 3D表現(に変換可能な表現)を 生成する拡散モデルを学習する方法 学習済み 画像生成 拡散モデル 学習対象の3Dモデル (NeRFなど) ?

    ある位置から描画 (ノイズ付加) スコア(∇' log 𝑞"(𝑥))の推定 or 精緻な画像の生成 3Dモデルの更新に利用 テキスト指示など の追加情報 学習済み拡散モデルを画像のpriorとして 3Dモデルの最適化を行う方法 3D表現用 拡散モデル VAE等の デコーダー (任意) 3Dデータセット 学習に利用 3Dノイズ 3D(潜在)表現 3D表現 〇 生成時間が比較的短い × 学習時に大規模3Dデータが必要 〇 学習に3Dデータを必要としない × 生成対象ごとに3Dモデルの最適化が必要
  26. 35 DreamFusion: モデル概要 ポイント 学習済みText2Image拡散モデルで推定したスコアでNeRFを学習 NeRFで適当な視点から 画像をRendering スコアを推定 (自然画像となる方向) 画像にノイズを付加して

    学習済みT2I拡散モデルに入力 学習の流れ スコア(のGTとの差分)を勾配としてNeRFのパラメタを更新 “DreamFusion: Text-to-3D Using 2D Diffusion”, ICLR 2023
  27. 36 DreamFusion: スコアの蒸留による学習 ポイント 学習済みText2Image拡散モデルで推定したスコアでNeRFを学習 “DreamFusion: Text-to-3D Using 2D Diffusion”,

    ICLR 2023 Score Distillation Sampling (SDS)によるNeRFの学習 ※Score Jacobian Chaining (SJC) というほぼ同等の手法も同時期に提案されている “Score Jacobian Chaining: Lifting Pretrained 2D Diffusion Models for 3D Generation”, CVPR2023 𝑔(𝜃)を時刻tだけ拡散させたときの分布 学習済みT2I 拡散モデルの分布 𝑔(𝜃): 微分可能レンダラ(NeRF, パラメタ𝜃)からの出力画像 𝑝- (𝑧" |𝑦): 学習済みT2I拡散モデル (𝑦はテキスト条件) ≈ 拡散モデルの推定誤差が小さくなるように𝜃を更新
  28. 37 SDSを用いた手法の発展 “ProlificDreamer: High-Fidelity and Diverse Text-to-3D Generation with Variational

    Score Distillation”, 2023 DreamFusionの発表から極めて短いスパンで急速に進歩している ProlificDreamer 2022年9月 2023年5月