Difusión estable 1.5/2.0/2.1/xl 1.0, Dall-E, Imagen … en los últimos años, Modelos de difusión han mostrado una calidad impresionante en la generación de imágenes. Sin embargo, aunque producen una gran calidad en conceptos genéricos, estos luchan por generar alta calidad para consultas más especializadas, por ejemplo, generar imágenes en un estilo específico, que no se vio con frecuencia en el conjunto de datos de entrenamiento.
Podríamos volver a entrenar todo el modelo en una gran cantidad de imágenes, explicando los conceptos necesarios para abordar el problema desde cero. Sin embargo, esto no suena práctico. Primero, necesitamos un gran conjunto de imágenes para la idea, y segundo, es simplemente demasiado costoso y lento.
Sin embargo, hay soluciones que, dadas un puñado de imágenes y una hora de ajuste en el peor de los casos, permitirían modelos de difusión para producir una calidad razonable en los nuevos conceptos.
A continuación, cubro enfoques como DreamBooth, LoraHyper-Networks, inversión textual, adaptadores IP y controles de control ampliamente utilizados para personalizar y acondicionar modelos de difusión. La idea detrás de todos estos métodos es memorizar un nuevo concepto que estamos tratando de aprender, sin embargo, cada técnica lo aborda de manera diferente.
Arquitectura de difusión
Antes de sumergirse en varios métodos que ayudan a acondicionar modelos de difusión, primero recapitulemos lo que son los modelos de difusión.
La idea original de los modelos de difusión es entrenar un modelo para reconstruir una imagen coherente del ruido. En la etapa de entrenamiento, agregamos gradualmente pequeñas cantidades de ruido gaussiano (proceso hacia adelante) y luego reconstruimos la imagen iterativamente optimizando el modelo para predecir el ruido, restando que nos acercaríamos a la imagen de destino (proceso inverso).
La idea original de la corrupción de la imagen tiene evolucionado en un más práctico y arquitectura liviana en la que las imágenes se comprimen primero a un espacio latente, y toda la manipulación con ruido adicional se realiza en un espacio de baja dimensión.
Para agregar información textual al modelo de difusión, primero la pasamos a través de un codificador de texto (generalmente ACORTAR) para producir una incrustación latente, que luego se inyecta en el modelo con capas de atención cruzada.

La idea es tomar una palabra rara; Por lo general, se usa una palabra {SKS} y luego enseñe al modelo a asignar la palabra {SKS} a una característica que nos gustaría aprender. Ese podría, por ejemplo, ser un estilo que el modelo nunca ha visto, como Van Gogh. Mostraríamos una docena de sus pinturas y tinte a la frase “Una pintura de botas en el estilo {SKS}”. De manera similar, podríamos personalizar la generación, por ejemplo, aprender a generar imágenes de una persona en particular, por ejemplo, “{SKS} en las montañas” en un conjunto de selfies de uno.
Para mantener la información aprendida en la etapa previa a la capacitación, DreamBooth alienta al modelo a no desviarse demasiado de la versión original previamente capacitada agregando pares de imagen de texto generados por el modelo original al conjunto de ajuste fino.
Cuándo usar y cuando no
Dreambooth produce la mejor calidad en todos los métodos; Sin embargo, la técnica podría afectar los conceptos ya aprendidos ya que se actualiza todo el modelo. El programa de capacitación también limita la cantidad de conceptos que el modelo puede entender. La capacitación lleva mucho tiempo, tomando 1 a 2 horas. Si decidimos introducir varios conceptos nuevos a la vez, necesitaríamos almacenar dos puntos de control modelo, que desperdicia mucho espacio.
Inversión textual, papel, código

La suposición detrás de la inversión textual es que el conocimiento almacenado en el espacio latente de los modelos de difusión es vasto. Por lo tanto, el estilo o la condición que queremos reproducir con el modelo de difusión ya es conocido por él, pero simplemente no tenemos el token para acceder a él. Por lo tanto, en lugar de ajustar el modelo para reproducir la salida deseada cuando se alimenta con palabras raras “en el estilo {SKS}”, estamos optimizando para una incrustación textual que daría como resultado la salida deseada.
Cuándo usar y cuando no
Se necesita muy poco espacio, ya que solo se almacenará el token. También es relativamente rápido para entrenar, con un tiempo de entrenamiento promedio de 20-30 minutos. Sin embargo, viene con sus deficiencias, ya que estamos ajustando un vector específico que guía el modelo para producir un estilo particular, no se generalizará más allá de este estilo.

Se propusieron adaptaciones de bajo rango (LORA) para modelos de idiomas grandes y fueron Primero adaptado al modelo de difusión por Simo Ryu. La idea original de Loras es que en lugar de ajustar todo el modelo, lo que puede ser bastante costoso, podemos combinar una fracción de nuevos pesos que se ajustarían para la tarea con un enfoque de token raro similar en el modelo original.
En los modelos de difusión, la descomposición de rango se aplica a las capas de atención cruzada y es responsable de fusionar información rápida e imagen. Las matrices de peso WO, WQ, WK y WV en estas capas han aplicado lora.
Cuándo usar y cuando no
Loras tarda muy poco tiempo en entrenar (5–15 minutos): estamos actualizando un puñado de parámetros en comparación con todo el modelo, y a diferencia de Dreambooth, toman mucho menos espacio. Sin embargo, los modelos pequeños en el tamaño fino con loras resultan peor de calidad en comparación con Dreambooth.
Hyper-Networks, papel, código

Hyper-Networks son, en cierto sentido, extensiones a Loras. En lugar de aprender los incrustaciones relativamente pequeñas que alterarían directamente la salida del modelo, entrenamos una red separada capaz de predecir los pesos para estas incrustaciones recientemente inyectadas.
Hacer que el modelo predice los incrustaciones para un concepto específico, podemos enseñarle a la hipernetwork varios conceptos, reutilizando el mismo modelo para múltiples tareas.
Cuándo usar y no
Hypernworks, que no se especializa en un solo estilo, sino que capaz de producir plétora generalmente no resultan en tan buena calidad como los otros métodos y pueden tomar un tiempo significativo para entrenar. Por el lado de los pros, pueden almacenar muchos más conceptos que otros métodos de ajuste de concepto único.

En lugar de controlar la generación de imágenes con indicaciones de texto, los adaptadores IP proponen un método para controlar la generación con una imagen sin ningún cambio en el modelo subyacente.
La idea central detrás del adaptador IP es un mecanismo de atención cruzada desacoplada que permite la combinación de imágenes de origen con texto y características de imagen generadas. Esto se logra agregando una capa de atención cruzada separada, lo que permite que el modelo aprenda características específicas de la imagen.
Cuándo usar y no
Los adaptadores IP son livianos, adaptables y rápidos. Sin embargo, su desempeño depende en gran medida de la calidad y la diversidad de los datos de capacitación. Los adaptadores IP generalmente tienden a funcionar mejor con el suministro de atributos estilísticos (por ejemplo, con una imagen de las pinturas de Mark Chagall) que nos gustaría ver en la imagen generada y podríamos tener dificultades para proporcionar control para detalles exactos, como pose.

El documento de Controlnet propone una forma de extender la entrada del modelo de texto a imagen a cualquier modalidad, lo que permite un control de grano fino de la imagen generada.
En la formulación original, Controlnet es un codificador del modelo de difusión previamente capacitado que toma, como una entrada, los datos de solicitud, ruido y control (por ejemplo, mapa de profundidad, puntos de referencia, etc.). Para guiar la generación, los niveles intermedios de la red de control se agregan a las activaciones del modelo de difusión congelada.
La inyección se logra a través de convoluciones cero, donde los pesos y los sesgos de las convoluciones 1 × 1 se inicializan como ceros y aprenden gradualmente transformaciones significativas durante el entrenamiento. Esto es similar a cómo se entrenan a Loras, intializados con 0 comienzan a aprender de la función de identidad.
Cuándo usar y no
Los controles de control son preferibles cuando queremos controlar la estructura de salida, por ejemplo, a través de puntos de referencia, mapas de profundidad o mapas de borde. Debido a la necesidad de actualizar los pesos del modelo completo, el entrenamiento podría llevar mucho tiempo; Sin embargo, estos métodos también permiten el mejor control de grano fino a través de señales de control rígidas.
Resumen
- Dreambooth: Ajuste completo de modelos para sujetos personalizados de estilos, alto nivel de control; Sin embargo, lleva mucho tiempo entrenar y son aptos para un solo propósito.
- Inversión textual: El aprendizaje basado en la incrustación para nuevos conceptos, el bajo nivel de control, sin embargo, rápidamente para entrenar.
- Lora: Ajuste ligero de los modelos para nuevos estilos/caracteres, nivel medio de control, mientras que rápido para entrenar
- Hypernworks: Separe el modelo para predecir los pesos de Lora para una solicitud de control dada. Nivel de control más bajo para más estilos. Tarda tiempo para entrenar.
- Adaptador IP: Guía de estilo/contenido suave a través de imágenes de referencia, nivel medio de control estilístico, liviano y eficiente.
- Controlnet: El control a través de pose, profundidad y bordes es muy preciso; Sin embargo, lleva más tiempo entrenar.
Mejor práctica: Para obtener los mejores resultados, la combinación del adaptador IP, con su guía estilística más suave y control para la disposición de pose y objetos, produciría los mejores resultados.
Si desea entrar en más detalles sobre la difusión, consulte Este artículoque he encontrado muy bien escrito accesible para cualquier nivel de aprendizaje automático y matemáticas. Si desea tener una explicación intuitiva de las matemáticas con comentarios geniales. este video o este video.
Para buscar información sobre ControlNets, encontré esta explicación muy útil Este artículo y Este artículo Podría ser una buena introducción también.
¿Le gustó el autor? ¡Mantente conectado!
¿Me he perdido algo? No dudes en dejar una nota, comentar o enviarme un mensaje directamente sobre LinkedIn o Gorjeo!
Las opiniones en este blog son propias y no atribuibles a o en nombre de Snap.