Un preámbulo, una especie de
Mientras escribimos esto (es abril de 2023), es difícil exagerar la atención, las esperanzas asociadas y los temores que rodean la generación de imágenes y textos impulsada por el aprendizaje profundo. Los impactos en la sociedad, la política y el bienestar humano merecen más que un párrafo breve y diligente. Por lo tanto, dejamos el tratamiento adecuado de este tema a publicaciones especializadas y sólo nos gustaría decir una cosa: cuanto más sepa, mejor; menos le impresionarán las declaraciones simplificadoras y que descuidan el contexto hechas por figuras públicas; más fácil le resultará adoptar su propia postura sobre el tema. Dicho esto, comenzamos.
En esta publicación, presentamos una R torch
implementación de Modelos implícitos de difusión de eliminación de ruido (J. Tune, Meng y Ermon (2020)). El código está activado.
GitHuby viene con un archivo README extenso que detalla todo, desde fundamentos matemáticos, pasando por opciones de implementación y organización de código, hasta entrenamiento de modelos y generación de muestras. Aquí, brindamos una descripción normal de alto nivel, situando el algoritmo en el contexto más amplio del aprendizaje profundo generativo. ¡No dudes en consultar el archivo README para conocer cualquier detalle que te interese especialmente!
Modelos de difusión en contexto: aprendizaje profundo generativo
En el aprendizaje profundo generativo, los modelos se entrenan para generar nuevos ejemplos que probablemente podrían provenir de alguna distribución acquainted: la distribución de imágenes de paisajes, por ejemplo, o versos polacos. Si bien la difusión está de moda ahora, en la última década se prestó mucha atención a otros enfoques o familias de enfoques. Enumeremos rápidamente algunos de los más comentados y demos una caracterización rápida.
Primero, modelos de difusión ellos mismos. Difusión, el término normal, designa entidades (moléculas, por ejemplo) que se propagan desde áreas de mayor concentración a otras de menor concentración, aumentando así la entropía. En otras palabras, la información se pierde. En los modelos de difusión, esta pérdida de información es intencional: en un proceso “directo”, se toma una muestra y se transforma sucesivamente en ruido (generalmente gaussiano). Entonces se supone que un proceso “inverso” toma una instancia de ruido y la elimina secuencialmente hasta que parece que proviene de la distribución authentic. Sin embargo, ¿seguro que no podemos invertir la flecha del tiempo? No, y ahí es donde entra en juego el aprendizaje profundo: durante el proceso de avance, la crimson aprende lo que se debe hacer para la “reversión”.
Una concept totalmente diferente subyace a lo que sucede en las GAN, Redes generativas de confrontación. En una GAN tenemos dos agentes en juego, cada uno de los cuales intenta ser más astuto que el otro. Se intenta generar muestras que parezcan lo más realistas posible; el otro concentra su energía en detectar las falsificaciones. Idealmente, ambos mejoran con el tiempo, lo que da como resultado el resultado deseado (además de un “regulador” que no es malo, pero siempre está un paso por detrás).
Luego, están los VAE: Autocodificadores variacionales. En un VAE, al igual que en una GAN, hay dos redes (un codificador y un decodificador, esta vez). Sin embargo, en lugar de que cada uno se esfuerce por minimizar su propia función de costos, la capacitación está sujeta a una pérdida única, aunque compuesta. Un componente se asegura de que las muestras reconstruidas se parezcan mucho a la entrada; el otro, que el código latente confirma restricciones preimpuestas.
Por último, mencionemos fluye (aunque estos tienden a usarse para un propósito diferente, consulte la siguiente sección). Un flujo es una secuencia de asignaciones diferenciables e invertibles de datos a alguna distribución “agradable”, agradable significa “algo de lo que podemos muestrear fácilmente u obtener una probabilidad”. Con los flujos, al igual que con la difusión, el aprendizaje ocurre durante la etapa de avance. La invertibilidad, así como la diferenciabilidad, aseguran que podamos volver a la distribución de entrada con la que comenzamos.
Antes de sumergirnos en la difusión, esbocemos: muy informalmente: algunos aspectos a considerar al mapear mentalmente el espacio de los modelos generativos.
Modelos generativos: si quisieras dibujar un mapa psychological…
Arriba, he dado caracterizaciones más bien técnicas de los diferentes enfoques: cuál es la configuración normal, para qué optimizamos… Siguiendo con el aspecto técnico, podríamos analizar categorizaciones establecidas, como basadas en probabilidad versus no basadas en probabilidad. modelos. Los modelos basados en probabilidades parametrizan directamente la distribución de datos; Luego, los parámetros se ajustan maximizando la probabilidad de que los datos se encuentren bajo el modelo. De las arquitecturas mencionadas anteriormente, este es el caso de los VAE y los flujos; no es con GAN.
Pero también podemos adoptar una perspectiva diferente: la del propósito. En primer lugar, ¿estamos interesados en el aprendizaje de la representación? Es decir, ¿nos gustaría condensar el espacio de muestras en uno más escaso, uno que exponga las características subyacentes y dé pistas sobre una categorización útil? Si es así, los VAE son los candidatos clásicos a tener en cuenta.
Alternativamente, ¿estamos interesados principalmente en la generación y nos gustaría sintetizar muestras correspondientes a diferentes niveles de grano grueso? Entonces los algoritmos de difusión son una buena opción. Se ha demostrado que
[…] Las representaciones aprendidas usando diferentes niveles de ruido tienden a corresponder a diferentes escalas de características: cuanto mayor es el nivel de ruido, mayores son las características que se capturan.
Como ejemplo remaining, ¿qué pasa si no estamos interesados en la síntesis, pero nos gustaría evaluar si un determinado dato podría ser parte de alguna distribución? De ser así, los flujos podrían ser una opción.
Acercándonos: modelos de difusión
Como ocurre con toda arquitectura de aprendizaje profundo, los modelos de difusión constituyen una familia heterogénea. Aquí, permítanos nombrar algunos de los miembros más de moda.
Cuando anteriormente dijimos que la concept de los modelos de difusión period transformar secuencialmente una entrada en ruido y luego eliminarla secuencialmente nuevamente, dejamos abierto cómo se operacionaliza esa transformación. De hecho, ésta es un área en la que los enfoques rivales tienden a diferir.
Y. Tune y col. (2020)por ejemplo, utilice una ecuación diferencial estocástica (SDE) que mantenga la distribución deseada durante la fase directa de destrucción de información. En marcado contraste, otros enfoques, inspirados por Ho, Jain y Abbeel (2020)Confíe en las cadenas de Markov para realizar transiciones de estado. La variante introducida aquí – J. Tune, Meng y Ermon (2020) – mantiene el mismo espíritu, pero mejora la eficiencia.
Nuestra implementación – descripción normal
El LÉAME proporciona una introducción muy completa, que cubre (casi) todo, desde los antecedentes teóricos hasta los detalles de implementación, los procedimientos de capacitación y la puesta a punto. Aquí, sólo describimos algunos hechos básicos.
Como ya se indicó anteriormente, todo el trabajo ocurre durante la etapa de avance. La crimson toma dos entradas, las imágenes e información sobre la relación señal-ruido que se aplicará en cada paso del proceso de corrupción. Esa información puede codificarse de varias maneras y luego se integra, de alguna forma, en un espacio de dimensiones superiores más propicio para el aprendizaje. Así es como podría verse, para dos tipos diferentes de programación/incrustación:
En cuanto a la arquitectura, tanto las entradas como las salidas previstas son imágenes, el principal caballo de batalla es U-Web. Forma parte de un modelo de nivel superior que, para cada imagen de entrada, crea versiones corruptas, correspondientes a las tasas de ruido solicitadas, y ejecuta U-Web en ellas. De lo devuelto se intenta deducir el nivel de ruido que gobernaba en cada instancia. La formación consiste entonces en conseguir que esas estimaciones mejoren.
Entrenado con el modelo, el proceso inverso (generación de imágenes) es sencillo: consiste en eliminar el ruido recursivamente de acuerdo con el programa de tasas de ruido (conocido). En definitiva, el proceso completo podría verse así:
Para concluir, esta publicación, por sí sola, es en realidad solo una invitación. Para obtener más información, consulta el repositorio de GitHub. Si necesita motivación adicional para hacerlo, aquí tiene algunas imágenes de flores.
¡Gracias por leer!
Dieleman, Sander. 2022. “Los modelos de difusión son codificadores automáticos”. https://benanne.github.io/2022/01/31/diffusion.html.
Ho, Jonathan, Ajay Jain y Pieter Abbeel. 2020. “Modelos probabilísticos de difusión de eliminación de ruido”. https://doi.org/10.48550/ARXIV.2006.11239.
Tune, Jiaming, Chenlin Meng y Stefano Ermon. 2020. “Modelos implícitos de difusión de eliminación de ruido”. https://doi.org/10.48550/ARXIV.2010.02502.
Tune, Yang, Jascha Sohl-Dickstein, Diederik P. Kingma, Abhishek Kumar, Stefano Ermon y Ben Poole. 2020. “Modelado generativo basado en puntuaciones mediante ecuaciones diferenciales estocásticas”. CORR abs/2011.13456. https://arxiv.org/abs/2011.13456.