Изучите Zero-Shot Learning (ZSL) для detect classify без использования обучающих данных. Узнайте, как Ultralytics YOLO обеспечивает обнаружение в реальном времени с открытым словарем.
Zero-Shot Learning (ZSL) — это парадигма машинного обучения, которая позволяет моделям искусственного интеллекта распознавать, classify или detect , с которыми они никогда не сталкивались на этапе обучения. В традиционном обучении с учителем модели требуются тысячи помеченных примеров для каждой конкретной категории, которую она должна идентифицировать. ZSL устраняет эту строгую зависимость, используя вспомогательную информацию — обычно текстовые описания, семантические атрибуты или вложения— для преодоления разрыва между видимыми и невидимыми классами. Эта возможность позволяет системам искусственного интеллекта (ИИ) быть значительно более гибкими, масштабируемыми и способными работать в динамичных средах, где сбор исчерпывающих данных для каждого возможного объекта нецелесообразен.
Основной механизм ZSL заключается в переносе знаний из знакомых концепций в незнакомые с использованием общего семантического пространства. Вместо того чтобы научиться распознавать «зебру» исключительно путем запоминания пиксельных узоров черных и белых полос, модель изучает взаимосвязь между визуальными характеристиками и семантическими атрибутами (например, «лошадиная форма», «полосатый узор», «четыре ноги»), полученными в результате обработки естественного языка (NLP).
Этот процесс часто опирается на мультимодальные модели, которые согласовывают изображения и текстовые представления. Например, фундаментальные исследования, такие как CLIP от OpenAI, демонстрируют, как модели могут обучаться визуальным концепциям на основе контроля естественного языка. Когда модель ZSL сталкивается с невиданным объектом, она извлекает визуальные характеристики и сравнивает их со словарем семантических векторов. Если визуальные характеристики совпадают с семантическим описанием нового класса, модель может правильно classify , эффективно выполняя «нулевое» предсказание. Этот подход является фундаментальным для современных базовых моделей, которые обобщают огромный массив задач.
Обучение без примеров (Zero-Shot Learning) стимулирует инновации в различных отраслях, позволяя системам обобщать информацию за пределами исходных обучающих данных.
Модель Ultralytics YOLO является примером применения метода Zero-Shot Learning. Она позволяет пользователям динамически определять пользовательские классы во время выполнения без повторного обучения модели. Это достигается путем соединения надежной базовой системы обнаружения с текстовым кодировщиком, который понимает естественный язык.
Следующий Python демонстрирует, как использовать YOLO для detect , которые явно не входили в
стандартный набор обучающих данных, с помощью ultralytics пакет.
from ultralytics import YOLOWorld
# Load a pre-trained YOLO-World model capable of Zero-Shot Learning
model = YOLOWorld("yolov8s-world.pt")
# Define custom classes via text prompts (e.g., specific accessories)
# The model adjusts to detect these new classes without retraining
model.set_classes(["blue backpack", "red apple", "sunglasses"])
# Run inference on an image to detect the new zero-shot classes
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()
Чтобы полностью понять ZSL, полезно отличить ее от аналогичных стратегий обучения, используемых в компьютерном зрении (КЗ):
Несмотря на огромный потенциал ZSL, он сталкивается с такими проблемами, как проблема смены домена, когда семантические атрибуты, изученные во время обучения, не идеально соответствуют визуальному виду невиданных классов. Кроме того, модели ZSL могут страдать от смещения, когда точность прогнозирования значительно выше для виденных классов по сравнению с невиденными.
Исследования таких организаций, как Лаборатория искусственного интеллекта Стэнфордского университета и IEEE Computer Society, продолжают заниматься решением этих проблем. По мере того, как инструменты компьютерного зрения становятся все более надежными, ожидается, что ZSL станет стандартной функцией, что снизит зависимость от массовых усилий по маркировке данных. Для команд, которые стремятся эффективно управлять наборами данных перед развертыванием передовых моделей, Ultralytics предлагает комплексные инструменты для аннотирования и управления наборами данных.