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.

Este vídeo está patrocinado por la Universitat Politécnica de València.
Imaginad por un momento un futuro donde el trabajo de editar una imagen sea el siguiente.
Oh, esta foto de aquí de Taylor Swift.
Me gustaría verla con el pelo rizado.
Vale, bien. Bueno, no, mira, mejor liso.
Ok, hecho.
Y esta foto de Boris Johnson, pues quiero verla más envejecida.
Hecho.
Uy, y este gatito?
Ay, a ver si le podemos hacer un poquito más mono.
Vamos a ponerle el pelo largo, más largo.
Sí, bueno, no, mejor directamente un gatito más mono.
Oh, ahí está. Perfecto.
Hecho. Todo listo.
En total tres minutos.
Vaya, parece que se me ha dado bastante bien la jornada hoy
y no por una tecnología sacada de una película de ciencia ficción,
sino por una herramienta de la que hoy vamos a saber un poco más
y que incluso al final te voy a contar cómo tú puedes utilizarla.
Y es que hoy vamos a hablar de una de las ideas más interesantes
que han impactado al campo del deep learning en los últimos meses.
Vamos a hablar de cómo una vez más la unión de visión y lenguaje
nos están llevando a inteligencias artificiales más potentes.
Vamos a hablar de cómo son capaces de aprender conceptos abstractos
de forma similar a como lo hacemos nosotros los humanos
y de cómo también esto esconde algunas vulnerabilidades
que son muy interesantes de conocer.
Y es que hoy vamos a hablar del modelo clip.
Y bueno, como siempre, recordaros que esto se disfruta mucho más
con una taza de café en la mano.
¿Quién se ha tomado mi café?
Para empezar a entender bien la importancia de un modelo como clip,
primero tenemos que centrarnos en entender cuáles son los puntos débiles
que hacen tambalear a muchos de los modelos de visión por ordenador
que utilizamos a día de hoy.
Ojo, no me entendáis mal.
Al final, muchos de estos modelos que utilizamos a día de hoy
son potentísimos y nos sirven para resolver muchísimas tareas.
Y también sabemos que ha servido de punta de lanza
para el descubrimiento de muchas otras técnicas
que luego han acabado impactando a otros sectores del campo del deep learning.
Esto está ahí.
Pero eso no quita que estos modelos también tengan fuertes deficiencias
que tenemos que comprender y tenemos que analizar
para intentar mejorarlas.
Os pongo un ejemplo.
Pensad en una red neuronal convolucional
que nosotros entrenemos para que aprenda a clasificar bien perros y gatos.
Bueno, vale, bien, hará bien su tarea.
Pero ¿y si ahora quiero que también me clasifique pangolines?
Nuestra red entrenada sabe clasificar perros y gatos
y su output estará preparado para darnos una de estas dos respuestas.
Y es por eso que cuando le pasemos una foto de un pangolin,
pues hará lo mejor que pueda.
Pero al final acabará diciéndonos que o perro o gato.
¿Veis el problema?
Podemos diseñar y entrenar bien a redes
que aprendan a resolver una tarea determinada.
Pero claro, una vez están entrenadas,
muy difícilmente podemos variar qué tareas están resolviendo.
Y esto no es nada nuevo.
Esta falta de flexibilidad es conocida.
Y es por ello que una de las tendencias más importantes
que se han desarrollado los últimos años
es la de trabajar con modelos preentrenados
sobre un gran dataset de imágenes que pueden ser muy, muy variadas.
Así sabemos que la red de partida
habrá aprendido un montón de patrones
que podrían ser utilizados para resolver tareas muy diferentes.
Y así, si queremos un clasificador de perretes y gatetes,
lo único que tendríamos que hacer sería modificar mínimamente
la arquitectura de la red
para añadir una última capa que se encargue de hacer esta clasificación
y que se base en todos los patrones aprendidos previamente.
¿Que ahora quieres un pangolin?
Pues cambias la última capa para que ahora tenga tres neuronas,
pueda ser su problema de clasificación,
reentrenas un poquito la red y listo.
Aquí lo que estamos haciendo es aprovecharnos
de todo el conocimiento general aprendido
que está contenido en este punto de la red.
Y como te digo, esta ha sido la forma tradicional
de trabajar con estas redes,
lo cual en parte nos exige tener que saber
cómo modificar el diseño de estas arquitecturas.
Este no es el único problema.
Fijaros bien lo que he dicho.
Necesitamos tener modelos pre-entrenados
sobre un gran conjunto de datos que, bueno,
son en este caso imágenes etiquetadas por personas humanas
que han tenido que estar visualizando estas imágenes
y decidiendo cuál es la etiqueta asociada a esta.
Conjuntos de datos conformados por millones y millones de imágenes
etiquetadas manualmente.
Y donde las necesidades de entrenar cada vez modelos más grandes,
hacen que estos conjuntos de datos también tengan que ser
cada vez mayores.
Y luego ya con esto se abren incluso problemas de mayor calado.
Por ejemplo, nosotros cuando etiquetamos una imagen,
pues asociamos una imagen con una etiqueta determinada.
Pero para nosotros esta imagen de aquí
puede estar asociada a muchas cosas diferentes.
¿Cómo lo etiquetamos?
Como dibujo, como araña, como Spiderman, todo a la vez.
Lo representamos como una descripción que diga
que es un dibujo de una araña que representa el logo de Spiderman.
Con lo cual ahora este trabajo manual de etiquetar imágenes
se vuelve algo más complejo
porque ahora tenemos que hacer descripciones completas.
¿Y cómo tendríamos que entrenar a las redes
para meterle ahora también la descripción de lo que hay en la imagen?
Demasiados interrogantes y pocas respuestas.
Pero ojo, pocas respuestas no significa ninguna.
De hecho, una de estas respuestas es Clip.
Clip es una propuesta que sale de los laboratorios de OpenAI
y que viene a solucionar muchos de los problemas
que hemos planteado hasta ahora.
¿Cómo lo hace?
Pues fijaros bien porque esto lo consiguen
combinando la potencia de los modelos de visión
con los modelos de lenguaje.
En este caso lo que Clip introduce es una forma de entrenamiento alternativa
a lo que tradicionalmente venimos utilizando
en el campo de la visión por ordenador.
Si tradicionalmente en los modelos de visión actuales
el entrenamiento pasa como input una imagen
y la supervisa con su etiqueta,
en el caso de Clip la supervisión se realiza
a través del lenguaje natural.
En concreto, Clip está conformado por dos modelos.
Uno de visión que deberá de aprender a analizar las imágenes
y uno de lenguaje que deberá de aprender a procesar
el texto dado como input.
Siendo así su tarea que para un conjunto de imágenes
que nosotros le pasemos al modelo y un conjunto de descripciones
el modelo tiene que aprender a emparejar cuál es la descripción
que mejor se asocia con el contenido de cada imagen.
Si por ejemplo tuviéramos tres imágenes y tres descripciones como esta
el modelo hará bien su trabajo si consigue procesar
a las imágenes aquí y al texto aquí
para que el resultado del procesamiento haga que se active las señales
de que esta es la descripción asociada con esta imagen.
Si esto ocurre es porque este modelo de aquí y este de aquí
tienen que estar aprendiendo bien a entender la asociación
que existe entre las descripciones y el contenido de las imágenes.
Y esto parece una idea sencilla y lo es
pero escondo unas implicaciones muy importantes.
Fijaros bien, la primera es que Clip ya no necesita de estar entrenada
con imágenes que estén etiquetadas cuidadosamente por un humano
para que su etiqueta represente justo lo que esa imagen contiene.
Ahora podemos suministrarle descripciones.
Descripciones que además vendrán dadas con un lenguaje natural
que este sistema deberá de aprender.
¿Y dónde podríamos encontrar ahora una gran cantidad de imágenes
que tengan asociadas con ellas descripciones
que vengan dadas de diferentes maneras con lenguaje natural?
Ah sí, Internet.
En concreto, OpenAI ha entrenado a este sistema
con más de 250 millones de imágenes y descripciones sacadas de Internet.
Quién sabe, a lo mejor una imagen tuya está incluso ahí metida.
Pero la potencia de Clip no solo reside en sus datos
sino también en su forma de entrenarse.
Porque fijaros, si volvemos a analizar cuál es la tarea que resuelve Clip
aquí no solo tiene que llegar a comprender
por qué esta descripción de aquí es la que más se asemeja al contenido de esta imagen
sino que también buscaremos que el modelo aprenda
el por qué estas descripciones de aquí no pertenecen a la imagen original.
Es esta idea de que una red no solo aprenda a encontrar
cuál es la relación entre esa imagen y la etiqueta
sino también cuáles son las diferencias con el resto de clases
lo que se conoce como aprendizaje contrastivo o en inglés contrastive learning.
Y es una de las claves de las que se aprovecha Clip durante su entrenamiento
para extraer mucha más información de los datos que le estamos suministrando.
¿Qué? Bien, ¿no? Vamos bien, vamos bien.
Buen ritmo, ¿no? Descansamos un poquito.
A ver, a relajar la espalda, sorbito al café, vamos a continuar.
Hoy mucha teoría, pero es que a ver, no siempre va a ser jijijaja
jugando aquí con la I, hay que aprender cosas, ¿vale?
Aquí estamos para aprender, este canal va de aprender.
Así que venga, vamos a relajarnos, respiramos, sí, venga, seguimos.
De hecho ya incluso estáis en el punto de poder entender de dónde viene el nombre Clip
que es el acrónimo de contrastive language image pre-training
o en español pre-entrenamiento de lenguaje imagen contrastivo.
Aunque sinceramente yo prefiero pensar que esto viene de la palabra Clip
en inglés y en español que al final es lo que usamos para juntar imágenes
con documentos y tenerlo todo bien juntito que al final conceptualmente
es lo que hace este modelo. Y es que creedme, este modelo es potentísimo
porque en realidad nos habilita un montón de herramientas que son muy interesantes.
¿Qué nos puede aportar Clip? Pues de primero lo que tenemos es una tecnología
que ha aprendido muy bien a hacer la tarea de unir imágenes con descripciones
de su contenido. Una herramienta que por fin alcanza la idea de tener un buscador
semántico real que pueda entender el contenido de nuestras imágenes
no solo por las etiquetas y metadatos que nosotros le introduzcamos al buscador
sino también por una descripción del contenido de la imagen que estamos buscando.
Una idea que con el desarrollo del deep learning nos hemos ido acercando
año tras año, pero donde ahora tenemos una herramienta que realmente
se encarga de hacer esto. Mola. Pero la cosa va más allá.
Y ahora es donde veréis que Clip no solamente es un nuevo modelo
que podemos utilizar como herramienta, sino que lo que representa
es un nuevo paradigma de entrenamiento. Y es que fijaros, si recordáis,
antes os decía que para entrenar a una red neuronal para clasificar perros y gatos,
pues una de las cosas que teníamos que hacer era coger un modelo preentrenado,
modificar una de sus últimas capas y reentrenar un poco la red
para adaptarla a este problema. Vamos, que teníamos que meterle en mano
a la red neuronal sí o sí. ¿Cómo sería esto con Clip?
Pues la situación se vuelve mucho más sencilla, porque con Clip realmente
hacer un clasificador no es más que añadirles descripciones que indiquen
en esta imagen hay un perro, en esta imagen hay un gato, y con esto
pues ya tendríamos al sistema decidiendo cuál de las dos etiquetas
se aproxima más a nuestra imagen. ¡Ey! ¿Que de repente quiero meterle
un pangolin? Pues añadimos una nueva descripción que indique
esta imagen es un pangolin. Pero no nos quedemos sólo con la idea,
podemos probarla, ¿vale? Voy a dejaros abajo en la caja de descripción
un enlace a esta web donde podéis probar el propio modelo Clip,
y en este caso estáis viendo cómo he subido una foto de un perro
y el modelo puede clasificarlo. En este caso no dice que es un perro
con un 100% de acierto. Cuando subo el pangolin, ¿qué va a suceder?
Pues las dos clases que estamos evaluando son la de gato y perro,
y en este caso el modelo no entiende realmente qué está viendo.
Pero si ahora yo le escribo una etiqueta nueva, que va a ser
una descripción que indique esta foto tiene un pangolin,
vemos que el modelo es capaz de clasificarla con un 100% de acierto.
Podemos subir otras fotos y podemos ver que el modelo
funciona muy bien a la hora de clasificar si estamos viendo
un pangolin, un perro y un gato. Y claro, fijaros,
en ningún momento hemos tenido que tocar la arquitectura de la red.
Solamente estamos trabajando con el input que le estamos dando
a Clip, una auténtica pasada.
¿Veis qué flexible se vuelve ahora aprovecharnos del preentrenamiento
de una red como Clip? Esta es una de las ideas que más me gustan
y más me cautivan de este trabajo, porque en realidad es una idea
bastante sencilla, pero que tiene un enorme potencial.
O sea, de repente, testear un clasificador se vuelve una tarea
de escribir las etiquetas que tú quieres y no de modificar
la arquitectura de la red. Ya no hace falta ser un ingeniero
de deep learning y entender la tecnología con la que estamos trabajando,
sino simplemente cualquier usuario podría crear su propio
clasificador, algo que incluso facilita la investigación
de este fenómeno de la transferencia de conocimiento
y que la propia OpenAI ha estado investigando en el artículo
que adjuntan con su modelo. O voy a dejar el enlace abajo
en la descripción para que le echéis un vistazo porque el artículo está muy bien.
Lo que estamos viendo hoy es que con este tipo de modelos se está abriendo
un camino muy prometedor a recorrer en el campo del deep learning.
Un camino donde la fusión de la visión con el lenguaje
de repente nos está llevando a redes neuronales que son capaces
de entender incluso mejor el contenido que aprenden.
Y es que otra cosa que se ha comprobado es que esta forma de entrenar
al modelo fusionando texto y visión y con este gran volumen de datos
lleva a que nuestro clasificador de imágenes
sea muchísimo más potente y muchísimo más rico
a la hora de entender el contenido que está observando.
Como hemos visto al principio, un modelo típico de visión
pues posiblemente entendería que esto de aquí es un plátano,
pero con esta imagen o con esta o con esta podría acabar teniendo
serios problemas. Algo que a nosotros, a los humanos,
no nos cuesta tanto. ¿Por qué?
La razón la encontramos en nuestra capacidad de poder codificar conceptos abstractos
dentro de nuestra cabeza hasta tal punto en el que hemos llegado
a identificar dentro de nuestro cerebro neuronas que se activan
ante conceptos tan concretos y únicos como sería el de la actriz Halle Berry,
pero que pueden venir representadas por cosas tan distintas
como una fotografía de ella, un dibujo o incluso su propio nombre escrito.
Es decir, neuronas especializadas para responder
a conceptos muy concretos y específicos,
pero que pueden venir representados de maneras muy diferentes.
Pues aquí viene lo interesante y es que esto mismo
se ha observado dentro de las neuronas de Clip.
¿Recordáis este vídeo de aquí de hace una semana donde os expliqué
que podíamos abrir metafóricamente la cabeza de una red neuronal
para observar cuáles son los patrones que aprenden sus neuronas?
¿Recordaréis que os enseñó una herramienta llamada Microscopio
para poder observar cuáles son los patrones aprendidos por diferentes arquitecturas
de distintas redes? Y vaya, mirad que han puesto por aquí.
¡Qué interesante! Y es que sí.
Lo que se ha observado es que dentro de Clip existen numerosas neuronas
que también capturan conceptos abstractos
de forma similar a cómo lo hacemos nosotros. Donde existen, por ejemplo,
neuronas que entienden el concepto de felicidad
con una cara que sonríe, pero también con una pose de personas riendo
o imágenes que incluyan palabras como happy o happiness.
Todas estas representaciones de felicidad activan a la misma neurona
o neuronas asociadas solamente a personalidades conocidas
u otras neuronas que se activan ante conceptos relacionados
con localizaciones geográficas o conceptos básicos primarios.
Es decir, estamos consiguiendo redes neuronales que son capaces
de aprender conceptos abstractos de la misma manera
en la que lo hacemos nosotros. A mí me parece sorprendente
que hayamos conseguido un sistema que automáticamente haya aprendido
que la neurona que está focalizada en el concepto
ucha de ahorro se activa cuando anteriormente se activan
neuronas que están relacionadas con conceptos como finanzas
y juguetes. Mola. Y es aquí donde observamos
la potencia de un modelo como Clip. Un modelo capaz de poder
entender bien el contenido de una imagen y donde empezamos
a ver cómo se empieza a combinar con otras herramientas para crear
cosas como la que hemos visto al principio de este video.
Este proyecto está el Clip. No es más que la combinación de un modelo
de lo generativo tradicional como podría ser una red StyleGun
que va a generar contenido como ha generado siempre,
pero ahora aprovechándose de tener un discriminador
tan potente como sería este modelo Clip.
Es gracias a Clip con el que podemos supervisar aquello
que la red generativa está generando para que se parezca
aquello que nosotros le estamos describiendo con lenguaje natural.
¿Lo entendéis ahora? Sí, perfecto. Pues como premio
os indico que abajo en la caja de descripción vais a encontrar
un enlace a la página de GitHub de este proyecto
donde también vais a encontrar un cuaderno de Google Collab,
bueno de hecho varios cuadernos de Google Collab, donde podréis
probar esta herramienta. Si tenéis alguna duda en el canal secundario
tenemos un directo de la pasada semana donde estuvimos
jugando con este modelo, así que ahí podréis ver pues exactamente
cómo se configura todo esto y cómo se puede arrancar para poder utilizarlo.
Pero ya os digo que es bastante sencillo. Con esto espero que
tengáis la oportunidad de saborear el potencial que tiene una herramienta
como Clip y que a través de este vídeo hayáis entendido las implicaciones
que puede tener a futuro. Ojo, no significa que esta herramienta
sea perfecta. Si bien a través de Clip hemos podido observar
que existe una forma de procesar la información que es similar
a cómo lo hace el cerebro humano, al mismo tiempo nos encontramos
algunos ejemplos que difieren bastante de cómo nos comportamos nosotros.
Y es que una de las cosas que se ha observado con Clip es que su capacidad
de poder entender el contenido de una imagen puede ser fácilmente
manipulable ante lo que ellos han llamado ataques adversarios
tipográficos, que es una forma muy elegante de decir coger un
post-it y un bolígrafo y escribir una palabra diferente
sobre este post-it, se lo pones al objeto que tiene delante
y pum, de repente el modelo está súper seguro de que está observando
no una manzana, sino un fantástico producto de Apple.
Y esto es algo que ellos han podido replicar con numerosos ejemplos
demostrando que efectivamente este modelo es vulnerable
a este tipo de ataques, lo cual es interesante porque
significa que todavía hay mucho camino por recorrer y mucha
investigación que realizar sobre este tipo de modelos.
Y esto, bueno, porque así tengo más contenido para traer aquí al canal.
Y os lo digo, si valoráis este tipo de contenido,
la mejor forma de apoyarlo es a través de Patreon.
Llevamos unos meses que el Patreon está estabilizado,
entra gente sale gente, entra gente sale gente, y siempre estamos
en la misma cifra y me gustaría darle un empujoncito para que
siguiera creciendo al ritmo al que crece el canal y al que crece
todos los contenidos que estoy haciendo en otras plataformas.
Si queréis valorar todo este trabajo, todo este proceso de
divulgación para traer la última tecnología, la última innovación
del campo del deep learning, aquí hay YouTube gratuito y en abierto
para todos, pues podéis apoyarme a través de Patreon
con una aportación mensual. La mejor manera de agradecer todo
esto es pues eso, echando ahí una mano a que el proyecto
se mantenga entre todos. También recordad, mañana
lunes tenemos una cita muy importante a través
de Twitch, cuento con vosotros para estar ahí todos
apoyando el directo. Y por último, si os ha molado el tema de
combinar visión con texto, os voy a dejar con este vídeo
de aquí, que es sobre Dali y es una red neuronal que
es capaz de generar cualquier contenido que nosotros le pidamos con
lenguaje natural. También está creado por OpenAI y
o casualidad, salió el mismo día que salió publicado
este clip. ¿Por qué será?