Incrustaciones
Aprenda qué son las incrustaciones y cómo potencian la IA capturando relaciones semánticas en los datos para la PNL, las recomendaciones y la visión por ordenador.
Las incrustaciones son una piedra angular del aprendizaje automático moderno (ML), ya que representan un potente método para convertir datos de alta dimensión, como palabras, imágenes o incluso usuarios, en vectores numéricos significativos, densos y de baja dimensión. El objetivo principal de una incrustación es capturar las relaciones semánticas y el contexto subyacente de los datos originales. En este espacio vectorial, los elementos con significados o características similares se sitúan más cerca unos de otros. Esto permite a los modelos de IA realizar complejas tareas de razonamiento y similitud que serían imposibles con datos brutos y no estructurados.
Cómo se crean las incrustaciones
Las incrustaciones suelen ser aprendidas automáticamente por un modelo de aprendizaje profundo durante el proceso de entrenamiento. Una red neuronal, a menudo construida con marcos como PyTorch o TensorFlow, se entrena en una tarea relevante, como predecir la siguiente palabra de una frase o clasificar una imagen. Una de las capas ocultas de esta red se utiliza como capa de incrustación. A medida que el modelo aprende a realizar su tarea, ajusta los pesos en esta capa, aprendiendo efectivamente a asignar cada elemento de entrada a un vector que encapsula sus características más importantes. Este proceso es una forma de reducir la dimensionalidad, comprimiendo grandes cantidades de información en un formato compacto y útil.
Aplicaciones y ejemplos
Las incrustaciones son fundamentales para una amplia gama de aplicaciones de IA, desde el procesamiento del lenguaje natural (PLN ) hasta la visión por ordenador.
- Motores de recomendación del comercio electrónico: Los sistemas de recomendación utilizan incrustaciones para representar tanto a los usuarios como a los productos. Si un usuario compra o ve con frecuencia artículos con incrustaciones similares (por ejemplo, varios tipos de ropa para correr), el sistema puede identificar otros productos en ese vecindario vectorial (como geles energéticos o mochilas de hidratación) y recomendárselos. Esto es mucho más eficaz que la simple búsqueda por palabras clave.
- Búsqueda semántica y recuperación de imágenes: En lugar de basarse en etiquetas o metadatos, los sistemas de búsqueda sem ántica utilizan incrustaciones para encontrar resultados basados en el significado conceptual. Un usuario puede buscar "fotos de las vacaciones de verano" y el sistema recuperará imágenes de playas, montañas y escenas de viajes, aunque esas palabras exactas no figuren en la descripción de la imagen. Esto es posible gracias a modelos como CLIP, que generan incrustaciones alineadas tanto para texto como para imágenes, lo que permite potentes capacidades de modelos multimodales. Este mismo principio permite realizar potentes búsquedas visuales, una función clave en muchas aplicaciones modernas. Incluso puede crear la suya propia con nuestra guía de búsqueda por similitud.
Otras aplicaciones son el descubrimiento de fármacos, donde se incrustan moléculas para predecir interacciones, y los servicios de streaming de música que recomiendan canciones con características de audio similares.
Incrustaciones frente a conceptos afines
Es útil distinguir las incrustaciones de los términos relacionados:
- Incrustaciones frente a extracción de características: Las incrustaciones son una forma sofisticada y a menudo automatizada de extracción de características que se consigue mediante el aprendizaje profundo. Mientras que la ingeniería de características tradicional puede implicar la definición manual de características (por ejemplo, histogramas de color para imágenes), las incrustaciones aprenden características relevantes directamente de los datos durante el entrenamiento.
- Embeddings vs. Búsqueda vectorial / Bases de datos vectoriales: Las incrustaciones son las representaciones vectoriales de los datos. La búsqueda vectorial es el proceso de consultar una colección de incrustaciones para encontrar las más similares (cercanas) a un vector de consulta, a menudo utilizando algoritmos de Vecino Cercano Aproximado (RNA ) para mayor eficiencia. Las bases de datos vectoriales (como Pinecone o Milvus) son bases de datos especializadas optimizadas para almacenar, indexar y realizar búsquedas vectoriales rápidas en grandes volúmenes de incrustaciones.
- Incrustación frente a tokenización: La tokenización es el proceso de descomponer el texto en unidades más pequeñas (tokens). A continuación, estos tokens se asignan a las incrustaciones. Por lo tanto, la tokenización es un paso previo a la creación o recuperación de la representación incrustada. Modelos de PNL de referencia como BERT y GPT-4 se basan en este proceso de dos pasos.
Las incrustaciones proporcionan una potente forma de representar datos para los modelos de aprendizaje automático, permitiéndoles comprender similitudes semánticas y patrones complejos en diversos tipos de datos. Forman parte integral de las capacidades de plataformas modernas de ML como Ultralytics HUB, que simplifica la creación de modelos avanzados de IA para tareas como la detección de objetos y la clasificación de imágenes.