Mi IBM Inicie sesión Suscríbase

¿Qué es un modelo de difusión?

 21 de agosto de 2024 

Autores

Dave Bergmann

Senior Writer, AI Models

IBM

Cole Stryker

Editorial Lead, AI Models

¿Qué es un modelo de difusión?

Los modelos de difusión son modelos generativos que se utilizan principalmente para la generación de imágenes y otras tareas de visión artificial. Las redes neuronales basadas en difusión se entrenan mediante deep learning para "difundir" progresivamente muestras con ruido aleatorio y, a continuación, invertir ese proceso de difusión para generar imágenes de alta calidad.

Los modelos de difusión se encuentran entre las arquitecturas de redes neuronales que están a la vanguardia de la IA generativa, sobre todo representados por los populares modelos de conversión de texto a imagen, como Stable Diffusion de Stability AI, DALL-E de OpenAI (empieza por DALL-E-2), Midjourney e Imagen de Google. Mejoran el rendimiento y la estabilidad de otras arquitecturas de machine learning utilizadas para la síntesis de imágenes, como los codificadores automáticos variacionales (VAE), las redes generativas de confrontación (GAN) y los modelos autorregresivos, como PixelCNN.

La intuición detrás de los modelos de difusión se inspira en la física, tratando los píxeles como las moléculas de una gota de tinta que se extiende en un vaso de agua a lo largo del tiempo. Del mismo modo que el movimiento aleatorio de las moléculas de tinta acaba por dispersarlas uniformemente en el cristal, la introducción aleatoria de ruido en una imagen acaba dando lugar a lo que parece estática televisiva. Al modelar ese proceso de difusión y luego aprender a invertirlo de alguna manera, un modelo de inteligencia artificial puede generar nuevas imágenes simplemente "eliminando" muestras de ruido aleatorio.

Los modelos de difusión se asocian principalmente con la generación de imágenes y otras tareas de procesamiento de imágenes, como la reproducción de imágenes y la súper resolución, pero sus aplicaciones se extienden a otros dominios, incluida la generación de audio, el diseño de fármacos y la generación de moléculas. Para simplificar, este artículo se centrará en la generación de imágenes.

Diseño 3D de bolas rodando por un circuito

Las últimas noticias + conocimientos de IA 


Descubra ideas y noticias de expertos sobre IA, nube y mucho más en el boletín semanal Think. 

Historia y teoría de los modelos de difusión

Para explicar y comprender los modelos de difusión, es importante tener en cuenta primero que el proceso generativo ahora llamado "difusión" se descubrió de forma independiente en dos ocasiones distintas a través de dos enfoques matemáticos distintos. En resumen, hay múltiples formas en que los modelos de difusión, que son conceptualmente simples pero matemáticamente complejos, pueden "funcionar".

Los desarrollos posteriores han tomado prestadas ideas de ambos enfoques, combinando las ventajas de cada uno para finalmente producir los modelos de difusión modernos que dominan actualmente el campo de la generación de imágenes. Por lo tanto, una breve revisión de la historia y la teoría de los modelos de difusión facilita la comprensión no solo de cómo funcionan los modelos de difusión, sino también de por qué funcionan.

Modelos de deep learning inspirados en la termodinámica

Los modelos de difusión inspirados en la física fueron introducidos por primera vez por Sohl-Dickstein et al en su artículo de 2015, "Deep Unsupervised Learning using Nonequilibrium Thermodynamics". Su algoritmo aplicó la dinámica de Langevin, un método para modelar el movimiento de sistemas moleculares, para respaldar la premisa básica de los modelos de difusión: convertir los datos en ruido, para luego poder convertir el ruido en datos.

Una nota sobre las funciones de densidad de probabilidad

Al igual que la mayoría de los modelos generativos, como los autocodificadores variacionales (VAE), el algoritmo de Sohl-Dickstein modeló la densidad de probabilidad: la probabilidad relativa de que una variable muestreada aleatoriamente, x, dentro de un determinado intervalo de valores. Básicamente, el modelado de una función de densidad de probabilidad para un conjunto de datos de entrenamiento permite a un algoritmo generar muestras que tienen muchas probabilidades de ajustarse a la distribución de los datos de entrenamiento. Al generar una nueva imagen, el modelo asume una probabilidad alta de que los valores de píxeles se distribuyan de esa manera específica, basándose en la distribución de probabilidad que aprendió de los patrones de los datos de entrenamiento.

Lógicamente, las funciones de densidad de probabilidad exigen que la probabilidad de todas las posibilidades sume 1. Dicho de otro modo, el porcentaje de probabilidad de todas las posibilidades debe sumar exactamente el 100 %. En la práctica, esto suele requerir una constante de normalización: un valor incorporado en una función de probabilidad que reduce la probabilidad total a 1.

Calcular una constante de normalización que funcione para todos los valores variables posibles suele ser intratable: técnicamente es solucionable, pero requiere un tiempo infinito para calcularlo. En tales casos, los modelos basados en probabilidades deben restringirse a arquitecturas de modelos específicas o desarrollar soluciones inteligentes que se aproximen a la constante de normalización de una manera manejable.

Modelos generativos basados en puntuaciones

Independientemente del trabajo de Sohl-Dickstein, Yang Song y Stefano Ermon desarrollaron un tipo de modelo basado en la energía  llamado red de puntuación condicional de ruido en su artículo de 2019, "Generative Modeling by Estimating Gradients of the Data Distribution". Su algoritmo modeló el gradiente (∇x) del logaritmo (log) de la función de densidad de probabilidad p(X). El gradiente de la función de densidad de probabilidad logarítmica, escrito como Xregistrop(X), se denomina puntuación de Stein o simplemente "función de puntuación".

A diferencia de las funciones de densidad de probabilidad convencionales, las funciones de puntuación no requieren una constante de normalización porque no modelan directamente la densidad de probabilidad (y por lo tanto no tienen que normalizar la probabilidad total a 1). En su lugar, se entrenan mediante la coincidencia de puntuaciones: parámetros del modelo de aprendizaje, θ, que produce un modelo pθ(x) cuya puntuación (en otras palabras, su gradiente) coincide con la de la distribución de datos q(x) de los datos de entrenamiento.

Otra ventaja de estos modelos generativos basados en la puntuación (SGM) es que, a diferencia de los modelos basados en la verosimilitud, no imponen muchas restricciones a la arquitectura del modelo de pθ(x).

Al explorar formas de mejorar el rendimiento de su modelo, Song y Ermon llegaron por casualidad a las mismas técnicas empleadas por Sohl-Dickstein et al. Su artículo señaló que "perturbar los datos con ruido gaussiano aleatorio hace que la distribución de datos sea más susceptible al modelado generativo basado en puntuaciones". Su modelo, construido utilizando la arquitectura U-Net desarrollada originalmente para la segmentación de imágenes, también aplicó la dinámica de Langevin para generar muestras.

Modelos probabilísticos de difusión de eliminación de ruido (DDPM)

En 2020, Ho et al propusieron utilizar el enfoque de Sohl-Dickstein para generar imágenes de alta calidad mediante la inferencia variacional en su artículo seminal, "Denoising diffusion probabilistic models" (DDPMs). Su artículo demostró que la maximización del límite inferior de evidencia (ELBO), una forma de reescribir los problemas de optimización basados en la probabilidad para que sean manejables, para entrenar los modelos de difusión es esencialmente equivalente a la combinación de objetivos de coincidencia de puntuaciones utilizada para entrenar los SGM.

Al implementar el enfoque de Sohl-Dickstein mediante la coincidencia de puntuaciones, Ho et al demostraron que los modelos probabilísticos de difusión pueden lograr una calidad de imagen competitiva con las GAN, que en ese momento eran lo último en tecnología. Song, Ermon, Sohl-Dickstein y otros, incluido Diederik P. Kingma, creador de la VAE- exploraron más a fondo estas conexiones en su artículo de 2021, "Score-Based Generative Modeling through Stochastic Differential Equations".

Más tarde ese mismo año, Dhariwal y Nichol, aprovechando los conocimientos del artículo mencionado anteriormente, publicaron "Diffusion Models Beat GANs on Image Synthesis", donde establecían firmemente los modelos de difusión como la nueva vanguardia.

Los DDPM, en lugar de los SGM, siguen siendo generalmente el modo dominante de los modelos de difusión, aunque con mejoras iniciadas a través de investigaciones posteriores. Por ejemplo, el influyente artículo de 2022 "High-Resolution Image Synthesis with Latent Diffusion Models".

Mixture of Experts | Pódcast

Descifrar la IA: resumen semanal de noticias

Únase a nuestro panel de ingenieros, investigadores, responsables de producto y otros profesionales de talla mundial que se abren paso entre el bullicio de la IA para ofrecerle las últimas noticias y conocimientos al respecto.

¿Cómo funcionan los modelos de difusión?

En el entrenamiento, los modelos de difusión difunden gradualmente un punto de datos con ruido aleatorio, paso a paso, hasta que se destruye, luego aprenden a revertir ese proceso de difusión y reconstruir la distribución de datos original.

A continuación, un modelo de difusión entrenado puede generar nuevos puntos de datos que se asemejen a los datos de entrenamiento simplemente eliminando el ruido de una muestra inicial aleatoria de ruido puro. Conceptualmente, es similar a un autocodificador de eliminación de ruido en el que las imágenes ruidosas actúan como variables latentes.

Transformar directamente el ruido aleatorio en una imagen coherente es extremadamente difícil y complejo, pero transformar una imagen ruidosa en una imagen ligeramente menos ruidosa es relativamente fácil y sencillo. Por lo tanto, los modelos de difusión formulan el proceso de difusión inversa como una transformación incremental y paso a paso de una distribución simple (como el ruido gaussiano) en una distribución más compleja (como una imagen coherente).

El proceso de formación y posterior implementación de una difusión se puede dividir en tres etapas clave:

  • El proceso de difusión directa, en el que una imagen del conjunto de datos de entrenamiento se transforma en ruido puro, generalmente una distribución gaussiana.
  • El proceso de difusión inversa, en el que el modelo aprende el inverso de cada paso anterior en el proceso de difusión directa original
  • La generación de imágenes, en la que el modelo entrenado muestrea una distribución aleatoria de ruido y la transforma en una salida de alta calidad utilizando el proceso de difusión inversa que ha aprendido para eliminar el ruido de una muestra aleatoria de ruido gaussiano.

Proceso de difusión directa

El propósito del proceso de difusión directa es transformar los datos limpios del conjunto de datos de entrenamiento, como una imagen o una muestra de audio, en ruido puro. El método más común consiste en inyectar iterativamente ruido gaussiano hasta que toda la distribución de los datos sea gaussiana.

Matemáticamente, este proceso paso a paso se formula como una cadena de Markov: un tipo de proceso estocástico (un proceso aleatorio que sigue ciertas reglas probabilísticas) para modelar datos de series de tiempo secuenciales. En una cadena de Markov, el resultado en cada paso temporal sólo está influido por el paso temporal inmediatamente anterior. En pocas palabras: xt, el estado de la cadena de Markov x en el paso temporal t, solo está influenciado directamente por xt-1. La función matemática que define la transición desde cualquier xt a xt+1 se denomina núcleo de transición.

En cada paso temporal t, se añade una pequeña cantidad de ruido gaussiano a xt-1 y, a continuación, se reescala la imagen para mantener un tamaño de imagen constante a pesar de la inyección continua de píxeles aleatorios. En esta formulación, x0 es el punto de datos limpio original; x1 es el punto de datos tras el primer paso temporal, con una pequeña cantidad de ruido gaussiano añadido; xT es el estado final del proceso de difusión hacia delante. Si T es lo suficientemente grande, es decir, tras suficientes pasos, xT convergerá a ruido gaussiano puro.

Definimos cada paso hacia delante como q(Xt|Xt-1):predecir el estado de la distribución de datos q (xt), dado q(xt-1). En un DDPM estándar, este proceso directo no implica ningún machine learning: el resultado final de la cadena de Markov siempre será una distribución gaussiana y, por lo tanto, no requiere optimización.

Añadir ruido

En un DDPM, el ruido gaussiano añadido en cada paso de la cadena de Markov no es constante ni arbitrario. En cambio, el ruido se deriva de la estructura de la imagen original y la velocidad a la que se agrega aumenta constantemente con cada paso consecutivo.

Variar la cantidad de ruido mejora la estabilidad del entrenamiento del modelo y mejora el rendimiento general al equilibrar dos prioridades contrapuestas. Como señala Yang Song en su entrada de blog sobre los modelos generativos basados en puntuaciones:

  • Un ruido más grande mejora la capacidad del modelo para aprender con precisión en regiones de "baja densidad" de datos de entrenamiento (conceptos visuales y categories que tienen menos representación en los datos de entrenamiento) al rellenar esas regiones con datos ruidosos. Pero también puede alterar en exceso los datos, reduciendo la precisión global.
  • Un ruido más pequeño provoca menos daños en la distribución de datos original, pero produce un rendimiento deficiente en las regiones de baja densidad.
  • Por lo tanto, para lograr lo mejor de ambos mundos, los modelos de difusión utilizan múltiples escalas de ruido en el entrenamiento.

Recuerde que cualquier distribución gaussiana (normal) tiene una media, μ , y una variación, Σ . Otro parámetro, β, sirve como factor de escala para la media y la varianza del ruido gaussiano en el núcleo de transición que define cada paso en la cadena de Markov hacia adelante. Cambiar el valor de β en un paso dado da como resultado un cambio en el ruido gaussiano agregado en ese paso. β1 es la varianza en el paso de tiempo 1; βt es la varianza en el paso de tiempo t, y así sucesivamente, hasta βT.

El valor de la tasa de β en cada paso viene determinado, a su vez, por el programa de varianza.

Programación de variaciones

En cada paso t, la imagen se desplaza ligeramente de su iteración en el paso anterior (por la media) y se añade ruido a esta versión desplazada de la imagen (por la varianza). La magnitud de cada cambio y adición de ruido depende del valor de βt: a medida que βt aumenta de acuerdo con el programa de varianza, la tasa de difusión aumenta constantemente como resultado. β es siempre un valor entre 0 y 1: entonces, 0 < β1 < β2 < … < βT < 1.

Elegir un calendario de varianzas específico para β es una consideración importante. Suele establecerse a mano como un hiperparámetro, ya sea fijado a un valor constante o siguiendo alguna fórmula con un valor inicial y un valor final predeterminados para β. En el documento DDPM, Ho et al utilizaron un programa lineal con 1000 pasos en el que β1 = 10-4 y βT = 0,02. Investigaciones posteriores revelaron mejoras en el rendimiento y la eficiencia con otros tipos de horarios, como un horario de coseno,[1] o hacer que el horario en sí mismo sea otro parámetro aprendido.[2]

El valor de βt determina tanto la media como la varianza del ruido gaussiano añadido en el paso t.

  • La media μ del ruido gaussiano añadido en el paso de tiempo t, μt, se calcula como μt=(1-βt)Xt-1. En lenguaje sencillo, el promedio del ruido agregado en cada paso t es simplemente una versión escalada de la imagen del paso anterior, xt-1. El tamaño de βt determina cuánto se desvía esta media del paso anterior: cuando βt es muy pequeño, este cambio es muy pequeño, porque (1-βt)(1-0)1y el ruido añadido se parecerá mucho a la imagen original. A medida que aumenta el valor de βt , este cambio se vuelve más significativo.

  • La varianza del ruido gaussiano añadido en el paso de tiempo t se calcula como Σt=βtI, donde I es la matriz identidad. Un βt mayor produce más ruido. Un βt muy pequeño produce un ruido insignificante.

En resumen, en cada paso t, la imagen se desplaza ligeramente de su iteración en el paso anterior (por la media) y se añade ruido a esta versión desplazada de la imagen (por la varianza). La magnitud de cada cambio y adición de ruido depende del valor de βt: a medida que βt aumenta de acuerdo con el programa de varianza, la tasa de difusión aumenta constantemente como resultado.

Dado que la adición de ruido gaussiano comienza gradualmente y que el propio ruido siempre se deriva de la estructura esencial de la imagen original en el paso anterior, las cualidades esenciales de la imagen original se conservan durante muchos pasos. Esto permite que el modelo aprenda de manera significativa los patrones y la estructura de la distribución de datos original durante el proceso de difusión inversa.

El truco de la reparametrización

Uno de los inconvenientes de este proceso paso a paso es que es engorroso y costoso desde el punto de vista informático: para cada imagen de un conjunto de datos de entrenamiento que puede contener miles o millones de imágenes, el proceso de avance requeriría docenas o cientos de pasos individuales.

En lugar de añadir ruido repetidamente, la fórmula del proceso directo puede reescribirse de forma inteligente reparametrizando la expresión de  1βt como un nuevo parámetro,  αt. A través de una "buena propiedad" de las cadenas de Markov, este nuevo parámetro se puede ampliar aún más a un parámetro adicional, α¯t, derivada de la multiplicación iterativa de αt en cada paso progresivo de la cadena hasta ese punto. Este parámetro adicional refleja esencialmente la relación señal-ruido (SNR) de xt: en otras palabras, cuánto de la imagen original permanece en el paso de tiempo t.

Por ejemplo, en x1, se ha añadido una pequeña cantidad de ruido una vez. El valor de α¯t está cerca de 1, lo que significa que la imagen aún conserva la mayor parte de su "señal" original. En un paso posterior, como x50, se ha añadido ruido muchas veces. Porque αt=1βt, el valor de αt siempre es menor que 1. Desde α¯50=α1α2...α49α50, el valor de α¯t en el paso 50 estará mucho más cerca de 0, lo que significa que una mayor parte de la imagen original ha sido sustituida por ruido. En el paso de tiempo T, xT es completamente ruido y el valor de α¯t se aproxima a 0.

Aunque la derivación compleja de la ecuación está más allá del alcance de este artículo, hay dos conclusiones importantes para comprender la importancia de este truco de reparametrización:

  • El estado de x en cualquier paso de tiempo t ahora se puede definir como Xt=α¯tX0+1-α¯tε0, donde ε0 es el ruido añadido en el primer paso. Como el valor de α¯t disminuye con cada paso, la influencia de x0 disminuye y la influencia de ε0 aumenta.

  • Porque α¯t se deriva de 1βt y el valor de βt está determinada por el programa de varianza, reescribir la fórmula de esta manera permite el cálculo directo de xt en cualquier paso de tiempo t sin tener que pasar por todo el proceso de avance paso a paso.

Proceso de difusión inversa

En los modelos de difusión, el proceso de difusión inversa es donde tiene lugar el machine learning real. Al aprender a realizar la inversa de los pasos de ruido del proceso directo, el modelo está esencialmente aprendiendo a eliminar el ruido gaussiano puro en una imagen limpia. Una vez que se ha entrenado la red neuronal, esta capacidad se puede utilizar para generar nuevas imágenes a partir del ruido gaussiano mediante difusión inversa paso a paso.

En teoría, la tarea del modelo puede considerarse como el simple reverso de la difusión directa. El proceso directo, que comienza con el punto de datos x0 muestreado a partir de la distribución de datos reales q(x) del conjunto de datos de entrenamiento, se define como q(Xt|Xt-1): es decir, dado q(Xt-1), calcular  q(Xt)Su opuesto, la difusión inversa, se definiría como q(Xt-1|Xt). Pero en la práctica, la computación q(Xt-1|Xt) es intratable.

En su lugar, la tarea de entrenamiento se formula a través de dos soluciones alternativas:

  • Como se ha descrito anteriormente, q(x) se aproxima con una red neuronal pθ(x) que constituye el propio modelo de difusión real. El objetivo del entrenamiento es aprender los parámetros del modelo θ que hacen que la salida de pθXt-1|Xt ), haga coincidir la salida de qXt-1|Xt ).

  • Este modelo, pθ(x), no predice directamente Xt-1, ni siquiera el ruido específico añadido entre xt-1 y xt. En cambio, predice todo el ruido presente en xt y, a continuación, elimina una fracción de ese ruido (según el estado del programa de varianzas en ese paso) para llegar a xt-1. El documento original del DDPM simplificaba aún más este proceso al estimar únicamente la media del ruido gaussiano, aunque los modelos posteriores suelen predecir también la varianza.

Recordemos de nuevo que la media del ruido gaussiano añadido en la difusión directa no es arbitraria: aunque es aleatoria, la estructura del ruido se deriva inicialmente de la estructura de la imagen original x0. Por lo tanto, al aprender a predecir con precisión el ruido a través de la difusión inversa, el modelo no solo aprende a eliminar el ruido de la imagen, sino que también aprende de manera implícita la estructura de x0.

Función de pérdida para el entrenamiento del modelo de difusión

El objetivo de entrenamiento específico utilizado para los modelos de difusión está estrechamente relacionado con el término de pérdida de reconstrucción empleado para optimizar los autocodificadores variacionales (VAE). Al igual que los VAE, los modelos de difusión se optimizan maximizando el límite inferior variacional (VLB), también llamado límite inferior de las pruebas (ELBO), de una combinación de múltiples términos de pérdida.

La maximización del VLB se utiliza en la inferencia variacional para aproximar la función de puntuación intratable Xregistro(p(X)): en lugar de minimizar directamente el error, reformula la ecuación para maximizar la estimación mínima (o límite inferior) de la precisión de las predicciones del modelo.

Cada uno de los términos de pérdida utilizados refleja la divergencia Kullback-Leibler (o "divergencia KL", generalmente denotada como DKL) entre los resultados de los pasos de difusión directa de q y los pasos inversos predichos por pθ. La divergencia KL se utiliza para medir la diferencia entre dos distribuciones de probabilidad, por ejemplo, entre la distribución de valores de píxeles de una imagen y la distribución de valores de píxeles de otra.

En concreto, la función de pérdida para los modelos de difusión combina tres términos de pérdida: LT, Lt y L0.

  •  LT refleja la divergencia KL entre q(XT|X0) y pθ(xT). En otras palabras, la diferencia entre el resultado final del proceso de reenvío q y el punto de partida del proceso inverso. Por lo general, este término puede ignorarse, porque xT es gaussiano y q no tiene parámetros que se puedan aprender.

  • Lt refleja la divergencia KL entre q(Xt-1|Xt,X0) y pθ(Xt-1|Xt) en cada paso. En otras palabras, la precisión de cada una de las predicciones de eliminación de ruido de pθdurante la difusión inversa en comparación con cada paso de ruido correspondiente durante el proceso de difusión directa para la imagen original, x0.

  • L0 medidas -registropθ(X0|X1). En otras palabras, L0 refleja la probabilidad logarítmica negativa de la predicción del modelo de la imagen totalmente eliminada x0. El gradiente de L0 es el término de coincidencia de puntuaciones descrito anteriormente en este artículo. El término de pérdida es negativo, por lo que minimizar la función de pérdidas equivale a maximizar la probabilidad de las predicciones del modelo.

Aunque su compleja derivación matemática está fuera del alcance de este artículo, el VLB puede simplificarse en última instancia hasta el error cuadrático medio (MSE) entre el ruido predicho por el modelo, εθ y el ruido real añadido en el proceso de avance, ε, en cada paso de tiempo. Esto explica por qué el resultado del modelo es una predicción del ruido en cada paso, en lugar de la propia imagen eliminada.

Al calcular el gradiente de la función de pérdida durante la retropropagación y luego ajustar las ponderaciones del modelo para minimizar la función de pérdida a través del descenso del gradiente, las predicciones del modelo en todo el conjunto de datos de entrenamiento serán más precisas.

Generación de imágenes con modelos de difusión

Una vez que el modelo de difusión ha aprendido a estimar con precisión el ruido que se restará en cada paso, se puede utilizar para generar nuevas imágenes mediante el muestreo de una imagen ruidosa aleatoria xT a partir de la distribución de datos que ha aprendido y eliminarlo para T pasos. Al igual que los VAE, introducir un ligero elemento de aleatoriedad en el proceso de muestreo permite a los modelos de difusión producir nuevas imágenes que se parecen a los datos de entrenamiento, en lugar de reproducir directamente las imágenes de entrenamiento.

A diferencia del proceso de formación por difusión inversa, la cantidad de pasos en el proceso de generación no tiene por qué coincidir con la cantidad de pasos utilizados en el proceso de avance. Esto es posible porque el modelo está entrenado para predecir todo el ruido en cada paso de la imagen, en lugar de la cantidad específica de ruido que se eliminará en ese paso.

Un menor número de pasos conlleva una mayor velocidad y una menor demanda computacional, con una posible contrapartida en el detalle; un mayor número de pasos suele mejorar la precisión, aunque a costa de una disminución de la velocidad y un aumento de los costes computacionales.

Modelos de difusión guiada

Mientras que un modelo de difusión estándar puede generar variaciones de alta calidad de las imágenes de entrenamiento de forma aleatoria, la mayoría de los usos prácticos de un modelo de generación de imágenes requieren cierto control sobre la salida del modelo. Los modelos de difusión guiada permiten al usuario condicionar las imágenes generadas con una dirección específica.

La forma más común de modelo de difusión guiada es un modelo de difusión de texto a imagen que permite a los usuarios condicionar la salida con un mensaje de texto, como "una jirafa con sombrero de copa". Esto implica emparejar un modelo de difusión con un modelo de lenguaje de gran tamaño (LLM) separado para interpretar el mensaje de texto, introducido por primera vez por Google en el artículo "Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding".

Los modelos de difusión estándar tienen como objetivo predecir la función de puntuación incondicional ∇xlogp(x): en otras palabras, el gradiente del logaritmo de la probabilidad de que la imagen generada por el modelo p se ajuste a los datos de entrenamiento x. Los modelos de difusión guiada introducen una categoría visual específica, y, por ejemplo, "jirafa", y predicen la función de puntuación condicional   ∇xlogp(x|y): en otras palabras, la probabilidad de la imagen x, dado que debe ajustarse a la categoría y.

Los métodos de difusión guiada se pueden dividir en dos categorías:

  • La difusión guiada por el clasificador requiere un modelo de clasificador independiente para aprender las incrustaciones de vectores para cada categoría para la que se entrenará el modelo de difusión para producir objetos visuales. Esta incrustación vectorial se utiliza para condicionar la salida en cada paso t. El modelo de difusión no requiere formación adicional, sino que solo puede condicionar los resultados a las específicas categories aprendidas por el clasificador.

  • La orientación libre de clasificadores no requiere un modelo separado, pero sí requiere un modelo de difusión de dos etapas que se entrena específicamente para la orientación condicional. Por lo general, esto implica un modelo de dos etapas: en la primera etapa, un algoritmo de incrustación como CLIP  genera una incrustación para la instrucción. En la segunda etapa, un modelo de difusión utiliza esa incrustación para condicionar su salida. A pesar de la sobrecarga de entrenamiento adicional, tiene la ventaja de permitir una guía zero-shot para categorías de imágenes no vistas.

Modelos de difusión latente

A pesar de su avanzada capacidad para generar imágenes de alta calidad, los modelos de difusión convencionales tienen dos desventajas importantes: son lentos y costosos desde el punto de vista computacional. Estos inconvenientes se redujeron en gran medida con el advenimiento de los modelos de difusión latente, comenzando con la Difusión Estable.

La premisa detrás de los modelos de difusión latente es simple y se basa una vez más en la conexión con los autocodificadores variacionales (VAE). En lugar de aplicar el proceso de difusión en el espacio de píxeles de alta dimensión, es decir, directamente a las imágenes de entrada, el modelo podría proyectar primero la entrada al espacio latente de menor dimensión, y luego aplicar allí el proceso de difusión.

En esencia, los modelos de difusión latente emplean una arquitectura de autocodificador similar a VAE para entrenar un codificador para generar representaciones latentes z de datos de entrada x. A continuación, esas representaciones latentes se utilizan como entrada para un modelo de difusión estándar, normalmente utilizando la arquitectura U-Net. Dado que el modelo de difusión funciona con datos de menor dimensión, su salida se introduce en una red decodificadora para realizar un muestreo ascendente al tamaño de imagen final deseado.

Soluciones relacionadas

Soluciones relacionadas

IBM watsonx.ai

Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de nueva generación para desarrolladores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.

Descubra watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA a trabajar en su negocio con la experiencia líder en IA del sector de IBM y junto a su cartera de soluciones.

Explore las soluciones de IA
Servicios de IA

Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Explore los servicios de IA
Dé el siguiente paso

Obtenga acceso único a capacidades que abarcan el ciclo de vida de desarrollo de la IA. Produzca potentes soluciones de IA con interfaces intuitivas, flujos de trabajo y acceso a API y SDK estándar del sector.

Explore watsonx.ai Solicite una demostración en directo
Notas a pie de página

NOTA: enlaces externos a ibm.com

[1] "Improved Denoising Diffusion Probabilistic Models". arXiv. 18 de febrero de 2021
[2] "Variational Diffusion Models". arXiv. Última revisión el 14 de abril de 2023