escuchá el podcast

Machine learning o cómo las máquinas se entrenan para hacer cosas

El machine learning nos está cambiando la vida sin darnos cuenta. Contaremos a continuación de qué se trata y cómo este método de la rama de la inteligencia artificial está presente en diferentes situaciones de la vida cotidiana, casi de manera imperceptible, y en ámbitos en los que ya se ha asentado firmemente y proyecta hacerlo aún más.

Como si se tratase de un cuento de ciencia ficción, desde los inicios de la informática se ha intentado crear computadores y diseñar algoritmos que aprendan de la misma manera en la que, por ejemplo, lo hacemos las personas. De ese desafío nace una rama de la informática que se dedica a generar procesos y sistemas que puedan ser entrenados para que, a raíz de esto, luego se vuelvan mejores, más eficientes y capaces de realizar una tarea de forma superlativa a la de su inicio. Esta idea es la que le da fundamento a la creación del concepto de “machine learning”: una máquina que aprende y mejora a medida que se entrena, se alimenta de datos y experiencia a lo largo del tiempo.

Para visualizarlo mejor, imaginemos que queremos aprender a jugar al ajedrez. Para ello debemos aprender: las reglas del juego, cómo se mueven las piezas del tablero y estrategias.

Para ganar un juego se requiere de mucha práctica y para ser un buen jugador se dispone de muchos caminos para aprender: podríamos recibir entrenamiento de mejores jugadores de ajedrez, leer libros al respecto o solo jugar muchas veces y motivarnos al ganar cada partida. Ahora bien, al entrenar a una máquina para que aprenda a jugar al ajedrez, también tenemos caminos de aprendizaje: podríamos enseñarle a predecir jugadas del oponente (aprendizaje supervisado) o, también, hacerle repetir múltiples partidos y que, cada vez que derrote al oponente, recuerde cómo jugó (aprendizaje por refuerzo), e incluso que aprenda solamente sabiendo cuáles son las reglas de juego y cómo estas son fijas; de esta manera, podría aprender a jugar y crear mejores estrategias sin intervención humana (aprendizaje no supervisado).

Este proceso de aprendizaje automatizado permite a las máquinas simular inteligencia y realizar tareas más eficientemente con el tiempo.

El ABC del machine learning

Se trata de una serie de algoritmos que necesitan información o experimentar muchas veces en el intento de resolver un problema, para poder ser mejores y cada vez más eficientes al momento de abordar el mismo o similares problemas.

Suele usarse en sistemas de predicción, como el sistema que te recomienda una nueva película basada en tus gustos o en la serie de películas que estuviste viendo con anterioridad. Además, estos sistemas siguen aprendiendo de elecciones y preferencias mientras más los uses.

Entrenar un sistema mediante machine learning requiere muchos datos y, en general, los sistema de aprendizaje necesitan ser supervisados para garantizar que el procedimiento, la información a entrenar y los datos estén correctamente suministrados. Esto puede requerir tiempo, esfuerzo y mucha información para organizar.

Ingresar al mundo del machine learning requiere tener algunos conocimientos de probabilidad, estadística, matemáticas y algún lenguaje de programación. De todas formas, para esto último, existen numerosas herramientas que facilitan y reducen la complejidad de la curva de aprendizaje.

Componentes del machine learning

Pensar en un proceso de machine learning es pensar en usar una serie de algoritmos que serán alimentados por datos, lo que finalmente nos entregará un modelo de ese entrenamiento. Esto es muy parecido a los modelos estadísticos, los cuales tienen una teoría matemática detrás. Veamos.

Datos

Lo primero que necesitamos es información del problema a resolver. Para ello debemos recabar la mayor cantidad de datos posible. Luego, definir y organizar qué datos nos serán útiles. Por ejemplo, si tuviéramos que entrenar un algoritmo para que aprenda a detectar la luz roja del semáforo mediante imágenes, deberíamos recopilar y utilizar miles de fotos de semáforos.

Análisis

Necesitamos, también, analizar el proceso por el cual entrenaremos a nuestro modelo utilizando algún tipo de algoritmo, en función del tipo de aprendizaje al cual someteremos nuestros datos: supervisado, sin supervisar, por refuerzo o semisupervisado.

También debemos definir qué es para nosotros una salida de datos del algoritmo “exitoso” y cómo lo evaluaremos, mediante la extracción de características particulares de los datos, y cuál parte o partes de estos serán usados para construir nuestro modelo de datos. Siguiendo con el ejemplo del semáforo, esto implica, en un proceso de aprendizaje supervisado, seleccionar imágenes del semáforo en rojo y asignarles una etiqueta. Podría ser incluso mediante una hoja de cálculo tipo Excel.

Modelado

Aquí es donde se construye el modelo, seleccionando el tipo de aprendizaje que utilizaremos para entrenarlo. Este proceso puede entenderse como una serie de pasos iterativos (es decir, que se repiten una y otra vez), mediante los cuales “alimentamos” nuestro algoritmo con los datos preseleccionados. Y, luego, los contrastamos con el resultado de salida, el cual será positivo o negativo. El proceso debe repetirse con todos los datos seleccionados hasta finalizarlo. De esta manera, el modelo acumulará la información y quedará “entrenado” (diferencia entre algoritmo y modelo).

En este sentido, si estamos entrenando un modelo cuya función es la de detectar imágenes de semáforos con la luz roja encendida, debemos pensar qué proceso nos ayudará a descomponer mejor las imágenes para obtener de ellas valores clave y representativos.

Pruebas

En esta instancia, se procura experimentar y utilizar el modelo con distintos datos, y generar validaciones hasta tener un alto margen de confianza en él. Para ello, y finalizando con el ejemplo planteado, es necesario utilizar más cantidades de imágenes de semáforos y, por qué no, también cualquier tipo de imagen que sirva para testear si efectivamente el modelo funciona. Por supuesto, estas nuevas imágenes no deben ser parte de los datos con los cuales entrenamos nuestro modelo. La prueba consiste en revisar que la detección positiva de una imagen que contiene un semáforo en rojo sea correcta. Caso contrario, debemos repetir el proceso incorporando más datos para que nuestro modelo reduzca el margen de error. Una vez realizado esto, es posible usar el modelo entrenado en distintos sistemas y nuevamente comprobar su fiabilidad.

Ámbitos de aplicación

El machine learning puede aplicarse en muchos ámbitos. Por ejemplo, para detectar si un correo electrónico es un correo deseado o no deseado, depende mucho de su contenido, remitente o incluso del asunto. Todo esto puede ser analizado y predecirse, gracias al uso de algoritmos entrenados. Y en los casos en que pueda filtrarse algo que debió ir al correo deseado, podemos “avisarle” al sistema que fue un error, para que aprenda de esa decisión y la próxima vez no lo filtre. Veamos algunos otros ámbitos más:

Educación

Puede ser usado para incrementar el alcance de los contenidos y generar inclusión; por ejemplo, al elaborar traducciones de textos en distintos lenguajes para quienes no puedan comprender textos en otro idioma o tengan dificultades como la dislexia. En este sentido, gracias a modelos entrenados, podemos eliminar las barreras en la comunicación y generar más inclusión. Un ejemplo de ello es la posibilidad de aprender lenguaje de señas utilizando nuestra webcam. Se puede explorar más aquí.

Además, la Unesco organiza año a año eventos, entre los cuales está la Semana del aprendizaje móvil, donde el foco se encuentra justamente en la inteligencia artificial. Se puede explorar más aquí.

Seguridad y vigilancia

Es posible usar machine learning para reconocer imágenes como rostros u objetos de diferente tipo. Un ejemplo de esto es su implementación en sistemas de monitoreo de tránsito, que permiten identificar las patentes de los vehículos. Se puede explorar más aquí.

Medicina

En diagnósticos médicos, el uso de machine learning, mediante algoritmos entrenados, permite detectar enfermedades antes de que se manifiesten con síntomas, gracias a un modelo de predicción entrenado con datos clínicos. Esto implica clasificar datos como imágenes, la voz humana o incluso la cara de una persona. Se puede explorar más aquí.

Meteorología

También es muy útil para predecir valores a futuro como el clima, lo que resulta de mucha importancia en la predicción de fenómenos severos que podrían causar daños materiales o humanos. Se puede explorar más aquí.

Economía

Muchos modelos de aprendizaje automático han superado en exactitud las predicciones de los economistas, al lograr un incremento en la precisión de los crecimientos o las caídas de entre 40-70%. Hasta se ha planteado la posibilidad de que el próximo “ministro de economía” sea un algoritmo. Se puede explorar más aquí.

Arte

El avance del machine learning en arte, sobre todo en el lenguaje audiovisual, creció a pasos agigantados. Por ejemplo, gracias a la aplicación de modelos entrenados con imágenes de actores, podemos poner su rostro en viejas películas, envejecer o rejuvenecer su apariencia. Se puede explorar más aquí.

Recapitulando

No hay duda de que las posibilidades de implementación de modelos entrenados mediante machine learning son tantas como nuestra imaginación nos lo permita. Lo que hay en la actualidad es solo la punta del iceberg.

Incluso es imposible negar que los beneficios de estas implementaciones son tan importantes, casi comparables con momentos revolucionarios de la industria, como el comienzo de las computadoras personales o el CD. Sin dudas, en los próximos años veremos muchos avances en educación personalizada, gracias a los cuales los estudiantes no solo podrán acceder al contenido que ellos quieran, sino que este se amoldará a su manera de aprender. Será inconcebible pensar en cualquier proceso de cualquier índole o de manejo de información sin que un modelo entrenado nos ayude a tomar mejores decisiones.

Alejandro Medici

Apasionado de la tecnología, del desarrollo de software, emprendedor y autodidacta, experto en varios lenguajes de programación y tecnologías. Actualmente es líder técnico y ayuda en diferentes áreas de TI, incluyendo arquitectura de soluciones y desarrollo mobile. Además, brinda soluciones a problemas de software en general. Especialidades: startups, tecnología, inteligencia artificial... Ver más

Compartir