¿Qué son las incrustaciones en el aprendizaje automático?


¿Qué son las incrustaciones en el aprendizaje automático?

Las inserciones en el aprendizaje automático son una técnica poderosa para transformar datos discretos, a menudo de alta dimensión, como palabras individuales, categorías de productos o incluso usuarios y elementos distintos, en representaciones vectoriales continuas y densas dentro de un espacio de menor dimensión más manejable.

Intentar introducir texto sin formato directamente en un modelo matemático; bueno, simplemente no funcionaría. Las incrustaciones proporcionan un puente crucial. Actúan como una sofisticada "tabla de búsqueda" o diccionario donde a cada elemento único se le asigna una lista única de números reales, formando su vector.

IA & Machine learning OVHcloud

La verdadera magia de la incrustación dentro del campo de la IA reside en el hecho de que estas representaciones no son arbitrarias; se aprenden de los datos mismos durante el proceso de capacitación de un modelo. Este proceso está diseñado para capturar los vínculos semánticos subyacentes o las características inherentes de los elementos.

Por consiguiente, los elementos que son similar en el contexto o en la semántica en el conjunto de datos original se asignarán a vectores próximos entre sí en este espacio recién creado. Por ejemplo, palabras como "rey" y "reina" podrían terminar con representaciones similares, reflejando sus significados relacionados.

¿Por Qué Necesitamos Incrustaciones?

El aprendizaje automático a menudo se esfuerza por interpretar directamente datos discretos como palabras individuales o categorías de productos.

Intentar introducir esos datos en un modelo matemático en su forma original no funciona, ya que los modelos requieren una entrada numérica. Aquí es donde las incrustaciones se vuelven esenciales. Proporcionan un puente crucial, actuando como una sofisticada "tabla de consulta" que traduce cada elemento único en una lista de números reales (su representación vectorial), haciendo que los datos sean digeribles para los algoritmos.

Sin embargo, el verdadero poder y necesidad de las incrustaciones provienen de cómo se crean estos vectores. No son sólo asignaciones arbitrarias; estas representaciones vectoriales se aprenden de los datos mismos durante el entrenamiento de un modelo.

Este aprendizaje está diseñado específicamente para capturar las relaciones semánticas subyacentes o las características inherentes de los elementos, ayudando a los pasos de MLOps.

Beneficios de la incrustación en el aprendizaje automático

Las inserciones ofrecen ventajas significativas y multifacéticas en los algoritmos de aprendizaje automático , transformando fundamentalmente la manera en que los modelos pueden interpretar, aprender y utilizar datos complejos, a menudo de alta dimensión.

Comprensión semántica mejorada

Las incrustaciones se destacan por capturar el significado subyacente, el contexto y las relaciones matizadas entre elementos discretos, como palabras, productos o incluso usuarios. Al representar elementos semánticamente similares con vectores geográficamente cercanos entre sí en el espacio de incrustación aprendido, éstos obtienen una comprensión mucho más profunda de los datos.
 

Por ejemplo, una incrustación puede ayudar a entender que "rey" y "reina" comparten un contexto real y están relacionados con "monarca", a la vez que son distintos de "campesino".
 

Esto va más allá de las similitudes a nivel de superficie; las relaciones geométricas en el espacio de incrustación (como los desplazamientos vectoriales) pueden incluso capturar analogías, como "rey - hombre + mujer = reina". Esta comprensión sofisticada de la semántica es invalorable para tareas como la traducción (preservar el significado entre idiomas), el análisis de sentimientos (detectar tonos emocionales sutiles) y la creación de sistemas inteligentes de recomendación que puedan sugerir elementos verdaderamente relevantes.

Eficacia y rendimiento mejorados

Los métodos tradicionales para representar datos discretos suelen crear vectores muy dimensionales y dispersos (en su mayoría ceros con uno solo).
 

A medida que aumenta el número de elementos únicos, también lo hace esta dimensionalidad, lo que lleva a la "maldición de la dimensionalidad", donde los datos se vuelven demasiado escasos, los modelos se vuelven computacionalmente costosos de entrenar, requieren grandes cantidades de memoria y luchan por generalizar bien.
 

Las incrustaciones proporcionan una solución directa al ofrecer representaciones densas de dimensiones más bajas. Esta compacidad reduce significativamente la carga computacional, lo que permite a los modelos entrenar más rápido y requerir menos almacenamiento de información.
 

Lo que es más importante, estos vectores densos, al capturar información esencial, ayudan a identificar patrones relevantes de manera más efectiva, lo que conduce a una mejor generalización de los datos no vistos y, en última instancia, a lograr una mayor precisión y un mejor performance general en las tareas posteriores.

Manejo efectivo de datos categóricos

Los modelos de canalización de aprendizaje automático a menudo encuentran datos categóricos, que pueden ir desde unas pocas clases distintas hasta miles o incluso millones (características de alta cardinalidad como identificadores de usuario o SKU de productos).
 

Representar estos datos numéricamente de manera que los modelos puedan utilizarlos eficazmente es un desafío. La codificación simple de enteros impone una relación ordinal artificial, mientras que la codificación de un solo paso se vuelve difícil de manejar con muchas categorías.
 

Las incrustaciones ofrecen un enfoque mucho más sofisticado al aprender una representación vectorial única para cada categoría.
 

Este proceso no sólo convierte las categorías en un formato numérico utilizable, sino que también coloca las categorías con impactos o comportamientos similares más cerca en el espacio de incrustación, descubriendo así características y relaciones latentes dentro de los datos categóricos en sí. Esto permite que el modelo aproveche estas similitudes aprendidas, lo que conduce a predicciones más sólidas y perspicaces.

Transferencia de Conocimientos con Incrustaciones Preformadas

Una de las ventajas prácticas más poderosas de la incrustación es la capacidad de transferencia de conocimientos mediante modelos previamente entrenados.
 

Investigadores y organizaciones invierten mucho en la capacitación de incrustaciones en conjuntos masivos de datos; por ejemplo, las incrustaciones de palabras como Word2Vec, GloVe o las derivadas de modelos de lenguaje de gran tamaño (LLM, large language models ) reciben capacitación sobre terabytes de datos de texto, mientras que los gigantes del comercio electrónico podrían capacitar a las incrustaciones de artículos en miles de millones de interacciones de usuarios. Estas incrustaciones preformadas capturan una gran cantidad de conocimientos generales sobre la estructura del lenguaje o las relaciones entre elementos.
 

Los desarrolladores pueden tomar estas incrustaciones fácilmente disponibles e incorporarlas en sus propios modelos, incluso si su tarea específica tiene datos de capacitación limitados. Esta práctica, conocida como aprendizaje de transferencia, puede acelerar significativamente el desarrollo, proporcionar sólidas bases de performance y permitir la creación de herramientas poderosas sin la necesidad de recursos computacionales extensos o vastos datasets propietarios desde cero.

Cómo funciona la incrustación

Comprender qué son los empotramientos y por qué son beneficiosos es una cosa; entender cómo llegan a existir y funcionar es clave para apreciar su poder.

Esta sección profundiza en la mecánica detrás de las incrustaciones, explicando cómo piezas discretas de información se transforman en vectores numéricos ricos que los modelos de aprendizaje automático pueden utilizar eficazmente. Exploraremos el proceso que les da significado a estos vectores y les permite capturar vínculos complejos dentro de los datos.

Asignación a vectores: El Concepto Básico

En esencia, una incrustación funciona creando una asignación a partir de un conjunto discreto de elementos (como palabras, identificadores de productos o perfiles de usuario) a una lista de números reales, conocida como vector. A cada elemento único de su vocabulario o conjunto se le asigna su propio vector único. Inicialmente, estos valores vectoriales pueden ser aleatorios o inicializados de acuerdo con alguna estrategia simple.

La parte crucial es que estos no son estáticos; son parámetros que el modelo de la máquina aprenderá y ajustará durante el proceso.

La dimensionalidad de estos (es decir, cuántos números hay en cada lista) es un hiperparámetro que se elige: normalmente es mucho más pequeño que el número total de elementos únicos, pero lo suficientemente grande como para capturar vínculos complejos.

Aprender A Través De Redes Neuronales

La forma más común en que se aprenden las incrustaciones es a través de redes neuronales. A menudo, una capa de incrustación dedicada es la primera capa de una red que procesa entradas categóricas o de texto.

Cuando un elemento (por ejemplo, una palabra representada por un índice entero) se introduce en esta capa, la capa simplemente busca su vector correspondiente en una "matriz de incrustación" interna (donde las filas son índices de elementos y las columnas son las dimensiones del vector). A continuación, este vector se convierte en la entrada de las capas siguientes de la red.

Durante la fase de entrenamiento de la red, a medida que trabaja para minimizar su error de predicción en una tarea determinada, las señales de error se propagan de nuevo a través de la red y los valores dentro de los vectores de incrustación se actualizan junto con otros pesos del modelo.

El papel de la función objetivo

Las incrustaciones no aprenden representaciones significativas en un vacío. Son entrenados como parte de un modelo más grande diseñado para lograr una meta específica, definida por una función objetivo (o función de pérdida). Por ejemplo:

  • En el procesamiento del lenguaje natural, las incrustaciones de palabras (como Word2Vec o GloVe) se aprenden a menudo entrenándolo para predecir una palabra dadas las palabras de contexto que la rodean (o viceversa). El modelo ajusta los vectores de palabras para mejorar esta tarea de predicción.
     
  • En los sistemas de recomendación, las incrustaciones de elementos o usuarios se pueden aprender mediante la formación de un modelo para predecir las clasificaciones de los usuarios de los elementos o si un usuario interactuará con un elemento.
     
  • En las tareas de clasificación con entradas categóricas, un problema común de aprendizaje supervisado, se aprenden las incrustaciones para ayudar a distinguir mejor entre las diferentes clases basándose en ejemplos etiquetados.

Las incrustaciones están optimizadas para contener la información más relevante para lograr el objetivo.

¿El resultado? Un espacio vectorial significativo

A través de este proceso de formación, impulsado por la función objetivo, la capa de incrustación aprende a organizar los vectores en el espacio de incrustación de forma que los elementos que son semánticamente similares o se comportan de forma similar en el contexto de la tarea se sitúen más cerca unos de otros.

Los elementos distintos se separarán más. Esta relación geométrica en el espacio vectorial es lo que hace que las incrustaciones sean tan poderosas. Esto significa que los vectores no son sólo números aleatorios; codifican enlaces aprendidos y características de los elementos originales, lo que permite al modelo generalizar, hacer predicciones matizadas e incluso descubrir patrones ocultos en los datos.

¿Qué son los modelos integrados?

Un modelo de incrustación es un modelo de aprendizaje automático diseñado específicamente para aprender y generar representaciones vectoriales significativas de datos discretos o de alta dimensión.

Aunque muchos sistemas de máquinas complejas pueden utilizar una capa de incrustación como parte de su arquitectura, un "modelo de incrustación" se refiere específicamente al sistema o proceso centrado en producir estas representaciones vectoriales densas y significativas.

Éstos toman datos sin procesar, como palabras, oraciones, imágenes o identificadores de usuario/elemento, y los transforman en un espacio dimensional inferior donde los vínculos semánticos se codifican en la geometría de los vectores.

La salida (las propias incrustaciones) se puede utilizar directamente para tareas como búsqueda de similitudes, visualización o como entradas de funciones para otros modelos de máquina descendentes

El proceso de creación de estas incrustaciones normalmente implica el entrenamiento de una red neuronal en una tarea específica, a menudo autosupervisada.

Por ejemplo, un modelo de incrustación de palabras puede estar entrenado para predecir una palabra de destino en función de las palabras de contexto circundantes (o viceversa). A medida que el modelo aprende a realizar esta tarea con precisión, los pesos dentro de su capa de incrustación se ajustan, convirtiéndose efectivamente en la incrustación aprendida.

Nuestras soluciones de machine learning

Descubra las innovadoras soluciones de OVHcloud diseñadas para impulsar sus ambiciones en el espacio AI y ML. Descubra cómo nuestros servicios de vanguardia pueden ayudarle a crear, implementar y escalar sus proyectos en la nube: