Embeddings
Descubre cómo los embeddings conectan los datos humanos con la lógica de las máquinas. Aprende a generar representaciones vectoriales para tareas de IA con Ultralytics YOLO26 y explora Ultralytics Platform.
Los embeddings son representaciones vectoriales densas, continuas y de baja dimensionalidad de variables discretas, y actúan como un traductor fundamental entre los datos humanos y la lógica de las máquinas. En el ámbito de la Inteligencia Artificial (AI), los ordenadores no pueden comprender intuitivamente datos desordenados y no estructurados, como texto, imágenes o audio. Los embeddings resuelven este problema convirtiendo estas entradas en listas de números reales, conocidos como vectores, que existen en un espacio matemático de alta dimensionalidad. A diferencia de las codificaciones tradicionales, que podrían limitarse a asignar un ID aleatorio a un objeto, los embeddings se aprenden mediante el entrenamiento, lo que garantiza que los elementos semánticamente similares —como las palabras "rey" y "reina", o imágenes de dos gatos diferentes— se sitúen cerca unos de otros en el espacio vectorial.
Cómo funcionan los embeddings#
La creación de un embedding consiste en 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 por computador (CV) que analiza una fotografía no se limita a ver píxeles; asigna formas, texturas y colores a una coordenada específica de un gráfico multidimensional. Al medir la similitud, los sistemas calculan la distancia entre estas coordenadas utilizando métricas como la similitud coseno o la distancia euclídea. Esta proximidad matemática permite a los algoritmos realizar tareas complejas, como la clasificación y la agrupación, con gran eficiencia.
Aplicaciones 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 basarse en la coincidencia exacta de palabras clave, que falla si un usuario busca "auto" pero el documento contiene "coche". Los embeddings capturan el significado 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, aunque las palabras concretas sean diferentes.
- Sistemas de recomendación: Los servicios de streaming y los sitios de comercio electrónico utilizan embeddings para personalizar la experiencia de los usuarios. 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 ofrecer sugerencias precisas basadas en la similitud del contenido, en lugar de basarse únicamente en etiquetas o categorías asignadas manualmente.
- Aprendizaje zero-shot: Los modelos avanzados utilizan embeddings conjuntos para vincular distintas modalidades, como texto e imágenes. Esto permite que un sistema reconozca objetos que nunca ha visto explícitamente durante el entrenamiento, asociando el embedding de la imagen con el embedding de texto del nombre del objeto.
Generación de embeddings con Python#
Los modelos de última generación, como YOLO26, se pueden utilizar para generar embeddings de imágenes robustos de forma eficiente. El siguiente ejemplo muestra cómo extraer un vector de características de una imagen utilizando el paquete de ultralytics para Python.
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}")Embeddings frente a conceptos relacionados#
Para implementar soluciones de IA de forma eficaz, resulta útil distinguir los embeddings de términos técnicos estrechamente relacionados.
- Embeddings frente a la búsqueda vectorial: El embedding es la propia representación de los datos (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, conocidas como bases de datos vectoriales, para almacenar y buscar estos embeddings a gran escala.
- Embeddings frente a la tokenización: En el procesamiento del lenguaje natural (NLP), la tokenización es el paso preliminar que consiste en dividir el texto en fragmentos más pequeños (tokens). A continuación, estos tokens se asignan a embeddings. Por tanto, la tokenización prepara los datos, mientras que los embeddings representan su significado.
- Embeddings frente al 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 y suelen actuar como puente entre las entradas sin procesar y las capas de toma de decisiones del modelo.
Los desarrolladores que quieran gestionar el ciclo de vida de sus conjuntos de datos, incluida la anotación y el entrenamiento de modelos para generar embeddings personalizados, pueden utilizar Ultralytics Platform. Esta herramienta integral simplifica el flujo de trabajo, desde la gestión de datos hasta la implementación, y garantiza que los embeddings que impulsan tus aplicaciones procedan de datos de alta calidad y cuidadosamente seleccionados. Tanto si utilizas frameworks como PyTorch o TensorFlow, dominar los embeddings es un paso crucial para crear sistemas sofisticados de reconocimiento de patrones.









