⚠️ 記事内に広告を含みます。

Stable diffusionのサンプラーの違い

各サンプラーの違いやおすすめ

diffusionベースの生成モデルは画像生成だけでなく、音声や映像、翻訳などにも利用可能。

stable diffusionなどdiffusionモデルを使用して画像を合成するためのサンプラーには複数のものがあります。

常微分方程式(ODE)の解法(シンプルな方法)

Euler:最も単純
Heun:Eulerよりも正確だが遅い
LMS: Eulerよりも正確

Ancestralとは?

Euler aなど aあるいはAncestralと記述のあるサンプラーは複数ある。

・Euler a
・DPM2 a
・DPM++ 2S a
・DPM++ 2s a Karras

画像にステップごとにノイズを追加するため、ステップ数を増やしても画像が収束しない。
→ステップ数によって得られる画像が異なる可能性がある。

デメリット:
ステップ数を重ねることで画像品質を上げるのが通常だが、特定のシードを選択してステップ数を挙げても別の画像になってしまう。

メリット:
特定のシードに対してステップ数を変更するだけで人物のポーズを変えるなどバリエーションが得られる。

サンプラーによって収束度合いが変化するがステップ数を増やせばある程度収束する。

Ancestral系となしとでは得られる画像の傾向が違うので、同じシードでも別系の画像を得られる。
画像がソフトになる傾向がある。

Karras

Tero Karrasによって報告さたノイズスケジュールを利用する方法。ステップ増加でノイズが小さくなり、品質が向上する。

  • LMS Karras
  • DPM2 Karras
  • DPM2 a Karras
  • DPM++ 2S a Karras
  • DPM++ 2M Karras
  • DPM++ SDE Karras

DDIM系(古い)

DDIM:高速で柔らかい画像が得られる。
PLMS:DDIMに代わる高速で新しいサンプラー(古いDDIMの方が品質が高いと思う)

DPM系

DPM:diffusionモデル用の新しいサンプラー
DPM2:DPMよりも精度は高いが速度は遅い
DPM++:DPMの改良で、Ancestralのように収束しないので画像がステップ数で変化する。++系ならDPM++ 2M系が良い
DPM adaptive: ステップ数を調整するため指定ステップ数で終わらず遅い。(品質は微妙?)

DPM2やDPM KarrasはEulerよりも収束しやすいが2倍遅い

uniPC系

UniPC: DPMより新しいサンプラーで少ないステップで品質の高い画像が得られる。

品質面での選択

ノイズの収束が主観的な画像の品質に直結するわけではない。
DDIMは低いステップ数で高い品質が得られる。
a系のサンプラーは高品質な傾向がある。

DPM++ SDEとDPM++ SDE Karras は高い品質


Karras, Tero, et al. “Elucidating the design space of diffusion-based generative models.” arXiv preprint arXiv:2206.00364 (2022).

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です