Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Latent Diffusion Model (LDM)

潜在拡散モデル(LDM)は、ピクセル上ではなくオートエンコーダーの圧縮された潜在空間で拡散処理を行います。Stable Diffusionの基盤となる設計です。

潜在拡散モデル(LDM)は、生のピクセルではなく、事前学習済みオートエンコーダーで圧縮した表現をデノイズしてデータを生成する拡散モデルです。Robin Rombach、Andreas Blattmann、Dominik Lorenz、Patrick Esser、Björn Ommerは、CVPR 2022で発表した潜在拡散モデルによる高解像度画像合成でこの手法を紹介しました。オートエンコーダーは、モデル化にコストがかかる一方で画像の見た目にはあまり影響しない細かなピクセル情報を取り除くため、拡散ネットワークは内容と構図に容量を集中できます。その結果、ピクセル空間での拡散よりトレーニングとサンプリングのコストが大幅に下がり、最もよく知られたLDMであるStable Diffusionは、一般向けの単一GPUで画像を生成できます。生成AIの現在の画像、動画、音声生成モデルの多くは、同じ2段階設計に従います。

潜在拡散の仕組み#

第1段階では画像を圧縮します。エンコーダーはH×W×3サイズの画像をH/f×W/f×cサイズの潜在表現に変換します。ここでfはダウンサンプリング係数、cは潜在チャネル数です。デコーダーは潜在表現をピクセルに戻します。Rombach氏らは、GANの識別器のような知覚損失とパッチベースの敵対的目的関数を使ってこのオートエンコーダーを学習し、再構成画像の鮮明さを保ちました。また、標準正規分布に近づける小さなKLペナルティ、またはベクトル量子化で潜在表現を正則化しました。ダウンサンプリング係数を4から16にすると、速度と品質のバランスが取れます。ピクセル空間での学習(f = 1)は低速であり、f = 32では圧縮しすぎてサンプル品質が低下しました。Stable Diffusionのオートエンコーダーはf = 8、チャネル数は4です。以下のコードでは、写真をエンコードして再びデコードし、変換で失われる情報を測定します。

import urllib.request

import numpy as np
import torch
from diffusers import AutoencoderKL
from PIL import Image

# Stable Diffusion's autoencoder, the first stage of a latent diffusion model
vae = AutoencoderKL.from_pretrained("stabilityai/sd-vae-ft-mse")

# Load a photo and scale its pixels to [-1, 1]
image = Image.open(urllib.request.urlopen("https://ultralytics.com/images/bus.jpg")).convert("RGB").resize((480, 640))
x = torch.tensor(np.array(image), dtype=torch.float32).permute(2, 0, 1)[None] / 127.5 - 1

# Encode to the latent that diffusion runs on, then decode back to pixels
with torch.no_grad():
    latent = vae.encode(x).latent_dist.mode()
    recon = vae.decode(latent).sample.clamp(-1, 1)

psnr = 10 * torch.log10(4 / torch.mean((recon - x) ** 2))
print(f"image {tuple(x.shape)} -> latent {tuple(latent.shape)}: {x.numel() // latent.numel()}x fewer values")
print(f"reconstruction PSNR: {psnr:.1f} dB")
Image.fromarray(((recon[0] + 1) * 127.5).byte().permute(1, 2, 0).numpy()).save("bus_reconstructed.jpg")

image (1, 3, 640, 480) -> latent (1, 4, 80, 60): 48x fewer valuesとreconstruction PSNR: 23.0 dBが出力されます。保存されたbus_reconstructed.jpgではバス、人々、道路は保たれていますが、バス側面の小さな文字は崩れています。4チャネルの潜在表現では保持できない細部です。

第2段階では、これらの潜在表現で通常の拡散モデルを学習します。学習時には画像をエンコードし、ランダムなステップでガウスノイズを加え、そのノイズを予測するようにノイズ除去ネットワークを学習させます。元の研究ではU-Net、新しいモデルの多くでは拡散Transformerを使用します。整流フローモデルでは、ノイズをクリーンな潜在表現へ運ぶ速度を予測します。条件はクロスアテンション層を介して取り込まれ、潜在表現がテキストプロンプト、クラスラベル、セマンティックマップの埋め込みを参照できるようにします。生成では、ランダムな潜在ノイズから始め、条件に従って段階的にノイズを除去し、最後にデコーダーを一度実行します。そのため、コストのかかる各ステップを小さな潜在表現上で実行できます。

Stable Diffusionから現在のモデルまで#

  • Stable Diffusion: 2022年8月にリリースされ、512×512のテキスト画像生成にLDMの手法を適用しました。64×64×4の潜在表現、8億6,000万パラメーターのU-Net、CLIPテキストエンコーダーを使用し、重みを誰でもダウンロードできました。
  • Stable Diffusion 3: オートエンコーダーを16チャネルに変更し、4チャネルで25.12 dBだった再構成PSNRを28.62 dBに引き上げました。また、U-Netをマルチモーダル拡散Transformerに置き換え、整流フローで学習しました。Black Forest LabsのFLUX.1モデルも、整流フローTransformerで16チャネルの潜在表現をノイズ除去します。
  • 動画と音声: 動画生成モデルはクリップを空間と時間の両方で圧縮します。OpenAIはSoraについて、動画を低次元の潜在空間に圧縮し、時空間パッチに分割すると説明しています。AudioLDMとStability AIのStable Audioは、スペクトログラムまたは波形の潜在表現に同じ手法を適用します。
  • 潜在整合性モデル: LDMを蒸留し、20~50ステップではなく2~4ステップで生成できるようにします。これにより、ほぼリアルタイムの生成が可能になります。
  • ピクセル空間拡散モデル: すべてのピクセルに対してノイズ付加とノイズ除去のプロセスを実行します。LDMも拡散モデルの一種であり、プロセスを実行する場所だけが異なります。
  • 変分オートエンコーダー: VAEはサンプリングした潜在表現を1回の処理でデコードして生成し、サンプルはぼやける傾向があります。LDMではVAE形式のオートエンコーダーを圧縮だけに使い、生成は拡散モデルに任せます。
  • Stable Diffusion: Stability AI、CompVis、RunwayによるLDMのファミリーの1つです。そのため、Stable DiffusionのモデルはすべてLDMですが、LDMにはFLUX、動画生成モデル、音声モデルも含まれます。

用途#

LDMは、テキストから画像生成、画像インペインティング、超解像、セマンティックマップからのレイアウト画像生成に使われます。元の論文では、画像インペインティングが当時の最高性能を更新しました。コンピュータービジョンでは、撮影が難しい希少な欠陥、珍しい天候、一般的でない視点などの合成データも生成します。生成画像にはラベルがありませんが、Ultralyticsのauto_annotate関数はフォルダー内の画像にラベルを付け、YOLO26モデルで物体を検出し、Meta SAMセグメンテーションモデルで各検出ボックスの輪郭を描き、トレーニング用のYOLO形式のセグメンテーションラベルを書き込みます。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう