Latent Diffusion Model (LDM)
Gizil difüzyon modeli (LDM), Stable Diffusion'ın temelindeki tasarımda olduğu gibi, difüzyonu pikseller yerine bir otomatik kodlayıcının sıkıştırılmış gizil uzayında yürütür.
Gizil yayılım modeli (LDM), ham pikseller yerine önceden eğitilmiş bir otomatik kodlayıcının sıkıştırılmış temsilindeki gürültüyü gidererek veri üreten bir yayılım modelidir. Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser ve Björn Ommer bu yaklaşımı, CVPR 2022'de sunulan Gizil Yayılım Modelleriyle Yüksek Çözünürlüklü Görüntü Sentezi makalesinde tanıttı. Otomatik kodlayıcı, modellenmesi pahalı olan ve görüntünün görünüşüne çok az katkı sağlayan ince piksel ayrıntılarını ayıklar; böylece yayılım ağı kapasitesini içeriğe ve kompozisyona ayırır. Bu nedenle eğitim ve örnekleme, piksel uzayındaki yayılımdan çok daha düşük maliyetlidir ve en bilinen LDM olan Stable Diffusion, tek bir tüketici GPU'sunda görüntü üretebilir. Üretken yapay zekâ alanındaki güncel görüntü, video ve ses üreticilerinin çoğu aynı iki aşamalı tasarımı izler.
Gizil Difüzyon Nasıl Çalışır?#
İlk aşama görüntüleri sıkıştırır. Bir kodlayıcı, H×W×3 boyutundaki görüntüyü H/f×W/f×c boyutunda bir gizil temsile eşler; burada f küçültme faktörünü, c ise gizil kanalların sayısını belirtir. Bir kod çözücü de gizil temsilleri tekrar piksellere dönüştürür. Rombach ve çalışma arkadaşları, bu otomatik kodlayıcıyı algısal kayıp ve GAN ayrımcısındakine benzer yama tabanlı bir çekişmeli amaçla eğiterek yeniden oluşturulan görüntülerin keskin kalmasını sağladı. Ayrıca gizil temsili, standart normal dağılıma doğru küçük bir KL cezası veya vektör nicelemesi ile düzenledi. 4 ile 16 arasındaki küçültme faktörleri hız ve kalite arasında denge kurdu: piksel uzayında eğitim (f = 1) yavaştı; f = 32 ise o kadar fazla sıkıştırıyordu ki örnek kalitesi düşüyordu. Stable Diffusion'ın otomatik kodlayıcısı f = 8 ve 4 kanal kullanır. Aşağıdaki kod bir fotoğrafı kodlar, tekrar çözer ve bu gidiş dönüşte ne kadar bilginin kaybolduğunu ölçer:
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 ve reconstruction PSNR: 23.0 dB çıktısını verir. Kaydedilen bus_reconstructed.jpg, otobüsü, insanları ve sokağı korur; ancak otobüsün yan tarafındaki küçük yazılar bozulur. Bu ince ayrıntılar, 4 kanallı gizil temsilin taşıyamadığı bilgilerdir.
İkinci aşamada bu gizil temsillerle eğitilen sıradan bir difüzyon modeli yer alır. Eğitim sırasında görüntü kodlanır, rastgele bir adımdaki Gauss gürültüsü eklenir ve gürültüyü tahmin etmesi için bir gürültü giderme ağı eğitilir. Özgün çalışmada bu ağ U-Net, yeni modellerin çoğunda ise difüzyon transformer'ıdır. Düzeltilmiş akış modellerinde ağ, gürültüyü temiz gizil temsile taşıyan hızı tahmin eder. Koşullar, gizil temsilin metin isteminin, sınıf etiketinin veya anlamsal haritanın gömmelerine dikkat etmesini sağlayan çapraz dikkat katmanlarıyla eklenir. Üretim, rastgele gizil gürültüyle başlar; koşula göre adım adım gürültü giderilir ve en sonda kod çözücü bir kez çalıştırılır. Böylece maliyetli her adım küçük gizil temsil üzerinde işler.
Stable Diffusion'dan Güncel Modellere#
- Stable Diffusion: Ağustos 2022'de yayımlanan model, LDM yöntemini 64×64×4 gizil temsil, 860 milyon parametreli U-Net ve CLIP metin kodlayıcısıyla 512×512 metinden görüntü üretimine ölçekledi; ağırlıklarını herkes indirebiliyordu.
- Stable Diffusion 3: 4 kanallı otomatik kodlayıcının 25.12 dB değerindeki yeniden oluşturma PSNR'sini 28.62 dB'ye yükselten 16 kanallı bir otomatik kodlayıcıya geçti ve U-Net'i düzeltilmiş akışla eğitilmiş çok modlu bir difüzyon transformer'ıyla değiştirdi. Black Forest Labs'ın FLUX.1 modelleri de düzeltilmiş akış transformer'ıyla 16 kanallı gizil temsillerin gürültüsünü giderir.
- Video ve ses: Video üreticileri klipleri uzayda ve zamanda sıkıştırır. OpenAI, Sora'yı videoları daha düşük boyutlu bir gizil uzaya sıkıştırıp uzay-zaman yamalarına bölen bir model olarak tanımladı. AudioLDM ve Stability AI'ın Stable Audio modeli aynı yaklaşımı spektrogram veya dalga biçimi gizil temsillerine uygular.
- Gizil tutarlılık modelleri: Bir LDM'yi, 20 ila 50 adım yerine 2 ila 4 adımda üretim yapacak şekilde damıtır; bu da neredeyse gerçek zamanlı üretimi mümkün kılar.
LDM'ler ve İlgili Terimler#
- Piksel uzayında çalışan difüzyon modelleri: Gürültü ekleme ve gürültü giderme sürecini her pikselde yürütür. LDM de bir difüzyon modelidir ve yalnızca sürecin nerede gerçekleştiği bakımından farklıdır.
- Varyasyonel otomatik kodlayıcılar: VAE, örneklenmiş bir gizil temsili tek geçişte çözerek üretim yapar; ürettiği örnekler bulanık olma eğilimindedir. LDM, VAE tarzı otomatik kodlayıcıyı yalnızca sıkıştırma için kullanır ve üretimi difüzyon modeline bırakır.
- Stable Diffusion: Stability AI, CompVis ve Runway tarafından geliştirilen LDM ailelerinden biridir. Bu nedenle her Stable Diffusion modeli bir LDM'dir; LDM'ler arasında FLUX, video üreticileri ve ses modelleri de bulunur.
Uygulamalar#
LDM'ler metinden görüntü üretimini, özgün makalenin o dönemde yeni bir en iyi sonuç elde ettiği görüntü içi tamamlama işlemini, süper çözünürlüğü ve anlamsal haritalardan düzen-görüntü üretimini destekler. Bilgisayarlı görüde ayrıca fotoğrafını çekmenin zor olduğu nadir kusurları, olağandışı hava durumlarını veya alışılmadık bakış açılarını içeren sentetik veriler üretirler. Üretilen görüntüler etiketsiz gelir; Ultralytics auto_annotate işlevi, nesneleri bir YOLO26 modeliyle algılayıp algılanan her kutuyu Meta SAM bölümleme modeliyle çevreleyerek bir klasörü etiketler ve eğitim için YOLO biçiminde bölümleme etiketleri yazar.










