Откройте для себя активное обучение — экономичный метод машинного обучения, повышающий точность при меньшем количестве размеченных данных. Узнайте, как он преобразует обучение ИИ!
Активное обучение - это динамический подход в машинном обучении (ML), направленный на оптимизацию процесса обучения путем выборочного выбора наиболее информативных точек данных для аннотации. В стандартном контролируемом обучения модель пассивно получает большой, предварительно помеченный набор данных, что может быть неэффективным и дорогостоящим, если данные если данные содержат избыточные или неинформативные примеры. Активное обучение меняет эту парадигму, позволяя модели интерактивно обращаться к источнику информации - часто к эксперту или "оракулу" - с просьбой выдать метки для определенных, неоднозначных примеров. Эта целенаправленная стратегия значительно сокращает объем обучающих данных, необходимых для достижения высокой что делает ее идеальной для проектов с ограниченным бюджетом или жесткими временными ограничениями. Бюджет или жесткие временные ограничения.
Процесс активного обучения функционирует как итерационный цикл, который часто описывается как рабочий процесс "человек в цикле". Этот Этот цикл обеспечивает сосредоточение усилий человека исключительно на данных, которые вносят наибольший вклад в улучшение модели. На сайте Типичный рабочий процесс включает в себя:
Эффективность этого метода во многом зависит от стратегии выборки. Выборка по неопределенности является наиболее распространенная техника, при которой алгоритм выбирает экземпляры, наиболее близкие к границе принятия решения. Исчерпывающая информация об этих стратегиях можно найти в различных литературе по активному обучению.
Следующий фрагмент кода демонстрирует, как реализовать базовый цикл выборки неопределенности. Он загружает модель, прогнозирует на изображениях и выявляет изображения с низким уровнем достоверности обнаружения, помечая их для ручной проверки.
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on a list or directory of unlabeled images
results = model.predict(["image1.jpg", "image2.jpg"])
# Identify images where the model is uncertain
uncertain_samples = []
for result in results:
# Check if detections exist and if the maximum confidence is below a threshold
if result.boxes.conf.numel() > 0 and result.boxes.conf.max() < 0.6:
uncertain_samples.append(result.path)
print(f"Flagging {result.path} for manual labeling.")
print(f"Total uncertain images found: {len(uncertain_samples)}")
Активное обучение особенно ценно в тех областях, где маркировка данных является дорогостоящей или требует специальных опыта.
Хотя активное обучение предполагает использование немаркированных данных, оно отличается от других парадигм машинного обучения:
Реализация активного обучения требует надежного Операции машинного обучения (MLOps) для управления потоком данных между моделью, набором данных и интерфейсом аннотаций. Инструменты, поддерживающие версионность и управление данными Средства, поддерживающие версионирование и управление данными, необходимы для отслеживания того, какие образцы были запрошены. Хотя библиотеки общего назначения такие как scikit-learn предлагают некоторые полезные возможности, рабочие процессы компьютерного зрения часто требуют индивидуальной интеграции с для визуализации и аннотирования выбранных изображений эффективно. Продвинутые пользователи могут изучить репозиторийUltralytics на GitHub, чтобы увидеть, как результаты предсказаний могут быть структурированы для использования в этих циклах обработки данных.