Подготовка данных для ИИ и машинного обучения: практическое руководство для конечного продукта
Подготовка данных для машинного обучения и искусственного интеллекта – это многоступенчатый процесс: сбор информации из разных источников, ее разметка, очистка и повышение качества, чтобы получить хорошо откалиброванный, корректно размеченный и непредвзятый набор данных для обучения модели.
Это не разовое действие, а непрерывный процесс: каждый раз, когда появляются новые данные, они требуют повторной проверки, очистки и разметки.
Зачем подготавливать данные для машинного обучения и ИИ?
Подготовка данных – самая трудоемкая часть любого проекта машинного обучения и может занимать до 80% времени. Но вложение в качественное исследование данных окупается многократно.
Уверенность в данных
В эпоху ИИ старая формула “мусор на входе – мусор на выходе” трансформировалась в “мусор на входе – красиво оформленный мусор на выходе”. Если не уделить внимание качеству данных, можно получить модель, которая выглядит убедительно, но дает ложные выводы.
Высокоточная аналитика
Чистые, релевантные данным задачи и свободные от предвзятости наборы позволяют принимать взвешенные бизнес-решения.
Лучший пользовательский опыт
В конкурентных сферах – например, стриминговых платформах или в электронной коммерции с ИИ-рекомендациями – качество данных напрямую влияет на пользовательский опыт и помогает компаниям привлекать и удерживать аудиторию.
Уровни готовности данных для искусственного интеллекта и машинного обучения
МО-модели хороши ровно настолько, насколько хороши данные, на которых они обучаются. Сырой, разнородный массив информации нужно привести к чистому, структурированному и задачно-ориентированному виду.
1. Необработанный уровень
Необработанные данные в разных форматах, полученные из множества внутренних и внешних источников. Обычно хранятся в озеро данных. На этом этапе данные никак не проверены, содержат шум, дубли и ошибки.
2. Очищенные данные
Структурированные данные, в которых удалены дубликаты, выбросы и пропущенные значения – то есть они пригодны для работы в разных проектах. Часто хранятся в хранилище данных для удобного доступа, но они ещё не привязаны к конкретной МО-задаче.
3. Данные, готовые к ИИ
Когда задача определена, специалисты получают очищенные и размеченные данные и проверяют, соответствуют ли они потребностям проекта. Например, они исключают нерелевантные данные – скажем, изображения собак из набора данных для обнаружения безбилетников в транспорте.
Также на этом этапе определяют, нужно ли уменьшить набор данных или, наоборот, дополнить его синтетическими данными.
Как подготовить данные для машинного обучения и ИИ
За любой успешной ИИ-моделью стоит объёмная, рутинная и незаметная работа по подготовке данных. Вот проверенные на практике рекомендации, как сделать каждый этап максимально полезным.1. Сбор данных
Первое, что нужно для грамотного сбора данных, – привлечь опытного специалиста по данным . Когда цель МО-проекта сформулирована, он определяет корректную стратегию сбора данных и помогает избежать попадания скрытой предвзятости в тренировочный набор данных. То же самое касается и “шума” в данных – его нужно фильтровать заранее. Например, в задаче прогнозирования оттока пользователей, где данные приходят с сайта, системы управления взаимоотношениями с клиентами и рекламных платформ, важно заранее убрать шум: тестовые аккаунты, предпросмотры почтовых рассылок , подозрительные клики или активность ботов-мониторингов. В проектах с устройствами интернета вещей, физический мир буквально “прошит” в данные: вибрации, скачки температуры, электрошум. В одном из проектов в сфере нефтегаза вибрации буровых установок сильно осложняли выделение полезных сигналов – пришлось детально изучить данные датчиков, выделить наиболее информативные поля и снизить вес остальных, чтобы уменьшить их шумовое влияние.Где собирать данные?
Внутренние источники:- базы данных;
- операционные системы управления предприятием и системы управление взаимоотношениями с клиентами, складские системы и т.п.
- публичные базы;
- соцсети;
- сторонние наборы данных;
- открытые или покупные отчёты и статистика.
2. Разметка данных
После сбора сырые данные необходимо “объяснить” модели – разметить их. Метки помогают модели интерпретировать информацию и обеспечивают точность результатов. Хотя разметку можно автоматизировать, наш опыт показывает: если вы хотите, чтобы МО-модель действительно приближалась к человеческому восприятию, мышлению и оценке, часть разметки должна выполняться людьми.Как эффективно использовать гибридный подход, не разорившись:
Создайте “золотой” первичный набор Пусть три разметчика независимо разметят 5-10% набора данных (в зависимости от размера). Используйте короткое руководство, измерьте согласованность разметчиков, устраните расхождения. Нужны не специалисты старшего уровня – достаточно обученных аннотаторов. Обучите инструмент автоматической разметки и запустите цикл Используйте золотой набор для обучения инструмента полуавтоматической разметки пассивного обучения, автоматически разметьте остальные данные и выборочно проверяйте качество. Неуверенные примеры возвращайте людям активное обучение, пока качество не стабилизируется. Подберите инструменты Подойдут решения с открытым исходным кодом вроде инструменты разметки: инструмент аннотирования в компьютерном зрении (CVAT), Label Studio (Лейбл Студио), SuperAnnotate (СуперАннотейт), LabelBox (Лейблбокс) и др. Проведите финальную проверку Аннотаторы из первого шага проверяют авторазметку, чтобы убедиться в стабильном и высоком качестве по всему набору данных.3. Очистка данных
Когда весь набор данных размечен, нужно очистить его от дублей, выбросов, пропусков, нерелевантных или ошибочных записей. Можно использовать библиотеки языка программирования Python: Pandas и Great Expectations для автоматического поиска проблем. Иногда набор данных намеренно нужно дополнить ошибочными и неконсистентными примерами. Это особенно актуально для диалоговых ИИ-чат-ботов: от поддержки клиентов до ассистентов по бронированию авиабилетов или финансовых помощников. Нужно учитывать запросы с опечатками, неправильной грамматикой и синтаксисом – это значительно улучшает точность распознавания намерений. Дальнейшие решения – удалять ли выбросы, восстанавливать ли недостающие значения или корректировать их с привлечением доменных знаний – требуют участия человека.Не торопитесь с анонимизацией!
Шифрование критически важно для защиты данных, но если применить его слишком рано – к “грязному” набору данных – это затруднит поиск ошибок и нерелевантных записей. Лучший момент для анонимизации – после приведения набора данных в порядок.4. Расширение данных (Аугментация)
Если после очистки данных оказывается слишком мало для обучения модели (что может означать и десятки медицинских записей, и тысячи взаимодействий пользователей в электронной коммерции, помогает аугментация. Например, дерматологическая исследовательская лаборатория разрабатывает ИИ-ПО для предварительной диагностики кожи по фото. Для редкого заболевания, такого как кожная Т-клеточная лимфома, ранние признаки могут быть похожи на экзему или псориаз, и примеров почти нет. Тогда специалист по данным может использовать аугментацию изображений (зум, отражение, поворот, обрезка, небольшие изменения освещения), чтобы расширить набор данных. В менее регулируемых областях можно использовать синтетические данные, чтобы расширить набор данных.
Если у вас всё ещё остаются вопросы по подготовке данных, стоит обратиться к провайдеру услуг по консалтингу в области ИИ и машинного обучения.
Контрольный список по подготовке данных
Краткое резюме шагов, которые помогают избежать переделок. Выполните это до начала моделирования:
- Подключите специалиста по данным на раннем этапе, чтобы он разработал стратегию сбора данных, отфильтровал шум и предотвратил появление скрытой предвзятости.
- Используйте гибридный подход к разметке: “золотой” набор → авторазметчик → выборочная проверка записей с низкой уверенностью.
- Автоматизируйте первый этап очистки данных, затем подключите экспертов, чтобы удалить, восстановить или исправить данные на основе доменных знаний.
- Анонимизируйте чувствительные данные после разметки и очистки.
- Применяйте аугментацию, если после предыдущих шагов набор данных оказался слишком маленьким.
Подготовка данных – это основная работа, которая ускоряет каждый следующий шаг
Подготовка данных похожа на подготовку почвы перед посадкой. Если в земле много камней и сорняков, ничего не вырастет. То же самое и с ИИ: чистые, сбалансированные и лишённые предвзятости данные дают модели плодородную основу для качественной работы.