The Independent Sentinel #03

Interpretación de modelos, GANs y luditas del siglo XXI

¡Hola!

Bienvenido a una nueva edición The Independent Sentinel, la newsletter de Akoios en la que hablamos de Inteligencia Artificial, Machine Learning y Ciencia de Datos entre otras cosas.

¿Aún no estás suscrito? ¡Hazlo ahora!

¡Suscríbete ahora!

Hoy vamos a hablar de cómo interpretar modelos, las redes generativas antagónicas (¡que nadie se asuste!) y el eterno debate sobre la tecnología y su utilización.

Here we go!


🎼  ¿Quieres banda sonora? ¡Dale al Play!


1. Inteligencia Artificial 🤖

Interpretando los modelos de Machine Learning 🤔

Cuando estamos usando modelos de IA/ML, no siempre es fácil saber qué se está computando y qué pasos está dando el algoritmo a la hora de obtener un resultado.

Esta dificultad para interpretar cómo esta funcionando un determinado modelo es una de las razones que está retrasando la adopción del Machine Learning en los negocios.

Podríamos decir que hay dos tipos de modelos de Machine Learning:

1️⃣ El primer tipo son los modelos black box (caja negra). En estos tipo de modelos, es difícil determinar de forma clara las razones por las que el algoritmo proporciona una decisión.

2️⃣ El segundo tipo son los modelos transparentes, en los que hay un razonamiento claro detrás de las decisiones que un algoritmo toma.

Por lo general, los modelos transparentes son más difíciles de construir pero éstos son preferibles en múltiples dominios (salud, ámbito legal, banca…)

Imaginemos por ejemplo un banco que utiliza un sistema que se apoya en IA/ML para la concesión de créditos a sus clientes.

¿Cómo poder explicarle a un cliente las razones de porqué no se le han concedido un préstamo si nadie sabe (¡ni la persona que haya desarrollado el modelo!) cuál ha sido el criterio?

Un caso típico de modelo black box son las Deep Neural Networks, dónde harían falta millones de números y operaciones para poder describirla y, aun así, seguramente tampoco seríamos capaces de entender de forma precisa su comportamiento.

La regresión logística o los árboles de decisión (decision trees), por ejemplo, son un ejemplo de modelo transparente ya que tienen una fácil interpretación o “explicabilidad”.

Cabe destacar que, pese a que lo ideal sería tender hacía modelos transparentes, lo cierto es que en términos de rendimiento y resultados, son los modelos black-box los que mejor están funcionando. Y no solo eso, sino que, si nos fijamos en las competiciones de Kaggle, se ve que cada vez más, los modelos ganadores son aquellos que mezclan diversas técnicas (esto se suele llamar “ensembles”) que hacen aún más difícil e intrincada la “explicabilidad” del modelo.

Cristoph Molnar, un científico de datos alemán ha escrito un interesante libro a este respecto llamado “Interpretable Machine Learning

En el libro, el autor habla de forma detallada cómo interpretar (o al menos intentarlo), todo tipo de modelos, desde una regresión lineal hasta redes neuronales. Además, explica técnicas de interpretación y métodos aplicables para explicar los modelos.

The big picture of explainable machine learning. The real world goes through many layers before it reaches the human in the form of explanations.


Modelos y Algoritmos 💻

Las GAN (Generative Adversarial Network) son arquitecturas de redes neuronales utilizadas para hacer “modelado generativo”. ¿Qué es esto del “modelado generativo”?

El “modelado generativo” consiste en usar un modelo que permita generar nuevas muestras de una determinada distribución como, por ejemplo, generar nuevas imágenes que guarden cierta similitud con un conjunto de fotografías de partida.

Veamos más en detalle cómo funcionan las GANs. De forma muy resumida, las GANs son un modelo generativo que se entrena usando dos modelos de redes neuronales distintas. Uno de los modelos es llamado “generator” o “generative network” y es el encargado de crear nuevas muestras plausibles. El otro modelo es el denominado “discriminator” o “discriminative network” y es el que aprende a diferenciar las muestras generadas (e.g. fotos generadas) de muestras reales (e.g. fotos reales).

Imagen extraída del blog de Luis Herranz

A estos dos modelos, se les hace competir en un juego (en el sentido de la teoría de juegos) dónde el modelo generador trata de engañar al modelo discriminador.

Una vez entenada, ¡una GAN será capaz de crear nuevas muestras bajo demanda indistinguibles de las muestras de entrenamiento!

El conocido investigador Yann Lecun se refirió a las GANs como:

“the coolest idea in machine learning in the last twenty years.”

Casos de uso ⚙️

Siguiendo con las GANs, hay multitud de aplicaciones que nos pueden ayudar a intuir qué tipo de cosas se pueden hacer con estos modelos.

Generación de muestras para datasets de imágenes

En el paperGenerative Adversarial Networks” (Ian Goodfellow, et al. 2014), se describe cómo se usaron GANs para generar muestras “plausibles” para conocidos datasets como MNIST (números escritos a mano), CIFAR-10 (pequeñas fotografías de objetos) o la Toronto Face Database.

Generación sintética de caras humanas

Esta aplicación ha tenido mucha repercusión y ha sido mencionada en diversos medios de comunicación. En el paper Progressive Growing of GANs for Improved Quality, Stability, and Variation (Tero Karras, et al. NVIDIA, 2017) se demuestra cómo es posible generar caras artificiales. En este caso, se usaron para el entrenamiento caras de famosos, por lo que es posible ver rasgos familiares. La verdad es que los resultados son realmente notorios:

Lo mejor de todo es lo rápido que han evolucionado las GANs para conseguir resultados que, a día de hoy, son difícilmente distinguibles de la realidad:

Realmente, todo lo contado arriba es sólo el principio. Seguro que habéis oído hablar de los DeepFakes u os han enseñado aplicaciones polémicas como FakeApp o faceswap, aplicación esta última que genera inquietantes resultados:

¡Detrás de todo esto no hay otra cosa que GANs!

En los últimos meses, un artista conocido por el pseudónimo de Ctrl Shift Face (Youtube, Reddit) esta liberando vídeos con resultados increíbles. Mejor verlo:

En este vídeo se muestra a Jim Carrey “intercambiado” con Jack Nicholson en El Resplandor.

En este otro ejemplo, la cara de Bill Hader (un famoso imitador) cambia de forma imperceptible a la cara de Arnold Schwarzenegger cuando éste imita su voz:

Si deseas saber más sobre todo esto, puedes echar un vistazo a la herramienta DeepFaceLab (GitHub) que se está usando para todo esto.

Otro usos de las GANs

Además de todo lo visto, las GANs tienen todavía más usos como puedes ver en este fantástico artículo de Jason Brownlee.

En fin, what a time to be alive!

2. Historias 📔

Las rebeliones contra las máquinas

En el siglo XIX, durante la Revolución Industrial, muchos trabajadores vieron empeorar sus condiciones laborales y de vida debido a la creciente utilización de maquinaria industrial.

Lo cierto es que muchos trabajadores cualificados y de clase media en aquellos tiempos, vieron cómo la aparición de las máquinas hizo que comenzasen a ser sustituidos por trabajadores menos cualificados y con menor salario.

En respuesta a este fenómeno apareció el movimiento ludita, conocido por los sabotajes y la destrucción de aquellas máquinas que consideraban sus enemigas:

El nombre ludita tiene supuestamente como origen a Ned Ludd, un joven aprendiz del que se rumoreaba que había comenzado a destruir telares en 1779. No hay evidencias de la existencia de este tal Ludd, que se acabo convirtiendo en un líder mítico a lo Robin Hood. Abajo un dibujo de Ned Ludd:

Por todo esto, ludita es actualmente la palabra que usamos para referirnos a todas esas personas que aborrecen la tecnología.

La Historia, con su naturaleza algo cíclica, nos ha traído luditas de forma recurrente que se han ido oponiendo de forma sistemática a los avances tecnológicos. El discurso neoludita resurge de forma regular con cada nueva tecnología y la Inteligencia Artificial no iba a ser menos.

En concreto, el temor a la IA/ML se fundamenta en la capacidad de estas nuevas tecnologías para automatizar tareas que, como siempre, eran llevadas a cabo hasta el momento por humanos.

El economista e historiador Carl Benedikt Frey aporta su visión sobre el impacto de la tecnología en el trabajo en este breve e interesante vídeo:

En nuestros tiempos, y en lo relativo a la Inteligencia Artificial, el histórico debate sobre nuestras relación con las máquinas ha alcanzado un nuevo nivel. Esto es debido en gran medida, a lo difícil que es predecir cómo evolucionará la Inteligencia Artificial, cuál será su impacto en el medio-largo plazo o si incluso será algo que pueda escapar de nuestro control (¡cómo no pensar en Hal 9000 o Skynet!)

Como ejemplo de este complejo debate, seguramente recordareis la polémica entre Elon Musk y Mark Zuckerberg a este respecto.

Elon Musk que, según sus palabras, está muy cerca de los avances de la IA, se ha mostrado impresionado -y a la vez temeroso- de lo que la IA puede hacer ya y, sobre todo, de lo que podrá hacer. Por ello, Musk se muestra muy cauteloso sobre los avances en IA y propone regular de forma temprana todo lo relacionado con este ámbito para evitar perder el control.

En cambio, Zuckerberg tiene una visión más optimista acerca de cómo la IA puede ayudar a los humanos en el corto plazo en temas de salud (mejores diagnósticos), transporte (menos accidentes) y muchos otros aspectos. Mark Zuckerberg llegó a llamar "irresponsable” a Elon Musk por su visión tan fatalista sobre el futuro de la IA.

La respuesta de Elon a Mark no se hizo esperar 🥊:

En el siguiente vídeo se resumen las posiciones y el enfrentamiento entre estos dos gigantes de la tecnología (¡aparece también Bill Gates hablando dando su opinión sobre el tema!).

Ray Kurzweil (¡del que hablaremos otro día!) tiene una posición “intermedia” sobre el asunto, dónde percibe riesgos y beneficios:

Como bien cuenta en el vídeo, todo esto no es nuevo:

Technology has been a double-edged sword ever since fire and stone tools.

Sin entrar a discutir las posiciones de cada uno, creo que hay una conclusión clara: Tenemos que hacer todo lo que esté en nuestra mano para usar la tecnología para buenos fines y, en paralelo, gestionar, controlar e intentar solventar sus peligros y “downsides”.

Es nuestra obligación como especie y sirve a nuestro propósito común: sobrevivir, trascender nuestras limitaciones y expandirnos. Es lo que los humanos siempre hemos hecho, ¿no?

¡Hasta pronto!


¿Estás disfrutando The Independent Sentinel? ¡Ayúdanos a llegar a más gente compartiendo nuestras publicaciones en RRSS!

¿Te has perdido los números anteriores? Puedes leerlos aquí: