The Independent Sentinel #23
Máquinas que se entrenan a sí mismas, generación de leyendas y el genio más despistado de la historia
¡Hola!
Soy Javier Fuentes, de Akoios. Bienvenido a esta nueva edición de “The Independent Sentinel”, la newsletter en español sobre Ciencia de Datos que publicamos mensualmente.
Recuerda que, si quieres recibir cada publicación en tu email, no tienes más que suscribirte en este botón:
En esta ocasión vamos a hablar del auto-aprendizaje, de un modelo que entiende las imágenes y del padre de la cibernética.
¡Arrancamos! 🚣🏻♀️
🎼 ¿Quieres banda sonora? ¡Dale al Play!
1. Ciencia de Datos
Un futuro sin etiquetas 🏷
Desde hace casi una década, los modelos de Aprendizaje Profundo (Deep Learning) están siendo los principales responsables de los avances en el ámbito de la Inteligencia Artificial y parece que, al menos durante algunos años más, esto seguirá siendo así.
La popularidad del Deep Learning comenzó en 2012, cuando el célebre investigador Geoffrey_Hinton -conocido por mucho como el “Padrino de la IA”- publicó junto con su equipo sus avances en Redes Neuronales Convolucionales (CNNs).
Los modelos basados en CNNs han gozado -y lo siguen haciendo- de una extraordinaria popularidad para tareas como el reconocimiento facial, la detección de objetos o la clasificación de imágenes.
A pesar de su potencia y utilidad, el propio Hinton reconoció algunas limitaciones en el caso particular de la detección de objetos. El problema que identificó es que las CNNs tienen dificultades para lidiar con los cambios de puntos de vista sobre un objeto (como una rotación o un escalado), cambios que, al producirse, hacen caer en picado el rendimiento de estos modelos.
Incluso cuando los mejores modelos de detección tratan de detectar objetos en el mundo real, éstos experimentan una caída de rendimiento de más del 40%.
En el fondo, y según explica también Hinton, las CNNs no son capaces de interpretar los objetos que “ven” en las imágenes tal y como hacemos los humanos. Estos modelos carecen de nuestra habilidad natural para entender los conceptos de forma, solidez o persistencia de los objetos.
Además de esta limitación, hay una aún más clara: la necesidad de disponer de enormes cantidades de datos etiquetados para entrenar estos modelos de Deep Learning, lo que nos lleva a otro rasgo diferencial con respecto a nuestra forma de aprender.
Desde que somos pequeños, no aprendemos lo que es una casa mediante la visualización de cientos de ellas sino que, tras ver unas pocas, somos capaces intuitivamente de “clasificar” otras casas que nos son mostradas. Los humanos somos capaces de aprender por observación, algo que las máquinas -por ahora- aún no son capaces de hacer.
Cuando miramos un objeto, nuestro cerebro extrae las características (features) principales del mismo: ubicación, tamaño, color, forma. etc. Por ello, somos capaces de reconocer este mismo objeto en otros contextos a partir de estas características que tenemos registradas. Un mismo objeto puede ser radicalmente distinto para una máquina si se le es presentado desde una perspectiva distinta, sin embargo, nosotros seremos capaces de clasificarlo sin mayores problemas.
¿Cómo podríamos hacer que las máquinas aprendiesen de la forma tan eficiente que los hacemos nosotros? ¿Cómo podríamos reducir el número de datos requerido para entrenar los modelos?
El aprendizaje auto-supervisado
De manera general, podemos distinguir tres tipos principales de aprendizaje máquina:
Aprendizaje supervisado: Se usan datos de referencia para entrenar a los modelos e identificar patrones
Aprendizaje No Supervisado: Los modelos extraen patrones sin necesidad de usar datos de entrenamiento
Aprendizaje por Refuerzo: Los modelos aprenden del feedback para maximizar una recompensa
Intuitivamente, se puede pensar en utilizar técnicas de aprendizaje no supervisado para no tener que disponer de tantos datos para el entrenamiento pero lo cierto es que, en el ámbito de la visión artificial, los científicos de datos no han sido capaces de avanzar usando este tipo de aprendizaje.
Un problema adicional es que, en el caso de los modelos supervisados, necesitamos datos debidamente etiquetados y esta es una labor que, hasta el momento, ha venido requiriendo intervención humana lo que, obviamente, supone un problema de escalabilidad.
Afortunadamente, según Yann LeCun (científico jefe de IA en Facebook), puede que haya otro modo para solventar esto: El aprendizaje auto-supervisado: Modelos capaces de encontrar patrones en las imágenes por sí mismos sin intervención humana.
El aprendizaje auto-supervisado se basa en poder generar datos etiquetados de manera automática, solventado así la dependencia del etiquetado llevado a cabo por personas.
Este tipo de aprendizaje puede seguir siendo considerado como aprendizaje supervisado con la salvedad -nada desdeñable- del mecanismo de generación de etiquetas.
¿Cómo podría entonces un modelo entrenarse a sí mismo? En el caso de la visión artificial (e.g. reconocimiento de imágenes) con ideas tan interesantes cómo:
Rotación: El modelo se auto-alimenta con versiones rotadas (90º, 180º…) y automáticamente etiquetadas
Distorsión: Se generan imágenes distorsionadas
Colorización: Ídem pero coloreando las imágenes
Puzzle: Se divide la imagen en secciones y desordenándolos del mismo modo que los puzzles a los que jugábamos de niños
Como se demuestra una vez más, el ingenio puede ser el mejor aliado a la hora afrontar problemas complejos y, al igual que hemos encontrado estos modos en que los modelos se pueden entrenar a sí mismos, seguiremos encontrando formas de reducir las labores manuales relacionadas con el etiquetado.
Un generador de leyendas 🏞
Si nos pidiesen poner una leyenda a la imagen de abajo, diríamos algo parecido a lo siguiente:
Para conseguir este resultado, nuestro cerebro hace dos tareas:
Entender las “partes” de la imagen: perro, sentado, césped
Unir estas partes en una frase inteligible
Replicando este funcionamiento, existen modelos que desempeñan esta función. En los modelos más modernos, la primera tarea es llevada a cabo por una CNN mientras que la segunda es llevada a cabo por un Transformer.
El “alimento” para este tipo de modelos son datasets como Flickr8k que incluye 8000 imágenes debidamente etiquetadas (en este caso por humanos 😅).
En este enlace puedes encontrar el código fuente de un modelo de descripción de imágenes. Este es el resultado obtenido con una imagen nueva (el perrito) que ha sido presentadas al modelo:
Más allá de lo divertido de ver qué entiende el modelo en cada imagen, este tipo de sistemas de reconocimiento pueden resultar muy útiles, por ejemplo, para realizar descripciones en tiempo real del entorno a personas con problemas visuales.
👉🏻 Con nuestra herramienta Titan puedes desplegar fácilmente modelos como este usando un solo comando. ¿Quieres saber cómo hacerlo? Solicita una demo aquí.
2. Historias 📔
Un niño prodigio
Allá por 1906, la revista New York World publicaba un artículo llamado “The Most Remarkable Boy in the World” acompañado de una imagen de un niño alzado sobre una pila de libros.
El protagonista de la historia no era otro que Norbert Wiener, uno de los más influyentes matemáticos del siglo XX y responsable de muchos de los avances que han definido el mundo en el que hoy vivimos.
Norbert nació en 1894 en Missouri. Su padre, Leo Wiener, un reputado académico y lingüista especializado en la historia y en los idiomas, era además políglota -se dice que llegó a hablar de forma fluida más de 30 idiomas distintos- e influyó de forma determinante en su educación y su carácter.
El pequeño Norbert mostró signos de su excepcional inteligencia desde una edad muy temprana. A los 18 meses aprendió el alfabeto y a los 3 años ya era capaz de leer libros complejos.
A los seis años ya conocía los clásicos griegos y latinos, a poetas alemanes e incluso a Darwin. Como era de esperar, tras su intensiva formación en casa a cargo de su padre, accedió a la Universidad en 1906 donde estudió Griego, Alemán, Física, Matemáticas y Biología y se graduó Cum Laude con 14 años. Por si fuese poco, se doctoró con 18 años en Harvard con una disertación sobre lógica matemática que le acabaría llevando a Inglaterra para estudiar con el mismísimo Bertrand Russel y G.H Hardy, matemático del que ya hablamos en TIS #21.
Más adelante, y ya en la Universidad de Göttingen, tuvo el privilegio de colaborar con David Hilbert, otro buen conocido de los seguidores de esta newsletter. Wiener quedó muy impresionado con Hilbert al que se refirió como “El único genio real de las matemáticas”
Finalmente, en 1919, Wiener se convirtió en profesor del MIT, lugar en el que, merecidamente, se convirtió en leyenda.
Un genio despistado
Wiener era una de las personas más conocidas en el MIT, lugar donde impartió clase durante 30 años. Su severa miopía, su peculiar forma de andar y sus despistes, le granjearon la simpatía de profesores y alumnos del centro.
Hay multitud de anécdotas, algunas apócrifas, respecto a sus célebres despistes, baste la siguiente como muestra:
“Su despacho estaba apenas unos metros más allá del mío. Él venía regularmente a visitarme y a hablar. Cuando me cambié de despacho unos años después, Norbert vino a presentarse como si no nos conociésemos. No se había dado cuenta de que era la misma persona a la que frecuentemente visitaba; estaba en otro despacho, así que pensó que sería otra persona”
- Phyllis L. Block
Más allá de lo anecdótico, el trabajo que llevo a cabo durante su larga estancia en el MIT es abrumador. Muchos de sus estudios han tenido una influencia determinante en muy diversos campos tecnológicos. Wiener trabajó en ámbitos como los procesos estocásticos, el análisis armónico o el movimiento browniano, entre otras muchas cosas.
Durante la II Guerra Mundial, su trabajo sobre el apuntamiento automático de la artillería anti-aérea llevó a Wiener a trabajar en la teoría de la información de forma independiente a Claude Shannon y a inventar el llamado filtro de Wiener, herramienta de uso generalizado para detección de señales y reducción de ruido.
El origen de la cibernética
Pese a todas las aportaciones que hemos comentado, seguramente la más relevante en retrospectiva sea su definición del concepto de cibernética.
El término cibernética no es algo nuevo, es una palabra que ha existido desde que Platón la usara para referirse al gobierno.
Cibérnetica procede del término griego kubernetes (Κυβερνήτης) que significa timonel, misma raíz de la que procede el término gobierno.
👉🏻 Seguramente el término Kubernetes te resulta familiar ya que da nombre a la conocida plataforma open-source usada para facilitar el escalado, despliegue y gestión de aplicaciones software. De hecho, esta es una de las tecnologías en las que está basada nuestra herramienta Titan.
Sin embargo, la acepción actual del término se debe al libro “Cybernetics” que Wiener publicó en 1948 y que tenía como subtítulo “Control y comunicación en el animal y en la máquina”.
Norbert descubrió que ciertos comportamientos inteligentes emergían de la interacción compleja de bucles de realimentación (feedback loops), de hecho, el uso actual del término feedback puede ser igualmente atribuido a Wiener.
La idea clave que Wiener alumbró es que este tipo de bucles de realimentación se encontraban en todos en seres vivos y que, estos mismos bucles, podrían también ser aplicables en las máquinas y lo que es mas importante, en las interacciones hombre-máquina.
Esta idea aparentemente simple, encerraba una noción revolucionaria para 1948: Que los animales y las máquinas podían operar por principios cibernéticos y que, por lo tanto, podrían tener un propósito.
En la fondo, la cibernética versa sobre tener un objetivo y actuar para conseguirlo. Para saber cuán cerca estamos del objetivo o si nos estamos acercando o alejando hace falta el feedback, término que Wiener definió de forma rigurosa.
La cibernética engloba la robótica, el control computerizado, las comunicaciones, la automatización y un sinfín de disciplinas y campos de investigación. La siguiente figura muestra la relación entre las mismas:
En la cultura pop, la cibernética ha sido usada en términos de la simbiosis entre el hombre y la máquina, unión capaz de mejorar de las capacidades humanas o de reparar daños irreversibles en los humanos. Siendo puristas, este uso sería poco riguroso ya que, como hemos visto, la cibernética versa sobre sistemas de control basados en la retroalimentación.
Los peligros de la Inteligencia Artificial
Wiener fue la primera persona en atisbar los potenciales peligros de la Inteligencia Artificial. En su última obra, God & Golem, Inc.: A Comment on Certain Points where Cybernetics Impinges on Religion, Wiener expresaba abiertamente su preocupación sobre el impacto de la automatización sobre la mano de obra, los dilemas éticos y los usos perniciosos de los avances tecnológicos.
La preocupación sobre estos asuntos levó a Wiener a abogar por el desarrollo de tecnologías orientadas a mejorar las capacidades en detrimento de aquellas que nos sustituyan o controlen.
Usando la mítica figura del Gólem como ejemplo, Wiener advertía de que, sin una adecuada programación y cautela, la IA se podría acabar convirtiendo en un arma de doble filo que, finalmente, nos acabaría cortando.
A día de hoy no tenemos respuesta aún para decidir si las preocupaciones de Wiener estaban justificadas, pero lo cierto es que este debate que él inició está más vivo que nunca.
Paradójicamente, puede que Wiener no pudiese ver con claridad en su día a día por su miopía pero, desde luego, supo ver más lejos y mejor que nadie lo que el futuro nos depararía.
¡Gracias como siempre por leer hasta aquí!
¿Disfrutas con The Independent Sentinel? ¡Comparte la publicación con aquellos a los que creas que les puede gustar!
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