Откройте для себя активное обучение — экономичный метод машинного обучения, повышающий точность при меньшем количестве размеченных данных. Узнайте, как он преобразует обучение ИИ!
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. Вместо однократного обучения на статическом наборе данных модель развивается через циклы запроса и обновления.
Активное обучение незаменимо в отраслях, где данных много, но для их маркировки требуются специальные знания или высокие затраты.
Следующий пример демонстрирует простую логику «выборки неопределенности» с использованием 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 .
Для получения дополнительной информации о стратегиях выборки исследователи часто ссылаются на всеобъемлющие обзоры в литературе по активному обучению. Кроме того, понимание показателей оценки модели имеет решающее значение для проверки того, что цикл активного обучения действительно улучшает производительность.