The Independent Sentinel #20

La madre de todos los repositorios, los Transformers y el mito del héroe

¡Hola!

Soy Javier Fuentes, de Akoios, bienvenidos a la vigésima edición de The Independent Sentinel, la newsletter en la que se habla de Ciencia de Datos e Inteligencia Artificial a través de novedades, curiosidades e historias.

Si quieres recibir la newsletter en tu bandeja de correo, puedes suscribirte fácilmente aquí:

¡Suscríbete ahora!

En esta edición hablaremos de un repositorio de herramientas, de los Transformers y de una historia que se repite desde tiempos inmemoriales.

¡Arrancamos! 🚶🏻‍♂️


🎼  ¿Quieres banda sonora? ¡Dale al Play!


1. Ciencia de Datos

Herramientas 🛠

El mundo de la Ciencia de Datos y el Machine Learning es tremendamente dinámico. Tan es así que se hace muy difícil mantenerse al día.

Afortunadamente, hay gente dedicada a facilitarnos esta tarea. Awesome Machine Learning es un repositorio que contiene una lista actualizada de frameworks, bibliotecas y software relacionado con el Machine Learning organizada por lenguajes de programación.

Los lenguajes de los que se muestran herramientas van desde LISP hasta Go:

Además, y con el fin clasificar toda la información, existe una sección por lenguaje que lista las herramientas según su propósito.

Entendiendo los Transformers 🤖

Una breve introducción ✍🏻

En pasadas ediciones hemos venido hablando de varios modelos NLP (Procesamiento de Lenguaje Natural) que están en boca de todo el mundo como BERT, GPT-2 o GPT-3.

En el centro de esta revolución, hay una novedosa arquitectura llamada Transformer que todos estos modelos comparten y que no tiene nada que ver con Optimus Prime.

Dos de los grandes retos del procesamiento del lenguaje natural para extraer o sintetizar “significado” son 1) la capacidad para poder entender el contexto (las palabras o frases que rodean al segmento que estamos analizando) y 2) entender las implicaciones semánticas derivadas del orden en las que la palabras aparecen .

Hasta hace muy poco tiempo, los modelos NLP más sofisticados han venido usando complejas redes neuronales (recurrentes y convolucionales) para convertir una secuencia de palabras de entrada en otra secuencia de palabras de salida.

Estos modelos se denominan secuencia-a-secuencia (seq2seq) y son muy efectivos en trabajos de traducción (e.g. Google Translate). Un modelo seq2seq muy conocido es el llamado LSTM (Long Short Term Memory), un modelo capaz de encontrar sentido en una frase recordado u olvidando partes que considera relevantes o no.

Se puede entender el funcionamiento seq2seq con una analogía relativamente sencilla ya que todos estos modelos funcionan con dos bloques, un codificador y un decodificador.

🤓 Explicación técnica: El codificador coge la entrada (una frase específica) y la “mapea” como un vector en un espacio n-dimensional. Este mismo vector, es el que usa el decodificador para generar la secuencia de salida.

🤔 Explicación no técnica: Imaginemos que tanto el codificador como el decodificador son dos personas que hablas dos idiomas, cada uno tiene su idioma materno (inglés y español respectivamente) y además comparten un tercer idioma imaginario. El codificador coge una frase y la traduce del español al idioma imaginario y, el decodificador, que también conoce este idioma imaginario, traduce al inglés desde este último.

Pese a su potencia, estos modelos tienen un problema técnico. Al usar arquitecturas de redes neuronales “recurrentes”, su complejidad crece muy significativamente al incrementar el tamaño de la secuencia o frase que queremos analizar. Es justamente este, uno de los problemas que los modelos Transformer vienen a solucionar.

Llegan los transformers 🤖

Los Transformers son modelos que pueden acometer casi cualquier tarea NP (traducción, modelización, clasificación…) manteniendo una estructura muy similar a excepción de una capa final que define su propósito final.

En el paper “Attention Is All You Need” se presentó la arquitectura Transformer con la que se consigue evitar la recurrencia, basándose únicamente en los llamados métodos de Atención.

El objetivo de los mecanismos de Atención es poder estimar el peso relativo de términos clave en una frase. Por ejemplo, al leer un texto (esta newsletter por ejemplo) uno se focaliza en las palabra que está leyendo, pero también en el resto de palabras clave que tenemos en la memoria y que aportan contexto a lo que leemos.

Pensemos en un traductor que está traduciendo una novela del inglés al español. Al traducir una determinada frase, el traductor se ve ayudado (y a veces necesita) conocer el contexto que rodea a esta frase y las palabras clave que puedan influir en el significado de la frase que está intentando traducir.

Los Transformers, en definitiva, son capaces de transformar (de ahí el nombre) una secuencia en otra usando los dos elementos que ya hemos visto (un codificador y un decodificador) pero con un cambio sustancial, ya que evitan hacer uso de las computacionalmente costosas Redes Neuronales Recurrentes (GRU, LSTM, etc.)

Lo mejor de todo es que se ha comprobado que, usando únicamente mecanismos de atención, es posible capturar la sutileza del contexto y la temporalidad de manera aún más eficiente que con los métodos anteriores.

“The Transformer is the first transduction model relying entirely on self-attention to compute representations of its input and output without using sequence-aligned RNNs or convolution.”

Los Transformers son un ejemplo de tecnología SoTA (State of The Art) que ilustra cómo de rápido está yendo todo en el muno NLP. Como comentaba al comienzo, modelos tan conocidos como BERT de Google y GPT-3 de OpenAI han hecho uso de esta idea y la han llevado a nuevos límites para mejorar sus usos en el manejo del lenguaje, desde predicciones de la siguiente frase hasta dar respuesta a preguntas de manera automática.

Por si fuera poco, los Transformers están siendo analizados para labores que van más allá del NLP como, por ejemplo, su uso para hacer predicciones en series temporales.

2. Historias 📔

El viaje del héroe

Desde el amanecer de los tiempos, los humanos hemos usado historias para entender un mundo que se nos antojaba (y lo sigue haciendo) inexplicable. De hecho, uno de los rasgos más interesantes del homo sapiens es nuestra capacidad para crear historias y, lo que es aún más importante, nuestra capacidad para crear y creer mitos compartidos.

En 1949, Joseph Campbell, un profesor especializado en mitología, publicaba la que sería su obra más importante: “The Hero with a Thousand Faces” (El héroe de las mil caras).

La teoría principal que construye Campbell en su libro es que muchas de las narraciones mitológicas comparten una estructura equivalente, estructura que llamó el “monomito” o “el periplo del héroe”.

Lo interesante de este mito único es cómo es compartido por multitud de historias desde la antigüedad hasta nuestros días. En esta estructura, el héroe se embarca en un viaje circular compuesto de varias etapas:

Si te cuesta ver el patrón, Tal vez estos ejemplos te puedan ayudar a identificarlo:

Parece que, de un modo u otro y de forma espontánea, esta estructura se repite de manera sistemática en el tiempo y en muy distintas geografías.

Cosa que, a algunos autores, como mi admiradísimo Neil Gaiman, les llega a incomodar sobremanera. Se dice que Gaiman, comenzó a leer el libro de Campbell, pero se negó a terminarlo.

"I think I got about half way through The Hero with a Thousand Faces and found myself thinking if this is true—I don't want to know. I really would rather not know this stuff. I’d rather do it because it's true and because I accidentally wind up creating something that falls into this pattern than be told what the pattern is." Neil Gaiman.

La Inteligencia Artificial en las historias

Al igual que este periplo del héroe que hemos visto, hay otro patrón que me resulta interesantísimo en muchas narraciones humanas: el uso de lo mítico y lo místico para explicar lo inexplicable.

Igualmente, este patrón se repite desde los albores de la historia y ha ido variando según hemos avanzado. Al comienzo, estos elementos estaban ligados intrínsecamente a los dioses o a la magia y, paulatinamente, la religión ha ido cediendo terreno a la ciencia y a la tecnología.

Desde Homero hasta Asimov, pasando por Julio Verne, la tecnología ha sido usada con herramienta narrativa en las historias, incluyendo conceptos que creemos tan supuestamente novedosos como la Inteligencia Artificial .

Nada mejor que algunos ejemplos (de entre los muchísimos que existen) para ilustrar cómo ciertas ideas han estado siempre presentes en nuestras historias.

La Odisea de Homero 🧜🏻‍♀️

Tanto en la Ilíada como en la Odisea, Homero introdujo conceptos relacionados con los autómatas que suponen una de las primeras aproximaciones a la Inteligencia Artificial.

En el Canto XIII de la Odisea se dice lo siguiente:

Nómbrame también tu país, tu pueblo y tu ciudad, para que nuestros bajeles, proponiéndose cumplir tu propósito con su inteligencia, te conduzcan allá; pues entre los feacios no hay pilotos, ni sus naves están provistas de timones como los restantes barcos, sino que ya saben ellas los pensamientos y el querer de los hombres, conocen las ciudades y los fértiles campos de todos los países, atraviesan rápidamente el abismo del mar, aunque cualquier vapor ó niebla las cubra, y no sienten temor alguno de recibir daño ó de perderse;

En este verso, se habla de los feacios, un pueblo mítico de la Isla de Esqueria (probablemente la actual Corfú) y de su tecnología de barcos autónomos e inteligentes capaces de surcar los mares sin intervención humana. 

El mago de Oz de L.Frank Baum 👠

En el libro infantil “El maravilloso mago de Oz” de L. Frank Baum y en su posterior adaptación cinematográfica con Judy Garland en el papel de Dorothy, aparece el personaje de El Hombre de Hojalata, una suerte de autómata cuyo único sueño es convertirse en humano.

«Cuando un hombre es una tetera vacía, debería estar con ánimo; y sin embargo estoy destrozado…

Simplemente porque intuyo que podría ser algo parecido a un humano, si simplemente tuviera un corazón…»

Metrópolis de Fritz Lang 🤖

En la película Metrópolis de Fritz Lang estrenada en 1927, aparece ya esa Inteligencia Artificial más cercana a nuestro concepto de hoy: una máquina capaz de tener sentimientos y mostrar emociones.

El robot antropomorfo de la película fue uno de los primeros robots mostrados en el cine y su impacto ha sido tal, que forma parte ya del imaginario colectivo, como así lo atestiguan otros robots inspirados en este como Ultraman o C-3PO.

🎬 La IA en la cultura popular

Todos los anteriores son ejemplos clásicos, pero seguro que también te resultan familiares algunos más actuales como la computadora MultiVac de Asimov, HAL 9000 de 2001: una Odisea del Espacio, C-3PO o R2-D2 de Star Wars, los replicantes en Blade Runner, Ultron en Los Vengadores o Chappie en la película de Neil Blomkamp donde se pone un ejemplo de AGI (Inteligencia Artificial General).

Como queda patente, ademas de las estructuras, los humanos repetimos las ideas y los temas primigenios que nos obsesionan: ¿Qué es lo que nos hace humanos? ¿Podemos crear vida artificial?.

El poder de las historias

Pese a los cambios tecnológicos tan significativos que estamos viviendo, creo que las historias del futuro seguirán siendo, en el fondo, las mismas que siempre han sido. Las mismas que, aparentemente, son parte inseparable de la naturaleza humana.

La tecnología acaba dando forma a nuestras historias y, eventualmente, estas historias acaban moldeando nuestro futuro a modo de profecía autocumplida. La ciencia-ficción es un ejemplo de esta idea, la ciencia modela a la ficción y la ficción modela, en cierta medida, a la ciencia y a la tecnología.

El futuro es algo que se ha de construir, por ello, es importante que utilicemos las historias para imaginar el futuro que queremos y así, tal vez, estaremos un paso más cerca de hacerlo realidad.

¡Gracias por leer hasta aquí!


¿Te gusta The Independent Sentinel? ¡Ayúdanos a llegar a más gente!

Si te has perdido alguna edición de la newsletter, puedes leer todas aquí.

👉 Si quieres conocer mejor cómo funciona nuestra tecnología Titan, puedes revisar nuestra serie de tutoriales publicados en Medium o solicitar un acceso gratuito para probar Titan aquí https://lnkd.in/gPz-2mJ