Active Learning
Узнай, как активное обучение (Active Learning) оптимизирует тренировку ИИ. Научись использовать Ultralytics YOLO26 для поиска информативных данных, сокращения расходов на разметку и повышения точности.
Активное обучение — это стратегический подход в машинном обучении (ML), при котором алгоритм проактивно выбирает наиболее информативные точки данных для разметки, вместо того чтобы пассивно принимать заранее размеченный набор данных. В традиционном обучении с учителем моделям часто требуются огромные объемы аннотированных данных, создание которых может быть дорогим и трудоемким процессом. Активное обучение оптимизирует этот процесс, выявляя «неопределенные» или «сложные» примеры — те, что находятся рядом с границей разделения или там, где модели не хватает уверенности, — и запрашивая у людей-аннотаторов разметку только этих конкретных случаев. Этот итеративный цикл позволяет моделям достигать высокой точности с помощью значительно меньшего количества размеченных образцов, что делает его крайне эффективным для проектов с ограниченным бюджетом или сжатыми сроками.
Link to this sectionКак работает цикл активного обучения#
Основой активного обучения является цикл обратной связи, часто называемый человек в контуре (human-in-the-loop). Вместо обучения один раз на статичном наборе данных, модель развивается через циклы запросов и обновлений.
-
Инициализация: Процесс начинается с небольшого набора размеченных обучающих данных, используемых для обучения начальной модели, такой как Ultralytics YOLO26.
-
Выбор запроса: Модель оценивает большой пул неразмеченных данных. Используя стратегию запроса — чаще всего выборку по неопределенности — она отбирает изображения или тексты, в которых ее предсказания наименее уверены.
-
Аннотирование: Эти высокоприоритетные образцы отправляются эксперту-человеку, часто называемому «оракулом» в литературе по активному обучению, для разметки данных.
-
Дообучение: Новые размеченные данные добавляются в обучающую выборку, и модель дообучается. Эта обновленная модель затем лучше подготовлена к выбору следующей порции неоднозначных образцов.
Link to this sectionРеальные приложения#
Активное обучение незаменимо в отраслях, где данных много, но разметка требует специализированных знаний или высокой стоимости.
- Анализ медицинских изображений: В таких областях, как радиология, разметка требует сертифицированных экспертов, чье время невероятно ценно. Вместо того чтобы просить врача аннотировать тысячи однозначных снимков, система активного обучения может отфильтровать неоднозначные случаи — например, ранние стадии опухолей или редкие аномалии, — позволяя эксперту сосредоточиться только на тех изображениях, которые действительно повышают диагностическую способность модели.
- Автономные транспортные средства: Беспилотные автомобили генерируют петабайты видеоданных. Разметить каждый кадр невозможно. Активное обучение помогает инженерам выявлять краевые случаи, например, пешеходов в костюмах или вождение в условиях сильного снегопада, которые стандартные модели обнаружения объектов могут пропустить. Приоритизируя эти редкие сценарии, компании повышают безопасность, не тратя ресурсы на рутинные кадры с шоссе.
Link to this sectionПример на Python: Фильтрация неопределенных предсказаний#
Следующий пример демонстрирует простую логику «выборки по неопределенности» с использованием Ultralytics YOLO26. Мы загружаем модель, запускаем инференс на изображениях и помечаем те, где показатель уверенности ниже определенного порога, для ручной проверки.
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.")Link to this sectionРазграничение похожих концепций#
Важно отличать активное обучение от схожих парадигм обучения:
- Полуобучение (Semi-Supervised Learning): Хотя оба метода используют неразмеченные данные, полуобучение автоматически присваивает псевдометки данным на основе предсказаний модели с высокой степенью уверенности. В отличие от него, активное обучение явным образом запрашивает участие человека для предсказаний с низкой степенью уверенности.
- Трансферное обучение: Это подразумевает использование предварительно обученной модели (например, обученной на ImageNet) и адаптацию ее к новой задаче. Активное обучение фокусируется на том, какие данные разметить, тогда как трансферное обучение фокусируется на повторном использовании изученных признаков.
- Обучение с подкреплением: Здесь агент учится взаимодействуя со средой и получая вознаграждения. Активное обучение отличается, так как оно ищет статические метки эталонных данных (ground truth) от оракула, вместо оптимизации последовательности действий для получения вознаграждения.
Link to this sectionИнтеграция с MLOps#
Эффективная реализация активного обучения требует надежного конвейера Machine Learning Operations (MLOps). Тебе понадобится инфраструктура для управления версиями данных, запуска задач дообучения и обеспечения интерфейса разметки для людей. Инструменты, интегрированные с экосистемой Ultralytics, позволяют пользователям бесшовно переключаться между инференсом, курированием данных и обучением. Например, использование скриптов для кастомного обучения позволяет разработчикам оперативно включать новые пакеты данных активного обучения в свои модели YOLO.
Для дальнейшего изучения стратегий выборки исследователи часто обращаются к комплексным обзорам в литературе по активному обучению. Кроме того, понимание метрик оценки модели критически важно для проверки того, что цикл активного обучения действительно улучшает производительность.






