Publicado: 21 de agosto de 2024
Colaboradores: Dave Bergmann, Cole Stryker
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.
Conozca las principales ventajas que se obtienen con el trabajo conjunto de la IA generativa y las capacidades tradicionales de IA, y cómo las organizaciones pueden incorporar con confianza la IA generativa, los modelos fundacionales y el ML a sus operaciones empresariales.
Suscríbase a los boletines de IBM
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.
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 (enlace externo a ibm.com), 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 que luego pueda 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, caiga dentro de un rango particular 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 alta probabilidad de que los valores de los 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 uno. 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 uno.
Calcular una constante de normalización que funcione para todos los valores variables posibles suele ser difícil de resolver: técnicamente tiene solución, 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.
Independientemente del trabajo de Sohl-Dickstein, Yang Song y Stefano Ermon desarrollaron un tipo de modelo basado en la energía (enlace externo a ibm.com) 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 () de la función de densidad de probabilidad . El gradiente de la función de densidad de probabilidad logarítmica, escrito como , 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.
En 2020, Ho et al propusieron utilizar el enfoque de Sohl-Dickstein para generar imágenes de alta calidad mediante el uso de la inferencia variacional en su artículo seminal, "Denoising difusion probabilistic models" (DDPM). Su artículo mostró que maximizar el 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 modelos de difusión es esencialmente equivalente a la combinación de objetivos de coincidencia de puntuación utilizados para entrenar 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".
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, esto 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 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 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.
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ñaló Yang Song en su entrada de blog sobre modelos generativos basados en puntuaciones (enlace externo a ibm.com):
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.
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 : como aumenta de acuerdo con el programa de varianza, la tasa de difusión aumenta constantemente como resultado. β siempre es un valor entre 0 y 1: por lo tanto, 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 encontraron mejoras en el rendimiento y la eficacia con otros tipos de horarios, como un horario coseno,[1 ] o haciendo que el propio horario fuera 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.
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.
Una deficiencia de ese proceso paso a paso es que es engorroso y costoso desde el punto de vista computacional: para cada imagen de un conjunto de datos de entrenamiento que podría 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 como un nuevo parámetro, . 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, , derivada de la multiplicación iterativa de 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 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 , el valor de siempre es menor que 1. Desde , el valor de 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 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:
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 : es decir, dado , calcular Su opuesto, la difusión inversa, se definiría como . Pero en la práctica, la computación es intratable.
En su lugar, la tarea de entrenamiento se formula a través de dos soluciones alternativas:
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.
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 utilizado 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 evidencia (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 : 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.
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.
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.
Aunque un modelo de difusión estándar puede producir variaciones aleatorias de alta calidad de las imágenes de entrenamiento, 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 orientació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 : en otras palabras, el gradiente del logaritmo de la probabilidad de que la imagen x 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 : 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:
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.
Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de ML con facilidad y crea aplicaciones de IA en una fracción del tiempo con una fracción de los datos.
Cree fácilmente aplicaciones de IA personalizadas para su empresa, gestione todas las fuentes de datos y acelere los flujos de trabajo de IA responsables, todo en una sola plataforma.
Reimagine su forma de trabajar con la IA: nuestro equipo diverso y global de más de 20 000 expertos en IA puede ayudarle a diseñar y escalar la IA y la automatización de forma rápida y segura en toda su empresa, trabajando con nuestra propia tecnología IBM watsonx y un ecosistema abierto de socios para ofrecer cualquier modelo de IA, en cualquier nube, guiado por la ética y la confianza.
En este trabajo, IBM propone Prompting4Debugging (P4D) como una herramienta de depuración y red-teaming que encuentra automáticamente prompts problemáticos para que los modelos de difusión prueben la fiabilidad de un mecanismo de seguridad desplegado.
Los modelos de difusión se pueden secuestrar con puertas traseras ocultas que dan a los atacantes el control del proceso de creación de imágenes. Los investigadores de IBM han explorado formas de monitorizar y mantener la seguridad de los modelos.
Modelar los sonidos emitidos por las interacciones de objetos físicos es crucial para las experiencias perceptivas inmersivas en el mundo real y virtual. En este artículo, IBM propone un modelo de difusión basado en la física que puede sintetizar sonido de impacto de alta fidelidad para un videoclip mudo.
NOTA: enlaces externos a ibm.com
[1] "Improved Denoising Diffusion Probabilistic Models". arXiv. 18 de febrero de 2021
[2] "Variational Diffusion Models". arXiv. consultado por última vez el 14 de abril de 2023