The Independent Sentinel #02
Bayes, robots que hacen música y la máquina más inútil del mundo
¡Hola!
Estás leyendo The Independent Sentinel, la newsletter que hacemos en Akoios mientras ayudamos a las empresas a implantar de forma efectiva el Machine Learning en sus negocios.
¿Aún no estás suscrito? ¡Hazlo ahora!
3,2,1… ¡Comenzamos!
🎼 ¿Quieres banda sonora? ¡Dale al Play!
1. Inteligencia Artificial 🤖
El Teorema de Bayes: El Santo Grial de la Ciencia de Datos 🏆
La incertidumbre es algo que los humanos siempre hemos tratado mitigar ya que nos obliga a tomar decisiones con información incompleta.
La herramienta que hemos venido utilizando para enfrentarnos a la (natural) incertidumbre del universo es la teoría de la probabilidad, un campo de las matemáticas dedicado a cuantificar y entender esta incertidumbre.
Aún a día de hoy, hay dos interpretaciones distintas de la probabilidad, la Frecuentista y la Bayesiana -de la que hablaremos hoy-. ¡En una próxima edición hablaremos del dilema entre frecuentistas y bayesianos!
Seguro que muchos habréis estudiado o al menos habréis oído hablar del Teorema de Bayes enunciado por el reverendo Thomas Bayes y publicado de forma póstuma en 1763
El Teorema de Bayes es muy importante en el ámbito de la Ciencia de Datos, entre otras cosas, por aplicaciones como la llamada inferencia Bayesiana, que nos permite actualizar la probabilidad de una hipótesis según vamos disponiendo de más información, ¡justamente en lo que consisten los algoritmos de aprendizaje máquina!
Si estás interesado en comprender la estadística Bayesiana, te recomiendo leer el libro Think Bayes de Allen B. Downey que puedes descargar clickando en la imagen:
Lo que me encanta de este libro y de toda la serie “Think” del autor es que usa la programación como herramienta de aprendizaje. Él mismo lo resume muy bien al comienzo del libro:
The premise of this book, and the other books in the Think X series, is that if you know how to program, you can use that skill to learn other topics.
Most books on Bayesian statistics use mathematical notation and present ideas in terms of mathematical concepts like calculus. This book uses Python code instead of math, and discrete approximations instead of continuous mathematics. As a result, what would be an integral in a math book becomes a summation, and most operations on probability distributions are simple loops.
Además, está disponible todo el código de cada capítulo en Notebooks para poder ejecutarlo rápidamente, ¡una auténtica maravilla para ponerse a aprender rápidamente!
Casos de uso ⚙️
Muchos esperábamos que la relación entre los robots y la música fuesen androides tipo Terminator tocando como una banda de Rock:
Mientras esperamos a que llegue este momento, se están realizando increíbles avances en la síntesis artificial de composiciones musicales.
En MuseNet, una iniciativa arrancada por OpenAI, han creado una Red Neuronal Profunda (Deep Neural Network) capaz de generar composiciones de 4 minutos combinando 10 instrumentos y combinando estilos (Mozart y los Beatles por ejemplo).
Lo maravilloso de todo esto es que MuseNet no se programó de forma explicita para esta labor, sino que ha sido capaz de encontrar patrones de armonía y ritmo de forma no supervisada, adquiriendo la capacidad de predecir cual es la siguiente nota o notas a tocar en la composición y de mezclar estilos de forma convincente.
Para muestra, un botón:
En esta composición, al modelo se le proporcionaron las 6 primeras notas de un Nocturno de Chopin y se le pidió generar una pieza pop con piano, batería, bajo y guitarra. ¡Ojo al segundo 32 en el que entra toda la banda!
Concretamente, este modelo usa una red neuronal de 72 capas y ha sido alimentada con diversas fuentes de ficheros MIDI como ClassicalArchives y BitMidi.
Modelos y Algoritmos 💻
Siguiendo con Bayes, un modelo muy conocido es el conocido como “Naive Bayes”. Un modelo “Naive Bayes” es un modelo de machine learning probabilístico usado frecuentemente para tareas de clasificación.
En este artículo, explican de manera muy entendible cómo funciona este conocido modelo.
Estos algoritmos son comúnmente usados en sentiment analysis, detección de spam, sistemas de recomendación, etc. ya que son rápidos y sencillos de implementar.
Su única desventaja es que da por supuesto que todos los predictores son independientes, de ahí el “naive” del nombre. ¡En la vida real las variables que manejemos serán casi siempre dependientes en algún grado!
👉 Si te estás preguntando cómo podrías poner a funcionar de forma productiva modelos como este o similares, escríbenos o agenda una demo y te contamos cómo te podríamos ayudar 😉
2. Historias 📔
Marvin Minsky, Claude Shannon y la máquina más inútil del mundo
El 24 de Enero de 2016, moría en Boston a los 88 años Marvin Minsky, considerado por muchos como uno de los padres de la Inteligencia Artificial. Minsky realizó múltiples aportaciones en ciencia cognitiva y ciencias de la computación y reflexionó sobre la relación entre la Inteligencia Artificial y la filosofía.
Si tienes tiempo, te recomiendo ver esta entrevista realizada en 2004 dónde hablaba sobre el futuro de la Inteligencia Artificial:
Minsky fue uno de los fundadores del laboratorio de Inteligencia Artificial del MIT. Destacar que, en este laboratorio, se forjó en gran medida la cultura hacker y, debido al entorno de libertad que Minsky generó en el mismo, creo las bases del movimiento Open Source, tal y como se puede ver en la carta de despedida que se le dedicó en opensource.com:
Along with his impressive intellectual achievements, he left a legacy of the seeds of open source. He inspired his students to experiment with early computers, and they did so with an enthusiasm that bordered on mania. He encouraged development of games and play with what were then fantastically expensive machines.
En 1969, ganó el prestigioso Turing Award, el galardón más importante en ciencias de la computación y, por si fuera poco, Minsky asesoró al mismísimo Stanley Kubrick en el rodaje de la extraordinaria 2001: Una odisea en el espacio en 1968, una película que sin duda merecería una edición exclusiva de esta newsletter.
Como nota curiosa, uno de los personajes, Victor Kaminsky, es nombrado así en su honor.
HAL 9000: "I'm sorry Dave, I'm afraid I can't do that"
Pero no es de todo esto de lo quería hablar, sino de la que seguramente sea su creación más conocida y a la vez más (in)útil: “The useless machine”.
Es sabido que Minsky dedicaba parte de su tiempo en los laboratorios Bell a inventar gadgets inútiles o absurdos, como por ejemplo una campana que sonaría si, en algún momento, la fuerza de la gravedad cambiase.
En este laboratorio, una de sus ideas, cautivó a unos de sus compañeros, el famoso Claude Shannon (¡del que hablaremos también otro día!) que se decidió a construirla.
La idea era sencilla: construir una máquina cuyo único propósito fuese apagarse a sí misma.
Shannon construyó la máquina con un cofre, una prótesis, un compresor y un cilindro neumático. El funcionamiento era sencillo, cuando se pulsaba el botón “ON”, se abría el cofre y la mano apagaba de nuevo la máquina.
Aquí se puede ver una máquina de este tipo en funcionamiento:
Los laboratorios Bell recibían visitas de forma recurrente y uno de sus visitantes más asiduos era el gran Arthur C. Clarke, uno de los pioneros de la Ciencia-Ficción. Clarke quedó impresionado con la máquina que Shannon había construido y escribió lo siguiente sobre la misma en uno de sus libros:
Nothing could be simpler. It is merely a small wooden casket, the size and shape of a cigar box, with a single switch on one face. When you throw the switch, there is an angry, purposeful buzzing. The lid slowly rises, and from beneath it emerges a hand. The hand reaches down, turns the switch off and retreats into the box. With the finality of a closing coffin, the lid snaps shut, the buzzing ceases and peace reigns once more. The psychological effect, if you do not know what to expect, is devastating. There is something unspeakably sinister about a machine that does nothing — absolutely nothing — except switch itself off.
Como bien dice Clarke, hay algo inquietante y siniestro en una máquina que no hace nada excepto apagarse a sí misma.
Hay que gente que piensa que Minsky solo pretendía hacer un chiste sofisticado, pero yo creo que hay algo de trasfondo filosófico en todo esto. The Useless Machine es un dispositivo que tiene una función pero ningún propósito. Quién sabe, puede ser que Minsky nos estuviese lanzando una pregunta:
¿De qué sirve una función si no se tiene un propósito?
Gracias por leer hasta aquí. ¡Hasta la próxima edición!
Puedes leer la edición anterior aquí. Si te ha gustado, spread the word!