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

StableDiffusion 再学習法

minux302
November 04, 2022

StableDiffusion 再学習法

第二回創作+機械学習LT会での発表スライドです。

minux302

November 04, 2022
Tweet

More Decks by minux302

Other Decks in Technology

Transcript

  1. Stable Diffusion 概観 StableDiffusionの概観 HuggingFace example Notebook より Text Encoder

    CLIP を使用。テキストを embedding へ変換。 Denoising U-Net テキスト embedding で条件付しながら VAE でデコ ードする用の latent を生成。 latent 空間で Diffusion するため計算コストが低 く、一般家庭の GPU でも動くようになった。 VAE latent を画像へデコード。 右図が Stable Diffusion の概観です。
  2. Stable Diffusion 概観 右図が Stable Diffusion の概観です。 StableDiffusionの概観 HuggingFace example

    Notebook より Text Encoder CLIP を使用。テキストを embedding へ変換。 Denoising U-Net テキスト embedding で条件付しながら VAE でデコ ードする用の latent を生成。 latent 空間で Diffusion するため計算コストが低 く、一般家庭の GPU でも動くようになった。 VAE latent を画像へデコード。
  3. 今日紹介する fine-tuning の手法 大量のデータを用いた fine-tuning 一般的な fine-tuning 少数データを用いた 単語 Embedding

    のみの fine-tuning Textual Inversion 少数データと正規化画像を用いた fine-tuning Dream Booth 1枚の画像の編集に特化した fine-tuning Imagic 01 02 03 04
  4. 一般的な fine-tuning はコストがやばい!! 純粋な fine-tuning ではデータを集めるコストと学習にかかるコストが大きくなります。 Waifu Diffusion 1.3 では

    Stable Diffusion 1.4 を初期値として、Danbooruから収集 した68万枚のテキストと画像のペアでA40 x 8 で10日ほど学習させています。 金額として$3.1k(約45万円)かかっているらしいです。 (Waifu Diffusion 1.3 Release Note より) コストが高い反面、高品質なデータが大量にあれば他の fine-tuning 手法の中で精度は最 も高くなる。
  5. Textual Inversion の学習 Texture Encoder の中の Token -> Embedding 変換部分のみを

    fine-tuning してい る。Embedding 変換部分以外は固定し、学習させたい概念を表現できる S* という新規の 単語表現を Embedding 空間の中から探している。 画像の caption がないので "A photo of S*" など汎用的 に使える caption を用意
  6. Textual Inversion の特徴 Text Encoder の中の Text Transformer, Unet, VAE

    は学習しないため、モデルが 既に学習済の表現のなかから学習させたい概念を探している Texture Encoder の Embedding 変換部分のみの fine-tuning となるため、学習枚数 がすくなくとも過学習を起こしにくい 学習は3090で1~2時間くらい
  7. Dream Boothの工夫 学習画像枚数が少ないため、そのまま学習させると overfit がおきてしまう。 また学習させる対象のクラスの概念を忘却し、学習させた対象に偏った生成をしてしまう language drift の問題もおきてしまう。 Dream

    Booth ではより広い概念の画像(ex. 飼っている犬を学習させたい場合は一般的な 様々な犬の画像)となる正規化画像を使って同時に学習させることでこれらの問題を解決。 上段はoverfitにより学習画像と似たような構図になっている。 下段では正規化画像を使うことによoverfitを解消している。 中段では一般的な犬を生成しようとして学習させた犬の画像が生成されて しまう language drift の問題が発生している。 下段では正規化画像を使うことにより language drift を解消している。
  8. Imagic の学習 以下の手順で学習を行う。 (A)指定したテキストで入力した画像を再構成できるよう Texture Encoder を学習 (B)(A)で最適化された embedding で入力した画像を最構成できるよう

    Unet を学習 (C)最適化する前のテキストの embedding と(A)で最適化した embedding を比率を 変えながら足し合わせて(B)で学習した Unet へ入力 Imagic の学習手順
  9. まとめ 大量のデータを用いた fine-tuning 精度は高いがコストも高い 一般的な fine-tuning 少数データを用いた 単語 Embedding のみの

    fine-tuning 単語表現を学習、過学習しにくい Textual Inversion 少数データと正規化画像を用いた fine-tuning Unetも学習するので Textual Inversion より精度が高い Dream Booth 1枚の画像の編集に特化した fine-tuning Imagic 01 02 03 04 4つの fine-tuning 手法について解説しました。
  10. 参考文献 [1] Rombach, Robin, et al. "High-resolution image synthesis with

    latent diffusion models." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022. [2] Gal, Rinon, et al. "An image is worth one word: Personalizing text-to-image generation using textual inversion." arXiv preprint arXiv:2208.01618 (2022). [3] Ruiz, Nataniel, et al. "Dreambooth: Fine tuning text-to-image diffusion models for subject-driven generation." arXiv preprint arXiv:2208.12242 (2022). [4] Kawar, Bahjat, et al. "Imagic: Text-Based Real Image Editing with Diffusion Models." arXiv preprint arXiv:2210.09276 (2022). [5] Ho, Jonathan, Ajay Jain, and Pieter Abbeel. "Denoising diffusion probabilistic models." Advances in Neural Information Processing Systems 33 (2020): 6840-6851. [6] Quasi-Taylor Samplers for Diffusion Generative Models based on Ideal Derivatives [7] CLIP: Connecting Text and Images https://openai.com/blog/clip/