Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Dataset Bias

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

Смещение набора данных — это систематическое несоответствие между данными, используемыми для обучения модели машинного обучения, и людьми, местами или условиями, для которых предназначена модель. Модели усваивают все закономерности в своих обучающих данных, включая случайные особенности их сбора. Поэтому на смещенном наборе данных получается модель, которая хорошо работает в часто встречавшихся ситуациях и плохо — во всех остальных. Поскольку тестовые данные обычно берут из того же источника, проблема часто остается незамеченной до развертывания. В 2011 году Антонио Торральба и Алексей Ефрос показали это на примере игры «Угадай набор данных»: простой классификатор определял, к какому из 12 популярных наборов данных изображений относилась картинка, намного лучше случайного выбора, поскольку у каждой подборки был свой узнаваемый стиль.

Виды смещения набора данных#

  • Смещение отбора: Данные берут из удобных источников, а не из целевой популяции. На веб-фотографиях непропорционально часто встречаются состоятельные жители Запада, а коммерческие сервисы распознавания объектов примерно на 10% хуже справлялись с предметами быта из домов, где ежемесячный доход составлял менее 50 долларов США, чем из домов с доходом более 3500 долларов США. Разница для предметов, сфотографированных в США и в Сомали или Буркина-Фасо, составляла от 15 до 20 процентных пунктов.
  • Смещение представленности: Некоторые группы или классы встречаются слишком редко, чтобы модель могла их усвоить. Проверка Gender Shades показала, что коммерческие классификаторы гендера ошибочно классифицировали темнокожих женщин в 34,7% случаев, а светлокожих мужчин — максимум в 0,8% случаев. В обнаружении объектов длинный хвост редких классов представляет ту же проблему на уровне классов.
  • Смещение измерений и сбора данных: Камеры, датчики, площадки и условия освещения отличаются в обучающих данных и при развертывании. Модели глубокого обучения для обнаружения пневмонии на рентгеновских снимках грудной клетки могли также определять, в какой больнице было сделано изображение. Поскольку частота пневмонии различалась между больницами, этот сигнал завышал точность, но плохо переносился на новые площадки. Это разновидность обучения на коротких путях.
  • Смещение меток: Разметка данных наследует суждения аннотаторов, непоследовательные инструкции или решения, принятые ранее, а модель воспринимает такие закономерности как истинные данные.
  • Временное смещение: Данные, собранные в один период, перестают соответствовать реальности по мере изменения моды, товаров и транспортных средств.

Как проявляется смещение набора данных#

Модель восприятия для беспилотных автомобилей, обученная преимущественно в солнечном и сухом климате, менее надежно обнаруживает пешеходов в снег, дождь и темноте. Команды, разрабатывающие автономные транспортные средства для ИИ в автомобильной отрасли, собирают данные о ночных поездках и плохой погоде, чтобы сократить этот разрыв. В анализе медицинских изображений дерматологические модели, обученные на подборках со значительной долей светлой кожи, хуже работают с темной кожей, а системы распознавания лиц демонстрируют демографические различия, измеренные в исследовании Gender Shades. В каждом случае общая точность выглядит высокой, потому что в среднем преобладают результаты для большинства.

Следующий фрагмент кода наглядно показывает механизм на примере scikit-learn. Группа B демонстрирует иной закономерный признак, чем группа A. Один и тот же случайный лес дважды обучается на 1000 примерах: сначала группа B составляет 2% данных, а затем классы сбалансированы:

import numpy as np
from sklearn.ensemble import RandomForestClassifier

rng = np.random.default_rng(0)


def sample(n, group):
    """Draw n points from group A (label set by feature 0) or group B (label set by feature 1)."""
    center = 0.0 if group == "A" else 3.0
    X = rng.normal(center, 1.0, size=(n, 2))
    return X, X[:, 0 if group == "A" else 1] > center


for n_a, n_b in [(980, 20), (500, 500)]:  # skewed, then balanced training sets of the same size
    Xa, ya = sample(n_a, "A")
    Xb, yb = sample(n_b, "B")
    model = RandomForestClassifier(random_state=0).fit(np.vstack([Xa, Xb]), np.concatenate([ya, yb]))
    acc = {g: model.score(*sample(2000, g)) for g in "AB"}  # held-out accuracy per group
    print(f"train A:B = {n_a}:{n_b} -> accuracy on A {acc['A']:.3f}, on B {acc['B']:.3f}")

Обученная на смещенной выборке модель безошибочно работает с группой A (1,000), а для группы B дает правильный ответ лишь в 76,8% случаев. Балансировка тех же 1000 примеров повышает точность для группы B до 98,3%, а для группы A она немного снижается — до 97,2%. На тестовой выборке с соотношением 98:2, как в смещенных обучающих данных, первая модель получила бы общую оценку около 99,5%, полностью скрывающую разрыв.

  • Алгоритмическое смещение: Смещение, вызванное проектированием модели, целевой функцией или развертыванием, например функцией потерь, отдающей предпочтение преобладающим классам. Смещение набора данных — одна из основных причин алгоритмического смещения; эти явления часто усиливают друг друга.
  • Смещение в ИИ: Общее название систематической несправедливости в системах ИИ; противоположное понятие — справедливость в ИИ. Стандарт NIST по выявлению смещения в ИИ и управлению им делит его источники на системные, человеческие и статистические или вычислительные. Нерепрезентативные наборы данных относятся к последней категории.
  • Дрейф данных: Изменение распределения входных данных после развертывания. Смещение набора данных присутствует уже при сборе данных, а дрейф со временем создает разрыв, даже если исходные данные были репрезентативными.

Выявление и снижение смещения наборов данных#

Выявление смещения в данных компьютерного зрения начинается с документирования и раздельной оценки. В документе «Паспорта наборов данных» предлагается фиксировать, кто, как и с какой целью собирал данные, чтобы пользователи могли понять, кого они представляют. Вместо единого среднего значения при оценке следует приводить метрики по группам, площадкам, камерам или условиям, а также матрицу ошибок для каждого среза. Полезно также изучать сами данные: в Ultralytics Platform на вкладке «Классы» для каждого набора данных отображается число аннотаций по классам и доступно переключение на логарифмическую шкалу для несбалансированных данных; панель «Кластеризация» отображает эмбеддинги изображений, окрашенные по классу или разделу, поэтому пробелы в охвате обнаруживаются до обучения.

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

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

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

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения