Cómo se hizo «Desalmados»
“Desalmados” será, si la campaña llega a buen término, la primera antología de microrrelatos e ilustraciones creados por inteligencia artificial.
¿Hasta qué punto podemos llamar arte a obras creadas por herramientas informáticas? ¿Es realmente creativo? ¿Acabaran desbancando a las creaciones humanas o las mejorarán? Si te interesa las respuestas a estas incógnitas, sigue leyendo este artículo.
Para saber más sobre el proyecto, visita este artículo ▶Desalmados: Verkami◀ donde contamos cómo ha nacido y en qué consiste. De aquí en adelante vamos a explicar qué técnicas hemos utilizado para crear las obras y a disertar sobre la creatividad y el papel de la tecnología en el arte.
Pero antes de entrar en cuestiones ténicas, ¿queréis saber de qué va este proyecto? Dentro vídeo 👀👇
¿Queréis algunos ejemplos de lo que se podrá encontrar? Dentro imágenes perturbadoras 👀👇
Las imágenes y los textos se han creado con herramientas diferentes pero que tienen una base similar: las redes generativas antagónicas.
- https://es.wikipedia.org/wiki/Red_generativa_antag%C3%B3nica
- https://www.iartificial.net/redes-neuronales-generativas-adversarias-gans/
Vamos a comenzar con la parte gráfica, porque ha supuesto más complejidad.
¿Cómo puede dibujar un ordenador?
Seguro que muchos conocéis herramientas que se han popularizado últimamente como @WOMBO o @Artbreeder, que lo han puesto muy fácil. Para “Desalmados” se han usado técnicas parecidas, aunque un poco más elaboradas para conseguir mejor calidad.
Aquí muestro algunos resultados decentes. Como podéis ver, hay estilos diferentes, algunos con detalles impresionantes y algunas abstracciones realmente inquietantes.
Si os interesa el tema, os recomiendo que paséis por el canal de @DotCSV, , que lo explica muy bien, o que echéis un vistazo a las cuentas de @RiversHaveWings, @ATNPassion, @danielrussruss y @advadnoun, o el canal divulgativo de @twominutepapers.
También podéis curiosear por twitter hashtags #aiart, #generativeart, #vqgan o #vqganclip. Veréis cómo están avanzando las técnicas en tiempo récord.
Ahora vamos al meollo.
¿Cómo funciona esto?
Resumiendo mucho, mucho, mucho, enseñamos a un ordenador unos cuantos millones de imágenes y sus textos descriptivos correspondientes. (Esto parece una brutalidad pero recordad que tenemos toooda internet a nuestra disposición, llena de datos 😉). La IA “aprende” a relacionar conceptos y si le pedimos que haga el proceso inverso… Es capaz de hacerlo! Digamos que se pone a generar imágenes aleatorias. Como ya “sabe” relacionar imagen y texto, comprueba si esas manchas se parecen a la descripción pedida. Si es así, sigue adelante. Si no, vuelve a probar suerte.
Es un tema complejo y no quiero entrar aquí en detalles demasiado técnicos, pero vuelvo a recomendar los enlaces de arriba si queréis profundizar ☝☝ Para “Desalmados” se han combinado diferentes modelos y técnicas, aunque TODO es el resultado en bruto de la IA, sin más retoques, ni siquera correciones de brillo y contraste.
Algo sorprendente de esos sistemas es que se puede apreciar un grado importante de creatividad. Sí, sé que esto es polémico y discutible. A fin de cuentas, las creaciones no son más que imitaciones, pero es muy curioso observar cómo conceptos puramente abstractos como “miedo”, “terror”, o “inquietante” se traducen en imágenes muy concretas: expresiones faciales, paletas de colores, composiciones… que ponen en evidencia un punto importante:
LAS MÁQUINAS SABEN LO QUE NOS DA MIEDO.
Y SABEN CREARLO.
¿Cómo puede escribir un ordenador?
Antes de hacer una reflexión final sobre la creatividad, vamos a hablar de los microrrelatos y #gpt3
Ese inquietante muñeco de la imagen es un autómata de Pierre Jaquet-Droz del siglo XVIII que escribía con tinta y pluma de verdad, gracias a mecanismos de relojería.
#GPT3 es un modelo de lenguaje creado por OpenAI. Básicamente, es un sistema que se ha entrenado con millones de textos reales y “ha aprendido” (ojo a las comillas, que pondré muchas) cómo funciona el lenguaje escrito humano. La utilidad más inmediata es que es capaz de proseguir un texto dado. Es decir, que si le dices una serie de palabras, se “inventa” las que podrían venir a continuación
Mirad con atención este ejemplo 👇 Lo que está en verde es generado por la IA.
Un momento! ¿Juegos Olímpicos de Medellín? ¿En 2018? Pues sí, obviamente el sistema no es perfecto, ni de lejos, y mucho menos en castellano. En inglés los resultados son bastante más espectaculares. Pero vamos a fijarnos en unos detallitos…
1️⃣ La coherencia gramatical, que si bien no es perfecta, es aceptable. Ha partido de unas pocas palabras que he escrito yo y el texto generado:
- Mantiene la primera persona
- Enumeración, con varios infinitivos (no repite el verbo “aprovechar”)
Quizás no parece muy impresionante, pero queda claro que no son palabras elegidas completamente al azar.
Por cierto, podéis probar esta demo aquí: https://app.inferkit.com/demo
2️⃣ La coherencia semántica. Vale, que no han existido los Juegos Olímpicos de Medellín, y mucho menos en 2018 (2016, 2020..) pero vuelvo a insistir en que nos fijemos en los detalles. Cositas que sí ha tenido en cuenta la IA al generar ese (surrealista) texto:
- “Sabe” que los Juegos Olímpicos se celebran ¡en alguna ciudad! No ha escrito “Juegos Olímpicos de Colombia” ni “Juegos Reunidos de Medellín”. Aquí, probablemente la IA se haya basado en cientos de textos aparecidos en noticias, documentos, etc en los que aparece el patrón “Juegos Olímpicos de XXXX”. Donde XXX es una palabra variable, pero no una cualquiera, sino una que además cumpla ciertas condiciones (mayúscula, que aparezca también en otros ciertos contextos…).
Si las palabras que suelen acompañar a “Juegos Olímpicos”, por ejemplo, son palabras que también aparezcan en páginas de la wikipedia junto a “Capital: “… ya tiene una pista. 🕵️♀️
Digamos que GPT3 ata cabos, piensa varias posibilidades y se queda con una que “parezca” adecuada.
El problema es que #gpt3 no diferencia muy bien entre la realidad y la ficción, no “comprende”, solo “simula comprender”
✅ Ortografía
✅ Sintaxis/gramática
✅ Semántica
❌ Contexto (👈 ¿llegaremos a esto?)
Pero, sigamos…
Otro detallito respecto a la coherencia semántica es que la enumeración (comprar libros, viajar…) está llena de actos con cierta carga positiva, consistente con mi texto de entrada “echo de menos”
¿Estoy diciendo que s que GTP3 también entiende de sentimientos? 😱
No, en realidad, herramientas que analicen el “tono” y “sentimientos” existen desde mucho antes que GPT3. Se utilizan para moderar comentarios en foros, detectar spam, contenido potencialmente ofensivo….
Aquí otra pequeño demo, de Microsoft, para realizar análisis sentimental de textos: https://aidemos.microsoft.com/text-analytics
Y, volviendo a Desalmados, los textos se han generado usando las herramientas públicas y gratuitas de OpenAI, aunque hay muchos modelos similares.
La premisa ha sido tener la menor intervención humana 🤖 A diferencia de la generación de imágenes (que he comentado más arriba en este hilo), que implica bastante trabajo, experimentación y conocimientos técnicos para dar con resultados buenos, los microrrelatos son la creación, en bruto, tal cual, de la inteligencia artifical.
Veamos un ejemplo.
Ese es el microrrelato que GPT-3 ha creado a partir de la palabra clave “zombie”. Aquí lo tenemos traducido al castellano y vamos a volver a hablar de la coherencia.
Fijémonos en cómo hay una relación de conceptos:
[Pasado: cabeza rodando] ➡➡➡ [Presente: una cara en el cartón de leche]
Como personas humanas que somos, sobreentendemos lo que hay en medio… un desaparecido, una búsqueda, un anuncio pidiendo colaboración…. Lo cierto es que los textos generados por IA suelen tener muchos huecos, incluso puntos surrealistas. Un artículo periodísitico o de no-ficción suele resultar en fiasco (como vimos con los JJOO de Medellín) a pesar de la aparente corrección formal. Sin embargo, estas carencias encajan de fábula con el terror.
El arte del microrrelato (que se puede considerar casi un subgénero literario) requiere un gran dominio de la elipsis y la sugestión. Contar lo máximo con el mínimo de palabras, crear imágenes mentales con lo que se dice y con lo que no se dice. Incluso la absurdez o incongruencia puede ayudar a crear la sensación de extrañeza.
Pero, volviendo al texto que analizábamos… ¡aún hay más! ¡Más detalles!
Este texto fue generado pidiendo una temática zombi.
Zombi.
¿Dónde están los zombis en ese relato?
¿Dónde?
¿En qué palabra?
¿Alguien la puede identificar?
Es cierto, no hay zombies, no de forma literal, pero hay:
-
Una cabeza rodante.
-
Una cabeza rodante desaparecida.
-
Una cabeza rodante viva
-
Una cabeza rodante que ahora está conmigo.
-
Una cabeza rodante que podría ver su foto en el cartón de leche
Si a estas alturas, no os da miedito la IA, sois unos insensatos.
La magia
Una vez tenemos las herramientas necesarias para crear cosas de la nada, necesitamos un último toque para crear una obra redonda. Esta magia consiste en la conexión entre texto e imagen, al resultado que es más que la suma de las partes. Aquí sí hay un trabajo humano que ha consistido en seleccionar, emparejar y combinar palabras e ilustraciones. Mejor lo explico con ejemplos.
Algunos de las imágenes han sido creadas dando a la IA el propio texto del microrrelato. Como este:
¿No es maravillosa la abstracción del ojo representando la mirada y sorpresa, la mancha roja representando la interjección «¡mierda!» y la sutileza del terror en esta imagen?
En algunos casos, se ha utilizado el texto del microrrelato con algún añadido. Por ejemplo, la imagen de la izquierda es el resultado de la generación de una imagen a partir del texto “I don’t know what scares me more, the zombies or the people who killed them”. Y el de la derecha, añadiendo “engraving by Gustav Dore”. Ese dato adicional hace que la IA, que por supuesto conoce el estilo del famoso ilustrador, cree una imagen con su típica paleta de colores, incluso con sus típicas composiciones y características (¿intuimos una luna entre las nubes? ¿intuímos unas orejas de burro?)
Para otros microrrelatos, el propio ese texto era demasiado ambiguo o inespecífico y utilizarlo directamente como prompt arrojaba resultados con esacaso valor artístico, o demasiado repetitivos. Así que ahí ha entrado en juego la creatividad humana del que escribe estas líneas (no, no soy un robot).
Tomemos como ejemplo este texto:
When I grow up, I want to be a zombie slayer. Mom says that’s okay, but I have to learn how to read first.
Que traducido al castellano resulta:
Cuando sea mayor, quiero ser un cazador de zombis. Mamá dice que le parece bien, pero que primero tengo que aprender a leer.
Los resultados usando el texto literal como prompt (que sigifica algo así como petición) no decían mucho, carecían de ese factor sorpresa:
Así que para eso preparamos una descripción de lo que queremos ver. Tras muchas pruebas, di con un prompt que resultó en una imagen épica, estética y original. Claro está que no representa al narrador del microrrelato en la actualidad (suponemos que un niño pequeño), sino una imagen heroíca y onírica de aquello con lo que sueña.
El prompt utilizado fue algo similar a esto:
A female warrior at sunset, surrounded by zombies, oil painting | oriental warrior, epic painting:0.1 | zombie:-0.15
Y sí, eso implica modificar la traducción, pasamos de guerrero a guerrera.
Hay algo que no he contado hasta ahora. ¿Qué son esos números en este prompt?
A female warrior at sunset, surrounded by zombies, oil painting | oriental warrior, epic painting:0.1 | zombie:-0.15
No es más que una forma de indicarle al generador de imágenes que queremos combinar varias órdenes, y además darle a cada una un peso, que puede ser positivo o negativo.
Por ejemplo, veamos el resultado de este prompt:
Los muertos seguían saliendo de sus tumbas. Decían que si ellos no podían recuperar sus vidas, nadie lo haría:
Imaginemos que nos gusta es resultado, pero nos gustaría cambiar algún detalle. Podemos, no solamente cambiar el texto de entrada, sino cambiarlo con un control fino. Por ejemplo, esta imagen me gusta, pero quiero que parezca más una foto tomada de noche. Puedo añadir “de noche:0.1”, de noche “0.5” o cualquier valor entre -1 y 1, donde -1 significa que NO quiero que la imagen cumpla esa condición y +1 que sí. Aquí muestro un mosaico con diferentes valores. En el centro, la imagen original. A la izquierda, menos de noche; y la derecha: más de noche.
Con esto quisiera hacer una reflexión final sobre la creatividad. Espero haberos convencido de que GPT3 es una herramienta espectacular para la generación de textos y CLIP para la generación de imágenes. Pero, ¿su destino es sustituir el trabajo de los artistas humanos?
Personalmente, no lo creo.
Son, precisamente, herramientas útiles y su verdadero potencial reside en la capacidad de exprimirlas mucho más allá de su funcionamiento autónomo. Cierto es que permite que alguien sin habilidades manuales cree una ilustración de aspecto profesional, pero ¿consiste el arte únicamente en habilidades manuales? No lo creo. Aunque tales herramientas nos puedan ahorrar cierto trabajo “bruto”, siempre tendremos un componente subjetivo y social en el que reside el verdadero valor.
La exploración de modelos de inteligencia artificial está convirtiéndose en un arte emergente. El diseño de prompts, la búsqueda de palabras clave, la combinación de textos, conceptos, estilos, proporciones (lo que antes he llamado pesos), ambientes, paletas de color… puede llegar a ser extremadamente complicado.
Una vez conoocidos estos conceptos (que no sé si he explicado tan bien como me gustaría 😅), voy a poner un último ejemplo de Desalmados. Se trata de este relato:
No estoy seguro de cómo lo hizo, pero creo que el zombi entró en mi casa cuando yo estaba durmiendo. No sé cuánto tiempo lleva aquí. Siempre está muy callado y quieto. A veces, cuando lo veo de pie en la puerta de mi habitación, parece que está a punto de decir algo. No puedo imaginar lo que podría ser.
(Nota como escritor: por mucho que trabaje con GPT3 no puedo dejar de asombrarme con sus resultados. Ese texto me parece que tiene una carga bestial de dramatismo y suspense. Sí, da envidia)
¿Cómo ilustraríamos ese texto? Aquí tengo varias pruebas, con diferentes estilos, algunas son verdaderamente impresionantes y expresivas.
Pero, de nuevo hablo como escritor. ¿Podríamos darle alguna vuelta más? Es cierto que el relato sugiere una imagen muy potente: un zombi que se ha colado en casa y que está quieto, no ataca, y parece que quiere hablar. Pero si tiramos de imaginación, se me ocurre que podría acompañar al relato una imagen así:
Una habitación a oscuras. En el fondo, al lado de la puerta, hay un póster que muestra un retrato. La habitación está sucia y desordenada.
Y con eso podríamos sugerir que, quizás, ese zombi tímido no existe y añadir una capa más a la historia. Tengo que decir que todavía no he conseguido crear una imagen buena y bonita que represente eso y si lo hago, puede que la eliga para acompañar al relato. En definitiva, lo que quería contar con este ejemplo es que, sí, la intervención humana seguirá teniendo valor.
Ya he recomendado antes estas cuentas de twitter, pero me gustaría recordarlas porque creo que una vez conocido el proceso y técnicas, podréis apreciar el enorme trabajo que estos expertos están realizando, tanto en la creación de modelos como en la exploración:
@RiversHaveWings, @ATNPassion, @danielrussruss y @advadnoun, o el canal divulgativo de @twominutepapers.
Y esta colección de “estudios artísticos” de @remi_durant, que muestra los ragos, colores, composiciones, etc que CLIP extrae (o entiende) de diferentes artistas y movimientos:
https://imgur.com/gallery/BZzXLHY
Espero que este artículo haya servido de algo, si no educativo, al menos entretenido.
Como dice el refrán, teme más a los vivos que a los muertos. Las máquinas, si bien no están muertas, tampoco vivas.
Por ahora.