Conoce TR0N Un Método Simple y Eficiente para Agregar Cualquier Tipo de Condicionamiento a Modelos Generativos Pre-Entrenados
TR0N A Simple and Efficient Method to Add Any Type of Conditioning to Pre-trained Generative Models
Recientemente, los modelos de aprendizaje automático de gran tamaño han destacado en una variedad de tareas. Sin embargo, entrenar dichos modelos requiere mucha potencia informática. Por lo tanto, es crucial aprovechar adecuadamente y de manera efectiva los modelos pre-entrenados actuales. Sin embargo, todavía falta resolver el desafío de fusionar las capacidades de varios modelos de manera plug-and-play. Los mecanismos para realizar esta tarea deben ser preferiblemente modulares y neutrales al modelo, lo que permite cambiar fácilmente los componentes del modelo (por ejemplo, reemplazar CLIP con un nuevo modelo de texto/imágenes de vanguardia con un VAE).
En este trabajo, los investigadores de Layer 6 AI, la Universidad de Toronto y el Vector Institute investigan la generación condicional mezclando modelos previamente entrenados. Dada una variable condicionante c, los modelos generativos condicionales buscan aprender una distribución de datos condicional. Normalmente se entrenan desde cero en combinaciones de datos con c coincidente, como imágenes x con etiquetas de clase correspondientes o promp de texto suministrados a través de un modelo de lenguaje c. Quieren convertir cualquier modelo generativo pre-entrenado incondicional en un modelo condicional utilizando un modelo G que convierta variables latentes z muestreadas de una prior p(z) en muestras de datos x = G(z). Para hacer esto, proporcionan TR0N, un marco amplio para entrenar modelos generativos pre-entrenados incondicionales de manera condicional.
TR0N presupone el acceso a un modelo auxiliar entrenado f, un clasificador o un codificador CLIP para asignar a cada punto de datos x su condición asociada c = f(x). TR0N también espera tener acceso a una función E(z, c) que asigna valores más bajos a las variables latentes z para las cuales G(z) “satisface mejor” un criterio c. Utilizando esta función, TR0N minimiza el gradiente de E(z, c) sobre z en T pasos para un c dado, para localizar variables latentes que, cuando se aplican a G, proporcionarían las muestras de datos condicionales necesarias. Sin embargo, demuestran que inicialmente optimizar E de manera ingenua podría ser mucho mejor. A la luz de esto, TR0N comienza estudiando una red que utilizan para optimizar el proceso de optimización de manera más efectiva.
Dado que “traduce” de una condición c a una variable latente coincidente z tal que E(z, c) es mínima, esta red se conoce como la red del traductor, ya que esencialmente amortigua el problema de optimización. La red de traducción se entrena sin ajustar G ni utilizar un conjunto de datos predefinido, lo cual es importante. TR0N es un enfoque de disparo cero, con una red de traducción ligera como la única parte entrenable. La capacidad de TR0N para utilizar cualquier G y cualquier f también facilita la actualización de cualquiera de estos componentes cuando se disponga de una versión más nueva y avanzada. Esto es importante ya que evita el costoso entrenamiento de un modelo condicional desde cero.
- Un método más sencillo para aprender a controlar un robot
- Esta biblioteca de Python ‘Imitation’ proporciona imple...
- ¿Y si pudieras convertir tu modelo solo de visión en un VLM solo en...
En el panel izquierdo de la Figura 1, describen cómo entrenar la red de traducción. Después de que la red de traducción haya sido entrenada, se inicia la optimización de E utilizando su salida. En comparación con una inicialización ingenua, esto recupera cualquier rendimiento perdido debido a la brecha de amortización, produciendo mejores óptimos locales y una convergencia más rápida. Es posible interpretar TR0N como un muestreo con dinámica de Langevin utilizando una estrategia de inicialización efectiva, ya que TR0N es un método estocástico. La red de traducción es una distribución condicional q(z|c) que asigna una alta densidad a las variables latentes z para las cuales E(z, c) es pequeña. También agregan ruido durante la optimización del gradiente de E. En el panel derecho de la Figura 1, demuestran cómo muestrear con TR0N.
Hacen tres contribuciones: (i) introducir redes de traducción y una parametrización particularmente efectiva de las mismas, que permite diferentes formas de inicializar la dinámica de Langevin; (ii) enmarcar TR0N como un marco altamente general, mientras que trabajos relacionados anteriores se centran principalmente en una sola tarea con elecciones específicas de G y f; y (iii) demostrar que TR0N supera empíricamente a otras alternativas en términos de calidad de imagen y viabilidad computacional, al mismo tiempo que produce muestras diversas. Hay una demo disponible en HuggingFace.