Categorías
Rants

Algoritmos capaces de aprender con menos datos

Vuelvo a ver el Keynote de Google I/O y su presentación de Google Assistant y el dato de que el 20% de las búsquedas se hacen con voz y por eso se puede mejorar el reconocimiento de voz para, a su vez, mejorar los resultados de Google.

Y automáticamente pienso en los 780 millones de millas recorridas por autos de Tesla que son recolectados por la empresa para analizar los patrones de manejo y definir cuando es seguro que se puede usar el “Piloto Automático” y recolectar datos de otros 100 millones de millas usando esa función para mejorarla y asi recolectar más millas en un solo día que Google desde que comenzó con sus autos autónomos.

Cuantos más datos se analicen los resultados son mejores, eso lo tenemos todos claro pero… últimamente sólo veo carrera en potencia de análisis o de cálculo con incluso GPUs optimizados para procesar mejor esos datos y creo que hay algo intrínsecamente ineficiente con tener que analizar millones de ejemplos para mejorar la AI.

Digo, si tomamos el primer ejemplo (reconocimiento de voz) competir con un nene de 5 años en distinguir cientos de objetos… no puede lograrse analizando millones de patrones porque no es eficiente. Para convencerme que algo es inteligencia artificial (aunque sea limitada como la que conocemos hoy en dia) van a tener que mostrarme que se es capaz de optimizar el uso de datos con el que se la alimenta para llegar a una conclusión porque sino es simple fuerza bruta.

Pero más allá de eso, si seguimos insistiendo con que Big Data es el único camino creo que estamos dando una ventaja de partida a jugadores que por este mismo efecto de red o circulo virtuoso no van a tener competencia…

Carnegie Mellon University, which lost 40 researchers to Uber shortly after its Advanced Technology Center opened, debuted self-driving technology in Western Pennsylvania in 2013 when a modified 2011 Cadillac SRX drove politicians and transportation officials from Cranberry to Pittsburgh International Airport. Early tests in the California desert started 10 to 15 years ago.

Y pongo un ejemplo básico: si el análisis de grandes cantidades de datos es la única forma de mejorar un auto autónomo ¿como puede Google competir con 1.3 millones de millas recolectadas frente a los 780 millones de millas que tiene Tesla y, peor aún, en que lugar quedan jugadores como Uber que tienen apenas un par de cientos de miles de millas analizadas? :)

Voy de nuevo. Conocemos las ventajas de Deep Learning y etc. conocemos las ventajas del aprendizaje asistido o no, pero creo que se necesitan algoritmos más eficientes para avanzar en la velocidad en la que se entrena un programa o simplemente para nivelar el terreno de juego entre los que manejan datos en cantidades monstruosas (un ejemplo es Facebook y el buen trabajo al liberar cosas como Deeptext) y los que están comenzando (como Eyem y su algoritmo para saber si una foto es linda o no y etiquetarlas automáticamente).

Y tal vez con mejores algoritmos trabajando sobre sets de datos menos masivos se pueda pasar de buscar correlaciones a causas y así ser proactivo y no reactivo. Creo que la clave va a estar en la variedad de los datos y los algoritmos que entiendan como cruzar esos datos ‘diferentes’ porque claramente analizado desde el volumen no se va a llegar muy lejos y mientras más sensores aparezcan y más conexiones le metamos a nuestros cuerpos, más variado va a ser el input de esos algoritmos.

En definitiva, o menos datos y más variados, o datos en cantidades industriales… si este es el camino hay pocas empresas que sean capaces de generar la cantidad y variedad de datos necesarios para usar y analizar en cantidades industriales; esas son las mejor posicionadas si se animan a salir a coopetir con algunos de los jugadores que ya mencioné arriba.

3 respuestas en “Algoritmos capaces de aprender con menos datos”

Muy interesante tu reflexión, se sale de los análisis habituales sobre el tema. Como conocedor del tema de la IA a nivel técnico puedo decirte que no vas mal encaminado. He estado pensando cómo explicar lo que preguntas y pienso que con el siguiente ejemplo se entenderá bien.

El aprendizaje de un sistema inteligente de conducción se parece al del aprendizaje humano de más de un idioma. El segundo idioma que aprendemos nos cuesta mucho y hasta nos confunde respecto al primero que aprendimos, más cuanto más parecidos son (por ejemplo, dos lenguas latinas). Pero el tercero empieza a ser más facil. Al punto que las personas que saben más de cinco idiomas pueden llegar a entender otros idiomas sin estudiarlos!

Con la IA de conducción pasa lo mismo. Lo que tienen en común es que obviamente HAY UNAS REGLAS BASICAS detrás de cada una de esas habilidades (lenguaje, conducción, etc.) que si no se conocen vas a tener que invertir mucho tiempo en una estrategia de fuerza bruta del tipo “ensayo y error” que además será muy poco eficiente en escenarios con ligeras variaciones de contexto. Pero por contra, si antes de iniciar un aprendizaje tienes claras las líneas esenciales de esos procesos, vas a poder dirigirte de forma más eficaz y más eficiente hacia tu objetivo.

Obvio, en esta explicación he sido excesivamente coloquial, pero costaría un semestre de clases, jejeje, o un libro poder explicar esto con propiedad. Sin embargo creo que puedo dejar clara la respuesta a tu interesante cuestión: a medida que los ingenieros que trabajan en estas IA avancen en sus resultados y sus logros a base -al principio- de la fuerza bruta (millones de datos), serán capaces de construir NUEVOS algoritmos que CRISTALICEN ese conocimiento y les dote de puntos de partida con más SENTIDO de la realidad que tratan de “comprender”.

En fin, un tema apasionante. Espero haber sido útil. Saludos.

Creo que el enfoque que apunta Sergi es el basado en técnicas bayesianas. La capacidad de aprendizaje no está solo en los datos si no que existe información que limita dar respuestas que no tengan sentido o limitar la búsqueda de soluciones en ámbitos más probables.
La fuerza bruta o sólo la ingente cantidad de datos no es suficiente como tu apuntas.

Bueno César, en realidad, lo que traté de hacer en mi comentario es dejar claro que en el “proceso de aprendizaje” de un sistema “artificial” (computacional) y uno orgánico (humano) forzosamente tienen que haber paralelismos muy grandes.

Déjame aclararlo con otro ejemplo. Leí una vez algo muy cierto: lo que diferencia a un investigador/profesional maduro de uno novel no es que el primero sabe más y el otro menos (cosa que incluso a veces puede ser a la inversa!), sino que la experiencia del primero le otorga el beneficio de saber discriminar mejor LO IMPORTANTE de lo que no lo es!!! En este sentido, está mejor preparado para aprender cosas nuevas más rápidamente y mejor, que no el novel. Algo que todos hemos “sufrido” cuando empezamos, ¿verdad?

Pongo este ejemplo porqué con la IA sucede lo mismo. Los sistemas de fuerza bruta son como el profesional novel que trae un bagaje cero, y los sistemas avanzados en cambio conjugan diversos sistemas de análisis de datos y de toma de decisiones basado en la “experiencia previa”, leáse la experiencia de los ingenieros que los programaron para trabajar en ese campo en “versiones anteriores”.

En fin, que Mario acertó mucho “intuyendo” que los sistemas necesitarán en el futuro menos datos para funcionar mejor que incluso ahora. Pero no es gratis, es lo que quise aclarar, y no es que los primeros sistemas lo hicieran mal… sino que es el proceso natural en cualquier aprendizaje.

Los comentarios están cerrados.