Жизненный цикл данных в машинном зрении: доменный сдвиг, несбалансированность и феномен Data Leakage
Жизненный цикл данных в машинном зрении: доменный сдвиг, несбалансированность и феномен Data Leakage
В 2018 году исследователи из Медицинской школы Икана больницы Маунт-Синай и ряда других институтов опубликовали резонансную работу, где показали: сверточные нейросети для диагностики пневмонии по рентгеновским снимкам при переносе в сторонние клиники катастрофически теряют в точности. Анализ показал, что модель ориентировалась не на патологические изменения в легочной ткани, а на специфичные для конкретных больниц технические маркеры латерализации («L» / «R») и особенности рентгеновских аппаратов.
Нейросеть выучила случайную корреляцию в обучающей выборке вместо реальной физической закономерности. Это фундаментальная проблема современного прикладного Computer Vision: архитектуры ResNet или EfficientNet обладают огромной емкостью и способны идеально подогнать веса под любые артефакты данных. Если на этапе подготовки датасета допущены методологические ошибки, даже самая совершенная модель окажется бесполезной в продакшене.
Парадигма Data-Centric AI и жизненный цикл данных
В классическом машинном обучении долгое время доминировал подход Model-Centric AI: считалось, что датасет — это фиксированная сущность, а инженерная задача состоит в подборе более сложной архитектуры, оптимизатора или гиперпараметров.
В прикладном компьютерном зрении этот подход часто заходит в тупик. На практике прироста качества промышленных систем достигается не заменой бэкбона, а систематической работой над чистотой, репрезентативностью и согласованностью визуальных данных — переходом к парадигме Data-Centric AI.
Жизненный цикл данных в CV представляет собой не линейную цепочку, а замкнутый инженерный контур:
- Сбор данных (Data Collection): получение сырых кадров с камер, учет вариативности освещения, оптических искажений, углов обзора и редких состояний сцены.
- Очистка и дедупликация (Data Cleansing): отсев расфокусированных кадров, битых файлов, артефактов компрессии и почти идентичных дубликатов из непрерывных видеопотоков.
- Аннотирование (Annotation & Labeling): разметка изображений по строгим спецификациям и контроль межаннотаторского согласия.
- Валидационная изоляция и аугментация: строгое разделение на обучающую, валидационную и тестовую выборки с последующим расширением распределения через трансформации.
- Обучение и диагностика ошибок (Error Analysis): аудит краевых случаев (edge cases), на которых классификатор ошибается с высокой уверенностью.
- Мониторинг в продакшене (Drift Monitoring): отслеживание деградации точности при изменении физических условий на объекте и доразметка новых данных.
Ключевой инсайт раздела:
Модель машинного зрения является строгим математическим зеркалом распределения обучающих данных. Невозможно устранить дефект классификации подбором функции потерь, если в самом датасете нарушена причинно-следственная связь между признаками и метками.
Природа доменного сдвига (Domain Shift)
Математическая основа обучения с учителем опирается на фундаментальное допущение: обучающая выборка () и тестовая выборка () порождены одним и тем же совместным вероятностным распределением:
где — пространство входных изображений (тензоров), а — пространство целевых меток классов.
В реальных системах машинного зрения это равенство практически никогда не выполняется во времени. Изменение температуры ламп подсветки, сезонная смена естественного освещения за окнами цеха, замена объектива камеры или естественный износ деталей приводят к доменному сдвигу (Domain Shift).
Совместную вероятность можно факторизовать двумя способами: через распределение признаков либо через априорные вероятности классов . В зависимости от того, какой компонент изменяется, выделяют три типа сдвига.
| Тип сдвига | Математическое условие | Пример в машинном зрении |
|---|---|---|
| Ковариатный сдвиг (Covariate Shift) | , но неизменно | Камера контроля деталей переместилась на 15 см выше: деталь та же, но изменились масштаб и фон |
| Сдвиг концепта (Concept Shift) | , но неизменно | Технологи изменили регламент: царапина длиной 2 мм раньше считалась нормой (класс Pass), а теперь — браком (Scrap) |
| Априорный сдвиг (Prior / Label Shift) | , но неизменно | В обучающей выборке собрано брака, а на реальной линии реальный процент брака составляет лишь |
При ковариатном сдвиге сверточная сеть получает на вход тензоры, чьи многомерные статистики активаций лежат вне области, исследованной оптимизатором во время градиентного спуска. В результате слои BatchNorm2d используют смещенные оценки глобального среднего и дисперсии, а промежуточные карты признаков активируют нерелевантные нейроны.
Проблема несбалансированности классов (Class Imbalance)
В реальных промышленных и медицинских датасетах распределение меток подчиняется закону длинного хвоста (Long-Tail Distribution). При оптическом контроле печатных плат кадров содержат годные компоненты (нормальный класс), и лишь содержат редкие дефекты: микротрещины, перемычки припоя или сколы текстолита.
Мажорный класс (Норма): ████████████████████████████████████ 99.5%
Минорный класс 1 (Припой): █ 0.3%
Минорный класс 2 (Скол): ▍ 0.2%
Обучение глубокой CNN на несбалансированном датасете без специальной подготовки влечет три критические проблемы:
- Градиентное подавление: суммарный градиент функции потерь формируется преимущественно мажорным классом. Градиенты от редких образцов теряются в общем шуме оптимизатора, и веса фильтров настраиваются исключительно под распознавание нормы.
- Иллюзия сходимости метрик: модель, которая всегда выдает метку «Норма», формально достигает метрики , полностью игнорируя бракованной продукции.
- Плохая калибровка вероятностей: распределение уверенности на выходе слоя оказывается смещено в сторону часто встречающегося класса.
Решение проблемы дисбаланса требует скоординированных действий на двух уровнях: на уровне данных (Data-level) и на уровне оптимизации (Algorithm-level).
Управление дисбалансом
│
┌───────────────────────┴───────────────────────┐
▼ ▼
Уровень данных (Data-level) Уровень модели (Algorithm-level)
- Undersampling мажорного класса - Взвешенный Cross-Entropy Loss
- Oversampling минорного класса - Focal Loss (динамический фокус на сложных)
- Синтез и целенаправленная аугментация - Пороговая калибровка (Decision Thresholding)
На уровне данных балансировка достигается отбором наиболее информативных кадров нормы (Random / Cluster Undersampling) и многократным расширением минорных классов с помощью агрессивных геометрических и фотометрических аугментаций.
Феномен Data Leakage в задачах компьютерного зрения
Утечка данных (Data Leakage) — это непреднамеренное проникновение информации из валидационной или тестовой выборки в процесс обучения модели. В результате модель демонстрирует превосходные метрики на этапе экспериментов, но оказывается неработоспособной на независимых данных.
В классическом табличном ML утечка часто сводится к некорректному расчету статистик нормализации до разбиения выборки. В компьютерном зрении каналы утечки гораздо более разнообразны и неочевидны из-за высокой пространственно-временной связности визуальных данных.
ОШИБКА: Случайное разбиение видеопотока на кадры (Data Leakage)
Видеопоток (30 FPS): [ Кадр 1 ] [ Кадр 2 ] [ Кадр 3 ] [ Кадр 4 ] [ Кадр 5 ] ...
Случайный сплит: TRAIN VAL TRAIN VAL TRAIN
(Модель фактически запоминает соседние одинаковые кадры)
ПРАВИЛЬНО: Групповое разбиение по сессиям/объектам (Group Split)
Видеосессия А (Деталь 1): [ Кадр 1 ] [ Кадр 2 ] [ Кадр 3 ] ──► ТОЛЬКО TRAIN
Видеосессия Б (Деталь 2): [ Кадр 4 ] [ Кадр 5 ] [ Кадр 6 ] ──► ТОЛЬКО VAL
Основные векторы утечки в CV:
- Временная корреляция (Temporal Leakage):
При нарезке видеопотока с частотой соседние кадры и практически идентичны (разница в несколько пикселей из-за шума матрицы). Если применить стандартное случайное разбиение
train_test_split, кадр попадет вtrain, а — вval. Модель просто интерполирует запомненные пиксели, а не учится обобщать геометрию объектов. - Пространственная / субъектная корреляция (Spatial & Group Leakage): Снимки одной и той же печатной платы, сделанные под пятью разными ракурсами или при разном освещении, попадают одновременно в обучающую и проверочную части. Сеть выучивает уникальные царапины конкретного образца текстолита, а не паттерн дефекта.
- Утечка на этапе аугментации (Data Augmentation Leakage):
Грубейшая ошибка конструирования пайплайна: применение офлайн-аугментации ко всему массиву изображений до разделения на фолды. В этом случае аугментированная копия изображения из
trainоказывается вval. - Утечка глобальной нормализации: Расчет средних поканальных значений и стандартных отклонений для Z-score стандартизации по объединенному массиву всех имеющихся снимков, включая валидационные.
Сквозной пример: анатомия скрытой утечки на конвейере
Рассмотрим практический сценарий: разрабатывается система классификации шестерен на два класса: «Без дефектов» и «Скол зуба».
Камера установлена над конвейером и непрерывно делает 10 кадров каждой проходящей детали, пока та движется по полю зрения (разные углы поворота и смещения). Всего через систему прошло шестерен, получено снимков.
Сценарий А (Случайный сплит 80/20 по файлам):
- 5000 файлов перемешаны в случайном порядке.
- 4000 кадров ушли в Train, 1000 — в Val.
- Каждая шестеренка представлена в среднем 8 кадрами в Train и 2 кадрами в Val.
- Результат на валидации: F1 = 0.992.
- Результат на новой партии в цеху: F1 = 0.684.
Причина катастрофического падения: модель переобучилась под микрорельеф поверхности, блики и текстуру металла конкретных 500 экземпляров.
Сценарий Б (Строгий групповой сплит по ID деталей):
- Выборка разделена по идентификаторам объектов: 400 уникальных шестерен (4000 кадров) в Train, 100 уникальных шестерен (1000 кадров) в Val.
- Результат на валидации: F1 = 0.761.
- Результат на новой партии в цеху: F1 = 0.758.
В сценарии «Б» валидационная оценка точно отражает реальную обобщающую способность сети. Значение честно указывает инженеру на необходимость применения регуляризации и аугментаций, избавляя от ложных иллюзий на этапе прототипирования.
Резюме
Устойчивость моделей компьютерного зрения к реальным условиям эксплуатации закладывается задолго до запуска цикла оптимизации весов:
- Переход к Data-Centric AI фиксирует приоритет качества, чистоты и репрезентативности данных над усложнением нейросетевых архитектур.
- Доменный сдвиг нарушает равенство , проявляясь в форме ковариатного сдвига (изменение фона, света, оптики) или сдвига концепта (изменение критериев разметки).
- Дисбаланс классов приводит к градиентному доминированию мажорных категорий и требует целенаправленного ресемплинга и синтеза редких визуальных состояний.
- Утечка данных (Data Leakage) в CV возникает из-за пространственно-временных корреляций кадров и некорректного порядка аугментации, разрушая адекватность валидации.
На следующем шаге мы детально разберем алгоритмические методы очистки визуальных датасетов: автоматический поиск дубликатов с помощью перцептивного хеширования, фильтрацию дефектов съемки и протоколы согласованного аннотирования.