Изучите CLIP (Contrastive Language-Image Pre-training) для соединения зрения и языка. Узнайте, как он обеспечивает обучение без предварительной подготовки и поддерживает Ultralytics .
CLIP (Contrastive Language-Image Pre-training) — это революционная архитектура нейронной сети, разработанная OpenAI, которая устраняет разрыв между визуальными данными и естественным языком. В отличие от традиционных систем компьютерного зрения (CV), которые требуют трудоемкой маркировки данных для фиксированного набора категорий, CLIP учится понимать изображения путем обучения на миллионах пар изображений и текстов, собранных из Интернета. Такой подход позволяет модели выполнять обучение без предварительной подготовки, то есть она может идентифицировать объекты, концепции или стили, которые она никогда явно не видела во время обучения, просто читая текстовое описание. Путем отображения визуальной и лингвистической информации в общее пространство признаков CLIP служит мощной базовой моделью для широкого спектра последующих задач без необходимости обширной настройки под конкретные задачи .
Основной механизм CLIP включает в себя два параллельных кодировщика: кодировщик изображений, обычно основанный на Vision Transformer (ViT) или ResNet, и текстовый Transformer, аналогичный тем, которые используются в современных больших языковых моделях (LLM). С помощью процесса, известного как контрастивное обучение, система обучается предсказывать, какой фрагмент текста соответствует какому изображению в партии.
Во время обучения модель оптимизирует свои параметры, чтобы сблизить векторные вложения соответствующих пар «изображение-текст» и одновременно разделить несоответствующие пары. Это создает мультимодальное латентное пространство, в котором математическое представление изображения «голден ретривера» располагается пространственно рядом с текстовым вложением «фотография собаки». Рассчитывая косинусное сходство между этими векторами, модель может количественно оценить, насколько хорошо изображение соответствует запросу на естественном языке, что позволяет гибко классифицировать и находить изображения.
Способность связывать зрение и язык сделала CLIP основополагающей технологией в современных приложениях искусственного интеллекта:
В то время как стандартные детекторы объектов ограничены своими классами обучения, использование функций на основе CLIP позволяет
осуществлять обнаружение с открытым словарем. Следующее Python код демонстрирует, как использовать
ultralytics пакет для detect с помощью настраиваемых текстовых подсказок:
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()
Чтобы понять специфическую полезность CLIP, полезно отличать его от других распространенных парадигм ИИ: