El machine learning es el subconjunto de la inteligencia artificial (IA) centrado en algoritmos que pueden "aprender" los patrones de los datos de entrenamiento y, posteriormente, hacer inferencias precisas sobre nuevos datos. Esta capacidad de reconocimiento de patrones permite a los modelos de machine learning tomar decisiones o realizar predicciones sin instrucciones explícitas y codificadas de forma rígida.
El machine learning ha llegado a dominar el campo de la IA, constituyendo la columna vertebral de la mayoría de los sistemas modernos, desde modelos de previsión hasta vehículos autónomos, pasando por modelos de lenguaje de gran tamaño (LLM) y otras herramientas de IA generativa.
La premisa central del ML es que si se optimiza el rendimiento de un modelo en un conjunto de datos de tareas que se asemejan adecuadamente a los problemas del mundo real para los que se utilizará, a través de un proceso llamado entrenamiento de modelos, el modelo puede hacer predicciones precisas sobre los nuevos datos que ve en su caso de uso final.
El entrenamiento es simplemente un medio para alcanzar un fin: la generalización, es decir, la capacidad de traducir un buen rendimiento en los datos de entrenamiento en resultados útiles en escenarios del mundo real. Este es el objetivo fundamental del machine learning. En esencia, un modelo entrenado aplica patrones que aprendió de los datos de entrenamiento para inferir el output correcto para una tarea del mundo real: la implementación de un modelo de IA es por lo tanto llamada inferencia de IA.
El deep learning, el subconjunto del machine learning impulsado por grandes redes neuronales artificiales, o más bien "profundas", ha surgido en las últimas décadas como la arquitectura de modelos de IA de última generación en casi todos los dominios en los que se utiliza la IA. A diferencia de los algoritmos explícitamente definidos del machine learning tradicional, el deep learning se basa en "redes" distribuidas de operaciones matemáticas que le confieren una capacidad sin igual para aprender los matices intrincados de datos muy complejos. Dado que el deep learning requiere cantidades muy grandes de datos y recursos computacionales, su llegada ha coincidido con la creciente importancia del "big data" y las unidades de procesamiento gráfico (GPU).
La disciplina del machine learning está estrechamente entrelazada con la de la ciencia de datos. En cierto sentido, el machine learning puede entenderse como una colección de algoritmos y técnicas para automatizar el análisis de datos y (lo que es más importante) aplicar los aprendizajes de ese análisis a la ejecución autónoma de tareas relevantes.
Aunque el concepto central no se le atribuye a él, sí se le suele atribuir el origen del término. En 1959, publicó en la revista IBM Journal el artículo "Some Studies in Machine Learning Using the Game of Checkers" ("Algunos estudios sobre el machine learning utilizando el juego de damas"). En la introducción del artículo, Samuel articula claramente el resultado ideal del machine learning: "un ordenador puede programarse para que aprenda a jugar mejor a las damas que la propia persona que escribió el programa".1
Aunque "machine learning" e "inteligencia artificial" a menudo se utilizan indistintamente, no son del todo sinónimos. En resumen: todo el machine learning es IA, pero no toda la IA es machine learning.
En la imaginación popular, la "IA" suele asociarse a la ciencia ficción, normalmente a través de representaciones de lo que se denomina más propiamente inteligencia artificial general (AGI), como HAL 9000 en 2001: Una odisea en el espacio o Ava en Ex Machinao, más recientemente, con IA generativa. Pero "inteligencia artificial" es un término general para cualquier programa que pueda utilizar información para tomar decisiones o predicciones sin la participación humana activa.
Los sistemas de IA más elementales son una serie de declaraciones "if-then-else", con reglas y lógica programadas explícitamente por un científico de datos. En el nivel más básico, incluso un termostato rudimentario es un sistema de IA basado en reglas cuando se programa con reglas simples como:
y
el termostato es capaz de tomar decisiones sin intervención humana adicional. A un nivel más complejo, un árbol de decisión grande e intrincado basado en reglas programado por expertos médicos podría analizar los síntomas, las circunstancias y las comorbilidades para ayudar al diagnóstico o al pronóstico.2
A diferencia de los sistemas expertos, la lógica por la que opera un modelo de machine learning no está programada explícitamente, sino que se aprende a través de la experiencia. Piense en un programa que filtre el correo electrónico no deseado: la IA basada en reglas requiere que un científico de datos diseñe manualmente criterios precisos y universales para el correo electrónico no deseado; el machine learning requiere solo la selección de un algoritmo apropiado y un conjunto de datos adecuado de correos electrónicos de muestra. En el entrenamiento, al modelo se le muestran correos electrónicos de muestra y predice cuáles son spam; se calcula el error de sus predicciones y se ajusta su algoritmo para reducir el error; este proceso se repite hasta que el modelo sea preciso. El modelo de ML recién entrenado ha aprendido implícitamente a identificar el spam.
A medida que las tareas que debe realizar un sistema de IA se vuelven más complejas, los modelos basados en reglas se vuelven cada vez más frágiles: a menudo es imposible definir explícitamente cada patrón y variable que debe tener en cuenta un modelo. Los sistemas de machine learning se han convertido en el modo dominante de inteligencia artificial porque los patrones de aprendizaje implícitos de los propios datos son inherentemente más flexibles, escalables y accesibles.
El machine learning funciona a través de la lógica matemática. Por lo tanto, las características relevantes de cada punto de datos deben expresarse numéricamente para poder introducirse en un algoritmo matemático que "aprenderá" a asignar una entrada determinada al output deseado.
Los puntos de datos en el machine learning suelen representarse en forma de vector, en el que cada elemento (o dimensión) del embedding vectorial de un punto de datos corresponde a su valor numérico para una característica específica. Para las modalidades de datos que son intrínsecamente numéricas, como los datos financieros o las coordenadas geoespaciales, esto es relativamente sencillo. Pero muchas modalidades de datos, como texto, imágenes, datos gráficos de redes sociales o comportamientos de usuarios de aplicación, no son intrínsecamente numéricos y, por lo tanto, implican una ingeniería de características menos intuitiva de inmediato para expresarse de una manera preparada para el ML.
El proceso (a menudo manual) de elegir qué aspectos de los datos utilizar en los algoritmos de machine learning se denomina selección de características. Las técnicas de extracción de características refinan los datos hasta sus dimensiones más relevantes y significativas. Ambos son subconjuntos de la ingeniería de características, la disciplina más amplia de preprocesamiento de datos sin procesar para su uso en machine learning. Una distinción notable del deep learning es que normalmente opera con datos sin procesar y automatiza gran parte del proceso de ingeniería de características, o al menos el proceso de extracción de características. Esto hace que el deep learning sea más escalable, aunque menos interpretable, que el machine learning tradicional.
A modo de ejemplo, consideremos un algoritmo de regresión lineal simple para predecir el precio de venta de una vivienda en función de una combinación ponderada de tres variables: superficie, antigüedad y número de dormitorios. Cada casa se representa como un embedding vectorial con 3 dimensiones:
El algoritmo es una función matemática sencilla:
Precio = (A * metros cuadrados) + (B * número de habitaciones) – (C * Antigüedad) + Precio base
Aquí, , y son los parámetros del modelo: al ajustarlos se ajustará la importancia que tiene el modelo para cada variable. El objetivo del machine learning es encontrar los valores óptimos para dichos parámetros del modelo: en otras palabras, los valores de los parámetros que dan como resultado que la función general genere los Resultados más precisos. Aunque la mayoría de las instancias reales de machine learning implican algoritmos más complejos con un mayor número de variables de entrada, el principio sigue siendo el mismo: optimizar los parámetros ajustables del algoritmo para obtener una mayor precisión.
Todos los métodos de machine learning pueden clasificarse en uno de tres paradigmas de aprendizaje distintos: aprendizaje supervisado, aprendizaje no supervisado o aprendizaje por refuerzo, en función de la naturaleza de sus objetivos de entrenamiento y (a menudo, pero no siempre) del tipo de datos de entrenamiento que implican.
El proceso de entrenamiento integral para un modelo determinado puede implicar, y a menudo lo hace, enfoques híbridos que aprovechan más de uno de estos paradigmas de aprendizaje. Por ejemplo, el aprendizaje no supervisado se utiliza a menudo para preprocesar datos para su uso en el aprendizaje supervisado o por refuerzo. Los modelos de lenguaje de gran tamaño (LLM) suelen someterse a su entrenamiento inicial (preentrenamiento) y ajuste a través de variantes del aprendizaje supervisado, seguidos de un ajuste más preciso a través de técnicas de RL como el aprendizaje por refuerzo a partir del feedback humano (RLHF).
En una práctica similar pero distinta, varios métodos de aprendizaje por conjuntos agregan las outputs de múltiples algoritmos.
Los algoritmos de aprendizaje supervisado entrenan modelos para tareas que requieren precisión, como la clasificación o la regresión. El machine learning supervisado impulsa tanto los modelos de deep learning de última generación como una amplia gama de modelos tradicionales de ML que aún se emplean ampliamente en todos los sectores.
Para medir y optimizar la precisión, los outputs de un modelo deben compararse con una verdad fundamental: el output ideal o "correcto" para cualquier entrada dada. En el aprendizaje supervisado convencional, esa verdad fundamental la proporcionan los datos etiquetados. Un modelo de detección de spam de correo electrónico se entrena en un conjunto de datos de correos electrónicos que se han etiquetado como
Esencial para el aprendizaje supervisado es el uso de una función de pérdida que mide la divergencia ("pérdida") entre el output del modelo y la verdad fundamental en un lote de entradas de entrenamiento. El objetivo del aprendizaje supervisado se define matemáticamente como minimizar el output de una función de pérdida. Una vez calculada la pérdida, se utilizan varios algoritmos de optimización, la mayoría de los cuales implican el cálculo de la/s derivada/s de la función de pérdida, para identificar los ajustes de parámetros que reducirán la pérdida.
Debido a que este proceso tradicionalmente requiere que un ser humano proporcione la verdad fundamental en forma de anotaciones de datos, se denomina aprendizaje "supervisado". Como tal, el uso de datos etiquetados se consideró históricamente la característica definitiva del aprendizaje supervisado. Pero en el nivel más fundamental, el sello distintivo del aprendizaje supervisado es la existencia de alguna verdad fundamental y el objetivo de entrenamiento de minimizar el output de la función de pérdida que mide la divergencia de ella.
Para adaptarse a una noción más versátil de aprendizaje supervisado, la terminología moderna de ML utiliza "supervisión" o "señales de supervisión" para referirse genéricamente a cualquier fuente fiable.
El etiquetado de datos puede resultar prohibitivo y llevar mucho tiempo para tareas complejas y grandes conjuntos de datos. El aprendizaje autosupervisado implica el entrenamiento en tareas en las que una señal de supervisión se obtiene directamente de datos no etiquetados, por lo tanto, "auto" supervisado.
Por ejemplo, los autocodificadores están entrenados para comprimir (o codificar) los datos de entrada y luego reconstruir (o decodificar) la entrada original utilizando esa representación comprimida. Su objetivo de entrenamiento es minimizar el error de reconstrucción, utilizando la propia entrada original como verdad fundamental. El aprendizaje autosupervisado también es el principal método de entrenamiento para los LLM: a los modelos se les proporcionan muestras de texto con ciertas palabras ocultas o enmascaradas y se les asigna la tarea de predecir las palabras que faltan.
El aprendizaje autosupervisado se asocia con frecuencia al aprendizaje por transferencia, ya que puede proporcionar modelos fundacionales con amplias capacidades que luego se ajustarán para tareas más específicas.
Mientras que el aprendizaje autosupervisado es esencialmente aprendizaje supervisado sobre datos no etiquetados, los métodos de aprendizaje semisupervisado utilizan tanto datos etiquetados como no etiquetados. En términos generales, el aprendizaje semisupervisado comprende técnicas que utilizan información de los datos etiquetados disponibles para hacer suposiciones sobre los puntos de datos no etiquetados, de modo que estos últimos puedan incorporarse a los flujos de trabajo de aprendizaje supervisado.
Los algoritmos de machine learning no supervisados distinguen patrones intrínsecos en datos no etiquetados, como similitudes, correlaciones o agrupaciones potenciales. Son más útiles en escenarios en los que dichos patrones no son necesariamente evidentes para los observadores humanos. Dado que el aprendizaje no supervisado no asume la preexistencia de un output "correcto" conocido, no requiere señales de supervisión ni funciones de pérdida convencionales, de ahí el término "no supervisado".
La mayoría de los métodos de aprendizaje no supervisado realizan una de las siguientes funciones:
Como su nombre indica, los algoritmos de aprendizaje no supervisado pueden entenderse en términos generales como algo que "se optimizan a sí mismos". Por ejemplo, esta animación demuestra cómo un algoritmo de agrupación en clúster k-means optimiza iterativamente el centroide de cada clúster por sí solo. Por lo tanto, el reto de entrenar modelos no supervisados se centra en el preprocesamiento eficaz de los datos y en el ajuste adecuado de los hiperparámetros que influyen en el proceso de aprendizaje pero que no se pueden aprender en sí mismos, como la tasa de aprendizaje o el número de clústeres.
Mientras que el aprendizaje supervisado entrena modelos optimizándolos para que se ajusten a ejemplares ideales y los algoritmos de aprendizaje no supervisado se ajustan a un conjunto de datos, los modelos de aprendizaje por refuerzo se entrenan de forma holística mediante ensayo y error. Se utilizan de forma destacada en robótica, videojuegos, modelos de razonamiento y otros casos de uso en los que el espacio de posibles soluciones y enfoques es especialmente amplio, abierto o difícil de definir. En la literatura de RL, a menudo se hace referencia a un sistema de IA como un "agente".
En lugar de los pares independientes de datos de entrada-salida utilizados en el aprendizaje supervisado, el aprendizaje por refuerzo (RL) funciona con tuplas de datos interdependientes de estado-acción-recompensa. En lugar de minimizar el error, el objetivo del aprendizaje por refuerzo es optimizar los parámetros para maximizar la recompensa.
Un marco matemático para el aprendizaje por refuerzo se basa principalmente en los siguientes componentes:
En los métodos de RL basados en políticas, como la optimización proximal de políticas (PPO), el modelo aprende una política directamente. En métodos basados en valores como el Q-learning, el agente aprende una función de valor que calcula una puntuación de lo "bueno" que es cada estado y, a continuación, elige acciones que conducen a estados de mayor valor. Considere un laberinto: un agente basado en políticas podría aprender "en esta esquina, gire a la izquierda", mientras que un agente basado en valores aprende una puntuación para cada posición y simplemente se mueve a una posición adyacente con una puntuación mejor. Los enfoques híbridos, como los métodos actor-crítico, aprenden una función de valor que luego se utiliza para optimizar una política.
En el aprendizaje por refuerzo profundo, la política se representa como una red neuronal.
El deep learning emplea redes neuronales artificiales con muchas capas (de ahí el término "deep", que significa "profundo"), en lugar de los algoritmos diseñados explícitamente del machine learning tradicional. Aunque las redes neuronales se introdujeron al principio de la historia del machine learning, no fue hasta finales de la década de 2000 y principios de la de 2010, gracias en parte a los avances en las GPU, que se convirtieron en dominantes en la mayoría de los subcampos de la IA.
Inspiradas libremente en el cerebro humano, las redes neuronales comprenden capas interconectadas de "neuronas" (o nodos), cada una de las cuales realiza su propia operación de activación. La activación de cada nodo sirve como entrada a cada uno de los nodos de la capa siguiente y así sucesivamente hasta la capa final, donde se calcula el output final de la red. Las funciones de activación que se realizan en cada nodo son fundamentalmente no lineales, lo que permite a las redes neuronales modelar patrones y dependencias complejos.
A cada conexión entre dos neuronas se le asigna un peso único: un multiplicador que aumenta o disminuye la contribución de una neurona a una neurona en la siguiente capa. Estos pesos, junto con los términos de sesgo únicos añadidos a la función de activación de cada neurona, son los parámetros que se optimizarán mediante el machine learning.
El algoritmo de retropropagación permite calcular cómo cada nodo individual contribuye a la salida general de la función de pérdida, lo que permite optimizar individualmente incluso millones o miles de millones de ponderaciones de modelos mediante algoritmos de descenso de gradiente. Debido al volumen y la granularidad de las actualizaciones necesarias para lograr resultados óptimos, el deep learning requiere cantidades muy grandes de datos y recursos computacionales en comparación con el ML.
Esa estructura distribuida proporciona a los modelos de deep learning su increíble potencia y versatilidad. Imagine los datos de entrenamiento como puntos de datos dispersos en un gráfico bidimensional. Esencialmente, el machine learning tradicional tiene como objetivo encontrar una única curva que recorra cada uno de esos puntos de datos; el deep learning une un número arbitrario de líneas más pequeñas y ajustables individualmente para formar la forma deseada. Las redes neuronales son aproximadores universales: se ha demostrado teóricamente que para cualquier función, existe una disposición de redes neuronales que puede reproducirla.3, 4
Dicho esto, el hecho de que algo sea teóricamente posible no significa que sea factible en la práctica mediante los métodos de entrenamiento existentes. Durante muchos años, el rendimiento adecuado en ciertas tareas estuvo fuera del alcance incluso para los modelos de deep learning, pero con el tiempo, las modificaciones en la arquitectura de redes neuronales han desbloqueado nuevas capacidades para los modelos de ML.
Las redes neuronales convolucionales (CNN) añaden capas convolucionales a las redes neuronales. En matemáticas, una convolución es una operación en la que una función modifica (o convoluciona) la forma de otra. En las CNN, las capas convolucionales se utilizan para extraer características importantes de los datos aplicando "filtros" ponderados. Las CNN se asocian principalmente con modelos de visión artificial y datos de imagen, pero tienen un número de otros casos de uso importantes.
Las redes neuronales recurrentes (RNN) están diseñadas para trabajar con datos secuenciales. Mientras que las redes neuronales convencionales asignan una única entrada a un único output, las RNN asignan una secuencia de entradas a un output operando en un bucle recurrente en el que el output de un paso determinado de la secuencia de entrada sirve como entrada para el cálculo del siguiente paso. En efecto, esto crea una "memoria" interna, llamada estado oculto, que permite a las RNN comprender el contexto y el orden.
Los modelos de transformadores, introducidos por primera vez en 2017, son en gran parte responsables de la llegada de los LLM y otros pilares de la IA generativa, y logran resultados de vanguardia en la mayoría de los subdominios del machine learning. Al igual que los RNN, los transformadores están aparentemente diseñados para datos secuenciales, pero soluciones inteligentes han permitido que la mayoría de las modalidades de datos sean procesadas por transformadores. La fuerza única de los modelos de transformadores proviene de su innovador mecanismo de atención, que permite a los modelos centrarse selectivamente en las partes de los datos de entrada más relevantes en un momento específico de una secuencia.
Los modelos Mamba son una arquitectura de redes neuronales relativamente nueva, introducida por primera vez en 2023, basada en una variación única de los modelos de espacio de estados (SSM). Al igual que los transformadores, los modelos Mamba proporcionan un medio innovador para priorizar selectivamente la información más relevante en un momento dado. Mamba ha surgido recientemente como un rival de la arquitectura de transformadores, especialmente para los LLM.
La mayoría de las aplicaciones de machine learning se incluyen en una o varias de las siguientes categorías, que se definen principalmente por sus casos de uso y las modalidades de datos con las que operan.
La visión artificial es el subdominio de la IA relacionado con datos de imagen, datos de vídeo y otras modalidades de datos que requieren un modelo o máquina para "ver", desde diagnósticos sanitarios hasta reconocimiento facial y coches autónomos. Los subcampos notables de la visión artificial incluyen la clasificación de imágenes, la detección de objetos, la segmentación de imágenes y el reconocimiento óptico de caracteres (OCR).
El campo del procesamiento del lenguaje natural (PLN) abarca una amplia gama de tareas relacionadas con el texto, el habla y otros datos lingüísticos. Los subdominios notables de PLN incluyen los chatbots, el reconocimiento de voz, la traducción de idiomas, el análisis de sentimientos, la generación de texto, la elaboración de resúmenes y los agentes de IA. En el PLN moderno, los modelos de lenguaje de gran tamaño siguen avanzando a un ritmo sin precedentes.
Los modelos de series temporales se aplican a tareas de detección de anomalías, análisis de mercado y reconocimiento de patrones o predicción relacionados. Utilizan el machine learning en datos históricos para diversos casos de uso de previsión.
Los modelos de difusión, los autocodificadores variacionales (VAE) y las redes generativas antagónicas (GAN) se pueden utilizar para generar imágenes originales que aplican patrones de píxeles aprendidos de los datos de entrenamiento.
Las operaciones de machine learning (MLOps) son un conjunto de prácticas para implementar un enfoque de línea de montaje para crear, implementar y mantener modelos de machine learning.
La curación y preprocesamiento cuidadosos de los datos de entrenamiento, así como la selección adecuada del modelo, son pasos cruciales en el pipeline de MLOps. La validación cuidadosa posterior al entrenamiento, desde el diseño del conjunto de datos de referencia hasta la priorización de métricas de rendimiento particulares, es necesaria para garantizar que un modelo generalice bien (y no solo sobreajuste los datos de entrenamiento).
Tras la implementación, los modelos deben monitorizarse para detectar desviaciones, problemas de eficiencia de inferencia y otros desarrollos adversos. Una práctica bien definida de gobierno de modelos es esencial para la eficacia continua, especialmente en sectores regulados o que cambian rápidamente.
Existen varias herramientas, bibliotecas y marcos de código abierto para crear, entrenar y probar proyectos de machine learning. Si bien estas bibliotecas ofrecen una variedad de módulos y abstracciones preconfigurados para agilizar el proceso de creación de modelos basados en ML y flujos de trabajo, los profesionales deberán familiarizarse con los lenguajes de programación de uso común, particularmente Python, para aprovecharlos al máximo.
Entre las principales bibliotecas de código abierto, especialmente para crear modelos de deep learning, se incluyen PyTorch, TensorFlow, Keras y la biblioteca Hugging Face Transformers.
Entre las bibliotecas y kits de herramientas de machine learning de código abierto más destacados centrados en el ML tradicional se incluyen Pandas, Scikit-learn, XGBoost, Matplotlib, SciPy y NumPy, entre muchos otros.
La propia IBM mantiene y actualiza una importante biblioteca de tutoriales tanto para principiantes como para profesionales avanzados de ML.
Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de nueva generación para desarrolladores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.
Ponga la IA a trabajar en su negocio con la experiencia líder en IA del sector de IBM y junto a su cartera de soluciones.
Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.
Vínculos externos a ibm.com
1. "Some Studies in machine learning Using the Game of Checkers," IBM Journal (acceso a través del MIT), 3 de julio de 1959
2. "Utilización de árboles de decisión como sistema experto de apoyo a la toma de decisiones clínicas para COVID-19," Interactive Journal of Medical Research, Vol 12, 30 de enero de 2023
3. "Kolmogorov's Mapping Neural Networks Existence Theorem," Proceedings of the IEEE First International Conference on Neural Networks (acceso a través de la Universidad de Waterloo), 1987
4. "Multilayer Feedforward Networks with a Non-Polynomial Activation Function Can Approximate Any Function," Centro de Investigación en Sistemas de Información (Universidad de Nueva York), marzo de 1992