Узнайте, как активное обучение оптимизирует обучение искусственного интеллекта. Узнайте, как использовать Ultralytics для выявления информативных данных, сокращения затрат на маркировку и повышения точности.
Активное обучение — это стратегический подход в машинном обучении (ML), при котором алгоритм активно выбирает наиболее информативные точки данных для маркировки, а не пассивно принимает предварительно маркированный набор данных. В традиционном обучении с учителем модели часто требуют огромных объемов аннотированных данных, создание которых может быть дорогостоящим и трудоемким. Активное обучение оптимизирует этот процесс, выявляя «неопределенные» или «сложные» примеры — те, которые находятся вблизи границы принятия решения или в которых модель не уверена — и запрашивая у аннотаторов-людей маркировку только этих конкретных случаев. Этот итеративный цикл позволяет моделям достигать высокой точности со значительно меньшим количеством маркированных образцов, что делает его высокоэффективным для проектов с ограниченным бюджетом или временными ограничениями.
Сутью активного обучения является цикл обратной связи, часто называемый human-in-the-loop. Вместо однократного обучения на статическом наборе данных модель развивается через циклы запроса и обновления.
Активное обучение незаменимо в отраслях, где данных много, но для их маркировки требуются специальные знания или высокие затраты.
Следующий пример демонстрирует простую логику «выборки неопределенности» с использованием 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.")
Важно отличать активное обучение от схожих моделей обучения:
Для эффективной реализации активного обучения требуется надежный конвейер машинного обучения (MLOps) . Вам нужна инфраструктура для управления версиями данных, запуска заданий по переобучению и обслуживания интерфейса аннотации для людей. Инструменты, интегрированные с Ultralytics , позволяют пользователям легко переключаться между выводами, курированием данных и обучением. Например, использование пользовательских скриптов обучения позволяет разработчикам быстро включать новые партии данных активного обучения в свои YOLO .
Для получения дополнительной информации о стратегиях выборки исследователи часто ссылаются на всеобъемлющие обзоры в литературе по активному обучению. Кроме того, понимание показателей оценки модели имеет решающее значение для проверки того, что цикл активного обучения действительно улучшает производительность.