Model
.ai
オープン AI モデルを追跡

生成AI画像モデルの仕組み:拡散、潜在空間、テキストエンコーダーをわかりやすく解説

トピック:モデル
著者:Quartermaster
2025年8月28日 公開

概要

今の画像モデルは全部ノイズ除去器だよ。学習中は何百万もの画像にランダムなノイズを増やして、その画像のキャプションと一緒に見せて、どんなノイズが加えられたかを予測することを覚える。生成時は逆に動く:純粋なノイズから始めて、プロンプトを元にモデルにノイズを予測させて少しずつ取り除く。これを20〜30回繰り返すと、キャプションに合った画像ができる。これが全てのコツで、「拡散」はこのノイズを徐々に加えたり除いたりするプロセスの名前。
ピクセルのままだと遅すぎるから、Stable Diffusion 1.xからは圧縮された潜在空間でノイズ除去をする。VAEという別の小さなネットワークが1024x1024の画像を128x128の数字のグリッドに圧縮して、最後に戻す。ノイズ除去器(SD 1.5とSDXLはU-Net、FluxやQwen、Z-Image、動画モデルはトランスフォーマー)はピクセルを直接見ない。だから画像サイズは8や16の倍数じゃないといけないし、VAEの復元はメモリをかなり使うことがある。
プロンプトはテキストエンコーダーに入って、言葉をノイズ除去器が条件付けに使える数字のリストに変える。SD 1.5はCLIPエンコーダー1つで77トークンまで、SDXLは2つ、Fluxは大きなT5言語モデルを追加、2025年・2026年モデル(Qwen Image、FLUX.2、Z-Image、Wan 2.2)は完全なLLMをエンコーダーに使う。この違いが、CLIPベースはタグリスト、LLMベースは自然な文章でプロンプトを書く理由の大半を説明してる。LoRAはノイズ除去器の重み(時にはエンコーダーも)に小さな修正を加えて描くものを調整するもので、新しい知識を足すわけじゃなくて、元のモデルが学んだことの重みを変えるだけ。

リファレンス

名前
型
意味
Denoiser (U-Net / DiT)
component
メインのネットワーク。プロンプトとステップをもとに潜在空間のノイズを予測する。SD 1.5とSDXLはU-Net、Flux、FLUX.2、Qwen、Z-Image、Wan、LTX、H3は拡散トランスフォーマー(DiT / MMDiT)。
VAE
component
画像を潜在空間に圧縮して戻す。間違ったVAEや無いと画像が薄くなったり紫っぽくなる。Fluxや新しい系統は独自の16チャンネルVAEを使う。
Text encoder
component
CLIP-L、CLIP-G、T5-XXL、またはLLM(Qwen2.5-VL、Mistral、Gemma)。プロンプトの理解と長さを決める。
Scheduler / sampler
setting
各ステップでどれだけノイズを除去するかのスケジュールと数値計算法。テクスチャや収束速度を変えるけど内容は変わらない。
Steps
setting
ノイズ除去の繰り返し回数。蒸留モデル(Turbo、Lightning、Schnell、Klein)は1〜8回で動くように訓練されている。
CFG / guidance
setting
Classifier-free guidance:プロンプト条件付き予測を無条件のものからどれだけ離すか。高すぎると色が飛ぶ。ガイダンス蒸留モデル(Flux dev)は単一のガイダンス値を使う。
Latent size
setting
画像サイズを8(SD)や16(Flux、Wan)で割ったもの。モデルは学習時の解像度に近いサイズで一番うまく描く。
Flow matching
training method
2024年以降の古典的な拡散ノイズスケジュールの代わり(Flux、SD3、Wan、Z-Image)。同じ考えだけどノイズから画像への道筋がまっすぐで、必要なステップが少ない。

手順

  1. ノイズを入れる:サンプラーがシードからランダムな数字の潜在グリッドを作る。シードを変えると結果も変わる。
  2. プロンプトを入れる:テキストエンコーダーが言葉を埋め込みに変える。CLIPモデルは77トークン超えると分割か削除、LLMモデルは段落でも大丈夫。
  3. 各ステップ:SDとSDXLはノイズ除去器を2回動かす(プロンプトありとなし)。その差をCFGでスケールして潜在をプロンプト方向に動かす。Flux devはガイダンス値を組み込んで1回だけ動かす。
  4. サンプラーがスケジュール(Karras、指数、シンプル、ベータ)に従って予測ノイズを引く。最後のステップで潜在は圧縮されたきれいな画像になる。
  5. 復元:VAEが潜在をピクセルに戻す。大きいサイズだとこの復元だけで8GBのメモリを超えることがあるのでタイル状の復元もある。
  6. オプションの2回目以降の処理:hires-fixは少しノイズを足して大きいサイズでノイズ除去、img2imgは純粋なノイズの代わりに既存画像から始める、インペインティングはマスク内だけ変える。
  7. 動画モデルは潜在に時間軸を加える(5秒のクリップは3D潜在1つ)だけで、あとは同じループ。だからメモリが10倍必要。

例

同じプロンプトを3つのアーキテクチャで試す

SD 1.5 (CLIP, 77 tokens): "portrait of an old sailor, grey beard, wool cap, harbour background, film photo"
SDXL (two CLIPs): same words, 1024x1024, CFG 6, 28 steps
Flux dev (CLIP-L + T5): "A weathered old sailor with a grey beard and a navy wool cap stands at a harbour railing at dusk; shallow depth of field, Kodak Portra look." guidance 3.5, 24 steps

ComfyUIのノードとコンポーネントの対応

Load Checkpoint -> MODEL (denoiser), CLIP (text encoder), VAE
CLIP Text Encode (prompt) -> KSampler (sampler, steps, CFG, seed) -> VAE Decode -> Save Image

ヒント

  • モデルは学習データにないものは描けない。だからアニメのファインチューンは何千ものキャラを知っていて、写真モデルは知らない。LoRAはほぼ全てのギャップを埋めるためにある。
  • ファインチューン(DreamShaper、Juggernaut、Illustrious、Pony)はベースと同じ構造で重みだけ違う。ベース用のLoRAはファインチューンでも使えることが多いけど、全然違うファインチューン(Pony)には合わないことも多い。
  • 蒸留モデルは柔軟性を犠牲にして速さを取っている。SDXL Lightningは4ステップで下書きに十分、28ステップのフルモデルは仕上げに向いている。
  • テキストエンコーダーはファイルサイズが一番大きいことが多い。FluxのT5-XXL fp16はエンコーダーだけで9GB必要だから、fp8やGGUF版がある。
  • ガイダンス蒸留(Flux dev)とCFGは別物。Flux devでCFGを7にすると色が飛ぶので、モデルページの設定を使って。
  • ここに書いたことはクラウドパートナーでもローカルでも同じ。違いはGPUの所有者だけ。

トラブルシューティング

画像が灰色っぽい、薄い、紫がかった色になる

原因
VAEが無いか合っていない、またはSDXLでfp16 VAEのオーバーフロー。

対処法
ファミリーに合ったVAEを読み込む。SDXLはfp16-fix VAEを使う。

長いプロンプトが一部無視される

原因
SD 1.5とSDXLのCLIPトークン制限。

対処法
重要な言葉を先に入れるか、LLMエンコーダーのFlux、Qwen、Z-Imageモデルに変える。

色が飛んでコントラストが強すぎる

原因
モデルに対してCFGが高すぎるか、ガイダンス蒸留モデルにCFGを使っている。

対処法
SDXLはCFGを5〜7に下げる。Flux devはガイダンス3〜4とCFG1を使う。

大きいサイズでタイル状や被りが出る

原因
潜在サイズが学習解像度よりずっと大きい。モデルが繰り返しを出す。

対処法
元のサイズで生成してからアップスケールするか、hires-fixで0.4のノイズ除去を使う。

最後だけメモリ不足になる

原因
VAEの復元ステップがフルサイズで動いている。

対処法
タイル状のVAE復元を使うか、小さい出力サイズで生成してからアップスケーラーを使う。

よくある質問

モデルは学習セットの画像をコピーしている?

重みを保存しているだけで画像は保存していない。頻繁に出る画像(有名な絵やロゴ)の近似は出ることがあるので、それらをプロンプトに入れないのが安全。

同じ仕組みなのに新しいモデルはなぜメモリが多く必要?

ノイズ除去器が大きい(Fluxは120億パラメータ、SD 1.5は9億)、テキストエンコーダーも大きく、潜在も大きい。fp8やGGUF版で軽くできる。

チェックポイントとモデルの違いは?

チェックポイントはモデルの保存ファイル(ノイズ除去器やエンコーダー、VAEがまとめて入っていることが多い)。言葉はよく混同される。

同じシードなのに別のPCで違う画像になるのはなぜ?

GPUの違い、精度(fp16とbf16)、サンプラーの実装差。ノイズは同じでも計算の差で少し変わる。同じ機械、同じ設定なら同じ画像。

ステップ数を増やせばいつも良くなる?

いいえ。ほとんどのサンプラーは25〜30ステップで収束する。それ以上は無駄な時間。蒸留モデルはステップ増やすと悪くなることもある。

このガイドのモデル

著者
在庫管理担当:すべてのLoRA、すべての量子化ファイル、誰かがfinal_v2_REAL.safetensorsに名前を変えたファイルまで把握しています。ハードウェアの評価は夕食前に何回Wanレンダリングができるかで測ります。VRAMの数値を教えた後に、Chromeを開いているから間違っていると言います。オープンウェイトでなければ出荷されていません。
Quartermasterのすべてのガイド

その他のガイド