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

Data-Centric AI

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

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

Самый известный пример Ына связан с проверкой стальных листов: детектор дефектов, застрявший на точности 76,2%, не улучшался при работе над моделью, а исправление несогласованных меток повысило точность до 93,1%. Позже в том же году DeepLearning.AI и Landing AI провели конкурс Data-Centric AI Competition: модель была зафиксирована, а участники могли улучшать только зашумлённый набор данных для классификации изображений рукописных римских цифр размером не более 10 000 изображений.

Основные практики#

  • Согласованная разметка данных: аннотаторы следуют письменным правилам для неоднозначных случаев, например решают, должна ли рамка включать боковое зеркало автомобиля и как размечать частично скрытого человека. Если два аннотатора по-разному решают такие случаи, возникает шум в метках, который модель не сможет компенсировать при обучении.
  • Поиск ошибок в метках: расхождения между предсказаниями модели и заданными метками указывают на вероятные ошибки. В исследовании 2021 года Норткатта, Атали и Мюллера ошибки в метках обнаружились в среднем как минимум у 3,3% тестовых примеров в 10 популярных наборах данных и как минимум у 6% примеров в проверочной выборке ImageNet.
  • Целевой сбор и синтетические данные: анализ ошибок по классам, сценам, освещению или размеру объектов показывает, где модель ошибается; новые примеры именно для этих срезов полезнее случайных добавлений.
  • Очистка данных: удаление повреждённых файлов, нерелевантных изображений и дубликатов, особенно почти идентичных изображений, попавших одновременно в обучающую и тестовую выборки.
  • Аугментация данных: расширение диапазона освещения, масштаба и ракурсов, которые видит модель, без сбора новых изображений.

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

Цикл работы с данными#

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

В этом примере в 20% меток набора рукописных цифр из scikit-learn вносятся ошибки, затем отмечаются примеры, в которых предсказание вне фолда не совпадает с меткой, и та же модель обучается заново без них:

import numpy as np
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import cross_val_predict, train_test_split

X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

# Replace 20% of the training labels with random digits to mimic annotation errors
rng = np.random.default_rng(0)
noisy = y_train.copy()
flip = rng.random(len(noisy)) < 0.2
noisy[flip] = rng.integers(0, 10, flip.sum())
wrong = noisy != y_train  # some random digits match the true label

# The model stays fixed; only the training data changes
model = LogisticRegression(max_iter=5000)
print(f"noisy labels: {model.fit(X_train, noisy).score(X_test, y_test):.1%} test accuracy")

# Flag examples whose out-of-fold prediction disagrees with their label, then drop them
keep = cross_val_predict(model, X_train, noisy, cv=5) == noisy
print(f"flagged {(~keep).sum()} examples, {(~keep & wrong).sum()} of {wrong.sum()} wrong labels")
print(f"cleaned labels: {model.fit(X_train[keep], noisy[keep]).score(X_test, y_test):.1%} test accuracy")

Точность на тестовой выборке повышается с 87,0% до 94,1% без изменения модели. Фильтр отмечает 354 примера: 211 из 213 примеров с неверными метками и 143 правильных, но необычных примера. Поэтому из очищенного набора удаляются и некоторые корректные примеры, хотя почти все ошибки удаётся убрать.

Чтобы сравнивать изменения в данных, нужно точно знать, какие данные использовались для обучения каждой модели. Ultralytics Platform хранит неизменяемые версии наборов данных: параметр Save Dataset Version в облачном обучении связывает каждую модель со снимком данных, на котором она обучалась; раздел Compare Versions показывает изменившиеся между двумя снимками изображения, аннотации и классы; а на вкладке Models набора данных указана версия данных для каждой модели рядом с основными метриками, такими как mAP50-95.

  • Активное обучение: выбирает, какие неразмеченные примеры размечать следующими, обычно те, в которых модель наименее уверена. Это один из методов ИИ, ориентированного на данные.
  • Маховик данных: цикл промышленной эксплуатации, в котором входные данные и ошибки развёрнутой модели становятся новыми обучающими данными, поэтому работа с данными повторяется при каждом выпуске.
  • Операционная деятельность в машинном обучении (MLOps): инженерные практики версионирования, обучения, развёртывания и мониторинга моделей, благодаря которым изменения данных можно воспроизводить и сравнивать.

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

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

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

Узнай, как 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. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

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

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