Online Learning
Узнай, как онлайн-обучение позволяет выполнять инкрементальные обновления моделей, адаптироваться к дрейфу концепций и поддерживать более безопасные рабочие процессы в области компьютерного зрения с помощью Ultralytics YOLO26.
Онлайн-обучение — это подход в machine learning, при котором модель обновляется пошагово по мере поступления новых данных, а не обучается один раз на фиксированном наборе данных. Этот термин относится к потоковым или последовательным обновлениям модели, а не к обучению через интернет. Онлайн-алгоритм может делать предсказание, получать обратную связь и обновляться после каждого примера или небольшого пакета, как это описано в определении онлайн-обучения scikit-learn. Это делает его полезным, когда данные поступают непрерывно, слишком велики для памяти или меняются со временем. (scikit-learn.org)
Link to this sectionКак работает онлайн-обучение#
Типичный цикл выглядит так:
- Модель получает новые входные данные и делает предсказание.
- Становится доступна метка или сигнал обратной связи.
- Вычисляется функция потерь (loss) и обновляются параметры модели.
- Эффективность измеряется перед обработкой следующего примера.
Библиотеки, такие как River для потокового машинного обучения, реализуют этот рабочий процесс «предсказание-затем-обучение» с помощью методов predict_one() и learn_one(). Нейронные сети могут использовать тот же принцип через повторяющиеся шаги оптимизатора PyTorch, хотя глубокие модели обычно обновляются на небольших пакетах (мини-батчах) для повышения вычислительной эффективности. (docs.pytorch.org)
Онлайн-обучение особенно ценно в условиях дрейфа концепций, когда связь между входными и выходными данными меняется. Примеры включают сезонные шаблоны трафика, меняющееся поведение клиентов, новые производственные дефекты или камеры, установленные при разном освещении. Обзор повторяющегося дрейфа концепций за 2024 год подчеркивает, что повторяющиеся условия, такие как погода и время суток, требуют от систем распознавания и адаптации к ранее встреченным распределениям. (ijcai.org)
Link to this sectionОнлайн-обучение в компьютерном зрении#
Ultralytics YOLO не выполняет неконтролируемые обновления весов для каждого кадра во время инференса. Вместо этого команды могут приблизить безопасное онлайн-обучение через периодическую тонкую настройку микро-батчами на недавних размеченных данных, смешанных со старыми примерами:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.train(data="coco8.yaml", epochs=3, imgsz=640, lr0=0.001)Этот запускаемый пример использует Ultralytics YOLO26 и задокументированный режим обучения YOLO для выполнения небольшого обновления с низкой скоростью обучения. В продакшене coco8.yaml следует заменить на версионированный набор данных, содержащий свежие и повторно воспроизведенные образцы.
Конкретные примеры применения включают:
- Визуальный контроль на производстве: Модели обновляются при появлении новых продуктов, материалов или типов дефектов.
- Восприятие автономных транспортных средств: Системы детектирования адаптируются к меняющимся дорогам, погоде, состоянию камер и распределению объектов.
- Управление товарными запасами в ритейле: Модели изучают новую упаковку и сезонные товары без необходимости полной переобучения.
Link to this sectionСвязанные концепции и основные различия#
Непрерывное обучение имеет более широкий охват: его цель — обучаться на разных задачах или доменах, сохраняя при этом предыдущие знания. Онлайн-обучение описывает когда и как часто происходят обновления. Активное обучение выбирает наиболее информативные примеры для разметки человеком, в то время как обучение переносом адаптирует предобученные знания для целевой задачи.
Одной из основных общих проблем является катастрофическое забывание. Среди недавних исследований — BECoTTA для непрерывной адаптации во время тестирования за 2024 год, минимизация ранговой энтропии за 2025 год и метод PLASTIC для стабильности-пластичности за 2026 год, которые исследуют эффективную адаптацию без разрушения модели или потери ранних способностей. (proceedings.mlr.press)
Link to this sectionТекущие лучшие практики#
- Отслеживай дрейф данных: Отслеживай распределения входных данных, уверенность, точность и частоту классов.
- Сохраняй данные для повторного воспроизведения: Смешивай репрезентативные исторические образцы с новыми данными, чтобы уменьшить забывание.
- Проверяй перед развертыванием: Сравнивай обновленные модели со стабильными отложенными наборами данных и наборами тестов из свежих данных.
- Версионируй весь рабочий процесс: Используй платформу Ultralytics для управления аннотациями, наборами данных, обучением, развертыванием и мониторингом.
- Детектируй дрейф без разметки: Когда метки приходят с задержкой, отслеживай распределения признаков и поведение предсказаний, вместо того чтобы ждать измерения точности. (dfki.de)






