Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Активное обучение

Откройте для себя активное обучение — экономичный метод машинного обучения, повышающий точность при меньшем количестве размеченных данных. Узнайте, как он преобразует обучение ИИ!

Active Learning is a strategic approach in machine learning (ML) where the algorithm proactively selects the most informative data points for labeling, rather than passively accepting a pre-labeled dataset. In traditional supervised learning, models often require massive amounts of annotated data, which can be expensive and time-consuming to create. Active learning optimizes this process by identifying "uncertain" or "hard" examples—those near the decision boundary or where the model lacks confidence—and requesting human annotators to label only those specific instances. This iterative loop allows models to achieve high accuracy with significantly fewer labeled samples, making it highly efficient for projects with limited budgets or time constraints.

Как работает цикл активного обучения

Сутью активного обучения является цикл обратной связи, часто называемый human-in-the-loop. Вместо однократного обучения на статическом наборе данных модель развивается через циклы запроса и обновления.

  1. Инициализация: процесс начинается с небольшого набора помеченных учебных данных, используемых для обучения начальной модели, такой как Ultralytics .
  2. Выбор запроса: модель оценивает большой массив немеченых данных. Используя стратегию запроса— чаще всего выборку неопределенности — она выбирает изображения или текст, где ее прогнозы наименее достоверны.
  3. Аннотация: Эти высокоприоритетные образцы отправляются человеку-эксперту, часто называемому «оракулом» в литературе по активному обучению, для маркировки данных.
  4. Переобучение: данные с новыми метками добавляются в обучающий набор, и модель переобучается. Обновленная модель становится более подходящей для выбора следующей партии запутанных образцов.

Применение в реальном мире

Активное обучение незаменимо в отраслях, где данных много, но для их маркировки требуются специальные знания или высокие затраты.

  • Анализ медицинских изображений: В таких областях, как радиология, для маркировки требуются сертифицированные эксперты, время которых чрезвычайно ценно. Вместо того, чтобы просить врача аннотировать тысячи четких сканов, система активного обучения может отфильтровывать неоднозначные случаи, такие как опухоли на ранней стадии или редкие аномалии, позволяя эксперту сосредоточиться только на изображениях, которые действительно улучшают диагностические возможности модели.
  • Автономные транспортные средства: Автомобили с автономным управлением генерируют петабайты видеоданных. Проставить метку каждому кадру невозможно. Активное обучение помогает инженерам выявлять крайние случаи, такие как пешеходы в костюмах или вождение в условиях сильного снегопада, которые могут быть пропущены стандартными моделями обнаружения объектов. Уделяя приоритетное внимание этим редким сценариям, компании повышают безопасность, не тратя ресурсы на повторяющиеся кадры с автомагистралей.

Python : фильтрация неопределенных прогнозов

Следующий пример демонстрирует простую логику «выборки неопределенности» с использованием Ultralytics . Мы загружаем модель, выполняем инференцию по изображениям и помечаем те из них, где показатель достоверности ниже определенного порога, для ручной проверки.

from ultralytics import YOLO

# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")

# List of unlabeled image paths
unlabeled_images = ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]

# Run inference
results = model(unlabeled_images)

# Identify samples with low confidence for active learning
uncertain_threshold = 0.6
for result in results:
    # Check if any detection confidence is below the threshold
    if result.boxes.conf.numel() > 0 and result.boxes.conf.min() < uncertain_threshold:
        print(f"Active Learning Query: {result.path} needs human labeling.")

Различение смежных понятий

Важно отличать активное обучение от схожих моделей обучения:

  • Полунадзорное обучение: хотя оба метода используют немеченые данные, полунадзорное обучение автоматически присваивает псевдометки данным на основе высоконадежных прогнозов модели . В отличие от этого, активное обучение явно требует участия человека в случае прогнозов с низкой степенью достоверности
  • Перенос обучения: это предполагает использование предварительно обученной модели (например, обученной на ImageNet) и адаптации ее к новой задаче. Активное обучение фокусируется на том, какие данные маркировать, в то время как перенос обучения фокусируется на повторном использовании обученных признаков
  • Обучение с подкреплением: здесь агент учится, взаимодействуя с окружающей средой и получая вознаграждения. Активное обучение отличается тем, что оно ищет статические метки истинности от оракула, а не оптимизирует последовательность действий для получения вознаграждения.

Интеграция с MLOps

Для эффективной реализации активного обучения требуется надежный конвейер машинного обучения (MLOps) . Вам нужна инфраструктура для управления версиями данных, запуска заданий по переобучению и обслуживания интерфейса аннотации для людей. Инструменты, интегрированные с Ultralytics , позволяют пользователям легко переключаться между выводами, курированием данных и обучением. Например, использование пользовательских скриптов обучения позволяет разработчикам быстро включать новые партии данных активного обучения в свои YOLO .

Для получения дополнительной информации о стратегиях выборки исследователи часто ссылаются на всеобъемлющие обзоры в литературе по активному обучению. Кроме того, понимание показателей оценки модели имеет решающее значение для проверки того, что цикл активного обучения действительно улучшает производительность.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас