Machine Learning e Inteligencia Artificial

El Machine Learning (ML), también conocido como aprendizaje automático, era hasta hace poco uno de los campos de la inteligencia artificial. Ahora, la mayoría de la gente, cuando dice «Inteligencia Artificial» en realidad se está refiriendo al Machine Learning. Veamos la diferencia.

Inteligencia Artificial

De acuerdo con la wikipedia, la Inteligencia Artificial (IA), es la inteligencia exhibida por máquinas. De esta forma, consideramos a una identidad inteligente si imita las funciones cognitivas que los humanos asociamos con otras mentes humanas, como por ejemplo aprender y resolver problemas.

La Inteligencia Artificial abarca muchos campos, incluyendo:

  • Resolución de problemas, razonamiento
  • Representación del conocimiento
  • Hacer planes
  • Aprendizaje automático (Machine Learning)
  • Procesamiento de Lenguaje Natural
  • Percepción
  • Movimiento y Manipulación

El campo que más rápido se está desarrollando en los últimos años es el del aprendizaje automático, también conocido como Machine Learning. Y de hecho, es el principal responsable de la popularidad de la Inteligencia Artificial.

Entonces … ¿qué es el Machine Learning?

Machine Learning

«La ciencia (y el arte) de programar ordenadores para que puedan aprender de los datos»

Aurélien Géron, 2017

Hay otras definiciones, por supuesto, pero ésta es lo suficientemente simple y corta para que todos podemos comprenderla. Además me gusta que incluya «arte» porque esa es también mi experiencia.

En la programación clásica, el objetivo es realizar una tarea. Para realizarla, tenemos los siguientes elementos (leyendo el siguiente gráfico de abajo hacia arriba):

  • Requisitos: lo que el programa tiene que hacer
  • Desarrollador: partiendo de los requisitos, escribe un programa
  • Programa: software que realiza la tarea software
  • Datos: que el programa necesita como entrada
  • Resultados: que produce el programa a partir de los datos
Un programa realiza una tarea
Un programa, escrito por un programador a partir de requisitos, realiza una tarea

Cuando usamos machine learning, el objetivo es también el de realizar una tarea. Para realizarla, tenemos los siguientes elementos (leyendo el siguiente gráfico de abajo hacia arriba):

  • Datos históricos: necesarios para aprender un modelo
  • Resultados históricos: que sirve para que la técnica de aprendizaje automático aprenda qué resultados van con cada dato
  • Aprendizaje: que ya veremos que se trata de encontrar los mejores parámetros para el modelo
  • Modelo: por ejemplo, regresión lineal o una red neuronal
  • Datos: que el modelo necesita como entrada
  • Resultados: que produce el modelo a partir de los datos.
Un modelo de machine learning realiza una tarea
Un modelo de machine learning realiza una tarea. El modelo ha sido aprendido a partir de datos y resultados históricos

En el caso que usemos un modelo de aprendizaje de datos, no necesitamos a ningún programador. Esto es posible porque hubo programadores que desarrollaron estos algoritmos de machine learning. Por supuesto, los siguen mejorando, lo que hace que cada vez funcionen mejor. Pero si dejasen de seguir mejorándolos, todavía podríamos obtener modelos a partir de datos y resultados históricos automáticamente.

Esto no quiere decir que ya no necesitamos desarrolladores de software. Los modelos de machine learning sólo sirven para realizar algunas tareas. Los desarrolladores, en cambio, pueden crear software para realizar cualquier tipo de tareas.

¿Qué tareas se pueden resolver con Machine Learning?

Estos son algunos ejemplos de lo que el aprendizaje automático puede hacer:

  • Filtro de spam: ahora recibimos muchísimo menos correos electrónicos de spam que hace años
  • Recomendaciones personalizadas: como las que recibimos en Amazon o Netflix
  • Publicidad: predicción de cuáles son los anuncios que nos van a interesar más
  • Mercado inmobiliario: predicción de cuál va a ser el precio de venta de un inmueble
  • Reconocimiento de imágenes: reconocer qué contiene una imagen (¿es un coche?, ¿un perro?, ¿un gato?)
  • Percepción: saber qué objetos hay en una imagen, dónde están y cómo se mueven (necesario para los coches autónomos)
  • Procesado del habla: por ejemplo Siri, Alexa o el asistente de Google
  • Traducción automática: para traducir entre idiomas como en Google Translate
  • Noticias: predecir qué artículos tendrán un mayor número de visitas
  • Juegos: crear jugadores artificiales que jueguen mejor que nosotros (por ejemplo, Google AlphaZero AI)

¿Cuándo merece la pena usar Machine Learning?

No siempre es una buena idea usar machine learning para resolver un problema. De hecho, mi consejo es que intentes resolver problemas sin usar machine learning! Entonces … ¿por qué se está volviendo tan popular? La respuesta es que el uso de Machine Learning permite resolver problemas que, de otra forma, no serían resolubles.

Para que merezca la pena enfocar la resolución de un problema con Machine Learning, se deben cumplir estas 3 condiciones:

  1. Debe haber un patrón entre los datos de entrada y los resultados (no se pueden predecir los números de la lotería, por ejemplo)
  2. La cantidad de datos disponibles debe ser suficiente para encontrar este patrón (al fin y al cabo, el modelo de machine learning se crea a partir de los datos)
  3. Debe ser difícil formular una expresión matemática que explique este patrón (si fuera fácil, utilizaríamos la fórmula)

Recursos

Deja un comentario