La personalización de texto a imagen es una tarea de aprendizaje profundo para gráficos de computadora que amplía los modelos generativos de texto a imagen entrenados previamente . En esta tarea, un modelo generativo que se entrenó con datos a gran escala (generalmente un modelo base ) se adapta de modo que pueda generar imágenes de conceptos nuevos proporcionados por el usuario. [1] [2] Estos conceptos generalmente no se ven durante el entrenamiento y pueden representar objetos específicos (como la mascota del usuario) o categorías más abstractas (nuevo estilo artístico [3] o relaciones entre objetos [4] ).
Los métodos de personalización de texto a imagen suelen vincular el concepto novedoso (personal) a nuevas palabras en el vocabulario del modelo. Estas palabras pueden utilizarse en futuras indicaciones para invocar el concepto para la generación impulsada por el sujeto, [5] la reproducción , la transferencia de estilo [6] e incluso para corregir sesgos en el modelo. Para ello, los modelos optimizan las incrustaciones de palabras , afinan el propio modelo generativo o emplean una combinación de ambos enfoques.
La personalización de texto a imagen fue propuesta por primera vez durante agosto de 2022 por dos trabajos simultáneos, Textual Inversion [7] y DreamBooth . [8]
En ambos casos, el usuario proporciona algunas imágenes (normalmente entre 3 y 5) de un concepto, como su propio perro, junto con una descripción aproximada de la clase de concepto (como la palabra "perro"). A continuación, el modelo aprende a representar el tema a través de un objetivo basado en la reconstrucción, en el que se espera que las indicaciones que hacen referencia al tema reconstruyan imágenes a partir del conjunto de entrenamiento.
En la inversión textual, los conceptos personalizados se introducen en el modelo de texto a imagen añadiendo nuevas palabras al vocabulario del modelo. Los modelos de texto a imagen típicos representan palabras (y a veces partes de palabras) como tokens o índices en un diccionario predefinido. Durante la generación, una indicación de entrada se convierte en dichos tokens, cada uno de los cuales se convierte en una "incrustación de palabras": una representación vectorial continua que se aprende para cada token como parte del entrenamiento del modelo. La inversión textual propone optimizar un nuevo vector de incrustación de palabras para representar el concepto novedoso. Este nuevo vector de incrustación se puede asignar a una cadena elegida por el usuario e invocar siempre que la indicación del usuario contenga esta cadena. [7]
En DreamBooth , en lugar de optimizar un nuevo vector de palabras, se ajusta el modelo generativo completo. El usuario selecciona primero un token existente, normalmente uno que rara vez aparece en las indicaciones. El tema en sí se representa entonces mediante una cadena que contiene este token, seguido de un descriptor aproximado de la clase del tema. Una indicación que describe el tema tomará entonces la forma: "Una foto de <token> <clase>" (por ejemplo, "una foto del gato de sks" cuando se aprende a representar un gato específico). El modelo de texto a imagen se ajusta entonces para que las indicaciones de esta forma generen imágenes del tema. [8]
La idea clave de la inversión textual es añadir un nuevo término al vocabulario del modelo de difusión que corresponde al nuevo concepto (personalizado). La inversión textual optimiza la incorporación vectorial de ese nuevo término de modo que su uso como texto de entrada genere imágenes similares a ejemplos de imágenes dadas del concepto. El modelo resultante es extremadamente ligero por concepto: solo 1K de longitud, pero logra codificar propiedades visuales detalladas del concepto.
Se propusieron varios enfoques para refinar y mejorar los métodos originales, entre los que se incluyen los siguientes:
Los métodos de personalización de texto a imagen deben hacer frente a varios desafíos. Su objetivo principal es lograr una alta fidelidad al concepto personal y, al mismo tiempo, mantener una alta coherencia entre los mensajes novedosos que contienen el tema y las imágenes generadas (lo que normalmente se conoce como "editabilidad").
Otro desafío que deben afrontar los métodos de personalización son los requisitos de memoria. Las implementaciones iniciales de los métodos de personalización requerían más de 20 gigabytes de memoria de GPU, y los enfoques más recientes han informado requisitos de más de 40 gigabytes. [13] Sin embargo, optimizaciones como Flash Attention [15] han reducido considerablemente este requisito.
Los enfoques que ajustan todo el modelo generativo también pueden crear puntos de control de varios gigabytes de tamaño, lo que dificulta compartir o almacenar muchos modelos. Los enfoques basados en incrustaciones requieren solo unos pocos kilobytes, pero generalmente tienen dificultades para preservar la identidad y al mismo tiempo mantener la capacidad de edición. Los enfoques más recientes han propuesto objetivos de ajuste híbridos que optimizan tanto una incrustación como un subconjunto de pesos de red. Estos pueden reducir los requisitos de almacenamiento a tan solo 100 kilobytes y, al mismo tiempo, lograr una calidad comparable a los métodos de ajuste completo. [11]
Por último, los procesos de optimización pueden ser largos y requerir varios minutos de ajuste para cada concepto nuevo. Los métodos de codificación y ajuste rápido tienen como objetivo reducir este tiempo a segundos o menos. [16]
{{cite journal}}
: Requiere citar revista |journal=
( ayuda ){{cite journal}}
: Requiere citar revista |journal=
( ayuda ){{cite journal}}
: Requiere citar revista |journal=
( ayuda )