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

Но как выявлять высококачественные данные и обеспечивать их уровень уже в процессе работы над проектом? И что означает «качество данных» в контексте машинного обучения?

Можно упростить ответ на этот вопрос, сведя качество данных к трём основным характеристикам: целостности (integrity), точности (accuracy) и согласованности (consistency).

  • Целостность: надёжность используемого датасета
  • Точность: степень валидности и корректности присвоенных аннотаций
  • Согласованность: степень согласованности присвоенных аннотаций во всём датасете

Можно воспринимать каждый из этих факторов как часть высокоуровневой дорожной карты для обеспечения качества данных на всех этапах конвейера аннотирования.

1. Целостность: проверка наличия в вашем датасете распространённых ошибок


Убедившись, что используемые вами источники полны и репрезентативны, проверьте свой датасет на отсутствие распространённых ошибок наподобие отсутствующих значений, дублирований и выбросов.

Отсутствующие данные


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

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

Дублирующиеся данные


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

Выбросы данных


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

2. Точность: валидация размеченных данных


Ground Truth Accuracy — простейший способ оценки точности датасета.

Ground Truth (эталон) — это набор аннотаций, созданных до начала проекта. Они помогают модели понять, как должны выглядеть ожидаемые результаты. При наличии достаточного объёма эталонных данных модель сможет изучить паттерн, от которого зависят результаты.

Ground Truth Accuracy — это прямое сравнение ответов аннотаторов и эталонных данных. Их разность часто выражается в виде коэффициента от 0 до 1, где >0.9 — приемлемый уровень точности.

Несмотря на свою простоту, Ground Truth Accuracy имеет недостатки. Если эталонные аннотации не отобраны так, чтобы отражать распределение реальных данных проекта, то может возникнуть ошибка выборки. Эта проблема часто возникает, когда проекты используют эталонные данные из популярных размеченных датасетов и других внешних размеченных источников.

Как повысить Ground Truth Accuracy


Если ваши аннотации имеют низкую Ground Truth Accuracy, а от ошибки выборки вы уже избавились, то наиболее вероятным виновником являются инструкции по аннотированию. Низкие показатели означают, что аннотаторы не смогли понять задание, поэтому вам первым делом нужно пересмотреть инструкции и внести в них уточнения. После этого нужно напрямую обсудить это с аннотаторами и вместе проработать несколько примеров. Если у аннотаторов возникнут вопросы, то делайте инструкции более понятными, пока на все эти вопросы не будут даны ответы.

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

3. Согласованность: проверка консенсуса аннотаторов


Точность и согласованность взаимно усиливают друг друга: точность бесполезна в качестве показателя качества, если метки создаются несогласованно, а согласованность бесполезна, если метки не точны. Вместе они образуют золотой стандарт качества данных.


Данные согласованы, если вы сравниваете разные версии одной и той же аннотации, и ответы совпадают.

Для обучения модели важны два вида согласованности: согласованность по времени, показателем которой является Intra-Annotator Consistency, и согласованность между аннотаторами, показателем которой является Inter-Annotator Agreement.

  • Intra-Annotator Consistency (IAC) показывает надёжность аннотатора с течением времени. Для отслеживания IAC одни и те же примеры периодически отправляются одному и тому же аннотатору; при этом измеряется степень совпадения новых меток с предыдущими для той же задачи.
  • Inter-Annotator Agreement (IAA) показывает консенсус между разметчиками. Для отслеживания IAA два или более разметчиков размечают один пример и при этом определяется степень их согласия.

Intra-Annotator Consistency:


Inter-Annotator Agreement:


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


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

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

Как для IAC, так и для IAA низкий показатель согласия — это признак потенциальной проблемы в датасете. Чтобы диагностировать её, сначала изучите конкретные метки. Иногда просто встречаются нечёткие или аномальные данные, которые вполне можно отбросить. В других ситуациях можно обнаружить места, с которыми возникают затруднения, и сделать инструкции более понятными.

Комментарии (0)