En esta sección, exploraremos los principales modelos de inteligencia artificial (IA), que son las herramientas fundamentales para abordar diversas tareas en el ámbito de la IA, desde la predicción y clasificación, hasta la generación de datos y el procesamiento del lenguaje. Cada uno de estos modelos tiene su propio enfoque, ventajas y aplicaciones específicas. Entenderemos cómo funcionan, en qué contextos se utilizan y cómo han sido clave para resolver problemas del mundo real en diferentes campos, como la medicina, el marketing y las ciencias sociales.
A lo largo de esta sección, analizaremos diferentes tipos de modelos de IA, como los de regresión, clasificación, agrupación en clústeres, generación de contenido y procesamiento de lenguaje natural. Cada uno de ellos desempeña un rol crucial en el aprendizaje automático y el desarrollo de sistemas inteligentes.
Cada lección proporcionará una visión clara y práctica de cómo funcionan estos modelos y en qué situaciones se aplican, ayudando a los estudiantes a desarrollar una comprensión sólida y profunda del vasto mundo de la inteligencia artificial.
Un modelo de regresión es una técnica de aprendizaje automático utilizada para predecir un valor continuo o numérico a partir de una o más variables independientes (o características). Los modelos de regresión buscan encontrar la relación entre las variables de entrada (independientes) y la variable de salida (dependiente), lo que permite hacer predicciones basadas en nuevos datos.
Por ejemplo, si queremos predecir el precio de una vivienda basándonos en características como el tamaño, el número de habitaciones o la ubicación, podemos usar un modelo de regresión para encontrar esta relación.
Existen varios tipos de regresión, cada uno adecuado para diferentes tipos de problemas. A continuación, profundizaremos en tres de los modelos de regresión más comunes: la regresión lineal, la regresión polinomial, y la regresión logística.
La regresión lineal es el modelo más básico y ampliamente utilizado en los problemas de predicción numérica. En su forma más simple, se utiliza cuando existe una relación lineal entre la variable independiente xxx y la variable dependiente yyy. Es decir, la variable de salida es una combinación lineal de las variables de entrada.
La ecuación de la regresión lineal simple (con una sola variable independiente) es:
Donde:
El objetivo de la regresión lineal es encontrar los valores óptimos de β0\beta_0β0 y β1\beta_1β1 que minimicen la diferencia (error) entre los valores predichos yyy y los valores reales. Este ajuste se realiza comúnmente minimizando el error cuadrático medio (MSE).
La regresión polinomial es una extensión de la regresión lineal que permite modelar relaciones no lineales entre las variables. En lugar de ajustar una línea recta a los datos, la regresión polinomial ajusta una curva polinómica.
La ecuación de la regresión polinomial de segundo grado (que incluye un término cuadrático) es:
Este tipo de regresión es útil cuando la relación entre la variable independiente y la dependiente es curva, es decir, no puede ser representada adecuadamente con una línea recta. Al incluir términos cuadráticos, cúbicos o de mayor grado, se puede capturar la curvatura de la relación entre las variables.
La regresión logística es un tipo de regresión utilizado cuando la variable dependiente es categórica (es decir, toma valores discretos como "sí/no", "aprobado/reprobado", etc.). A pesar de su nombre, la regresión logística no se utiliza para predecir valores continuos, sino para predecir la probabilidad de que una instancia pertenezca a una de dos categorías.
A diferencia de la regresión lineal, en la regresión logística la salida es una probabilidad que se convierte en una categoría binaria mediante una función logística o sigmoide, cuya forma es:
Esta función sigmoide mapea cualquier valor en una probabilidad entre 0 y 1, lo que permite que la regresión logística sea adecuada para problemas de clasificación binaria.
Además de los modelos de regresión más comunes (lineal, polinomial y logística), existen otros tipos de regresión que son útiles para casos más complejos:
Un modelo de clasificación es una técnica de aprendizaje automático utilizada para asignar una etiqueta o clase a una observación basada en sus características o atributos. A diferencia de los modelos de regresión, que predicen valores continuos, los modelos de clasificación predicen categorías discretas. Por ejemplo, un modelo de clasificación puede predecir si un correo electrónico es "spam" o "no spam", o si un paciente está "enfermo" o "sano".
El objetivo principal de un modelo de clasificación es encontrar patrones en los datos que permitan predecir la clase a la que pertenece una nueva observación. En términos simples, los modelos de clasificación responden a preguntas de tipo "¿A qué categoría pertenece esta observación?".
Existen varios algoritmos de clasificación que se utilizan según la naturaleza del problema y los datos. A continuación, exploraremos algunos de los modelos más comunes utilizados para problemas de clasificación.
Los árboles de decisión son un tipo de algoritmo de clasificación que divide iterativamente los datos en subconjuntos basados en condiciones simples, representadas en forma de árbol. Cada nodo interno del árbol representa una condición sobre una característica (como "¿el valor es mayor que x?"), y las hojas representan las clases o categorías.
El árbol de decisión se crea dividiendo los datos en función de la característica que mejor separa las clases. Este proceso se repite de manera recursiva hasta que se alcanzan las hojas, donde cada hoja representa una clase. El objetivo es que las ramas del árbol lleven a una decisión clara sobre la clase a la que pertenece una instancia.
El algoritmo k-Vecinos más Cercanos (k-NN) es un método de clasificación simple e intuitivo. Se basa en la idea de que una nueva observación se clasifica de acuerdo con las clases de las observaciones más cercanas en el espacio de características. Es decir, se predice la clase de una nueva instancia basándose en las clases mayoritarias de sus k vecinos más cercanos.
El algoritmo mide la distancia entre las observaciones utilizando métricas como la distancia euclidiana y asigna la clase más común entre los k vecinos más cercanos.
La regresión logística ya fue discutida en la lección anterior sobre modelos de regresión. Sin embargo, en el contexto de clasificación, la regresión logística se utiliza para predecir una probabilidad que posteriormente se clasifica en categorías. A pesar de su nombre, la regresión logística es un modelo de clasificación binaria o multinomial, ya que su salida es una categoría y no un valor numérico continuo.
La regresión logística en la lección de regresión se discutió desde la perspectiva de cómo transforma la entrada en probabilidades. Aquí se destaca que, al final, esas probabilidades se utilizan para asignar una clase, lo que la convierte en un modelo clave para problemas de clasificación.
Las Máquinas de Vectores de Soporte (SVM) son un algoritmo avanzado de clasificación que encuentra un hiperplano óptimo que separa las clases en el espacio de características. En los problemas de clasificación binaria, el objetivo de SVM es encontrar un hiperplano que maximice la distancia entre los puntos de las dos clases (conocido como el margen). Este enfoque hace que SVM sea particularmente poderoso cuando hay una clara separación entre las clases.
En situaciones más complejas donde las clases no pueden separarse linealmente, SVM utiliza núcleos (kernels) para mapear los datos a un espacio de mayor dimensión donde sí pueden separarse linealmente.
SVM es considerado más avanzado debido a la matemática subyacente y la necesidad de ajustar correctamente parámetros como el kernel. Además, su eficacia en espacios de alta dimensión y su capacidad para manejar problemas no lineales lo colocan en un nivel más complejo en comparación con algoritmos como k-NN o árboles de decisión.
Las Redes Neuronales Artificiales (ANN) son modelos inspirados en la estructura del cerebro humano. Consisten en neuronas (nodos) organizadas en capas: una capa de entrada, una o más capas ocultas, y una capa de salida. Cada neurona recibe un conjunto de entradas, las procesa y genera una salida, que luego se transmite a la siguiente capa.
En los problemas de clasificación, las redes neuronales pueden aprender relaciones complejas y no lineales entre las características de entrada y las clases de salida, lo que las hace extremadamente poderosas para problemas complejos. Las redes neuronales se entrenan utilizando el algoritmo de retropropagación (backpropagation) y gradiente descendente para ajustar los pesos de las conexiones entre las neuronas.
Las redes neuronales son consideradas avanzadas debido a su complejidad estructural, la necesidad de ajustar múltiples hiperparámetros (número de capas, neuronas, tasa de aprendizaje), y el uso de técnicas de optimización más sofisticadas. Además, su entrenamiento requiere más tiempo y poder de cómputo.
Los modelos de clasificación son fundamentales en inteligencia artificial para resolver problemas donde se necesita asignar una categoría o clase a una observación. Desde modelos simples y explicables como los árboles de decisión, la regresión logística y k-Vecinos más Cercanos, hasta modelos más complejos y poderosos como las Máquinas de Vectores de Soporte (SVM) y las Redes Neuronales Artificiales, cada uno tiene sus ventajas y desventajas en función del tipo de problema y los datos disponibles.
Es importante elegir el modelo adecuado en función del contexto, la cantidad de datos y la complejidad de las relaciones entre las características y las clases:
El desafío con los modelos avanzados, como las SVM y las redes neuronales, es que requieren más recursos computacionales y habilidades técnicas, lo que los convierte en herramientas poderosas, pero a menudo más difíciles de interpretar y ajustar.
Al final, la selección de un modelo de clasificación depende de los datos disponibles, el problema a resolver y los recursos técnicos a disposición. La clave es encontrar un equilibrio entre simplicidad, eficiencia y precisión, lo que permitirá desarrollar soluciones de clasificación efectivas y escalables para una amplia variedad de aplicaciones.La agrupación en clústeres (o simplemente "clustering") es una técnica de aprendizaje no supervisado utilizada para organizar un conjunto de datos en grupos o clústeres, de tal forma que los elementos dentro de cada grupo sean más similares entre sí que con los elementos de otros grupos. El objetivo principal es identificar estructuras subyacentes o patrones en los datos sin contar con etiquetas predefinidas o una variable de salida clara.
A diferencia de los modelos supervisados, como la clasificación o la regresión, en los modelos de agrupación no se proporciona una variable de destino que el modelo deba predecir. El algoritmo debe descubrir las estructuras internas del conjunto de datos basándose únicamente en las similitudes o diferencias entre los datos. Los clústeres son conjuntos de puntos que comparten características comunes, y estos puntos pueden representar individuos, objetos, comportamientos o cualquier otro tipo de entidad.
El clustering es muy utilizado en la exploración de datos, segmentación de clientes, análisis de mercado, y detección de patrones en grandes volúmenes de datos, entre otros.
Ejemplo práctico: imagina que tienes un conjunto de datos de clientes de una tienda online y quieres segmentar a los clientes en diferentes grupos basados en su comportamiento de compra, como "compradores frecuentes", "compradores ocasionales", o "nuevos clientes". Un modelo de agrupación en clústeres puede ayudarte a encontrar estos grupos automáticamente, lo que permite a la empresa personalizar campañas de marketing para cada grupo.
Existen varios métodos y algoritmos para la agrupación en clústeres. Cada uno utiliza diferentes enfoques para formar los grupos y es adecuado para diferentes tipos de datos. A continuación, exploramos los métodos más comunes:
k-Means es uno de los algoritmos de agrupación más populares y sencillos. El objetivo de este algoritmo es dividir los datos en k grupos (o clústeres) predefinidos, donde k es el número de clústeres que se desea formar. El algoritmo funciona asignando inicialmente los puntos a clústeres aleatorios y luego ajusta iterativamente los centroides de cada clúster (el punto medio de cada grupo) hasta que las asignaciones de los puntos a los clústeres ya no cambian significativamente.
DBSCAN es un algoritmo de agrupación basado en la densidad, lo que significa que forma clústeres donde los puntos están densamente conectados, es decir, donde hay una alta concentración de puntos en un espacio. Este algoritmo es ideal para identificar clústeres de formas irregulares y detectar ruido o puntos atípicos que no pertenecen a ningún clúster.
El agrupamiento jerárquico construye un árbol de clústeres conocido como dendrograma, donde cada hoja representa un punto y cada nodo un clúster de puntos. El objetivo es crear una jerarquía de clústeres de tal forma que los puntos que son más similares entre sí se encuentren en los mismos clústeres en los niveles más bajos de la jerarquía.
Existen dos enfoques principales:
Los modelos de agrupación en clústeres son una herramienta poderosa para descubrir patrones y estructuras ocultas en conjuntos de datos sin necesidad de etiquetas. Dependiendo de la naturaleza de los datos y el problema a resolver, diferentes algoritmos de clustering, como k-Means, DBSCAN o el agrupamiento jerárquico, pueden ser más adecuados.
k-Means es rápido y eficiente para clústeres esféricos, pero requiere definir el número de clústeres de antemano.
DBSCAN es ideal para datos con clústeres de formas irregulares y es capaz de detectar ruido.
El agrupamiento jerárquico ofrece una estructura jerárquica de los clústeres, lo que permite una mayor flexibilidad en la agrupación, pero puede ser costoso en términos de computación.
La selección del algoritmo adecuado depende en gran medida de la estructura de los datos y del tipo de agrupamiento que se desee lograr. Sin embargo, todos estos métodos proporcionan una visión valiosa y no supervisada de los datos, permitiendo que las máquinas descubran patrones por sí solas.
Los modelos generativos son un tipo de modelo de aprendizaje automático cuyo objetivo principal es aprender la distribución de probabilidad que genera los datos. A diferencia de los modelos discriminativos, que se centran en clasificar o hacer predicciones basadas en características, los modelos generativos se utilizan para generar nuevos datos que se parecen a los datos de entrenamiento. Estos modelos intentan aprender la estructura subyacente de los datos y, una vez entrenados, pueden crear ejemplos sintéticos nuevos que siguen la misma distribución que los datos originales.
Los modelos generativos pueden ser aplicados en diversas áreas, como la generación de imágenes, la síntesis de texto, la creación de música, y la simulación de datos para mejorar modelos en áreas con pocos datos.
Ejemplo práctico: un modelo generativo entrenado con imágenes de rostros humanos puede generar rostros completamente nuevos que nunca han sido vistos, pero que parecen realistas. Los modelos generativos también pueden usarse para tareas como la detección de anomalías, ya que al aprender lo que es "normal" en los datos, pueden identificar fácilmente lo que no encaja en ese patrón.
Los Modelos de Mezcla Gaussiana (GMM, por sus siglas en inglés) son un tipo de modelo generativo que asume que los datos son generados a partir de una combinación (mezcla) de varias distribuciones gaussianas o normales. Cada componente gaussiano representa un subgrupo o un clúster de datos en el conjunto general, y la suma ponderada de estas gaussianas describe la distribución general de los datos.
El GMM es muy flexible porque permite que los datos provengan de varias distribuciones gaussianas con diferentes medias y covarianzas. Además, cada punto en los datos tiene una probabilidad de pertenecer a cada uno de los componentes gaussianos, lo que permite manejar incertidumbres en la asignación de clústeres.
Los Autoencoders Variacionales (VAEs) son un tipo de red neuronal profunda utilizada para generar datos nuevos similares a los del conjunto de datos original. A diferencia de los autoencoders tradicionales, cuyo objetivo es aprender una representación comprimida de los datos, los VAEs están diseñados para aprender la distribución subyacente de los datos de manera probabilística. Esto los convierte en un tipo de modelo generativo.
El VAE consiste en dos partes principales:
La diferencia clave con un autoencoder tradicional es que el VAE genera distribuciones en lugar de puntos específicos en el espacio latente, lo que permite generar nuevas muestras.
Las Redes Generativas Antagónicas (GANs) son uno de los modelos generativos más populares y poderosos. Propuestas por Ian Goodfellow en 2014, las GANs consisten en dos redes neuronales que compiten entre sí: un generador y un discriminador. La idea es que el generador intenta crear datos falsos que se parezcan a los datos reales, mientras que el discriminador intenta diferenciar entre los datos reales y los datos generados.
Esta competencia es lo que impulsa el aprendizaje: el generador mejora sus habilidades para crear datos realistas, mientras que el discriminador mejora su capacidad para detectar los datos falsos.
Aunque los Modelos de Mezcla Gaussiana, los Autoencoders Variacionales (VAEs) y las Redes Generativas Antagónicas (GANs) son ampliamente utilizados y considerados los enfoques principales en el ámbito de los modelos generativos, existen otras técnicas menos comunes pero igualmente poderosas. Estos modelos ofrecen soluciones alternativas para tareas específicas y brindan herramientas para modelar distribuciones de datos de formas más sofisticadas o especializadas.
A continuación, presentamos algunos de estos modelos generativos menos comunes, que aunque no son tan populares como las GANs o VAEs, siguen siendo útiles en varios escenarios, especialmente cuando se busca mayor flexibilidad, control, o se trabaja con estructuras de datos particulares.
Las Restricted Boltzmann Machines (RBM) son un tipo de red neuronal estocástica que se utiliza para modelar distribuciones de probabilidad de un conjunto de datos. A diferencia de los modelos discriminativos, que solo predicen etiquetas o valores a partir de las características de los datos, las RBMs aprenden la distribución conjunta de los datos de entrada.
Los Flow-based Models son un enfoque en el que la transformación entre la distribución latente y la distribución de los datos observados es invertible. Esto significa que es posible mapear de manera eficiente un punto en el espacio latente a un dato generado, y viceversa.
Las Deep Belief Networks (DBN) son una clase de redes neuronales generativas compuestas por múltiples capas de Restricted Boltzmann Machines (RBM) apiladas. Se entrenan capa por capa de manera no supervisada y luego se pueden ajustar utilizando un algoritmo de retropropagación supervisada.
Los Modelos Autoregresivos son aquellos en los que el valor de cada variable en el conjunto de datos se modela como dependiente de los valores anteriores. Estos modelos generan nuevos datos paso a paso, prediciendo el valor de cada componente de una muestra secuencialmente, basándose en los componentes previos.
Los Normalizing Flows son modelos generativos que transforman una distribución simple (como una distribución normal) en una distribución más compleja a través de una secuencia de transformaciones invertibles. Al ser completamente invertibles, permiten calcular de manera eficiente tanto la probabilidad de los datos como la generación de nuevos ejemplos.
Los Modelos de Lenguaje de Gran Escala (LLMs, por sus siglas en inglés) son un tipo de modelo de aprendizaje automático que ha transformado el campo del procesamiento del lenguaje natural (NLP). Estos modelos están entrenados en grandes cantidades de texto para comprender, generar y manipular el lenguaje humano de manera efectiva. El término "gran escala" se refiere al hecho de que estos modelos tienen miles de millones de parámetros, lo que les permite captar las complejidades y sutilezas del lenguaje.
Los LLMs son capaces de realizar tareas avanzadas como la traducción automática, el resumen de textos, la respuesta a preguntas, la generación de texto coherente, y más. Gracias a su capacidad para aprender patrones a partir de grandes cantidades de datos, pueden generalizar el conocimiento a una amplia variedad de tareas de lenguaje natural.
Ejemplo práctico: modelos como GPT-3 pueden generar texto continuo basado en una entrada, mientras que BERT puede entender y completar oraciones, lo que lo hace útil para tareas como el análisis de sentimientos o la respuesta a preguntas.
El surgimiento de los transformers ha permitido que los LLMs manejen secuencias largas y comprendan el contexto en profundidad, lo que los convierte en herramientas poderosas en aplicaciones como la asistencia virtual, la creación de contenido y la automatización de procesos de lenguaje.
Los Transformers son una arquitectura de red neuronal introducida en el artículo "Attention is All You Need" (Vaswani et al., 2017) que ha revolucionado el procesamiento del lenguaje natural. Antes de los transformers, las arquitecturas más comunes en NLP eran las redes recurrentes (RNNs) y las LSTM, que procesaban el texto de forma secuencial, lo que dificultaba el manejo de secuencias largas debido a problemas como la dependencia temporal y la pérdida de información contextual.
El transformer supera estas limitaciones al utilizar un mecanismo de atención que le permite a cada palabra en una secuencia prestar atención a todas las demás palabras simultáneamente, en lugar de procesarlas en un orden estricto. Esto significa que los transformers pueden captar relaciones entre palabras y frases distantes, permitiendo una comprensión mucho más profunda del contexto.
Los transformers son la base de muchos de los modelos de lenguaje de gran escala más avanzados que utilizamos hoy en día, como GPT, BERT, T5, y XLNet.
Los Modelos GPT son una serie de modelos desarrollados por OpenAI que han popularizado el uso de transformers en tareas de generación de texto. Los GPT están entrenados utilizando un enfoque autoregresivo, en el que el modelo predice la siguiente palabra de una secuencia basándose en las palabras anteriores.
GPT-3, lanzado en 2020, es uno de los modelos más conocidos de la serie GPT. Con 175 mil millones de parámetros, se trata de uno de los modelos más grandes jamás creados. GPT-3 ha demostrado una capacidad sorprendente para generar texto coherente, responder preguntas, realizar traducciones, escribir código, y mucho más. Su flexibilidad le permite realizar múltiples tareas con poco ajuste específico (fine-tuning).
Las características de GPT 3 son:
GPT-4, lanzado en 2023, es una evolución de GPT-3. Aparte de sus mejoras en capacidad y precisión, GPT-4 introduce la capacidad multimodal, lo que significa que puede procesar tanto texto como imágenes. Esta característica le permite realizar tareas combinadas, como interpretar gráficos, generar descripciones de imágenes, y realizar análisis visuales y textuales simultáneamente.
Las características de GPT-4:
Aunque aún no ha sido lanzado, se espera que GPT-5 continúe el avance en capacidades de generación y razonamiento, mejorando la coherencia en conversaciones más largas y la comprensión multimodal. GPT-5 podría consolidar aún más la capacidad de los LLMs para interactuar en tareas complejas a través de múltiples modalidades, desde texto hasta imágenes y posiblemente audio.
BERT, lanzado por Google en 2018, es un modelo basado en transformers que utiliza un enfoque bidireccional. Esto significa que, a diferencia de GPT, BERT analiza el contexto de una palabra considerando tanto las palabras que vienen antes como las que vienen después en una oración, lo que le permite comprender mejor el significado de las palabras dentro de un contexto más amplio.
BERT se entrenó usando una técnica llamada enmascaramiento de palabras, en la que ciertas palabras de una oración se ocultan, y el modelo debe predecirlas usando el contexto circundante. Esto lo hace ideal para tareas como la respuesta a preguntas o la clasificación de texto.
Google ha lanzado Gemini, que representa una evolución de BERT. Mientras que BERT se centra en la comprensión bidireccional de texto, Gemini amplía esta capacidad, integrando el procesamiento multimodal (similar a GPT-4), lo que le permite trabajar tanto con texto como con imágenes.
Además de GPT y BERT, que son los modelos de lenguaje de gran escala (LLMs) más conocidos, existen otros modelos menos comunes que también juegan un papel importante en el campo del procesamiento del lenguaje natural (NLP). Estos modelos utilizan la misma arquitectura base de transformers, pero con variaciones o mejoras que los hacen adecuados para tareas o aplicaciones específicas.
El T5 (Text-to-Text Transfer Transformer) es un modelo de lenguaje desarrollado por Google que reformula todas las tareas de NLP como un problema de traducción de texto. En lugar de tener diferentes enfoques para tareas como la clasificación de texto o la traducción automática, T5 convierte cada problema en una tarea de "input-output" donde el modelo toma texto como entrada y genera texto como salida.
RoBERTa es una variación de BERT que optimiza su preentrenamiento para mejorar el rendimiento en tareas de NLP. Desarrollado por Facebook AI, RoBERTa utiliza un entrenamiento más largo y en un conjunto de datos más grande, y ajusta algunos de los hiperparámetros del modelo original de BERT, lo que le permite obtener mejores resultados sin cambiar la arquitectura básica.
XLNet es un modelo de lenguaje que combina las ventajas de BERT y los modelos autoregresivos como GPT, mejorando la representación bidireccional del lenguaje. Desarrollado por Google y la Universidad de Carnegie Mellon, XLNet supera algunas de las limitaciones de BERT al utilizar un enfoque basado en permutaciones que permite modelar relaciones a largo plazo en el texto de una manera más flexible.
ALBERT es una variante de BERT diseñada para reducir la cantidad de parámetros y hacer que el modelo sea más eficiente, tanto en términos de almacenamiento como de tiempo de entrenamiento. Aunque más pequeño, ALBERT sigue manteniendo un rendimiento competitivo en tareas de NLP.
ELECTRA es un modelo de lenguaje generativo que introduce un nuevo método de preentrenamiento basado en la detección de tokens. En lugar de enmascarar palabras en el texto y predecir las palabras enmascaradas como en BERT, ELECTRA genera palabras incorrectas en una secuencia y entrena al modelo para distinguir entre las palabras reales y las generadas.