Table of Contents
- ¿Qué es la CFG Scale?
- ¿Qué hace la CGF Scale?
- Utilización de la CFG Scale
- ¿Cuál es el mejor valor para utilizar?
- CFG y Modelos destilados (LCM, Turbo y Lightning)
- Comprender la CFG
- Classifier guidance
- Classifier Free Guidance
- Clasificación sin Classifier
- Clasificador Escala de orientación libre
- CFG e inferencia
- Entrenamiento del modelo para CFG
- Crear con CFG Scale
Do not index
Do not index
canonical-url
Publish
Publish
De todos los parámetros para la generación de imágenes con Stable Diffusion, destaca como palanca esencial la Classifier-Free Guidance, conocida como CFG Scale, que dicta el grado en que las imágenes generadas se ajustan a las instrucciones del texto.
Comprender esta CFG scale y cómo utilizarla es, por tanto, esencial si se quiere aprovechar todo el potencial de la Stable Diffusion.
¿Qué es la CFG Scale?
La CFG Scale es un parámetro que regula la influencia de las instrucciones de texto en las imágenes generadas.
Es un valor numérico, generalmente entre 1 y 20, que influye en cómo Stable Diffusion interpreta y sigue la indicación de texto (el prompt) proporcionada por el usuario. Cuanto mayor sea el valor, mayor será la Classifier-Free Guidance.
En la práctica, la CFG Scale actúa principalmente modulando la propagación de la información entre el indicador de texto y las capas latentes del modelo de difusión y definiendo la ponderación de los vectores de ruido utilizados durante la inferencia.
Un valor alto mejora la propagación de la información textual y aumenta la ponderación de los vectores coherentes, lo que se traduce en un mejor cumplimiento de las instrucciones y en imágenes más realistas.
En el contrario, un valor más bajo reduce la propagación y disminuye la ponderación, lo que permite introducir en la imagen conceptos más divergentes y sorprendentes
¿Qué hace la CGF Scale?
Veamos como modificar la CFG Scale modifica el resultado de un prompt. Para este experimento, usaré el prompt de abajo y generaré las imágenes manteniendo la seed con el modelo JuggernautXL.
portrait of an humanoid tiger wearing a colorful jacket, geometric patterns, colorful, bokeh, cinematic, epic, dramatic light, beautiful, sharp focus, elegant, ambient dynamic composition, bright colors, cheerful
Con un valor de 1, el seguimiento de la imagen es impreciso, pero le faltan detalles y elementos, los colores carecen de fuerza y la imagen es un poco sosa.
Con 3, el resultado ya es más interesante y los estilos y detalles de la indicación empiezan a destacar.
Con una escala de 7, se respeta toda la indicación y la imagen es más vívida.
Aumentar el valor de CFG no cambiará mucho el respeto de la indicación, pero aumentará la saturación del color y el contraste: por encima de 10 este efecto empieza a notarse mucho y acaba dañando la imagen más que otra cosa.
El efecto es prácticamente el mismo con otras indicaciones o cambiando el modelo:
A captivating portrait of a 43 years old bearded man, rain drop, amazing skin details. Dreamlike scenes with epic composition, high quality photo, selective focus, bokeh, hall of mirrors. Shot with a Nikon Z9, 50mm f/1.2 lens (modelo Dreamshaper XL)
sunday morning, warm venetian shadows, summer, a woman laying in bed, peaceful place, closed eyes, daily life, graphic novel illustration, comics, laced hatching, sketch, low lighting, pale blue gradient, warm gradient, subtle outline(modelo Cheyenne)
Utilización de la CFG Scale
Como hemos visto, el efecto de valores extremos como 1 o 15 es muy claro, pero según las indicaciones y el modelo, los valores entre 3 y 10 aportan cambios más sutiles.
¿Cuál es el mejor valor para utilizar?
La elección del valor adecuado depende de los resultados que desee obtener y de la complejidad de la solicitud. La decisión es suya, pero a menudo es mejor experimentar con distintos valores para ver si los resultados más creativos o los que se ciñen estrictamente a las descripciones se adaptan mejor a sus deseos o necesidades.
7 es un buen valor de partida para sus pruebas. 5 podría ser mejor para un resultado creativo de una pregunta sencilla, y 10 para una pregunta compleja que desee que se respete mejor
Recuerde que la CFG Scale es siempre un compromiso entre precisión y diversidad: sus imágenes son más precisas y cercanas a la indicación con un valor más alto, a expensas de la diversidad de imágenes.
CFG y Modelos destilados (LCM, Turbo y Lightning)
Como las versiones destiladas de SDXL, como Turbo o Lightning, funcionan con muchos menos pasos de generación de imágenes, el efecto de la escala CFG se modifica y los valores recomendados son diferentes.
Para estos modelos, el CFG recomendado es mucho menor: utilice valores entre 1 y 3.
Comprender la CFG
El término CFG significa Classifier Free Guidance orientación , es decir, orientar el modelo de emisión sin utilizar un clasificador. Pero para entender lo que eso significa, primero hay que explicar qué orientación con un clasificador
Classifier guidance
La Classifier guidance es una técnica utilizada en los modelos de difusión de imágenes como Stable Diffusion para influir en la generación de imágenes basadas en etiquetas o descripciones de texto
Al asignar etiquetas a las imágenes, este proceso dirige el modelo para generar imágenes específicas, como perros, en respuesta a la etiqueta "dog"
Imaginemos un modelo simplificado con 3 grupos de imágenes calificadas por 3 etiquetas: perro, robot y humano. Sin ninguna orientación, el modelo utilizará todas las imágenes de un grupo para crear una imagen de su etiqueta. Pero luego podría utilizar imágenes que correspondan a dos etiquetas, como un humano jugando con un perro o un perro-robot.
Aquí es donde entra en juego la Escala de orientación: este parámetro ajusta la precisión con la que el modelo localiza la etiqueta dada, permitiendo un control más fino sobre los resultados de la generación de imágenes
Por tanto, con una escala baja, la imagen producida utilizará casi todas las imágenes disponibles para una etiqueta. Pero con una escala alta, el resultado estará muy orientado hacia las imágenes menos ambiguas. Para un perro, sólo tomará imágenes que representen un perro y nada más, excluyendo todas las imágenes que pudieran representar otra cosa.
Para ello, la Guía utiliza un Clasificador, un modelo específico que sirve de guía y permite al modelo de difusión orientar sus resultados.
Classifier Free Guidance
La orientación con clasificador puede mejorar mucho los resultados de las imágenes generadas por un modelo de difusión al dirigir los resultados hacia las imágenes no equívocas que corresponden a la indicación del texto, pero esta técnica requiere un modelo adicional que complica el entrenamiento del modelo de difusión y su utilización.
Clasificación sin Classifier
Por ello, los investigadores desarrollaron una solución para obtener una orientación similar, pero sin utilizar un clasificador. En lugar de utilizar dos modelos separados (difusión y orientación), crearán un modelo de difusión condicional.
Técnicamente, el esfuerzo de clasificación corre a cargo de la U-Net, que predice el ruido durante el muestreo, por lo que la orientación no carece realmente de clasificación, sino que está integrada en el modelo principal.
Clasificador Escala de orientación libre
Al igual que con la guía con clasificador, necesitamos poder controlar hasta qué punto la imagen generada seguirá la guía sin clasificador. Esta es nuestra CFG Scale.
Por tanto, la CFG Scale controlará en qué medida influye la indicación en el resultado de la emisión.
Tomemos nuestro modelo de ejemplo y sus tres etiquetas y consideremos cómo influirá la CFG Scale en la generación de una imagen con una indicación sencilla como "a robot":
Desactivando el guiado (CFG Scale: -1), se ignora por completo la indicación. La emisión utiliza todas las imágenes y tiene tantas posibilidades de crear la imagen de un perro como la de un robot o un humano.
Con una CFG Scale media (entre 5 y 10), el modelo se orienta de modo que sólo tenga en cuenta las imágenes correspondientes a la indicación (con poca ambigüedad). Las imágenes generadas seguirán representando robots, pero serán diferentes.
Al aumentar la CFG Scale a un valor más alto, el modelo sólo tendrá en cuenta las imágenes de robots menos ambiguas y más estereotipadas. Las imágenes generadas representarán robots bastante similares entre sí.
CFG e inferencia
En la práctica, la CFG interviene en todas las etapas de muestreo de la generación de imágenes:
- Empezamos con una imagen aleatoria.
- Calculamos un ruido totalmente aleatorio y otro condicionado por la indicación.
- La imagen se modifica para aproximar el resultado entre los dos ruidos calculados, y la CFG Scale determina el alcance de esta modificación.
- Ajustamos el ruido de la imagen mediante el programador de ruido.
A continuación, se repiten los pasos 2 a 4 para cada etapa.
Por tanto, la CFG se aplica en cada etapa e implica el cálculo de ambos ruidos - el primero está condicionado por el texto, el otro no
Entrenamiento del modelo para CFG
Por lo tanto, el modelo no condicionado debe predecir el ruido con y sin condicionamiento. En principio, habría que entrenar un modelo condicionado y un modelo no condicionado.
En la práctica, es posible simplificar las cosas entrenando un único modelo capaz de calcular el ruido con y sin condicionamiento, simplemente ignorando ocasionalmente el condicionamiento durante el entrenamiento sustituyendo el texto condicional por una descripción vacía.
Crear con CFG Scale
La CFG Scale, o Classifier-Free Guidance Scale, es por tanto un parámetro crucial para explotar todo el potencial de la Stable Diffusion.
Espero que al ayudarte a comprender mejor cómo funciona la CFG Scale y su impacto en la generación de imágenes, puedas perfeccionar tu uso de la Stable Diffusion y crear imágenes cada vez más impresionantes y fieles a tu inspiración.
No olvide que la CFG Scale es un compromiso entre precisión y diversidad. Los valores más altos favorecen la fidelidad a la indicación, mientras que los más bajos dejan más espacio a la variedad y la sorpresa. Explore sus distintas posibilidades y deje volar su imaginación para crear obras maestras únicas gracias a la Stable Diffusion.
Written by