Latent Diffusion Model (LDM)
Un modelo de difusión latente (LDM) ejecuta la difusión en el espacio latente comprimido de un autocodificador, en lugar de hacerlo sobre píxeles; este es el diseño de Stable Diffusion.
Un modelo de difusión latente (LDM) es un modelo de difusión que genera datos eliminando el ruido de una representación comprimida por un autocodificador preentrenado, en lugar de hacerlo sobre píxeles sin procesar. Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser y Björn Ommer presentaron el enfoque en Síntesis de imágenes de alta resolución con modelos de difusión latente, en CVPR 2022. El autocodificador elimina detalles de píxel finos que son costosos de modelar y aportan poco al aspecto de una imagen, por lo que la red de difusión concentra su capacidad en el contenido y la composición. Por eso, el entrenamiento y el muestreo cuestan mucho menos que la difusión en el espacio de píxeles, lo que permite a Stable Diffusion, el LDM más conocido, generar imágenes en una GPU de consumo. La mayoría de los generadores actuales de imágenes, vídeo y audio de la IA generativa siguen el mismo diseño en dos etapas.
Cómo funciona la difusión latente#
La primera etapa comprime las imágenes. Un codificador transforma una imagen de tamaño H×W×3 en una representación latente de tamaño H/f×W/f×c, donde f es el factor de reducción de resolución y c es el número de canales latentes; un decodificador transforma las representaciones latentes de nuevo en píxeles. Rombach y sus colaboradores entrenaron este autoencoder con una pérdida perceptual y un objetivo adversarial basado en parches, como el discriminador de una GAN, para que las reconstrucciones mantuvieran la nitidez; además, regularizaron la representación latente con una pequeña penalización KL hacia una distribución normal estándar o mediante cuantización vectorial. Los factores de reducción de resolución de entre 4 y 16 equilibraban velocidad y calidad: el entrenamiento en el espacio de píxeles (f = 1) era lento, y con f = 32 la compresión era tan alta que la calidad de las muestras disminuía. El autoencoder de Stable Diffusion usa f = 8 y 4 canales; este código codifica una fotografía, vuelve a decodificarla y mide lo que se pierde en el proceso:
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")Imprime image (1, 3, 640, 480) -> latent (1, 4, 80, 60): 48x fewer values y reconstruction PSNR: 23.0 dB. El archivo bus_reconstructed.jpg guardado conserva el autobús, las personas y la calle, mientras que las letras pequeñas del lateral del autobús aparecen distorsionadas: son detalles finos que una representación latente de 4 canales no puede conservar.
La segunda etapa es un modelo de difusión convencional entrenado con estas representaciones latentes. Durante el entrenamiento se codifica una imagen, se añade ruido gaussiano en un paso aleatorio y se enseña a una red de eliminación de ruido —una U-Net en el trabajo original y un transformer de difusión en la mayoría de los modelos más recientes— a predecir ese ruido o, en los modelos de flujo rectificado, la velocidad que lleva del ruido a la representación latente limpia. Las condiciones se introducen mediante capas de atención cruzada que permiten que la representación latente preste atención a las representaciones vectoriales de una indicación de texto, una etiqueta de clase o un mapa semántico. La generación empieza con ruido latente aleatorio, elimina el ruido paso a paso según la condición y ejecuta el decodificador una sola vez al final; así, cada paso costoso trabaja con una representación latente pequeña.
De Stable Diffusion a los modelos actuales#
- Stable Diffusion: Publicado en agosto de 2022, amplió el método LDM a la generación de texto a imagen de 512×512, con una representación latente de 64×64×4, una U-Net de 860 millones de parámetros y un codificador de texto CLIP, y sus pesos se podían descargar libremente.
- Stable Diffusion 3: Pasó a un autoencoder de 16 canales, lo que elevó el PSNR de reconstrucción de 25.12 dB con 4 canales a 28.62 dB, y sustituyó la U-Net por un transformer de difusión multimodal entrenado con flujo rectificado. Los modelos FLUX.1 de Black Forest Labs también eliminan el ruido de representaciones latentes de 16 canales con un transformer de flujo rectificado.
- Vídeo y audio: Los generadores de vídeo comprimen los clips en el espacio y en el tiempo, y OpenAI describió Sora como un sistema que comprime vídeos en un espacio latente de menor dimensión y los divide en parches espaciotemporales. AudioLDM y Stable Audio de Stability AI aplican el mismo enfoque a representaciones latentes de espectrogramas o formas de onda.
- Modelos de consistencia latente: Destilan un LDM para que genere en 2 a 4 pasos, en lugar de 20 a 50, lo que permite generar casi en tiempo real.
LDM y términos relacionados#
- Modelos de difusión en el espacio de píxeles: Aplican el proceso de añadir y eliminar ruido a cada píxel. Un LDM también es un modelo de difusión; solo se diferencia en el espacio donde se lleva a cabo el proceso.
- Autoencoders variacionales: Un VAE genera una muestra decodificando una representación latente muestreada en una sola pasada, y sus muestras suelen ser borrosas. Un LDM solo utiliza un autoencoder de tipo VAE para comprimir los datos y deja la generación en manos del modelo de difusión.
- Stable Diffusion: Una familia de LDM de Stability AI, CompVis y Runway, así que todos los modelos Stable Diffusion son LDM, aunque los LDM también incluyen FLUX, generadores de vídeo y modelos de audio.
Aplicaciones#
Los LDM permiten generar texto a imagen, rellenar imágenes —tarea en la que el artículo original estableció un nuevo estado del arte en su momento—, aumentar la superresolución y generar imágenes a partir de diseños basados en mapas semánticos. En visión artificial también producen datos sintéticos: defectos poco frecuentes, condiciones meteorológicas inusuales o puntos de vista difíciles de fotografiar. Las imágenes generadas no incluyen etiquetas, pero la función auto_annotate de Ultralytics etiqueta una carpeta con ellas: detecta objetos con un modelo YOLO26, delimita cada caja detectada con un modelo de segmentación Meta SAM y escribe etiquetas de segmentación en formato YOLO para el entrenamiento.










