logo

Dot CSV

Inteligencia Artificial, Tecnología, Ciencia y Futuro! Bienvenidos a la 4ª Revolución Industrial 🚀 Inteligencia Artificial, Tecnología, Ciencia y Futuro! Bienvenidos a la 4ª Revolución Industrial 🚀

Transcribed podcasts: 213
Time transcribed: 5d 22h 50m 3s

This graph shows how many times the word ______ has been mentioned throughout the history of the program.

Bolsas de la compra, neones, camisetas, de todo escrito con café.
Dios, es que pensad, para hacer esto normalmente tú necesitarías
de un diseñador gráfico que te hiciera este trabajo.
Y ahora automáticamente tenemos un sistema que lo puede hacer.
Es una auténtica.
Preparaos, porque hoy vais a ver posiblemente la cosa más impresionante
que hayáis visto en este canal de YouTube y posiblemente en Internet
en mucho tiempo.
Y para empezar, quiero que hagáis conmigo un ejercicio de imaginación.
Necesito que bueno, que imaginéis una cosa.
Podéis cerrar los ojos si queréis.
Yo voy a pedir que visualicéis una taza de váter.
Sí, una taza de váter que además va a ser roja y también hexagonal.
La tienes?
Si la tienes ya en mente, vale, ya puedes abrir los ojos.
Posiblemente te estuvieras imaginando algo como esto de aquí,
esto de aquí o esto de aquí.
Y si has hecho este ejercicio conmigo, te tengo que decir
que has realizado la misma tarea que hace la inteligencia artificial
de la que vamos a hablar hoy.
Un modelo capaz de poder generar una imagen realista de cualquier descripción
dada como texto al sistema, pudiendo generar casi cualquier cosa
que nosotros podamos imaginar.
Y ojo, cuando digo cualquier cosa, me refiero a cualquier cosa.
Los resultados son increíbles, ya lo veréis ahora y posiblemente
estando en enero sea duro decir esto, pero creo que estamos ante uno
de los avances más impresionantes del campo de la inteligencia
artificial en todo 2021.
Si quieres saber más sobre esto, ponte cómodo, porque hoy vamos a hablar de Dalí.
Podemos pedirle, por ejemplo, un reloj azul hexagonal, un reloj azul hexagonal.
Y si lo ponemos, por ejemplo, pentagonal, aquí está.
Recordemos que todo esto son imágenes generadas por inteligencia artificial
en función de darle esto como input.
Si, por ejemplo, cambiamos reloj por mesa.
Sí parece que consigue entender que queremos una mesa, que queremos que sea azul,
pero a veces se confunde.
Esto parece que es pentagonal, esta parece que es hexagonal,
pero bueno, en general bastante bien.
Os presento a Dalí.
Bueno, más bien a sus resultados, pero ya me entendéis.
La última innovación del laboratorio de inteligencia artificial OpenAI,
un laboratorio que entre muchas líneas de trabajo interesantes lo que buscan
es investigar las capacidades de entrenar a grandes modelos de deep learning
para ver qué propiedades emergen de ellos, modelos que en algunos casos
incluso han trascendido al mundillo de la inteligencia artificial
por mostrar resultados que son cualitativamente mucho más avanzados
de lo que uno podría esperar.
Es el caso, por ejemplo, del famoso modelo GPT-3 que saltó a la fama
ocupando titulares de medios de todo el mundo el pasado año 2020
tras demostrar una impresionante capacidad de generar texto realista,
dándonos unos resultados que no esperábamos en el corto plazo
dentro del campo del procesamiento del lenguaje natural.
De esto ya hemos hablado mucho en el canal y si queréis saber más,
este vídeo de aquí es un buen punto de partida.
Con esta idea, lo que quiero que entiendas es que el modelo del que vamos a hablar hoy,
Dalí, representa un salto cualitativo similar a lo que representó GPT-3
el año pasado en la generación de texto realista,
pero en este caso aplicado a una tarea diferente.
Crea que en este caso lo que busca es fusionar la comprensión del lenguaje natural
con la generación de imágenes realistas.
Vamos a ver qué tal funciona el modelo para crear conceptos absurdos
como, por ejemplo, un cubo creado con rico grano de café colombiano.
Vamos a ver qué tal funciona esto.
Ahí está, ¿vale?
Aquí tenemos un cubo de café.
Vamos a probar con una figura un poco más compleja,
con un toroide, aquí está, ¿vale?
Un toroide hecho de café.
Esto, casi podemos estar seguros de que no existen imágenes
en el dataset de entrenamiento que se pueda parecer a esto,
a un toroide de café, imágenes que puedas encontrar por internet.
Vamos a probar con otras figuras, por ejemplo,
con una nube, ¿vale?
Vale, ahí lo tenemos, una nube creada en forma de toroide,
un cubo de, por ejemplo, guacamole.
¿Qué pasada?
Un cubo de cartón.
Claro, eso es una caja, Carlos.
Y, por ejemplo, un cubo de pelo.
¡Qué asco!
Vale, ¿de qué va esto?
Veréis, si ahora tenemos que tener claro ya del campo del deep learning
es que la capacidad de estos modelos tras analizar grandes conjuntos de datos
no solo pasa por entender los patrones que conforman estos datos,
sino que también son capaces de generarlos.
Siendo el campo de los modelos generativos, uno de los que más desarrollo ha experimentado
en la última década y del cual obtenemos los resultados más impresionantes.
Y la evolución ha sido muy, muy rápida.
Inicialmente, con las redes generativas adversarias,
éramos capaces solamente de generar aquello que conformaba nuestro dataset de imágenes.
Si entrenábamos con un dataset de caras, pues solo podíamos generar caras.
Si entrenábamos con un dataset de perros, pues solo perros.
Y así.
Con el paso de los papers, estas redes no solo han ido mejorando en calidad y resolución,
sino también en control.
Empezamos a ver redes que pueden generar diferentes tipos de categorías de imágenes
según cómo condicionemos el input.
Indicadas con un vector que quería generar la clase burbuja y te la generaba.
O la clase hamburguesa o la clase mariposa.
El mismo modelo podía generar diferentes categorías de objetos.
En 2018, con VKAN, ya podíamos generar resultados
con esta calidad visual para una gran cantidad de categorías.
Pero aún el control de lo que queríamos generar
estaba acotado a solo las categorías que habíamos utilizado durante el entrenamiento.
Claro, en la búsqueda de este control, en paralelo,
también se estaban dando avances muy interesantes
en el campo del procesamiento del lenguaje natural.
Con el uso de redes neuronales recurrentes, LSTM, etc.
Redes que te permitían poder coger una frase, una secuencia de palabras,
y poder ir entendiendo cuál era su significado semántico.
Y con esto surge la idea de conectar ambas ideas.
¿Por qué no intentar controlar la generación de este contenido
con este tipo de redes que son capaces de entender una frase dada como input?
Encontrándonos resultados más o menos satisfactorios como este de aquí
que era capaz de generar pájaros que cumplían con la descripción dada como texto.
¡Ey, inteligencia artificial!
Quiero un pajarillo con la barriga amarilla, alas negras y un largo pico.
Sí, solemos hablar así con este tono alas y as.
Y ¡boom! te generaba este resultado.
Que sí, es impresionante, pero no deja de estar acotado al dominio de generar pájaros.
Sigue limitado a una categoría muy concreta.
Si queremos ampliar estos modelos a que puedan hacer esta tarea para un mayor número de categorías,
uno de los requisitos que nos vamos a tener que encontrar va a ser el de escalarlo,
hacerlo más grande, que cuente con más parámetros y, por tanto,
que pueda almacenar internamente los patrones necesarios
para poder recomponer diferentes categorías.
Y casualmente es en esto, en escalar modelos muy a lo bestia,
donde OpenAI se ha estado centrando en los últimos años.
Esto es lo que ocurrió con GPT-3, el modelo del lenguaje que hemos mencionado previamente.
Cuando lo cogieron y lo escalaron muy a lo bestia,
fue cuando emergieron estas propiedades de generar texto tan realista
que nos dejó tan impresionados a todos.
Ojo, no sólo generaba texto.
En un artículo publicado en su página web, OpenAI mostró los resultados de un experimento
que a mí todavía me sigue impresionando,
ya que mostraban que GPT-3 incluso tenía capacidades de poder generar imágenes realistas.
Esto es un poco extraño porque sabemos que al final GPT-3 lo que genera son secuencias de datos.
Es decir, cuando tú generas una frase, estás generando una secuencia de palabras.
O si, por ejemplo, generamos una partida de ajedrez, sería una secuencia de jugadas.
O si fuera una partitura musical, sería una secuencia de notas.
Son secuencias de datos.
Pero claro, nosotros sabemos que realmente a la hora de generar una imagen
pues contamos con otro tipo de redes que son más adaptables a este tipo de datos,
que son matrices bidimensionales.
Son las redes neuronales convulsionales que también hablamos en este vídeo de aquí.
Pues aquí es donde viene la sorpresa, porque lo que demostró OpenAI es que si tú tomabas una imagen
y la convertías en una secuencia de píxeles,
podías entrenar a GPT-3 para que aprendiera a modelar dichas secuencias.
Por tanto, podías coger una imagen incompleta y continuar generando esa secuencia de píxeles
para que de manera coherente GPT-3 fuera terminando de completar dicha imagen.
Por ejemplo, podemos ver aquí que el modelo es capaz de completar la base de esta imagen
con los pájaros apoyados en una rama o sobre una piedra o con su reflejo en el agua,
siendo todos los resultados bastante coherentes.
O aquí podemos ver diferentes formas de completar esta onda de agua.
Algo que es realmente impresionante si notamos cuenta de que estas imágenes
están siendo generadas como una secuencia unidimensional de píxeles.
Algo que me recuerda un poco a cuando tenías antiguamente esta conexión lenta de internet
y te descargabas una imagen y se iba descargando de manera secuencial poco a poco.
Mirad, mirad, a toda esa generación z confusa ahora.
¿Entendéis esta referencia?
¡Wow! De repente tenemos generación de imágenes píxel a píxel de manera secuencial.
Algo donde modelos como los Transformers nos pueden ayudar a impulsar todo esto.
Un avance sobre el cual se sustenta Dali.
Y un modelo del cual realmente no conocemos grandes detalles porque todavía no contamos con un paper.
Toda la información que les estoy dando y que veréis a través de redes durante todas estas semanas
viene de un único artículo que ha publicado OpenAI y que recomiendo que echéis un vistazo
ya que contiene numerosos ejemplos bastante interesantes del funcionamiento de este modelo
y el cual vamos a explorar ahora.
Pero no, no existe un paper oficial y por tanto será en el futuro cuando lo publiquen
que nos centraremos en entender cuál es su funcionamiento.
Si te interesa el tema te recomiendo que te suscribas, le dejas la campanita
y así tendrás notificación cuando se publique.
Hoy lo que vamos a hacer es centrarnos en los resultados, que no es poco.
Y como sé que me lo vais a preguntar mucho, me voy a adelantar.
No, no está disponible, no podéis jugar con él como jugamos aquí en el canal con GPT-3.
No existe una beta pública, no existe una beta privada, no existe un código oficial por parte de OpenAI.
Los únicos resultados que vamos a explorar son los que oficialmente OpenAI ha decidido
colocar en su artículo y como tal tenemos que tratarlos.
Por suerte contamos con una gran cantidad de resultados para empezar a sacar conclusiones
del funcionamiento de Dali.
Este es el artículo de OpenAI que todos podéis acceder, está disponible en su página web
y realmente aquí lo que podemos acceder son a los diferentes ejemplos que OpenAI ha pregenerado.
La interfaz que nos dejan para probarlo es la siguiente.
Nos ponen un texto de ejemplo, una mesa pentagonal azul, una mesa azul pentagonal en la forma de un pentágono.
Es como redundante el texto que tienen que meter como entrada para conseguir ciertos resultados
algo que nos indica que ya OpenAI ha tenido que estar jugando bastante con el modelo
para entender cómo sacar los mejores resultados.
Y sobre esto lo que nos permite es pues desplegar por ejemplo lo que está subrayado pentagonal
y cambiar por estas opciones de aquí.
Por tanto podemos hacer como diferentes combinaciones y ver qué resultados ha generado Dali para cada una de ellas.
Por ejemplo aquí podemos pedirle que nos genere una caja de comida de color amarillo en forma de octógon,
lo típico que uno querría comprar.
Si la quiero negra, aquí tenemos una versión negra de una caja de comida.
Quiero que vayáis fijando en la gran variedad de resultados que este modelo es capaz de generar.
Hemos visto cómo ha generado objetos.
Aquí podemos ver cómo también puede generar animales.
Aquí le podemos decir, oye, quiero que me generes una vista muy cercana de lo que sería un capibara, por ejemplo en un bosque.
Y el modelo es capaz de generarte todas estas imágenes que repito, son imágenes generadas artificialmente.
Si en vez de querer una vista cercana queremos una vista con una lente de ojo de pez,
pues tenemos de nuevo que lo consigue.
Si queremos una vista frontal, tenemos capibaras frontales.
Si queremos por ejemplo pangolines, si queremos por ejemplo un pangolin visto en un panorama esférico,
veo que las imágenes tampoco son de gran nitidez,
pero esto es algo que se puede solventar mejorando los modelos generativos que se utilizan aquí.
Ah, podemos ver un plano muy cercano de un pangolin, hola.
Hace tiempo que no salió el pangolin aquí en el canal.
Y tenemos, esto de aquí es incluso más impresionante.
Podemos decirle, oye, quiero un capibara hecho de boxeles en un campo.
Y aquí podemos ver los resultados que nos generan como si estuvieran salidos de Minecraft.
Podemos decirle, no, quiero que sea el pangolin hecho de boxeles.
Y vemos que el modelo más o menos lo intenta generar.
Y aquí podemos ver diferentes estilos.
Por ejemplo, un render 3D de un pangolin, una vista isométrica de un pangolin y lo intenta.
Vamos a hacer por ejemplo un zorro que me imagino que estará mejor representado en el dataset.
Aquí podemos ver versiones isométricas con esta perspectiva de lo que sería un zorro.
Podríamos probar a cambiar que no, a que estuviera en la montaña.
Y vemos que tenemos un zorrito en la montaña en vista isométrica.
De nuevo, recordad, es el mismo modelo para todos los ejemplos que estamos viendo.
Podemos probar a verlo como sería con arcilla, un zorrito hecho de arcilla.
Ay, qué bonito, está bonito.
Y este, a ver el pangolin.
Vamos de nuevo con el pangolin.
Pangolin, ah, un pangolin hecho de arcilla.
Este ejemplo de aquí es de los que más me ha gustado.
Fijaros, en este caso no solamente le vamos a suministrar como input el texto de lo que queremos generar,
sino que también le vamos a dar una imagen real que no está completada.
Pensad que al final nosotros estamos suministrándole tokens de texto, estamos dándole una secuencia de palabras,
pero luego también podemos concatenarle una secuencia de píxeles de una imagen que nosotros tengamos
para que el modelo pueda seguir completándolo de manera coherente.
En este caso, fijaros que la imagen que le estamos dando es como la parte superior de una cabeza
y lo que le estamos pidiendo es que nos genere una fotografía de un busto de Homero.
Y aquí podemos probar con diferentes personalidades históricas.
En este caso podemos ver que el modelo efectivamente es capaz de generar estos bustos
y aquí nos permite poder rotar la imagen inicial que le estamos dando como input
y podemos ver cómo el modelo se adapta en cada caso a rotaciones del busto
y poder generar el resto de la cara de manera bastante coherente.
Es una auténtica pasada.
Además, fijaros es muy llamativo cómo en este caso no he utilizado una malla para el pelo
y vemos cómo el modelo también la consigue completar manteniendo la iluminación.
En algunos casos hace una especie de gorro con un turbante.
Si por ejemplo cambiamos a Homero por por ejemplo Cleopatra,
aquí vemos que de nuevo consigue generar lo que sería una figura egipcia,
una cara femenina de lo que nosotros podríamos pensar que es Cleopatra.
Aquí también podemos ver otro ejemplo de un completado de una imagen.
En este caso han dejado esta región de aquí sin completar
y de nuevo podemos ir cambiando la rotación de dicha imagen.
Aquí lo que noticen es lo que queremos representar es un gato mirándose a su propio reflejo en un espejo.
O sea que el modelo lo que tiene que aprender a generar sobre esta imagen de aquí es
hay un gato en esta zona y en el espejo tiene que estar su reflejo.
Y podemos ver que en la mayoría de casos consigue generar un resultado bastante bueno.
Claro, lo gracioso es que si tú esto lo vas moviendo cada vez la imagen se va volviendo más imposible
porque el reflejo del gato, el objeto que está reflejando, tiene que estar enfrente.
Si yo por ejemplo el ángulo lo pongo así, esta imagen se vuelve en algo casi imposible.
Es imposible que el gato esté aquí y su reflejo esté por acá.
El modelo sobre lo que tú le pides intenta generarte algo.
Es que esto directamente se podría convertir en una versión de Google Imágenes
donde tú directamente escribes lo que quieres y se te genera.
Al momento ya no tendrías que estar cogiendo imágenes de internet que pueden tener copyright,
sino directamente en un futuro Google Imágenes generará en tiempo real lo que nosotros le pidamos.
Es muy bestia.
Podemos pedirle por ejemplo aquí que nos genere una cristalera de una fresa azul
y vemos que entre todos los resultados que genera, que algunos son un poco locos,
estos tienen bastante sentido. Este es bastante chulo de hecho.
Si embete un strawberry pedimos que sea una zanahoria.
Aquí tenemos la cristalera de la zanahoria.
Madre mía.
Quiero una esfera con la imagen de una zanahoria.
Un monitor con la imagen de una zanahoria.
Quiero una bolsa de patatas con la imagen de una zanahoria.
Quiero un cartel de carretera con la imagen de una zanahoria.
Quiero un mural con la imagen de una zanahoria.
Quiero una lata con una imagen de zanahoria.
Y aquí es donde entra el sponsor de este vídeo.
Rica soda zanahoria rosa.
¿Quieres beber una bebida refrescante en verano que te deje un moreno envidiable de piel de color rosa?
Pues bebe rica soda rosa de zanahoria.
Bueno, en realidad el que patrocina este vídeo son los patreons que ahí están siempre apoyando
y son los que hacen que este contenido esté ahí.
Patreon abajo en la descripción. Seguimos.
Quizás de los primeros ejemplos que vi en internet que más me llamó la atención fue el siguiente
y es pedirle al modelo, a Dalí, que nos genere la vista frontal de una tienda
donde se muestre un cartel que pone OpenAI, el nombre de esta empresa, escrito en él.
Y podemos ver que de nuevo genera una gran variedad de portadas frontales de empresa
donde se puede leer perfectamente OpenAI, OpenAI, OpenI, OpenI2, OpenAI. Espectacular.
Y esto lo podemos cambiar para conceptualizar diferente diseño de cosas que queramos.
Por ejemplo, a ver, una bolsa de patatas. Tampoco he visto tantos ejemplos de aquí.
Una bolsa de patatas. Dios, qué pasada.
Ricas bolsas de patatas OpenAI, cocinadas encima de todas las GPUs que se han utilizado
para entrenar a esta bestialidad de modelo. Es una auténtica pasada.
Vamos a probar, pues, por ejemplo, una botella de enjuague bucal, una caja de pañuelos,
una tarjeta de empresa, latas de refresco, bolsas de la compra, neones, camisetas, de todo.
Escrito con café. Dios, es que pensad.
Para hacer esto normalmente tú necesitarías de un diseñador gráfico que te hiciera este trabajo.
Y ahora automáticamente tenemos un sistema que lo puede hacer.
Y aquí podemos ver algunos ejemplos más de cómo esta herramienta se podría integrar con diferentes industrias.
Por ejemplo, este, donde de nuevo tenemos una descripción de texto, un maniquí masculino
vestido con una camisa naranja de franela y negra y pantalones negros.
Y al mismo tiempo tenemos un maniquí que solamente se muestra la parte de la cabeza.
En este caso podemos ver que el sistema es capaz de generar justamente la descripción de lo que nosotros queremos.
Que no, que queremos que los pantalones sean marrones y que la camiseta sea roja y negra.
Vamos a poner una t-shirt, pantalones negros.
Es una auténtica pasada.
Y tenemos el mismo ejemplo con un maniquí de una mujer y podemos probar diferentes diseños.
Pensad una empresa de textil que pueda diseñar en tiempo real diferentes conceptos de ropa de maniquíes a golpe de escribirlo.
Pensad que aquí realmente podríamos escribir cualquier cosa si tuviéramos el modelo real.
Y aquí tenemos otro ejemplo aplicado en este caso al diseño de interiores.
Podemos ver aquí que dice un salón con dos sillas y una pintura del coliseo que está encima de una chimenea moderna.
Y vemos que de nuevo le pasamos una especie de imagen de techo para condicionar que se genere una habitación.
Y podemos ver que ya los resultados efectivamente están mostrando lo que le estamos pidiendo.
No, es que no quiero que el cuadro sea del coliseo, quiero que el cuadro sea de un tiranosaurio rex.
Ahí está, esta es la habitación que nos merecemos todos.
Y también quiero que no sea una chimenea sino que sea un ventilador de techo.
Ahí está, una habitación que tiene todo lo que le hemos pedido.
Pensad para un estudio de decoración lo que esta herramienta podría suponer.
Y quiero que me dejéis abajo en comentarios ideas de cómo esta herramienta se podría aplicar a diferentes industrias.
En serio, quiero leer vuestras ideas, inspirarnos todos en el futuro, en las herramientas que podremos ver dentro de muy poquito cuando esto esté disponible para todos.
Aquí hay unos cuantos ejemplos más donde ya la cosa se vuelve un poco más extraña.
Por ejemplo, solicita hacer un caracol hecho de un arpa.
Y vemos que el sistema puede imaginarse lo que podría ser eso.
Y nos permite jugar con esto y podemos pedirle, por ejemplo, un elefante en forma de arpa.
Imagínatelo, imagínatelo, ¿lo tienes?
Vale, aquí estaría, un elefante en forma de arpa.
Espectacular. No, es que quiero que sea un elefante en forma de croasán.
¡Ja!
¡Qué bonito! ¡Ay!
Está el pangolín. Ah, no, el pingüino.
¡Oh! Un pingüino en forma de croasán.
A ver, un burrito.
¡Oh! Un pingüino en forma de burrito.
¡Ay, Dios mío!
Es que no estoy preparado para esto.
Yo reconozco que en el corto plazo esto no lo he visto venir.
El poder hacerme un gato de burrito con inteligencia artificial o una banana, no me lo vi venir.
Un tapir en forma de plátano.
¿Te habías imaginado alguna vez que verías un tapir en forma de plátano?
Creo que se hace bastante evidente lo impresionante de lo que ha conseguido OpenAI con Dalí.
De verdad que es una auténtica pasada y son muchísimos los ejemplos que podemos ver aquí.
De hecho, son tantos que os propongo una cosa.
Vamos a retomar las sesiones de directo en Twitch.
Ya sabéis que son sesiones donde nos conectamos pues una horita o dos horitas para leer artículos,
para comentar papers, para programar, para al fin y al cabo seguir avanzando un poco más
pues todo lo que vemos aquí en el canal pero de una forma más cercana.
Este directo de mañana lo utilizaremos pues para completar estos ejemplos
y para poder estar comentando las implicaciones que puede tener una herramienta como esta.
Estas sesiones ya os digo que se van a estar realizando semanalmente a través de Twitch,
así que si os interesa, os recomiendo que me sigáis por Instagram y por Twitter
que es por donde aviso siempre de cuando suelo hacer estos directos.
Dos directos semanales sobre las 7, 8 de la noche hora española.
Y nada más, esto es Dalí.
Espero que os haya gustado este vídeo, que os haya abierto la cabeza hacia un mundo de posibilidades
y ya sabéis que podéis apoyar este tipo de contenido a través de Patreon
donde pues con una pequeña donación mensual, 5 dólares, 10 dólares, un dólar, lo que queráis
pues podéis apoyar este tipo de contenidos en el canal de YouTube.
Por mi parte, nada más, me despido, pero ya sabéis que tenéis más inteligencia artificial aquí en DotCSU.