Modelos de Difusión
Descubra cómo los modelos de difusión revolucionan la IA generativa creando imágenes, vídeos y datos realistas con un nivel de detalle y estabilidad incomparables.
Los modelos de difusión son una clase de
algoritmos generativos de IA que aprenden a crear nuevas
muestras de datos invirtiendo un proceso gradual de adición de ruido. Inspirados en los principios de la termodinámica
termodinámica, estos modelos se han convertido en la
tecnología punta para generar imágenes, audio y vídeo de alta fidelidad. A diferencia de otros métodos
que intentan producir un resultado complejo en un solo paso, los modelos de difusión refinan iterativamente la estática aleatoria para convertirla en un contenido coherente.
coherente, lo que permite un control sin precedentes del detalle y la estructura semántica en las tareas de visión por ordenador.
tareas de visión por ordenador.
El mecanismo de difusión
El funcionamiento de los modelos de difusión puede dividirse en dos fases distintas: el proceso de avance y el proceso de retroceso.
inverso.
-
Proceso de avance (difusión): Esta fase consiste en destruir sistemáticamente la estructura de los datos.
Partiendo de una imagen clara de los datos de entrenamiento
el modelo añade pequeñas cantidades de ruido gaussiano a lo largo de una
una serie de pasos temporales. Finalmente, los datos se degradan hasta convertirse en puro ruido aleatorio no estructurado. Este proceso suele ser
fijo y sigue una regla de cadena de Markov.
-
Proceso inverso (eliminación de ruido): El núcleo
de aprendizaje automático se encuentra en esta fase. A
red neuronal -a menudouna arquitectura U-Net- se
para predecir y sustraer el ruido añadido en cada paso. Al aprender a invertir la corrupción, el modelo puede
empezar con ruido puro y "desenoirizarlo" progresivamente para alucinar una imagen nueva y coherente.
Investigaciones como la fundacional
Denoising Diffusion Probabilistic Models (DDPM) establecieron el marco matemático
marco matemático que hace que este refinamiento iterativo sea estable y eficaz.
Difusión frente a GAN
Antes de que los modelos de difusión cobraran importancia,
las redes generativas adversariales (GAN)
eran el método dominante para la síntesis de imágenes. Aunque ambos son potentes, difieren fundamentalmente:
-
Estabilidad del entrenamiento: Los modelos de difusión suelen ser más fáciles de entrenar. Los GAN se basan en un juego
entre dos redes (generador y discriminador), lo que a menudo conduce al colapso o inestabilidad del modo.
La difusión utiliza una función de pérdida más estable relacionada con la predicción del ruido.
con la predicción del ruido.
-
Diversidad de resultados: Los modelos de difusión destacan en la generación de muestras diversas y muy detalladas, mientras que los GAN pueden tener dificultades para cubrir toda la distribución del conjunto de datos.
GAN pueden tener dificultades para cubrir toda la distribución del conjunto de datos.
-
Velocidad de inferencia: Los GAN generan imágenes en una sola pasada, lo que los hace más rápidos.
más rápidas. Los modelos de difusión requieren múltiples pasos para refinar una imagen, lo que conduce a una mayor latencia de inferencia.
latencia de inferencia. Sin embargo, las nuevas técnicas
como la difusión latente (utilizada en
difusión estable) realizan el proceso en un espacio latente
espacio latente comprimido para aumentar considerablemente la velocidad en las GPU de consumo.
GPU de consumo.
Aplicaciones en el mundo real
La versatilidad de los modelos de difusión se extiende a diversos sectores, impulsando herramientas que mejoran la creatividad y los flujos de trabajo de ingeniería.
flujos de trabajo de ingeniería.
-
Generación de datos sintéticos: La obtención de datos etiquetados del mundo real puede ser costosa o sensible a la privacidad.
Los modelos de difusión pueden generar grandes cantidades de datos
datos sintéticos realistas para
modelos de detección de objetos. Por ejemplo, un
un ingeniero podría generar miles de imágenes sintéticas de defectos industriales poco comunes para entrenar modelos de detección de objetos robustos.
YOLO11 para garantizar la calidad.
-
Creación de imágenes de alta fidelidad: Herramientas como DALL-E 3,
Midjourney y
Adobe Firefly aprovechan la difusión para convertir las indicaciones de texto en
en ilustraciones y recursos de calidad profesional.
-
Imágenes médicas: En sanidad, los modelos de difusión ayudan en
superresolución, reconstruyendo imágenes
alta calidad a partir de datos de menor resolución, lo que ayuda a realizar
análisis de imágenes médicas.
-
Síntesis de vídeo y audio: El concepto se extiende más allá de las imágenes estáticas a los datos temporales. Modelos como
Sora de OpenAI y las herramientas de
Runway ML aplican principios de difusión para generar secuencias de vídeo coherentes y paisajes sonoros realistas.
paisajes sonoros realistas.
Puesta en marcha del proceso de avance
Para entender cómo los modelos de difusión preparan los datos para el entrenamiento, es útil visualizar el proceso de avance. La página
siguiente PyTorch muestra cómo se añade ruido gaussiano
a un tensor, simulando un único paso de degradación.
import torch
def add_gaussian_noise(image_tensor, noise_level=0.1):
"""Simulates one step of the forward diffusion process by adding noise.
Args:
image_tensor (torch.Tensor): Input image tensor.
noise_level (float): Standard deviation of the noise.
"""
noise = torch.randn_like(image_tensor) * noise_level
noisy_image = image_tensor + noise
return noisy_image
# Create a dummy tensor representing a 640x640 image
clean_img = torch.zeros(1, 3, 640, 640)
noisy_output = add_gaussian_noise(clean_img, noise_level=0.2)
print(f"Output shape: {noisy_output.shape} | Noise added successfully.")
Al invertir este proceso, el modelo aprende a distinguir la señal del ruido, lo que permite generar imágenes complejas que pueden utilizarse para aumentar los conjuntos de datos en tareas posteriores.
de datos para tareas posteriores, como la segmentación o la
como la segmentación o la clasificación de imágenes.