Explora el aprendizaje contrastivo en el aprendizaje automático. Descubre cómo utiliza datos auto-supervisados para crear funciones de IA robustas para Ultralytics y la visión artificial.
El aprendizaje contrastivo es un paradigma de aprendizaje automático que enseña a los modelos a comprender los datos comparando muestras similares y diferentes. A diferencia del aprendizaje supervisado tradicional, que depende en gran medida de conjuntos de datos etiquetados manualmente, el aprendizaje contrastivo se utiliza a menudo en contextos de aprendizaje auto-supervisado. La idea central es simple pero poderosa: el modelo aprende a acercar las representaciones de elementos relacionados (pares positivos) en un espacio vectorial, mientras que separa los elementos no relacionados (pares negativos). Este proceso permite a los algoritmos crear características robustas y generalizables a partir de grandes cantidades de datos sin etiquetar, lo cual es crucial para escalar los sistemas de inteligencia artificial (IA).
En el centro del aprendizaje contrastivo se encuentra el concepto de aprender mediante la comparación. En lugar de memorizar que una imagen específica es un «gato», el modelo aprende que dos fotos diferentes de un gato son más similares entre sí que cualquiera de ellas con una foto de un perro. Esto se consigue normalmente mediante el aumento de datos. Una imagen de entrada, a menudo denominada «ancla», se transforma en dos versiones diferentes utilizando técnicas como el recorte, el volteo o la variación de color . Estas dos versiones forman un par positivo. A continuación, se entrena al modelo para minimizar la distancia entre sus incrustaciones y maximizar la distancia con respecto a otras imágenes aleatorias (muestras negativas) del lote.
Este enfoque ayuda a la red neuronal a centrarse en características semánticas de alto nivel en lugar de en detalles de píxeles de bajo nivel. Por ejemplo, tanto si un coche es rojo como azul, o está orientado hacia la izquierda o hacia la derecha, el concepto subyacente de «coche» sigue siendo el mismo. Al ignorar estas variaciones superficiales , el modelo desarrolla una comprensión más profunda del mundo visual, lo que beneficia significativamente a tareas posteriores como la detección y clasificación de objetos.
El aprendizaje contrastivo se ha convertido en una piedra angular para muchas aplicaciones de IA de última generación, especialmente cuando los datos etiquetados son escasos o costosos de obtener.
Es útil diferenciar el aprendizaje por contraste de técnicas similares para comprender su papel único en el panorama del aprendizaje automático (ML).
Aunque entrenar un modelo contrastivo desde cero requiere muchos recursos, se pueden utilizar fácilmente modelos preentrenados para
extraer características. El siguiente ejemplo muestra cómo cargar un modelo y extraer el vector de características (incrustación)
de una imagen utilizando el ultralytics paquete. Esta integración representa el contenido semántico aprendido a través de
técnicas similares al preentrenamiento contrastivo.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Run inference on an image to get the results
# The 'embed' argument can be used in advanced workflows to extract feature layers
results = model("https://ultralytics.com/images/bus.jpg")
# Access the top predicted class probability
# This prediction is based on the learned feature representations
print(f"Top class: {results[0].names[results[0].probs.top1]}")
print(f"Confidence: {results[0].probs.top1conf:.4f}")
Esta capacidad para extraer características ricas y significativas hace que el aprendizaje contrastivo sea esencial para crear modernos sistemas de visión artificial (CV), lo que permite una búsquedaeficiente de imágenes y análisis avanzados. Para gestionar conjuntos de datos y entrenar modelos personalizados que se benefician de estas arquitecturas avanzadas, la Ultralytics proporciona un entorno optimizado para la implementación y la supervisión.