ПРАКТИКА PONOPT · Данные и AI

Как заметить model drift из-за сезона, погоды, света и изменений территории

Как выявлять дрейф модели из-за сезона, погоды, освещения и изменений территории: референс-базы, статистические тесты и калибровка порогов срабатывания.

Дрейф модели из-за сезона, погоды, света и изменений территории проявляется как расхождение между тем, что модель видит в продакшене, и данными, на которых она была проверена. Его обнаруживают, сравнивая текущие кадры и предсказания с подобранной референс-базой, следя за статистическими тестами на эмбеддингах и распределении предсказаний, контролируя точность на размеченном холдауте и калибруя пороги так, чтобы обычные сезонные циклы не давали ложных тревог, а затем отделяя безобидные изменения вида сцены от реальных изменений территории до решения о переобучении.

Главные выводы

  • Data drift (изменение входных данных — свет, погода, листва) и concept drift (изменение связи «изображение-смысл», например новые классы объектов) требуют разных сигналов и разной реакции.
  • Одна базовая выборка «как на обучении» даст ложные срабатывания в течение года: сравнивайте продакшен с референсом, подобранным по сезону, времени суток и погоде.
  • Комбинируйте сигналы: расстояние распределений эмбеддингов, распределение классов предсказаний, уверенность и калибровку, точность на размеченном холдауте — одного теста недостаточно.
  • Пороги калибруют по группам камер и сегментам территории: северные и теневые зоны дрейфуют иначе, чем солнечные.
  • Большая часть погодно-светового дрейфа безобидна и не требует переобучения; переобучение оправдано при реальных изменениях территории — новых объектах и перепланировке.
  • Превратите дрейф в управляемый процесс: уровни серьёзности, снапшоты-доказательства, человеческая проверка, задокументированные триггеры переобучения и эскалация.

Сначала назовите тип дрейфа, с которым работаете

Специалисты по анализу изображений различают data drift и concept drift. Data drift — это изменение маргинального распределения входов: смена освещения, появление снега, изменение листвы, туман. Concept drift — изменение связи между признаками и целевой переменной, например когда на территории появляется новый класс объектов или меняется само значение метки. На практике оба типа часто смешиваются, но диагностируются по-разному.

Световой и погодный сдвиг обычно относится к data drift и часто лишь «виртуальный»: он меняет вид кадра, но не смысл. Concept drift опаснее: он означает, что прежняя модель перестала правильно отражать реальность. Исследовательские работы по дрейфу в потоках изображений прямо отмечают, что смена освещения в потоке кадров — это типичный data drift, тогда как появление новых классов — concept drift. Поэтому первый шаг мониторинга — решить, какой сигнал вы ловите и какая реакция за ним следует.

  • Data drift: меняется распределение входных кадров (свет, погода, сезон) — часто без изменения смысла сцены.
  • Concept drift: меняется связь «кадр — метка», например новый тип объекта или новая трактовка класса.
  • Виртуальный дрейф: безобидный внешний сдвиг, который не требует переобучения, но маскирует настоящие проблемы.

Стройте референс под условия работы модели, а не под «как на обучении»

Классическая схема мониторинга сравнивает текущие данные с обучающей выборкой и при отклонении запускает переобучение. Для моделей, работающих круглый год, этого недостаточно: зима в средних широтах неизбежно отличается от летнего обучающего набора, и любое сравнение «год к обучающим данным» даст хроническую ложную тревогу.

Более устойчивый подход — сравнивать скользящее окно продакшена с референс-базой, подобранной по сезону, времени суток относительно солнца и погодным условиям. Разные камеры и участки территории освещены по-разному, поэтому референс и пороги стоит строить по группам камер или сегментам территории, а не по всей площадке сразу. Исследования по доменному сдвигу в задачах визуального детектирования подтверждают: одни и те же объекты и сцены, снятые в разных сезонах и при разной погоде, заметно смещают распределение, и это ожидаемое поведение, а не сбой модели.

На практике заведите метаданные для каждого кадра: временную метку, погоду, время суток и идентификатор камеры. Тогда можно сопоставлять «январь с январем» и отделять сезонный цикл от аномального сдвига.

  • Скользящее окно продакшена (дни или недели) против референса аналогичного периода прошлого года.
  • Стратификация по времени суток, погоде, сезону и геометрии камеры.
  • Хранение метаданных кадра как обязательного поля для честного сравнения.

Читайте сигналы, которые сдвигаются раньше всего

Ни один тест не даёт полной картины, поэтому используют связку сигналов. Первый — сдвиг распределения предсказаний: если модель начинает выдавать заметно иной набор классов или уверенность, чем на референсе, это ранний индикатор. Второй — сдвиг распределения эмбеддингов или признаков: изображения уезжают в другую область латентного пространства.

Для измерения сдвига распределений применяют статистические тесты и метрики: PSI, критерий Колмогорова-Смирнова, MMD или расстояние Вассерштейна. Многие инструменты мониторинга автоматически подбирают метод по типу признака и объёму референсной выборки. Третий сигнал — точность на размеченном холдауте и частота ошибок, отслеживаемая во времени: классические методы детекции дрейфа наблюдают за ростом ошибки в скользящем окне. Четвёртый — сдвиг уверенности и калибровки: модель может «терять» уверенность ещё до заметного падения точности.

Выбирайте метрику под задачу: для детекции объектов важнее сдвиг боксов и классов, для классификации — распределение меток, для сегментации — статистика по пикселям и фону.

  • Сдвиг распределения предсказаний и классов — ранний, но косвенный признак.
  • PSI / KS / MMD / Вассерштейн — численная оценка сдвига распределений признаков и эмбеддингов.
  • Точность на размеченном холдауте и частота ошибок (стиль DDM) — самый прямой сигнал деградации.
  • Уверенность и калибровка — предупреждают о «размывании» модели до падения точности.

Калибруйте окна и пороги, чтобы сезон не «кричал» ложными тревогами

Главная ошибка — жёсткий порог «отклонилось от обучения → тревога», применённый ко всему году. Погода и сезон по своей природе цикличны, и нормальный цикл будет вечно превышать порог. Решение — сравнивать сопоставимые периоды и настраивать порог на ожидаемую вариацию внутри группы, а не на абстрактное правило.

Полезны уровни серьёзности: зелёный (обычная сезонная вариация), жёлтый (превышение внутри группы камер, требует проверки), красный (сильный или внезапный сдвиг, требующий вмешательства). Показатель «доля признаков, у которых зафиксирован дрейф» тоже помогает: 5-10% признаков могут дрейфовать без последствий, а массовый сдвиг по всем группам — повод для разбора. Не забудьте про дедупликацию и лимит частоты алертов, чтобы одна снежная неделя не завалила тикет-систему.

  • Сравнивайте сопоставимые периоды и не сравнивайте зиму с летом.
  • Калибруйте порог отдельно для каждой группы камер и сегмента территории.
  • Введите уровни зелёный/жёлтый/красный и лимит частоты уведомлений.
  • Следите за долей «задрейфовавших» признаков, а не только за одним счётчиком.

Отделяйте погоду и свет от реальных изменений территории

Когда алерт сработал, главный вопрос: причина во внешнем виде сцены или в самой территории? Если вчера поставили новый кран, забор или строительную площадку — это настоящий сдвиг, который меняет смысл сцены и может требовать обновления модели. Если изменились только тени, снег или освещение — это обычно безобидный виртуальный дрейф.

Помогает сравнение «год к году» в одних и тех же точках: разница между одним и тем же месяцем разных лет с поправкой на погоду указывает на структурные изменения территории. Дополнительно используют контрольные «якорные» виды камер и фоновую разность, чтобы локализовать, где именно появился новый объект. Доменные исследования показывают, что сдвиг из-за сезона и неблагоприятной погоды заметен даже для устойчивых детекторов, поэтому его надо учитывать как фоновый фактор, а не как дефект модели.

Решение о переобучении принимают только после такой атрибуции причины, иначе вы будете гонять цикл переобучения на каждый сезон, не исправляя реальную проблему.

  • Сравнение «месяц к месяцу» разных лет отделяет структурные изменения от погодных.
  • Якорные виды и фоновая разность локализуют новые объекты на территории.
  • Атрибуция причины (погода/свет/территория) предшествует решению о переобучении.

Превратите алерт в управляемое решение, а не в автоматическое переобучение

Схема AWS Well-Architected для машинного обучения задаёт логичный контур: система мониторинга фиксирует данные, сравнивает их с эталоном, выявляет data и concept drift, отправляет алерт в диспетчер тревог, а при подтверждении нарушения запускает пайплайн обновления модели. Важно, что переобучение — это реакция на подтверждённую проблему, а не мгновенный ответ на любой сдвиг.

Для каждого алерта определите владельца, требуемый набор доказательств (снапшот кадров, метрики, период сравнения) и шаги эскалации. Документируйте, какой именно дрейф и при каких условиях признаётся триггером переобучения. Рамка NIST AI RMF называет такие активности частью непрерывного измерения и управления рисками в течение всего жизненного цикла системы: мониторинг — это управляемый процесс с закреплёнными ролями и задокументированными процедурами, а не разовое действие.

  • Контур «данные → сравнение с эталоном → детекция дрейфа → алерт → пайплайн обновления».
  • Человеческая проверка и владелец алерта: переобучение запускается по подтверждённой проблеме.
  • Документирование триггеров, ролей и процедур в духе непрерывного мониторинга NIST AI RMF.

Помните об ограничениях детекции дрейфа

Без разметки тяжело отличить concept drift от обычного виртуального сдвига: если у вас нет свежих меток, статистические тесты покажут, что «что-то изменилось», но не скажут, поменялся ли смысл сцены. Именно поэтому размеченный холдаут или периодическая ручная разметка остаются ключевым источником правды для оценки реальной деградации.

Пороги и статистические тесты зависят от объёма и качества данных: на маленьких или шумных выборках любой тест нестабилен. Кроме того, дрейф, обнаруженный слишком поздно, означает, что модель уже какое-то время работала неточно. Этот материал — общие инженерные практики мониторинга, а не индивидуальная консультация для конкретной площадки; выбор порогов и триггеров переобучения стоит адаптировать под вашу задачу и юрисдикцию.

  • Без свежих меток невозможно надёжно отличить concept drift от виртуального сдвига.
  • Маленькие и шумные выборки делают статистические тесты нестабильными.
  • Позднее обнаружение означает, что модель уже работала с ошибками — нужны ранние, косвенные сигналы.

Чек-лист триажа и реакции на сезонный и территориальный дрейф

Готовый контрольный список для команды, обслуживающей модель компьютерного зрения на объекте или территории. Проводите его при настройке мониторинга и при каждом красном алерте, чтобы не путать безобидный сезонный сдвиг с реальной деградацией модели.

  1. Зафиксирован ли в метаданных каждого кадра сезон, погода, время суток и идентификатор камеры?
  2. Построена ли референс-база по сопоставимому периоду, а не только по обучающей выборке?
  3. Разбиты ли камеры и участки территории на группы со своими порогами?
  4. Какие сигналы в связке считаются: распределение предсказаний, эмбеддинги, холдаут, калибровка?
  5. Выбран ли статистический тест (PSI, KS, MMD или Вассерштейн) под тип признака и объём выборки?
  6. Откалиброваны ли пороги так, чтобы обычный сезонный цикл не давал тревогу?
  7. Есть ли уровни зелёный/жёлтый/красный и лимит частоты уведомлений?
  8. Проведена ли атрибуция причины: погода/свет/освещение или реальное изменение территории?
  9. Использовано ли сравнение «год к году» и якорные виды камер для отделения структурных изменений?
  10. Назначен ли владелец алерта и задокументированы ли доказательства и шаги эскалации?
  11. Определён ли явный, задокументированный триггер переобучения, а не реакция на любой сдвиг?
  12. Есть ли размеченный холдаут или периодическая ручная разметка для проверки реальной деградации?

Частые вопросы

Чем data drift отличается от concept drift для моделей видеонаблюдения?

Data drift — изменение распределения входных кадров, например света, погоды или листвы; он часто «виртуальный» и не меняет смысл сцены. Concept drift — изменение связи между изображением и смыслом: на территории появился новый класс объектов или изменилась трактовка метки. Для камер первый тип обычно диагностируют статистическими тестами на распределениях, второй требует свежих меток и проверки точности, потому что означает реальное устаревание модели.

Как избежать ложных тревог, когда зима или дождь каждый год закономерно меняют кадры?

Не сравнивайте продакшен с обучающей выборкой за весь год. Стройте референс по сопоставимому периоду: зимние окна сравнивайте с зимними, вечерние с вечерними, а группы камер калибруйте отдельно. Используйте уровни серьёзности и лимит частоты уведомлений, а в качестве референса берите аналогичный месяц прошлых лет с поправкой на погоду. Тогда сезонный цикл останется в «зелёной» зоне, а аномальный сдвиг будет виден.

Какие статистические тесты применять для сдвига распределений изображений?

Часто применяют PSI (Population Stability Index), критерий Колмогорова-Смирнова, MMD (Maximum Mean Discrepancy) и расстояние Вассерштейна. Для изображений тесты чаще проводят не на пикселях, а на эмбеддингах или признаках, извлечённых моделью, поскольку это снижает размерность. Многие инструменты мониторинга автоматически выбирают метод по типу признака и объёму референса, но вы можете задать метод явно. Ни один тест не достаточен — комбинируйте его со сдвигом предсказаний и точностью на холдауте.

Нужна ли разметка, чтобы заметить дрейф модели?

Частично нет: сдвиг распределения входных данных и предсказаний можно ловить без меток статистическими тестами. Но чтобы отличить concept drift (смысл сцены изменился) от виртуального дрейфа (изменился только внешний вид), нужны свежие метки. Поэтому практики советуют держать размеченный холдаут или периодическую ручную разметку как источник правды для оценки реальной деградации точности.

Как часто переобучать модель после обнаружения дрейфа?

Не существует универсальной частоты: переобучение запускается по задокументированному тригеру, а не по расписанию или на каждый алерт. Сначала проведите атрибуцию причины: если дрейф вызван погодой или светом и безобиден, переобучение не нужно. Если подтверждён concept drift или структурное изменение территории, запускайте пайплайн обновления с новыми данными и проверяйте новую версию на холдауте до развёртывания, как рекомендует практика непрерывного мониторинга и обновления моделей.

Почему модель ошибается в одном сезоне заметно чаще, чем в другом?

Сезонный доменный сдвиг реально влияет на точность визуальных моделей: листва, снег, тени и погода меняют распределение кадров, на котором модель не обучалась. Исследования доменного сдвига в детектировании показывают, что это ожидаемо даже для устойчивых детекторов. Если просадка систематическая и повторяется каждый год, решение — сезонно-ориентированное дообучение на данных этого сезона или включение сезонных примеров в обучающий набор, а не единичная реакция на отдельный алерт.

Источники и дополнительные материалы

Источники проверены при подготовке страницы. Изменяемые даты, нормы и цены уточняйте у первоисточника.

  1. NIST AI RMF Core: Govern, Map, Measure, ManageNIST AI Resource Center (AIRC)
  2. Monitoring — AWS Well-Architected Machine Learning LensAmazon Web Services
  3. Concept drift detection in image data stream: a survey on current literature, limitations and future directionsSpringer Professional
  4. DrIFT: Autonomous Drone Dataset with Integrated Real and Synthetic Data, Flexible Views, and Transformed DomainsarXiv
  5. Report — Evidently DocumentationEvidently AI