fbpx

Como el «machine learning» ha cambiado y sigue cambiando nuestra vida

Al igual que yo, se que has esuchado el termino: machine learning, asi como omo también has oído mucho de deep learning. Pues parece que machine learning es el término general para a partir de unos datos de entrada encontrar correlaciones y poder hacer predicciones a futuro sobre estos datos, usando determinados algoritmos. Y deep learning es un subconjunto de machine learning en el que el algoritmo a usar es el de redes neuronales.

En machine learning en general se usan cosas como árboles de decisión, redes bayesianas, clustering, etc, etc. En deep learning se usan redes neuronales.

Y una vez entendido el asunto, me he dicho … seguro que hay cosas en java hechas. Y sí, hay bastantes. La que más me han llamado la atención, por la parte de machine learning, es Weka. He estado jugando con Weka y no es muy compleja de usar, me ha parecido bien. También he visto, aunque no jugado todavía, TensorFlow, esta de redes neuronales (deep learning) y al menos la web tiene muy buena pinta y TensorFlow es de google, que siempre hace que al menos merezca la pena mirarla. De todas formas he sido “malo” y le puesto la mosca detrás de la oreja a un compañero de trabajo, que sí ha jugado con ella y me ha dado buenas referencias tras hacer sus experimentos.

Pero tras leer un poco sobre esto y jugar con weka … me he decepcionado un poco. Weka no me ha costado mucho porque he visto que tenía una cosa que se llama árboles de decisión como algoritmo para clasificar muestras y he podido hacer rápidamente mis pruebas porque sé cómo funciona un árbol de decisión. ¿Y por qué lo sé?. Porque allá por 1993 (hace ya 25 años) estuve intentando hacer el doctorado de mi carrera (no lo terminé, por eso “intentando”) y ya entonces existían los árboles de decisión. También por aquella época existían las redes neuronales (ahora por lo visto llamadas deep learning).

Entonces .. . ¿hemos evolucionado algo?. Pues mi conclusión es que en conceptos/algoritmos me da la impresión de que no, posiblemente se han mejorado o se han variado, pero básicamente sigue siendo lo mismo que había al menos hace 25 años. Lo que sí ha evolucionado un montón es que ahora hay un mogollón más de datos, tenemos más potencia de CPU y tenemos más posibilidades de hacer cálculo distribuido en cluster de servidores, por lo que todos estos algoritmos tienen ahora mucha más potencia y posibilidades. De hecho, aunque no he encontrado una referencia clara, en algunos sitios si mencionan que la palabra “deep” es porque ahora se pueden poner muchas más capas en las redes neuronales.

Y lo que más ha evolucionado, en 1993 internet no era lo que es hoy y me tuve que hacer yo desde cero el código de los árboles de decisión, estudiando e implementando las fórmulas de entropía del conjunto de muestras. También me hice desde cero mis redes neuronales. Ahora hay mucha gente que ha hecho librerías que tienen todo esto implementado, como Weka o TensorFlow, y están fácilmente accesibles y documentadas en internet. Sólo nos queda por hacer la parte difícil, elegir bien los parámetros de interés de nuestras muestras y entrenar el algoritmo 

El ‘machine learning’ –aprendizaje automático– es una rama de la inteligencia artificial que permite que las máquinas aprendan sin ser expresamente programadas para ello. Una habilidad indispensable para hacer sistemas, no solo inteligentes, sino autónomos, y capaces de identificar patrones entre los datos para hacer predicciones. Esta tecnología está hoy presente en un sinfín de aplicaciones como las recomendaciones de Netflix o Spotify, las respuestas inteligentes de Gmail o el habla natural de Siri y Alexa.

Infografía: El machine learning para el desarrollo de aplicaciones ...

Matemáticas antiguas, nueva computación

Hay que remontarse al siglo XIX para encontrar algunos de los hitos matemáticos que sentaron las bases de esta tecnología: el teorema de Bayes (1812), por ejemplo, definió la probabilidad de que un evento ocurra basándose en el conocimiento de las condiciones previas que pudieran estar relacionadas con dicho evento. Años después, en la década de 1940, otra serie de científicos sentaron las bases de la programación informática, capaz de traducir una serie de instrucciones en acciones ejecutables por un ordenador. Estos precedentes hicieron posible que en 1950 el matemático Alan Turing plantease por primera vez la pregunta de si es posible que las máquinas puedan pensar, con la que plantó la semilla de la creación de computadoras de ‘inteligencia artificial’ capaces de replicar de forma autónoma tareas típicamente humanas, como la escritura o el reconocimiento de imágenes.

Contenido Relacionado:  Lo nuevo en iOS 13

Fue un poco más adelante, entre las décadas de 1950 y 1960, cuando distintos científicos empezaron investigar cómo aplicar la biología de las redes neuronales del cerebro humano para tratar de crear las primeras máquinas inteligentes. La idea derivó en la creación de las redes neuronales artificiales, un modelo computacional inspirado en la forma en que las neuronas transmiten la información entre ellas a través de una red de nodos interconectados. Uno de los primeros experimentos en este sentido fue el realizado por Marvin Minksy y Dean Edmonds, científicos del Instituto Tecnológico de Massachussets (MIT), que lograron crear un programa informático capaz de aprender de la experiencia para salir de un laberinto.

“El ‘machine learning’ es un maestro del reconocimiento de patrones”

Esta fue la primera máquina capaz de aprender por sí misma a resolver una tarea sin haber sido programada para ello de forma explícita, sino que lo hacía tan solo aprendiendo a partir de los ejemplos proporcionados inicialmente. El logro significó un cambio de paradigma respecto al concepto más amplio de inteligencia artificial. “El gran hito del ‘machine learning’ es que permitió pasar de la programación mediante reglas a dejar que el modelo haga aflorar dichas reglas de manera desasistida gracias a los datos”, explica Juan Murillo, mánager de Estrategia de Datos en BBVA.

A pesar del éxito del experimento, el logro también ponía de manifiesto los límites que la tecnología tenía por entonces: la falta de disponibilidad de datos y la falta de potencia de cómputo de la época hacían que estos sistemas no tuvieran la capacidad suficiente para resolver problemas complejos. Esto derivó en la llegada del llamado ‘primer invierno de la inteligencia artificial’, una serie de décadas durante las cuales la falta de resultados y avances hizo que el mundo académico perdiera esperanza respecto a esta disciplina.

El renacer de la IA

El panorama empezó a cambiar a finales del siglo XX, con la llegada de internet, las cantidades masivas de información disponibles para entrenar los modelos y el aumento de la potencia de cálculo de los ordenadores. “Ahora podemos hacer lo mismo que antes, pero mil millones de veces más rápido. Los algoritmos son capaces de probar 500.000 millones de veces una misma combinación de datos hasta darnos el resultado óptimo en cuestión de horas o minutos, mientras que antes harían falta semanas o meses”, asegura Espinoza.

En 1997 un célebre hito marcó el renacer del aprendizaje automático: el sistema de IBM Deep Blue, entrenado a base de ver miles de partidas exitosas de ajedrez, logró derrotar al máximo campeón mundial de este juego, Garry Kasparov. El logro fue posible gracias al ‘deep learning’ o aprendizaje profundo, una subcategoría del ‘machine learning’ descrita por primera vez en 1960, que permite que los sistemas no solo aprendan de la experiencia, sino que sean capaces de entrenarse a sí mismas para hacerlo cada vez mejor usando los datos. Esto hito fue posible entonces –y no 30 años atrás–, gracias al aumento de la disponibilidad de datos con los que entrenar el modelo: “Lo que hacía este sistema es calcular estadísticamente qué movimiento tiene más probabilidades de hacerle ganar la partida basándose en miles de ejemplos de partidas vistas previamente”, añade Espinoza.

“La diferencia con técnicas anteriores están en su capacidad para adaptarse a los cambios en los datos a medida que van entrando en el sistema”

Esta tecnología ha avanzado de forma exponencial durante los últimos 20 años, y es también la responsable de AlphaGo, el programa capaz de derrotar al juego Go a cualquier jugador humano. Y lo que es más importante: de entrenarse a base de jugar contra sí mismo constantemente para seguir mejorando.

Contenido Relacionado:  Trucos para acelerar Windows 10 – configuración

El sistema que emplea AlphaGo para lograr esto es, en concreto, el ‘aprendizaje por refuerzo’ (o ‘reinforcement learning’) que es una de las tres grandes corrientes que se emplean en la actualidad para entrenar a estos modelos:

  • El ‘aprendizaje por refuerzo’ se produce cuando una máquina aprende por medio de prueba y error hasta alcanzar la mejor manera de completar una tarea dada. Por ejemplo, Microsoft utiliza esta técnica en entornos de juego como Minecraft para ver cómo los ‘agentes de software’ mejoran su trabajo. A través de ella el sistema aprende a modificar su conducta a base de “recompensas” para que resuelva la tarea asignada, sin programarlo específicamente para que lo realice de una forma determinada.
  • ‘Aprendizaje supervisado’, se produce cuando se entrena a las máquinas con datos etiquetados. Por ejemplo, fotos con descripciones de los elementos que aparecen en ellas. El algoritmo que utiliza la máquina es capaz de seleccionar esas etiquetas en otras bases de datos. Así, si se ha etiquetado un grupo de imágenes en las que se muestran perros, la máquina puede identificar imágenes similares.
  • Finalmente, en el caso del ‘aprendizaje no supervisado’, las máquinas no identifican patrones en bases de datos etiquetadas, sino que buscan similitudes. En este caso, los algoritmos no están programados para detectar un tipo específico de datos, como ocurría con las imágenes de perros, sino que buscan ejemplos que se parezcan y puedan agrupar. Es lo que ocurre, por ejemplo, en el caso del reconocimiento facial, en el que el algoritmo no busca unos rasgos concretos, sino una serie de patrones comunes que le ‘dicen’ que se trata del mismo rostro.

Flexibilidad, adaptación y creatividad

Lo modelos de ‘machine learning’ y en concreto el aprendizaje por refuerzo o ‘reinforcement learning’ tienen una característica que los hace especialmente útiles para el mundo empresarial. “Es su flexibilidad y su capacidad para adaptarse a los cambios en los datos a medida que van entrando en el sistema y aprender de las propias acciones del modelo. Ahí radica el aprendizaje y el dinamismo de los que carecían las técnicas previas”, añade Juan Murillo.

Inteligencia artificial, el aliado contra el cambio climático

La extinción de especies, el aumento de las temperaturas y los grandes desastres naturales son algunas de las consecuencias sufridas a causa del cambio climático. Países e industrias son conscientes y trabajan para combatir la acelerada contaminación del planeta. ¿Hay solución? Algunos investigadores señalan que el uso del ‘big data’ y el ‘machine learning’ puede ayudar a la hora de mejorar la eficiencia energética, cambiar industrias como la agricultura y encontrar nuevos materiales de construcción agradables con el medio ambiente.

En el caso de AlphaGo, esto significa que la máquina se adapta en función de los movimientos del contrincante, y emplea esta información nueva para mejorar el modelo constantemente. La última versión de esta computadora, llamada AlphaGo Zero, ya es capaz de acumular miles de años de conocimiento humano en tan solo unos días funcionando. Además, “AlphaGo Zero también descubrió conocimiento nuevo, desarrollando nuevas estrategias creativas y movimientos no convencionales”, explica DeepMind, la empresa filial de Google responsable de su desarrollo, en un artículo.

Esta capacidad de adaptación y de invención sin precedentes tiene un enorme potencial de cara al futuro para mejorar disciplinas científicas tan dispares como la creación de proteínas sintéticas o el diseño de antenas más eficientes. “Las aplicaciones industriales de esta técnica incluyen optimizar, de forma continua, cualquier tipo de ‘sistema’”, explica José Antonio Rodríguez. También en el mundo de la banca, el aprendizaje profundo permite “crear algoritmos que pueden ajustarse a cambios en el comportamiento de los mercados y clientes, para balancear oferta y demanda, por ejemplo, ofreciendo precios personalizados”, concluye Rodríguez.