Качество данных

Качество данных относится к отношению сигнала к шуму в обучающем наборе данных. Чисты ли эти данные? Являются ли точки данных и соответствующие метки точными? Какова точность этого набора данных.

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

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

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

В случаях, когда помеченных данных мало или они отсутствуют до обучения модели. Можно использовать такие методы, как адаптация домена и самообучение без учителя с предварительно обученными моделями, в противном случае дополнительные аннотации также являются вероятным вариантом. Другие варианты, которые можно изучить, — это увеличение данных — библиотеки, такие как NlpAug, TextAttack, можно использовать для возмущения токенов в NLP, а библиотеки, такие как PIL или OpenCV, для переворачивания изображений, добавления шума и размытия для задач обработки изображений.

Соглашение Inter Annotator

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

Существует несколько смягчающих проверок для обеспечения достоверности аннотаций, например, использование нескольких аннотаторов — супераннотатор является золотым стандартом, а другие аннотаторы используются в качестве прогнозов. Такие метрики, как каппа Коэна/каппа Фляйсса и IoU (пересечение над объединением), измеряют согласование между аннотациями для различных задач и случайно наказывают совпадение. Эти метрики используют вероятности аннотации, чтобы убедиться, что аннотаторы не выбирают метки случайным образом.

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

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

Регрессионный тест. Этот тип теста обычно проводится для критического изучения и сравнения производительности версий модели. Допустим, есть две модели, v1 и v2, где v2 — это итеративное улучшение v1. Чтобы количественно подтвердить это, мы пишем регрессионные тесты. Регрессионные тесты оценивают производительность новой модели v2 в точках данных, где модель v1 была ошибочной. Модель v2 также оценивается по точкам данных, которые были правильно предсказаны, чтобы проверить, согласуется ли эта производительность с моделью v1. Идеальным обстоятельством является случай, когда модель v2 правильно предсказывает/классифицирует все точки данных, которые модель v1 правильно предсказывает в дополнение к части выбросов. В этом случае метрика для оценки зависит от поставленной задачи. Исследуя правильные и ошибочно предсказанные точки данных в версиях модели, можно сделать гипотезу и сделать выводы, которые послужат основой для будущих экспериментов.

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

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

Непрерывное добавление аннотаций для улучшения качества данных

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

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