Memorization In Stable Diffusion Is Unexpectedly Driven by CLIP Embeddings
Este artículo revela que la memorización en Stable Diffusion está impulsada inesperadamente por la duplicación estructural del embebido de fin de texto en los tokens de relleno, lo cual amplifica su influencia, y propone estrategias simples durante la inferencia para mitigar este problema sin degradar la calidad de la imagen.
Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo
El Gran Problema: El Modelo está "Atascado" en Memorias
Imagina a un artista talentoso (Stable Diffusion) que ha sido entrenado con millones de fotos. A veces, cuando le pides a este artista que dibuje algo nuevo, copia accidentalmente una foto específica de su conjunto de entrenamiento exactamente, píxel por píxel. Esto se llama memorización. Es un riesgo para la privacidad y los derechos de autor porque el modelo no está creando algo nuevo; simplemente está regurgitando datos antiguos.
Los científicos han estado tratando de averiguar por qué sucede esto. La mayoría de las teorías se centraban en las palabras que escribes (el prompt) o en las matemáticas internas del modelo. Sin embargo, este artículo encontró un culpable sorprendente escondido en el "relleno" de las instrucciones.
La Configuración: Cómo el Artista Lee las Instrucciones
Para entender el descubrimiento, necesitamos ver cómo el artista lee tus instrucciones.
- El Prompt: Escribes una frase como "Un gato en una alfombra".
- El Límite: El artista solo puede leer instrucciones hasta cierta longitud (77 "tokens" o partes de palabras).
- El Relleno: Si tu frase es corta (por ejemplo, solo 10 palabras), la computadora debe llenar los 67 espacios vacíos restantes para alcanzar el límite de 77.
La Vieja Forma (Stable Diffusion v1.4):
La computadora llena esos espacios vacíos con un token especial de "Fin del Texto" (llamémoslo <eot>).
- La Analogía: Imagina que estás leyendo una historia, pero la última página está en blanco. En lugar de dejarla en blanco, la impresora sigue estampando las palabras "FIN" una y otra vez hasta que la página está llena.
- Así, para un prompt corto, el artista ve:
[Tus Palabras] + [FIN] + [FIN] + [FIN]...(repetido más de 60 veces).
El Descubrimiento: El Efecto "Cámara de Eco"
Los autores del artículo descubrieron que el artista depende en gran medida de estos sellos repetidos de "FIN" para decidir qué dibujar, especialmente cuando memoriza imágenes.
Aquí está la cadena de eventos que encontraron:
- Desajuste en el Entrenamiento: El sistema que traduce palabras a matemáticas (llamado CLIP) fue entrenado para tratar el primer token "FIN" como el resumen más importante de toda la frase. Aprendió a ignorar las palabras reales y los tokens de relleno.
- El Fallo: Como la computadora llena el espacio vacío con más tokens "FIN", el artista de repente ve el token "FIN" repetido docenas de veces.
- La Amplificación: El artista piensa: "¡Vaya, hay tantos tokens 'FIN'! ¡Esto debe ser la parte más importante de la instrucción!".
- El Resultado: El modelo se enfoca en exceso en este token repetido. Si ese patrón específico de "FIN" estaba asociado con una imagen con derechos de autor específica durante el entrenamiento, el modelo se queda atascado en un bucle y reproduce esa imagen exacta, ignorando tu solicitud real.
La Metáfora:
Imagina un coro donde el director (el modelo) debería escuchar al solista (tu prompt). Pero, los miembros del coro están gritando "¡ALTO!" (el token de relleno) una y otra vez. El director se siente tan abrumado por los gritos que deja de escuchar al solista y comienza a marchar en círculos basándose en las órdenes de "¡ALTO!". Si la orden de "¡ALTO!" estaba previamente vinculada a un movimiento de baile específico, el coro simplemente repite ese baile, ignorando la música.
El Giro Sorprendente: Las Palabras No Importan Tanto
Los autores probaron esto eliminando las palabras reales del prompt y reemplazándolas con el token "Fin".
- Resultado: El modelo aún podía generar una imagen reconocible.
- Conclusión: Las palabras reales que escribiste (el prompt) contribuyen muy poco a la parte de memorización del proceso. Los tokens de "relleno" son los que hacen el trabajo pesado para el comportamiento de copia.
La Solución: Dos Soluciones Simples
El artículo propone dos formas fáciles de detener esto sin reentrenar todo el modelo ni ralentizarlo. Ambas son correcciones "en tiempo de inferencia", lo que significa que puedes aplicarlas justo antes de que se genere la imagen.
Corrección 1: Cambiar el Token de Relleno
- La Acción: En lugar de llenar el espacio vacío con "FIN" (
<eot>), reemplázalo con un símbolo neutral como un signo de exclamación (!). - Por qué funciona: Esto rompe la cámara de eco. El modelo ya no ve 60 copias del token "Fin". Ve un símbolo neutral que no lleva el mismo peso pesado.
- Bonus: También ocultan (enmascaran) el único token "Fin" original para estar extra seguros.
Corrección 2: Silenciar el Relleno
- La Acción: Mantén los tokens como están, pero simplemente baja el volumen (enmascara) en los tokens "Fin" repetidos para que el modelo preste menos atención a ellos.
- Por qué funciona: Reduce la influencia del "eco" sin cambiar el tokenizador.
La Prueba: Por qué la Versión 2.1 es Mejor
Los autores notaron que Stable Diffusion v2.1 (una versión más nueva) no tiene este problema de memorización tan grave.
- ¿Por qué? Resulta que los creadores de v2.1 arreglaron este problema por accidente. Cambiaron a un sistema de texto diferente (OpenCLIP) que utiliza un símbolo neutral para el relleno en lugar de repetir "FIN".
- La Lección: El hecho de que v2.1 dejara de memorizar tanto naturalmente demuestra que el "token Fin repetido" fue de hecho la causa principal del problema en v1.4.
Resumen
- El Problema: Stable Diffusion a veces copia imágenes de entrenamiento exactamente.
- La Causa: Los prompts cortos se llenan con tokens repetidos de "Fin del Texto". El modelo confunde estos tokens repetidos con la parte más importante de la instrucción, lo que hace que se "sobreajuste" y memorice imágenes específicas.
- La Solución: Cambiar el token de relleno por algo neutral (como
!) o silenciar los tokens repetidos. Esto detiene la memorización mientras mantiene alta la calidad de la imagen. - El Beneficio: Puedes usar esta corrección inmediatamente sin necesidad de reentrenar la IA ni detectar qué imágenes son riesgosas de antemano.
¿Ahogado en artículos de tu campo?
Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.