見出し画像

【#3】LDM、VAE、ControlNet、LoRAの導入について解説【ComfyUI講座】【2025年版】

今回はLDM、VAE、ControlNet、LoRAの導入について解説します。これらを知ることでAIイラスト生成の理解が深まり、ComfyUIの学習速度が向上します。


AIイラスト生成の流れ

LDMは図のように画像を生成します。

今回取り扱う題材は上図では「モデル読み込み」と「デコード」に関するものです。(VAEはエンコードも行いますが省略されています)

  • 基幹モデル「Base Model(例:SD1.5, SDXL)」画像生成の核となるモデル。プロンプトを元に画像を出力。

  • 構図制御モデル「ControlNet」人体ポーズ、線画、深度マップなどを使って、画像の構図や形状をコントロール。複数同時使用も可能。

  • 軽量学習モデル「LoRA(Low-Rank Adaptation)」軽量で学習・適用できる差分モデル。キャラ・絵柄・構図などを柔軟に再現可能。合成・切替も可能。

  • 画像補助モデル「VAE(Variational Autoencoder)」画像のエンコード・デコードを担う。高品質な出力に影響。特定のVAEを差し替えることで画質改善が可能。

LDM

イラストでは「Refiner Model」を使わないことが多いです。
リアル系イラストではディティールアップのために使われます。

LDM(Latent Diffusion Model、潜在拡散モデル)は、Stable Diffusionで採用されている画像生成モデルの一種です。

このモデルでは、画像をそのまま扱うのではなく、まず「潜在空間」にエンコード(圧縮)します。
その潜在表現に対して「拡散」と「逆拡散」という処理――つまり、ノイズを加えてから徐々にノイズを取り除いていくプロセス――を行います。
最終的に、その処理済みの潜在表現をデコードすることで、元の画像を生成します。

潜在空間に圧縮?

LDM(Latent Diffusion Model)は、画像をそのままのピクセル情報としてではなく、「意味」として扱います。これが「潜在空間に圧縮する」ということです。
たとえば、「512×512ピクセルの猫の画像」があったとします。Photoshopのような画像編集ソフトは、その画像を「512×512のピクセルの集合」として直接処理します。つまり、画像そのものを扱っているわけです。
一方で、LDMはこの画像を一度「潜在空間」に圧縮します。これは、画像の見た目ではなく、そこから得られる抽象的な意味――「猫が写っている」といった情報――を数値的な特徴として変換し、それをもとに処理を行うということです。

メリット

  1. 算効率が高い(直接画像を扱うより少ない計算資源)

  2. 高解像度画像の生成が可能

  3. 自由度が高く、テキスト条件付き生成(Tx2img)にも対応しやすい

デメリット

  1. 潜在空間の圧縮による情報の欠落

    • 元画像を潜在空間に圧縮する際、細部の情報が失われる可能性があります。

    • 特に高精度なディテールやテクスチャの再現に限界がある。

  2. 学習と設計が複雑

    • 通常の拡散モデルに比べて、オートエンコーダ(VAE)やCLIPなど複数のモデルが組み合わさっているため、設計・チューニングが難しい。

  3. 潜在空間に依存するバイアスの問題

    • 潜在空間の表現は学習データに強く依存するため、特定のバイアスや誤差が強調されやすい

  4. データ生成の可制御性に限界がある

    • テキスト条件を与えても、必ずしも意図どおりの画像が生成されない場合がある。

    • 「黒い猫を描いて」と指示しても、白い猫が出ることもある。

  5. 逆拡散過程が遅い(やや改善されてきた)

    • LDMは通常より軽量とはいえ、数十~百ステップの拡散過程が必要で、生成に時間がかかる。

ControlNet

BaseModelが全体の司令塔であるならば、ControlNetは構図とポーズに特化した副官です。ControlNetは処理が大きくなるため推奨VRAMは12GB以上です。

ComfyUIではカスタムノード、A1111では拡張機能のように振る舞いますが、ControlNetもModelの1つです。

LoRA

BaseModelが全体の司令塔であるならば、LoRAはBaseModelに様々な追加情報を提供する補佐官です。LoRAには画風を提供するもの、表現に変化を与えることで処理を高速化するというものもあります。

LoRAのほかにも同様の効果を持つModelはありますが、LoRAは自作しやすく汎用性・互換性の面で優れており安定して使われています。

例として「LCM-LoRA Weights(for SDXL1.0)」の導入と使い方を解説します。。このLoRAは高速生成を実現します。LoRAや他のModelについては第三回を参照してください。

LoRAの導入方法

LCM-LoRA Weights(for SDXL1.0)の使い方

  • LoRAを適用します(Check Pointに接続)

  • KサンプラーのCFGを1.5

  • Kサンプラーのステップを3

VAE(注意事項あり)

AI生成したものを画像にするもの(=デコード)です。
個人的には色調補正をする拡張機能のように振る舞うためModelのようには思えません。

現行のSDXL派生BaseModelの多くはVAEを内蔵していますが、ComfyUIにおけるVAEノードは「ワークフローを構築するうえで必須」です

VAEを内蔵しVAEが不要としているModelもあれば、VAEを内蔵し別途VAEがあるModelもあります。後者の場合VAEを適用してみて結果が良ければ採用します。

原則、BaseModelと同じModelを使う

BaseModelがPonyでLoRAがIllustriousをBaseModelに作成されたものである場合、動作はしますが正しく機能しているとは言えません。結果は得られても互換性がないからです。
そのため「BaseModelと同じModel(LoRAなど)を使う」ことです。

次回は「Hires Fixの作成」を実践していきます。

前回:イラスト向けStable Diffusionと派生モデル、Fair-AI-Public-License-1.0-SD解説

📌 AIイラストの構成設計や生成安定化に興味がある方へ

このnoteでは再現性重視の技術を発信しています。詳細なテンプレートやLoRAは、メンバーシップで限定公開しています。


いいなと思ったら応援しよう!