1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

論文まとめ:DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation

Last updated at Posted at 2024-12-30

はじめに

CVPR2023から以下のdiffusionモデルをfine-tuningする系論文
[0] N. Ruiz, et. al. "DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation"
のまとめ。

備忘録的に概要とロジックのみまとめる。

CVF open access

github

再学習の実装例

localでRTX3090入ったUbuntuパソコンにて再学習させる例を以下に書きました。
https://qiita.com/masataka46/items/8da204a401dfe747b893

概要

  1. text-to-imageのDiffusionモデルをfine-tuneする仕組みの1つ
  2. 対象物の数枚の画像とそれに対応する識別子を用いて学習させるだけで、その対象物の画像が様々なシーンで出力される
  3. これを実現させるため、対象物の再構築誤差とともに、その対象物を含む分野のclass-specific prior preservation lossを用いる

手法

下図が概要。

スクリーンショット 2024-12-31 6.23.09.png

reconstruction loss

まず、上側は通常のdiffusion modelのfine-tune部分。新たなチベタンマスティフ画像を用意し、それをpromptとともに学習させることでチベタンマスティグのpromptの場合にその画像を生成させるよう学習させる。

\mathbb{E}_{{\rm \bf x, c, \epsilon}, t} \left[ w_t \| \hat{\rm \bf x}_{\theta} (\alpha_t {\rm \bf x} + \sigma_t {\rm \bf \epsilon}, {\rm \bf c}) -  {\rm \bf x} \right \|^2_2 ] \tag{1}

記号の意味は一般的なDDPM論文等と同じであるため略。

fine-tuningの問題点

筆者によると、diffusion modelのfine-tuningには主に以下2つの問題点がある

  1. language drift。fine-tuneとともにpromptの構文的理解、意味的理解が損なわれ、diffusion modelで生み出すべきクラスを忘れてしまう現象
  2. fine-tuneとともに多様性が失われる現象

class-specific prior preservation loss

上記2つの問題に対応するため、このlossを用いる。具体的には対象物を含む分野(上図の例では「犬クラス」)における生成画像が学習前と後で変わらないようにlossを設定する。

  1. 完全なノイズ ${\rm \bf z}_{t_1} \sim \mathcal{N}({\rm \bf 0}, {\rm \bf I})$ とcondition ${\rm \bf c}_{\rm pr}$ から学習前のモデルを用いて画像 ${\rm \bf x}_{\rm pr} = \hat{\rm \bf x} ({\rm \bf z}_{t_1}, {\rm \bf c}_{\rm pr})$ を生成させる

  2. この画像にノイズを加えて diffusion model の学習を行う

\mathbb{E}_{{\rm \bf x, c, \epsilon}', t} \left[ w_{t'} \| \hat{\rm \bf x}_{\theta} (\alpha_{t'} {\rm \bf x}_{\rm pr} + \sigma_{t'} {\rm \bf \epsilon}', {\rm \bf c_{\rm pr}}) -  {\rm \bf x}_{\rm pr} \right \|^2_2 ] \tag{1.5}

上手に書き込むとこんな感じ。

スクリーンショット 2024-12-31 7.59.25.png

結果

以下は textual inversionと比較した例。

スクリーンショット 2024-12-31 8.01.26.png

1行目は input image。3行目はstable diffusionを本手法 DreamBoothでfine-tuneしたもの。4行目は同じくstable diffusionだが、textual inversionでfine-tuneしたもの。

推論時のpromptは左列から prompt “a [V] vase in the snow”, “a [V] vase on the beach”, “a [V] vase in the jungle”, “a [V] vase with the Eiffel Tower in the background”。

textual inversionで再学習させたモデルは多様性がなくなり(or 意味的理解が弱まり)、promptの指定に関わらずいずれも秋っぽい画像になっている。

一方、DreamBoothで再学習させたものは多様性、意味的理解が失われてなく、promptに対して忠実である。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?