Embeddings
Descubre cómo los embeddings sirven de puente entre los datos humanos y la lógica de las máquinas. Aprende a generar representaciones vectoriales para tareas de IA usando Ultralytics YOLO26 y explora la plataforma Ultralytics.
Los embeddings son representaciones vectoriales densas, de baja dimensión y continuas de variables discretas, que sirven como un traductor fundamental entre los datos humanos y la lógica de las máquinas. En el ámbito de la Inteligencia Artificial (IA), los ordenadores no pueden comprender de forma intuitiva los datos no estructurados desordenados, como el texto, las imágenes o el audio. Los embeddings resuelven esto convirtiendo estas entradas en listas de números reales, conocidos como vectores, que existen en un espacio matemático de alta dimensión. A diferencia de las codificaciones tradicionales que podrían simplemente asignar un ID aleatorio a un objeto, los embeddings se aprenden mediante entrenamiento, asegurando que los elementos semánticamente similares (como las palabras "rey" y "reina", o imágenes de dos gatos diferentes) estén situados muy cerca en el espacio vectorial.
Link to this sectionCómo funcionan los embeddings#
La creación de un embedding implica introducir datos sin procesar en una red neuronal diseñada para la extracción de características. Durante el entrenamiento, el modelo aprende a comprimir las características esenciales de la entrada en una forma numérica compacta. Por ejemplo, un modelo de Visión Artificial (CV) que analiza una fotografía no solo ve píxeles; asigna formas, texturas y colores a una coordenada específica en un gráfico multidimensional. Al medir la similitud, los sistemas calculan la distancia entre estas coordenadas utilizando métricas como la similitud de coseno o la distancia euclidiana. Esta proximidad matemática permite a los algoritmos realizar tareas complejas como la clasificación y el agrupamiento con gran eficiencia.
Link to this sectionAplicaciones en el mundo real#
Los embeddings actúan como el motor de muchas funciones inteligentes utilizadas en los productos de software modernos.
- Búsqueda semántica: Los motores de búsqueda tradicionales suelen depender de la coincidencia exacta de palabras clave, lo cual falla si un usuario busca "auto" pero el documento contiene "coche". Los embeddings capturan el significado detrás de las palabras. Al representar la consulta de búsqueda y los documentos de la base de datos como vectores, el sistema puede recuperar resultados que coincidan con la intención del usuario, incluso si las palabras específicas difieren.
- Sistemas de recomendación: Los servicios de streaming y los sitios de comercio electrónico utilizan embeddings para personalizar las experiencias del usuario. Si un usuario ve una película de ciencia ficción, el sistema identifica el vector de embedding de esa película y busca otras películas con vectores cercanos en la base de datos. Esto permite realizar sugerencias precisas basadas en la similitud del contenido en lugar de solo etiquetas o categorías manuales.
- Aprendizaje Zero-Shot: Los modelos avanzados utilizan embeddings conjuntos para vincular diferentes modalidades, como texto e imágenes. Esto permite a un sistema reconocer objetos que nunca ha visto explícitamente durante el entrenamiento, asociando el embedding de la imagen con el embedding del texto del nombre del objeto.
Link to this sectionGeneración de embeddings con Python#
Modelos de vanguardia como YOLO26 pueden utilizarse para generar embeddings de imágenes robustos de forma eficiente. El siguiente ejemplo demuestra cómo extraer un vector de características de una imagen utilizando el paquete de Python ultralytics.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Generate embeddings for an image
# The embed() method returns the feature vector representing the image content
embedding_vector = model.embed("https://ultralytics.com/images/bus.jpg")
# Print the shape of the embedding (e.g., a vector of length 1280)
print(f"Embedding shape: {embedding_vector[0].shape}")Link to this sectionEmbeddings frente a conceptos relacionados#
Para implementar eficazmente soluciones de IA, resulta útil distinguir los embeddings de otros términos técnicos estrechamente relacionados.
- Embeddings frente a Búsqueda vectorial: El embedding es la representación de los datos en sí misma (la lista de números). La búsqueda vectorial es el proceso posterior de consultar una base de datos para encontrar los vecinos más cercanos a ese embedding. A menudo se utilizan herramientas especializadas llamadas base de datos vectorial para almacenar y buscar estos embeddings a gran escala.
- Embeddings frente a Tokenización: En el Procesamiento del Lenguaje Natural (NLP), la tokenización es el paso preliminar de dividir el texto en trozos más pequeños (tokens). Estos tokens se asignan posteriormente a embeddings. Por tanto, la tokenización prepara los datos, mientras que los embeddings representan el significado de los datos.
- Embeddings frente a Aprendizaje profundo: El aprendizaje profundo es el campo más amplio del aprendizaje automático basado en redes neuronales. Los embeddings son una salida o capa específica dentro de una arquitectura de aprendizaje profundo, que a menudo sirve como puente entre las entradas sin procesar y las capas de toma de decisiones del modelo.
Los desarrolladores que busquen gestionar el ciclo de vida de sus conjuntos de datos, incluyendo la anotación y el entrenamiento de modelos para generar embeddings personalizados, pueden utilizar la Plataforma Ultralytics. Esta herramienta integral simplifica el flujo de trabajo desde la gestión de datos hasta el despliegue, asegurando que los embeddings que impulsan tus aplicaciones provengan de datos de alta calidad y bien seleccionados. Ya sea utilizando frameworks como PyTorch o TensorFlow, dominar los embeddings es un paso crucial en la construcción de sistemas sofisticados de reconocimiento de patrones.






