Cómo funciona Nightshade

Descubre cómo funciona Nightshade

Confundir IA generadora de imágenes con datos envenenados

Al igual que las altas murallas de un castillo, Nightshade puede ser una forma de defender la propiedad intelectual contra el uso ilegítimo. Foto de Nabih El Boustani en Unsplash

La reciente aparición de Nightshade, un algoritmo que permite crear datos envenenados para confundir a los modelos de IA generadores de imágenes, ha dado nueva vida a la discusión sobre los ataques adversarios a dichos modelos. Esta discusión también se ve influenciada por consideraciones éticas y sociales, ya que dichos ataques pueden ofrecer una forma para que artistas, creadores de contenido y otros puedan defenderse si sienten que han sido tratados injustamente debido a que los modelos de IA utilizan su contenido sin permiso, pero también podrían utilizarse con malas intenciones.

En este artículo, quiero explicar los conceptos fundamentales de Nightshade. Para ello, primero explicaré la idea general del envenenamiento de datos y resaltaré sus limitaciones. Luego te presentaré Nightshade, un algoritmo que supera algunas de las desventajas del enfoque ingenuo. Por último, discutiré brevemente algunas consideraciones éticas que surgen de su uso.

Envenenamiento de datos

¿Veneno o no? Foto de Fiona Smallwood en Unsplash

Comencemos con la idea del envenenamiento de datos en general. Digamos que quieres influenciar a las IA generadoras de imágenes de tal manera que no puedan generar ciertos tipos de imágenes o que no puedan entender ciertos comandos. ¿Por qué querrías hacer esto? Las razones más probables y no destructivas podrían ser que eres un artista y no quieres que un modelo generador de imágenes pueda generar imágenes en tu estilo, o que has creado un nuevo personaje de cómic que no debería ser reproducido por un modelo generador de imágenes sin tu permiso.

Entonces, ¿qué haces? Comencemos por entender un concepto básico de cómo aprende la IA generativa. Por supuesto, una IA generadora de imágenes depende de sus datos de entrenamiento. Más precisamente, se basa en el hecho de que hay imágenes que muestran un determinado concepto (digamos un perro) y que esas imágenes están asociadas con un texto que describe su contenido (por ejemplo, un título de imagen como un lindo perro con gafas). A partir de eso, aprende a extraer ciertas propiedades visuales que comparten las imágenes, que también comparten ciertas palabras clave en sus títulos. Es decir, el modelo aprende cómo son los perros al aprender las propiedades de todas esas imágenes que mencionan “perro” en su título.

Ahora, ¿qué sucedería si introducirías imágenes que muestran perros, pero cuyos títulos siempre mencionan “gato”? Al final, perro y gato son solo símbolos de lo que se puede ver en las imágenes. Si las imágenes que muestran perros están etiquetadas como gatos, el modelo simplemente aprenderá que el símbolo “gato” se refiere a lo que nosotros llamaríamos perro. Sin ningún conocimiento previo del idioma inglés, ¿cómo sabría el modelo que las etiquetas están mal si son tan consistentes? Si no hablas alemán y te mostrara cien imágenes de perros y te dijera que su etiqueta es “Katze” (gato en alemán), asumirías que “Katze” es la palabra en alemán para perro. No sabrías que la palabra en alemán real para perro es “Hund”, y “Katze” significa gato porque solo aprendiste la correlación entre las etiquetas y las propiedades de las imágenes.

El proceso descrito anteriormente se llama envenenamiento de datos, que se deriva de la idea de que se introducen ejemplos de datos que tienen un efecto malicioso en el entrenamiento del modelo (como el veneno que tiene un efecto malicioso en la salud).

Ataques de envenenamiento ingenuos

Un lindo perro con gafas, pensando en cómo atacar a un modelo generador de imágenes. Foto de Jamie Street en Unsplash

Como enfoque ingenuo, podrías tomar la idea mencionada anteriormente y usarla para confundir a modelos de aprendizaje automático como Stable Diffusion. Digamos que quieres hacer que Stable Diffusion cree imágenes de gatos cuando se le solicite perros. Para eso, necesitarías crear muchas imágenes de gatos, etiquetarlas como perros y subirlas a internet. Luego esperas que esas imágenes se raspen para el próximo entrenamiento de un modelo de Stable Diffusion.

Si muchas de tus imágenes se convierten en parte del próximo entrenamiento, eso podría realmente llevar a la confusión entre gatos y perros. Sin embargo, hay algunas desventajas en ese enfoque:

  • Necesitarás muchas imágenes. Dado que hay muchas otras imágenes de gatos que no están envenenadas, necesitas una gran cantidad de imágenes para tener algún impacto. Si solo proporcionas 10 imágenes envenenadas y hay 1000 imágenes de gatos no envenenadas en el otro lado, casi no tienes influencia en el entrenamiento. Por lo general, puedes esperar envenenar el 20% o más de todas las imágenes para que tenga un efecto.
  • Ten en cuenta que no sabes qué imágenes exactamente formarán parte del entrenamiento. Por lo tanto, si quieres introducir 500 imágenes envenenadas en el entrenamiento, es posible que debas crear 5000 y distribuirlas por todo Internet, porque solo algunas de ellas pueden ser rascadas para el entrenamiento.
  • Si subes imágenes de gatos etiquetadas como perros, los humanos pueden detectarlo fácilmente. Antes de usar tus imágenes para el entrenamiento, pueden ser filtradas por una puerta de calidad (ya sea humana o una IA especializada).

Nightshade

El algoritmo de nightshade recibe su nombre de una planta muy venenosa. Foto de Georg Eiermann en Unsplash

Ahora echemos un vistazo a Nightshade, un algoritmo que tiene como objetivo superar esas desventajas. Para ello, Nightshade utiliza dos conceptos clave: crea imágenes que tienen el máximo efecto en el modelo (lo que reduce la necesidad de imágenes totales) y que son indistinguibles de las imágenes no envenenadas para los humanos.

Primero, ¿cómo obtener el máximo efecto de las imágenes? En teoría, querrías usar esas imágenes que generen el mayor cambio en el gradiente durante el entrenamiento. Sin embargo, para averiguar cuáles son esas imágenes, tendrías que observar el proceso de entrenamiento, lo cual no puedes hacer en general. Los autores de Nightshade proponen una solución diferente: toman una imagen generada por el modelo que quieres envenenar. Es decir, si quieres que las imágenes de gatos se etiqueten como perros, le pides al modelo una simple solicitud como una imagen de un gato. La imagen que crea será una representación muy típica de lo que el modelo entiende como un gato. Si esta imagen es vista durante el entrenamiento, tendrá una influencia muy alta en la comprensión del concepto de gato (mucho mayor que imágenes de gatos atípicas). Por lo tanto, si envenenas esa imagen, obtendrás un efecto muy grande en el entrenamiento del modelo.

Segundo, dijimos que las imágenes de Nightshade deberían ser indistinguibles de las imágenes no envenenadas. Para alcanzar este objetivo, Nightshade toma imágenes naturales y aplica una perturbación (es decir, un pequeño cambio en los valores de los píxeles) hasta que la imagen sea percibida de manera diferente por el modelo. Continuando con nuestro ejemplo de perros vs. gatos de arriba, tomaríamos una imagen generada por el modelo que muestra un gato. A esta imagen la llamamos imagen de anclaje o xᵃ en las fórmulas siguientes. Luego, tomamos una imagen muy típica de un perro, a la que nos referimos como xₜ. A esta imagen xₜ, le agregamos la perturbación δ de manera que optimice el siguiente objetivo:

donde F() es el extractor de características de la imagen utilizado por el modelo, Dist es una función de distancia y p es un límite superior para δ, para evitar que la imagen cambie demasiado. Eso significa que queremos encontrar δ de manera que la distancia entre las características de la imagen del perro perturbado (F(xₜ + δ)) y la imagen de anclaje (que muestra el gato, F(xᵃ)) sea lo más pequeña posible. En otras palabras, queremos que las dos imágenes se vean similares desde la perspectiva del modelo. Ten en cuenta que F(x), el resultado del extractor de características, es cómo el modelo ve la imagen en el espacio de características, que es diferente de cómo tú ves la imagen (en el espacio de píxeles, si quieres).

En las siguientes imágenes, no podrás detectar ninguna diferencia entre las imágenes originales y las imágenes envenenadas (al menos yo no puedo). Sin embargo, en su espacio de características, difieren mucho. Por ejemplo, las características de la imagen envenenada del perro son muy similares a las características de una imagen de gato, por lo que para el modelo casi parece un gato.

Dos ejemplos de imágenes envenenadas. Las imágenes en la línea inferior son versiones alteradas de las superiores. Aunque un humano no puede ver ninguna diferencia, las imágenes originales y envenenadas se ven muy diferentes desde la perspectiva de un modelo. Imagen tomada del documento Nightshade[1].

Con esta técnica, podemos generar imágenes que tienen un gran efecto en el entrenamiento del modelo y que no se pueden detectar como envenenadas. Si subieras estas imágenes a internet, ningún humano sospecharía y, por lo tanto, es muy improbable que sean filtradas por cualquier filtro de calidad. Además, al ser tan poderosas, no necesitas envenenar el 20% de todas las imágenes de perros en los datos de entrenamiento, como lo harías con el enfoque ingenuo. Con Nightshade, de 50 a 100 imágenes son generalmente suficientes para arruinar el rendimiento de un modelo en un concepto en particular.

Generalización

Más allá de los puntos que acabamos de ver, Nightshade tiene otra ventaja interesante, que es su capacidad para generalizar de múltiples formas.

En primer lugar, envenenar una palabra clave también influye en conceptos relacionados lingüística o semánticamente. Por ejemplo, envenenar imágenes del concepto perro también influye en palabras clave como cachorro o husky, que están relacionadas con perro. En los siguientes ejemplos, se ha envenenado el concepto perro y esto también impide la generación de cachorros y huskies.

Un ejemplo de cómo envenenar un concepto (perro) también impide la generación de conceptos relacionados (cachorro, husky, lobo). Imagen tomada del documento Nightshade[1].

De manera similar, envenenar un concepto como fantasía también influye en conceptos relacionados semánticamente, pero no afecta a otros conceptos, como se puede ver en el siguiente ejemplo. Como puedes ver, un concepto como dragón, que está cercano a la fantasía envenenada, se ve afectado, mientras que un concepto como silla no lo está.

Un ejemplo de cómo envenenar un concepto (fantasía) también impide conceptos relacionados (por ejemplo, dragón). Observa que los conceptos no relacionados (por ejemplo, silla) no se ven afectados. Imagen tomada del documento Nightshade[1].

Además, cuando se envenenan múltiples conceptos, la capacidad para generar imágenes puede colapsar por completo. En el siguiente ejemplo, se han envenenado 100, 250 o 500 conceptos. A medida que se envenenan más conceptos, la generación de otros conceptos que no han sido envenenados en absoluto (como persona o pintura en el ejemplo) también se ve gravemente impedida.

Un ejemplo de cómo envenenar muchos conceptos dificulta la capacidad de generar imágenes en general. Observa que los conceptos persona, pintura y concha de mar no han sido envenenados específicamente. Imagen tomada del documento Nightshade[1].

Además de eso, los efectos de Nightshade también se generalizan en diferentes modelos objetivo. Recuerda que usamos el modelo que queríamos atacar para generar las imágenes ancla, que nos ayudaron a construir nuestras imágenes envenenadas. La idea detrás de eso era que esas imágenes son muy prototípicas y, por lo tanto, tendrían una fuerte influencia en el entrenamiento. También necesitábamos acceso al extractor de características para optimizar la perturbación. Naturalmente, la influencia de Nightshade es más fuerte si estas imágenes ancla son generadas por el modelo que se va a atacar y si el extractor de características de ese modelo se puede usar para la optimización. Sin embargo, incluso si las imágenes ancla y el extractor de características provienen de otro modelo, el envenenamiento funciona bastante bien. Es decir, podrías generar tus imágenes envenenadas con la ayuda, digamos, de “Stable Diffusion 2”, incluso si quieres atacar “Stable Diffusion XL”. Esto puede ser de interés si no tienes acceso al modelo que realmente quieres atacar.

Preocupaciones éticas

Hasta ahora, presenté Nightshade como un método que puede ser utilizado por los creadores de contenido para defender sus propiedades intelectuales contra un uso ilegítimo. Sin embargo, como siempre hay dos caras en una moneda, el envenenamiento de datos también puede ser utilizado de manera perjudicial, ya sea intencionalmente o no. No hace falta decir que el envenenamiento de datos puede ser utilizado para perturbar deliberadamente modelos de IA generativos, causar daños económicos a sus creadores y obstaculizar la investigación científica. Una compañía de IA que destruye los datos de entrenamiento de sus competidores para mejorar su propio modelo, solo es uno de los innumerables ejemplos de usos malignos del envenenamiento de datos. Sin embargo, incluso si solo quieres defender tu propio contenido, acabamos de ver que envenenar muchos conceptos dificulta la capacidad de la IA para generar imágenes en general. Por lo tanto, si muchas personas usan Nightshade, esto puede destruir las IA generadoras de imágenes incluso en aquellos conceptos que serían legítimos de usar. Por lo tanto, incluso con la intención de proteger su propio contenido, un creador de contenido que usa Nightshade puede causar daños no deseados. Si se debe aceptar o no tal daño colateral es una cuestión para un debate abierto y enérgico.

Además de eso, como puedes imaginar, atacar las capacidades de la IA generativa es una batalla de altibajos constantes. Cada vez que se inventan nuevos ataques, la otra parte presenta nuevos mecanismos de defensa. Aunque los autores afirman que Nightshade es bastante resistente contra los mecanismos de defensa comunes (por ejemplo, detectar imágenes como envenenadas por un clasificador especializado u otras propiedades), es solo cuestión de tiempo hasta que se descubran nuevas defensas que contrarresten a Nightshade. Desde esa perspectiva, Nightshade puede permitir a los creadores proteger su contenido por el momento, pero puede volverse obsoleto más pronto que tarde.

Resumen

Como acabamos de ver, Nightshade es un algoritmo para crear conjuntos de datos envenenados que va más allá del enfoque ingenuo de etiquetar datos con etiquetas incorrectas. Crea imágenes que no pueden ser detectadas como envenenadas por los humanos y que pueden influir fuertemente en una IA generadora de imágenes incluso con un bajo número de ejemplos. Esto aumenta drásticamente la probabilidad de que las imágenes envenenadas se conviertan en parte del entrenamiento y tengan un efecto allí. Además, promete generalizarse de varias formas, lo que hace que los ataques sean más poderosos y menos fáciles de defender. Con eso, Nightshade ofrece una nueva forma de luchar contra el uso ilegítimo de contenido para el entrenamiento de modelos, para el cual no se ha dado permiso por parte de sus creadores, pero también incluye el potencial de uso destructivo y, por lo tanto, reclama un debate sobre sus implicaciones éticas. Si se utiliza con intenciones nobles, Nightshade puede ayudar a defender propiedades intelectuales como el estilo de un artista o inventos.

Fuentes

Aquí está el artículo original que presenta Nightshade:

  • [1] Shan, S., Ding, W., Passananti, J., Zheng, H., & Zhao, B. Y. (2023). Prompt-Specific Poisoning Attacks on Text-to-Image Generative Models. arXiv preprint arXiv:2310.13828.

¿Te gustó este artículo? Sígueme para recibir notificaciones sobre mis publicaciones futuras.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Los adolescentes se esfuerzan por ampliar la alfabetización en IA

Algunos adolescentes están pidiendo a sus escuelas que brinden experiencias de aprendizaje de IA más amplias.

Inteligencia Artificial

Tiempo 100 IA ¿Los más influyentes?

La revista Time acaba de publicar su lista Time 100 AI, destacando a 100 figuras clave en IA en categorías como líder...

Inteligencia Artificial

Tencent AI Lab presenta GPT4Video un modelo de lenguaje grande multimodal unificado para la comprensión de instrucciones y la generación consciente de seguridad.

El problema de comprensión y generación de videos ha sido abordado por investigadores del Laboratorio de IA de Tencen...

Inteligencia Artificial

El Hackathon ofrece un vistazo del potencial cuántico

El Centro Nacional de Computación Cuántica del Reino Unido recientemente llevó a cabo su segundo hackathon cuántico e...

Inteligencia Artificial

El equipo de Estabilidad AI presenta FreeWilly1 y FreeWilly2 Nuevos Modelos de Lenguaje de Acceso Abierto y Gran Tamaño (LLMs)

FreeWilly1 y su sucesor FreeWilly2 son nuevos y potentes modelos de lenguaje de código abierto (LLMs) desarrollados p...