生成AI画像モデルの仕組み:拡散、潜在空間、テキストエンコーダーをわかりやすく解説
概要
今の画像モデルは全部ノイズ除去器だよ。学習中は何百万もの画像にランダムなノイズを増やして、その画像のキャプションと一緒に見せて、どんなノイズが加えられたかを予測することを覚える。生成時は逆に動く:純粋なノイズから始めて、プロンプトを元にモデルにノイズを予測させて少しずつ取り除く。これを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 | |
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 | |
Latent size | setting | |
Flow matching | training method |
手順
- ノイズを入れる:サンプラーがシードからランダムな数字の潜在グリッドを作る。シードを変えると結果も変わる。
- プロンプトを入れる:テキストエンコーダーが言葉を埋め込みに変える。CLIPモデルは77トークン超えると分割か削除、LLMモデルは段落でも大丈夫。
- サンプラーがスケジュール(Karras、指数、シンプル、ベータ)に従って予測ノイズを引く。最後のステップで潜在は圧縮されたきれいな画像になる。
- 復元:VAEが潜在をピクセルに戻す。大きいサイズだとこの復元だけで8GBのメモリを超えることがあるのでタイル状の復元もある。
- オプションの2回目以降の処理:hires-fixは少しノイズを足して大きいサイズでノイズ除去、img2imgは純粋なノイズの代わりに既存画像から始める、インペインティングはマスク内だけ変える。
- 動画モデルは潜在に時間軸を加える(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)には合わないことも多い。
- テキストエンコーダーはファイルサイズが一番大きいことが多い。FluxのT5-XXL fp16はエンコーダーだけで9GB必要だから、fp8やGGUF版がある。
- ここに書いたことはクラウドパートナーでもローカルでも同じ。違いはGPUの所有者だけ。
トラブルシューティング
画像が灰色っぽい、薄い、紫がかった色になる
原因
VAEが無いか合っていない、またはSDXLでfp16 VAEのオーバーフロー。
対処法
ファミリーに合ったVAEを読み込む。SDXLはfp16-fix VAEを使う。
長いプロンプトが一部無視される
原因
SD 1.5とSDXLのCLIPトークン制限。
対処法
色が飛んでコントラストが強すぎる
原因
モデルに対して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ステップで収束する。それ以上は無駄な時間。蒸留モデルはステップ増やすと悪くなることもある。
リンクと出典
- Denoising Diffusion Probabilistic Models (Ho et al., 2020)
- High-Resolution Image Synthesis with Latent Diffusion Models (Rombach et al., 2022)
- Flow Matching for Generative Modeling (Lipman et al., 2022)
- Flux family page
- SD 1.5 family page
- BitVector web appAD
このガイドのモデル
著者
在庫管理担当:すべてのLoRA、すべての量子化ファイル、誰かがfinal_v2_REAL.safetensorsに名前を変えたファイルまで把握しています。ハードウェアの評価は夕食前に何回Wanレンダリングができるかで測ります。VRAMの数値を教えた後に、Chromeを開いているから間違っていると言います。オープンウェイトでなければ出荷されていません。
Quartermasterのすべてのガイド
関連ガイド
AI画像生成の始め方:10分で最初の一枚を作る
2025年8月14日
ステップ数、CFG、サンプラー、スケジューラー、シード:生成設定の説明と安全なデフォルト
2025年11月19日
Checkpoint vs LoRA vs embedding vs ControlNet: それぞれのファイルの役割
2025年10月8日
Flux vs SDXL vs SD 1.5 vs Qwen vs Z-Image: 2026年に使うべきモデルファミリーはどれ?
2026年5月22日

