Las empresas de tecnología, en su constante búsqueda de ofrecer mejores soluciones a sus clientes (y dicho sea de paso, más dividendos a sus accionistas) acuñan, de vez en cuando, nuevos términos para sus productos. Desafortunadamente, la velocidad de los sistemas informáticos muchas veces impiden que dichos nuevos términos sean entendidos cabalmente por la fuerza de ventas, lo que provoca un mercado de tecnología lleno de falacias e informaciones a medias.

Al igual que en mi artículo pasado desmitificando Blockchain, ahora quisiera dedicar unos minutos al «nuevo» integrante de las panaceas tecnológicas: Machine Learning.

Lo nuevo no tan nuevo

Desde los inicios del estudio del cerebro humano (alrededor del año 1900) se concibió la idea de crear una máquina que, de funcionar de manera «similar», pudiera aprender y proporcionar resultados «similares». En otras palabras, una máquina con inteligencia artificial.

En 1943, MuCulloch y Pitts crearon el primero modelo neuronal moderno, dando nacimiento a una disciplina denominada Cybernetics. Posteriormente, a mediados de la década de 1980, se propuso un modelo basado en la teoría de que, un componente básico con funciones básicas (una neurona, por ejemplo) al ser interconectado masivamente, podría generar funciones más complejas. La corriente del conexionismo soporta dicha teoría en los nuevos conocimientos (para ese entonces) del funcionamiento del cerebro humano.

Finalmente, al día de hoy, con las capacidades tecnológicas modernas y la gran cantidad de Big Data que tenemos disponible, es posible poner en práctica los modelos matemáticos planteados desde hace más de 50 años para dar origen al término tecnológico «Machine Learning«.

Definiendo términos clave

Para mi sorpresa, en muchos foros tecnológicos de vanguardia, hay términos que se utilizan indiscriminadamente, casi como si fueran sinónimos. En mi opinión, muchas confusiones y malas aplicaciones de la tecnología provienen de ahí, así que me gustaría comenzar con algunas definiciones.

Artificial Intelligence es la capacidad de consumir una base de conocimientos existente y tomar decisiones consistentemente correctas, en un ambiente no controlado. Existieron intentos importantes para crear dichas bases de conocimiento, pero ninguna es lo suficientemente concreta como para dar respuestas prácticas y al mismo tiempo, abstracta para no requerir todos las posibles combinaciones de respuestas y problemas.

Debido a que no es práctico crear una base de datos con todas las combinaciones posibles (de cualquier disciplina, por ejemplo, de medicina, cartografía, ciberseguridad, etc) el trabajo ahora es crear una máquina que pueda crear su propia base de conocimiento. La forma en la que una computadora reciba datos sin clasificar, de forma masiva, y que a partir de ellos construya su propia base de conocimiento se llama Machine Learning.

Algunos de los conceptos dentro de las bases de conocimiento son simples. Por ejemplo, la clasificación de pixeles en una imagen de acuerdo a su color, densidad, etc. Existe la forma de encadenar bases de conocimientos, una detrás de otra, para generar respuestas a problemas más complejos. Un nivel de Machine Learning podría clasificar solamente los pixeles de una foto, el siguiente nivel analizar la manera en que se agrupan, un tercer nivel detectar texturas con sus patrones y un cuarto nivel, figuras complejas y determinar a qué se refieren (por ejemplo, un rostro).

Utilizar varias máquinas de clasificación de Machine Learning, una «encima» de la otra, para crear niveles de conocimiento cada vez más complejos, se llama Deep Learning.

Finalmente, el modelo matemático propuesto para que a partir de componentes iguales y sus interconexiones se logre el aprendizaje, se llama Neural Network.

Quitando falsas expectativas

De las definiciones anteriores (de las cuales proporciono la bibliografía, en caso de ser de interés) podemos derivar las siguientes conclusiones:

  • Machine Learning, Deep Learning, redes neuronales e Inteligencia Artificial no son lo mismo.
  • Ninguno de los términos anteriores define «algo» que «mágicamente» ya no requiere un programador, y que ese «algo» genera, a partir de un problema, tanto la solución como el programa que la implementa.
  • Redes neuronales, regresiones lineales y redes bayesianas no son tecnologías. Son modelos que requieren de una tecnología para implementarse de manera escalable.
  • Los modelos de aprendizaje de máquina requieren información de calidad, en cantidades masivas, para generar una base de conocimientos útil y consistente.
  • Reconocimiento de imágenes, análisis de sentimientos, chatbots, etc. no representan modelos de Machine Learning. Son representaciones de bases de conocimientos que pueden ser consumidas por motores de Machine Learning.

En pocas palabras, los modelos detrás de Machine Learning existen desde hace ya décadas. Lo «novedoso» es que ahora ya tenemos conjuntos de datos lo suficientemente grandes (BigData) como para alimentarlos y generar la base de conocimiento.

Finalmente, los motores de Machine Learning requieren de todos esos datos en un formato que puedan entender los modelos: formatos matemáticos. No pueden ser «alimentados» de objetos al azar (documentos, fotos, voces, programas de televisión, recetas de cocina) y que mágicamente generen algo de valor.

De esto último se deriva una disciplina que traduce la información de la vida cotidiana en formatos matemáticos: la Ciencia de Datos.


Bibliografía: Deep Learning, by Ian Goodfellow, Yoshua Bengio and Aaron Courville.