El escultor del caos

Modelos de difusión.

Modelos de difusión Modelos de difusión

Los modelos de difusión son sistemas de inteligencia artificial diseñados para generar imágenes detalladas a partir de un ruido estadístico sin sentido. Mediante la integración de un autoencoder, el modelo CLIP y la red UNET, esta tecnología transforma el caos numérico en representaciones visuales coherentes basadas en descripciones de texto.

Cuenta la leyenda que cuando le preguntaron a Miguel Ángel cómo había esculpido su insuperable David, el genio renacentista ofreció una respuesta absurdamente sencilla: “No lo hice yo, él ya estaba allí. Simplemente fui quitando todo lo que no fuera David”.

Un enfoque bastante pragmático, yo diría que hasta un poco insolente, para explicar una de las obras cumbre de la historia del arte. En el fondo, según la respuesta del maestro, solo estaba aplicando un método puramente sustractivo, eliminando pacientemente el material sobrante hasta revelar la perfección que se escondía en el interior de la piedra.

Sería fascinante ver la cara del bueno de Miguel Ángel si viajara en el tiempo y descubriera que, cinco siglos después, hemos decidido robarle descaradamente la idea. Solo que nosotros hemos cambiado el polvo de mármol por algoritmos matemáticos y el cincel por procesadores que se calientan a temperaturas poco saludables, con gran alegría de los ventiladores de nuestros ordenadores que zumban como turbinas de avión a punto de despegar hacia la estratosfera (o pidiendo clemencia para que la tarjeta gráfica no se funda).

Y, en lugar de piedra, usamos puro caos aleatorio.

Resulta irónico que una de las técnicas de inteligencia artificial más revolucionarias utilice exactamente esta misma lógica para crear arte (y que nadie se me ofenda por llamarlo arte). Me estoy refiriendo a los modelos de difusión para la generación de imágenes con inteligencia artificial, como los de Stable Diffusion o Midjourney, capaces de dar forma al caos estadístico y extraer una obra visual detallada de lo que, literalmente, no es más que una ruidosa sopa de píxeles sin sentido.

En esta entrada vamos a desgranar cómo funciona esta metodología capaz de generar imágenes de la nada. Preparaos para entender cómo un puñado de fórmulas logra esculpir a Darth Vader planchando una camisa hawaiana partiendo de un ruido estático que destrozaría los tímpanos visuales de cualquiera.

Los tres pilares de la creación digital

Para que una máquina pueda dibujar lo que le pedimos a través de un simple texto, no basta con dotarla con un solo cerebro. Un modelo de difusión necesita, en realidad, un equipo de tres componentes hiperespecializados que trabajan en cadena: un compresor para extraer la esencia de la imagen, un traductor que haga de puente entre la instrucción en texto y la imagen, y un cincel para extraerla del mármol digital. Conozcamos el equipo.

Autoencoder convolucional: extraer la esencia

Procesar una imagen de alta resolución píxel a píxel es una pesadilla que haría llorar a cualquier ordenador, ya que una imagen estándar puede tener cientos de miles de datos. Pensad, por ejemplo, en una imagen en color no muy grande, digamos que de 512 x 512. Como tiene tres canales (rojo, verde y azul), tendrá un total 512 x 512 x 3 = 786.432 datos.

Para aliviar el trabajo del ordenador, recurrimos a un tipo de red neuronal llamada autocodificador, más conocida por su nombre en inglés: autoencoder.

Un autoencoder funciona a través de dos bloques principales. El primero es el encoder (o codificador), que toma la información original (en este caso una imagen) y la comprime para obtener una representación mucho más pequeña conocida como «latente», la cual contiene solo su información esencial, con lo que consigue una reducción drástica de la cantidad de datos.

Posteriormente, el decoder (o decodificador), el segundo componente, realiza la tarea inversa al tomar ese latente compacto para generar a la salida la imagen reconstruida. El objetivo es que el autoencoder, durante su entrenamiento, aprenda a reconstruir los datos de la imagen original a partir del latente que se le presente como entrada.

Siguiendo con nuestro ejemplo, la imagen de 512 x 512 x 3, tras pasar por el encoder queda reducida a 64 x 64 x 4 = 16.384 datos. Esta reducción de la cantidad de datos en un 98% del original permite que el proceso sea mucho más llevadero desde el punto de vista computacional.

CLIP: la piedra Rosetta digital

Aquí es donde la cosa se pone un poco técnica, pero muy interesante. Por naturaleza, las imágenes (matrices de números que representan píxeles de colores) y los textos (secuencias de letras) son universos matemáticos totalmente incompatibles.

Si un modelo codifica la foto de un perro y otro modelo codifica la palabra «perro», sus representaciones numéricas resultantes (los llamados espacios vectoriales o embeddings) terminarán en galaxias completamente distintas dentro del universo matemático. La máquina no sabría que son lo mismo.

Para solucionar esto, recurrimos a CLIP (Contrastive Language-Image Pre-training, que podemos traducir como pre-entrenamiento por contraste o comparación de pares imagen-texto). El gran logro de este modelo es que no aprendió a leer o a ver por separado como los modelos mencionados en el párrafo anterior, sino que se entrenó combinando un codificador de imagen y uno de texto simultáneamente.

Durante meses, se le presentaron millones de pares formados por una imagen y su descripción textual. A base de fuerza bruta estadística y un entrenamiento por contraste (donde la red aprende comparando constantemente qué imagen encaja con qué texto y descartando la que no), CLIP ajustó sus engranajes para obligar a que el embedding de la imagen y el embedding del texto convergieran en el mismo punto exacto del espacio matemático.

Gracias a esto, el código numérico de la frase «Darth Vader» es equivalente al código de la fotografía del Lord Sith. CLIP logró unificar dos idiomas informáticos incompatibles; el modelo de inteligencia artificial puede, por fin, «ver» lo que «lee».

UNET: el cincelador mágico

Si el autoencoder prepara el lienzo y CLIP traduce nuestras instrucciones, UNET es el verdadero artista con el cincel en la mano.

Es el modelo central del equipo de difusión. Su único y obsesivo propósito en la vida digital es recibir un «latente» (esa esencia de la imagen), completamente lleno de ruido y mugre visual, y aprender a limpiarlo progresivamente hasta dejarlo impoluto.

A nivel técnico, UNET no es más que una red neuronal convolucional bautizada así por su peculiar arquitectura matemática en forma de «U». Su funcionamiento es fascinante: primero comprime la información de la imagen de entrada (bajando por un lado de la U) para captar el contexto global de ese amasijo caótico de píxeles, y luego la expande (subiendo por el otro lado de la U) para reconstruir las formas con precisión milimétrica.

Esta doble capacidad de ver «el bosque entero» y a la vez «cada hoja del árbol» convierte a UNET en un auténtico cirujano del píxel. Su verdadero superpoder brilla de forma general en la segmentación semántica de imágenes.

Su función principal es tomar una imagen de entrada y generar una «máscara» que clasifica cada píxel en una categoría específica, permitiendo identificar formas, bordes y objetos con gran precisión: detección de carreteras en imágenes de satélites o localización de tumores en tomografías, entre otras muchas aplicaciones.

Y es precisamente este talento milimétrico el que aprovechamos en el caso que nos ocupa de la generación de imágenes. Aquí no busca tumores ni carreteras, sino que le pedimos que prediga y borre iterativamente el ruido estático hasta que, de entre todo ese caos, emerja la obra de arte.

La escuela de arte cibernética: difusión y entrenamiento

Ahora que ya conocemos los protagonistas del equipo, vamos a ver cómo trabajan juntos, empezando por el proceso de entrenamiento, la escuela de arte de los modelos de difusión.

Para entrenar un modelo de difusión, primero recolectamos un inmenso conjunto de entrenamiento con miles o millones de imágenes asociadas a su descripción en texto. Vamos a seleccionar una de ellas para entender el proceso. Por ejemplo, una foto de “un solo pingüino emperador majestuoso sobre la nieve en la Antártida”.

Pero antes de empezar a describir el entrenamiento, hay que dejar claras las reglas del juego: de nuestro trío protagonista, solo uno va a aprender en esta fase. El encoder, el decoder y el codificador de texto del modelo CLIP ya fueron entrenados de forma independiente y saben qué tienen que hacer, así que ahora están completamente congelados, lo que quiere decir que sus parámetros (los pesos del modelo) están bloqueados y no se van a entrenar ni a modificar. El único que va a sudar la gota gorda y a modificar sus parámetros es la red UNET.

El paso inicial del entrenamiento es realizar un proceso de difusión directa. Tomamos la hermosa foto del pingüino y la comprimimos pasándola por el encoder congelado para obtener su latente o representación compacta. A continuación, empezamos a contaminar ese latente intencionalmente con ruido aleatorio.

Repetimos esto aplicándole diferentes niveles de ruido, llegando a casos donde la imagen original desaparece por completo y queda solo ruido. Hemos destruido la imagen. Podéis verlo representado en la ilustración siguiente, en la que, con fines didácticos, representamos el ave y no su latente.

Por otro lado, la descripción de texto pasa por el codificador CLIP (también congelado) para obtener su embedding matemático, que vamos a necesitar para el siguiente paso.

A continuación, entra en juego la difusión inversa, el verdadero aprendizaje. Le entregamos a UNET (el único modelo que está entrenándose y modificando sus parámetros) ese latente destrozado por el ruido, junto con el embedding del texto generado por CLIP. Es como si le dijéramos «Aquí tienes esta basura ruidosa. Usando el texto del pingüino como guía, averigua qué sobra y quítalo para recuperar el pingüino del interior». Podéis ver la tarea que le encargamos en la imagen siguiente.

Durante millones de iteraciones, UNET aprende pacientemente a eliminar progresivamente poco a poco el ruido del latente para preservar lo que se parezca al texto de entrada. Cuando logra quitar el ruido correctamente y generar un latente limpio, lo pasamos por el decoder (también congelado) para que reconstruya una imagen que idealmente sea similar a nuestra foto original.

Hemos enseñado a la máquina a esculpir sacando la verdad de entre la basura estadística. Para entenderlo mejor, os resumo el proceso del entrenamiento en el esquema siguiente.

El salto a la magia: generar imágenes de la nada

Ahora bien, ¿qué pasa cuando el modelo ya está entrenado y queremos usarlo en el mundo real? Aquí el proceso sufre un giro radical.

Cuando nosotros, cómodamente sentados en casa, abrimos el modelo y tecleamos el prompt «Darth Vader muy concentrado planchando una camisa hawaiana con estampado de flamencos», la generación de la imagen es alucinante. Para empezar, no necesitamos proporcionarle ninguna imagen de entrada. Nos olvidamos por completo de subir fotos reales de las películas de George Lucas; como la única entrada es nuestro texto, prescindimos por completo del uso del encoder.

En su lugar, el programa crea internamente nuestro bloque de mármol virgen: un latente compuesto por ruido totalmente aleatorio. Es decir, información matemática caótica y estática pura. Paralelamente, nuestra absurda y genial frase pasa por el codificador de texto de CLIP para convertirse en un embedding.

A continuación, nuestra red UNET, que ya es toda una artista experta, recibe ese bloque de ruido aleatorio, por un lado, y las instrucciones matemáticas del texto por el otro. Aplicando todo lo aprendido en su dura fase de entrenamiento, comienza a trabajar. Paso a paso, va eliminando de ese ruido aleatorio todo aquello que no se parezca a un temible villano galáctico lidiando con las arrugas de su ropa tropical.

Cuando termina de limpiar, genera a la salida un latente impoluto, sin ruido. Solo queda pasar ese latente limpio por el decoder para transformarlo en la espectacular (y ridícula) imagen final.

Y he aquí el gran secreto y la genialidad del asunto: la imagen resultante es totalmente nueva y no existe en el mundo real. La inteligencia artificial no está buscando en Google imágenes de Darth Vader para cortarlas y pegarlas torpemente sobre un catálogo de ropa de verano, ya que el origen de la imagen es simplemente ese latente de ruido aleatorio. Está extrayendo la composición literalmente de un océano de caos estadístico, dando a luz una creación única e irrepetible.

Nos vamos…

Así que ahí lo tenéis. Hemos destripado el truco de magia. Desde el diccionario bilingüe que es CLIP, pasando por la compresión extrema del autoencoder, hasta llegar a UNET, ese escultor cibernético capaz de mirar fijamente a un mar de estática y extraer de él una obra maestra.

Resulta fascinante comprobar que la creación digital más puntera de nuestra era se basa, en esencia, en el noble y antiguo arte de quitar la basura hasta que lo que queda tiene sentido. Al final, resulta que Miguel Ángel no estaba tan desencaminado. Solo había nacido quinientos años antes de tiempo para poder ver cómo un ordenador le daba la razón.

Sin embargo, antes de acabar esta entrada, la honestidad científica me obliga a confesaros una pequeña mentira piadosa que he colado a lo largo del texto. He mencionado que la imagen resultante es «única e irrepetible» porque surge del caos.

Pues bien, ni es tan única, ni el caos es tan caótico. Los ordenadores, por su propia naturaleza cuadriculada, son pésimos improvisando. Son máquinas lógicas y son físicamente incapaces de generar azar real. Lo que hacen es generar un ruido pseudoaleatorio guiándose por un número inicial de partida llamado semilla (seed, para los amantes del bardo de Avon).

Esto significa que, si tecleamos el mismo prompt de Darth Vader, mantenemos los mismos parámetros y utilizamos exactamente la misma semilla numérica, el ordenador generará el mismo patrón de ruido inicial. Y si empezamos con el mismo bloque de estática, UNET cincelará matemáticamente punto por punto para devolvernos exactamente la misma imagen que creíamos irrepetible. Pura matemática determinista disfrazada de bohemia artística.

Ahora que hemos desmontado el mito del caos absoluto y sabemos cómo funciona este prodigio tecnológico, hay que reconocer que apenas hemos arañado la superficie. No hemos profundizado en cómo operan las capas más oscuras de estas redes neuronales, ni en su asombrosa (y preocupante) capacidad para inventarse la realidad con total aplomo, un fallo del sistema que los ingenieros llaman finamente “alucinaciones”.

Por ejemplo, podríamos intentar explicar por qué una inteligencia artificial, capaz de generar unos reflejos hiperrealistas en la armadura de un Lord Sith, sufre precisamente estas alucinaciones y puede colapsar al intentar dibujar una simple mano humana sin ponerle siete dedos con forma de salchicha. Pero esa es otra historia…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos Ver más

  • Responsable: Manuel Molina Arias.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a Aleph que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Al hacer clic en el botón Aceptar, aceptas el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Antes de aceptar puedes ver Configurar cookies para realizar un consentimiento selectivo.   
Privacidad