Explora CLIP (Contrastive Language-Image Pre-training) para unir la visión y el lenguaje. Descubre cómo permite el aprendizaje sin disparos y potencia Ultralytics .
CLIP (Contrastive Language-Image Pre-training) es una revolucionaria arquitectura de red neuronal desarrollada por OpenAI que salva la brecha entre los datos visuales y el lenguaje natural. A diferencia de los sistemas tradicionales de visión por ordenador (CV) que requieren un laborioso etiquetado de datos para un conjunto fijo de categorías, CLIP aprende a comprender las imágenes mediante el entrenamiento con millones de pares de imágenes y textos recopilados en Internet. Este enfoque permite al modelo realizar un aprendizaje sin disparos, lo que significa que puede identificar objetos, conceptos o estilos que nunca ha visto explícitamente durante el entrenamiento, simplemente leyendo una descripción textual. Al asignar la información visual y lingüística a un espacio de características compartido, CLIP sirve como un potente modelo base para una amplia variedad de tareas posteriores sin necesidad de un ajuste específico para cada tarea .
El mecanismo central de CLIP implica dos codificadores paralelos: un codificador de imágenes, normalmente basado en un Vision Transformer (ViT) o un ResNet, y un Transformer de texto similar a los utilizados en los modernos modelos de lenguaje grandes (LLM). A través de un proceso conocido como aprendizaje contrastivo, el sistema se entrena para predecir qué fragmento de texto coincide con qué imagen dentro de un lote.
Durante el entrenamiento, el modelo optimiza sus parámetros para acercar las incrustaciones vectoriales de los pares de imágenes y textos coincidentes y alejar los pares no coincidentes. Esto crea un espacio latente multimodal en el que la representación matemática de una imagen de un «golden retriever» se encuentra espacialmente cerca de la incrustación de texto de «una foto de un perro». Al calcular la similitud coseno entre estos vectores, el modelo puede cuantificar el grado de correspondencia de una imagen con una indicación de lenguaje natural, lo que permite una clasificación y recuperación de imágenes flexible.
La capacidad de vincular la visión y el lenguaje ha convertido a CLIP en una tecnología fundamental en las aplicaciones modernas de IA:
Mientras que los detectores de objetos estándar están limitados a sus clases de entrenamiento, el uso de características basadas en CLIP permite la
detección de vocabulario abierto. El siguiente Python El código muestra cómo utilizar el
ultralytics paquete para detect utilizando indicaciones de texto personalizadas:
from ultralytics import YOLOWorld
# Load a pre-trained YOLO-World model utilizing CLIP features
model = YOLOWorld("yolov8s-world.pt")
# Define custom classes using natural language text prompts
model.set_classes(["person wearing sunglasses", "red backpack"])
# Run inference on an image to detect the text-defined objects
results = model.predict("travelers.jpg")
# Display the results
results[0].show()
Es útil diferenciar CLIP de otros paradigmas comunes de IA para comprender su utilidad específica: