Подготовка данных для ИИ и машинного обучения: этапы, методы и проверенные практики
Оставить заявку

Подготовка данных для ИИ и машинного обучения: практическое руководство для промышленного внедрения

Данные являются основой любой аналитической системы. С широким внедрением технологий ИИ в этом отношении ничего не изменилось.

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

Что такое подготовка данных для ИИ и машинного обучения?

Подготовка данных для машинного обучения и искусственного интеллекта включает сбор необработанных данных из внутренних и внешних источников, их разметку, очистку и повышение качества для формирования качественного и сбалансированного набора данных с минимальной предвзятостью, пригодного для обучения модели машинного обучения (Machine Learning – ML).

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

Зачем готовить данные для машинного обучения и искусственного интеллекта?

Подготовка данных – самая трудоёмкая часть любого проекта в области машинного обучения (ML), которая может занимать до 80% общего времени разработки. Однако эти первоначальные вложения в анализ и подготовку данных многократно окупаются.

    • Уверенность в качестве данных. В сфере ИИ классический принцип «мусор на входе – мусор на выходе» приобретает новую форму: «мусор на входе – красиво оформленный мусор на выходе». Если не уделять должного внимания подготовке данных, можно получить ложную уверенность в результатах модели, не замечая скрытых проблем в данных.
    • Более обоснованные решения. Чистые, релевантные и свободные от предвзятости данные помогают принимать более обоснованные бизнес-решения.
  • Возможность создавать персонализированный пользовательский опыт.

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

Уровни готовности данных для ИИ и машинного обучения

Модели машинного обучения (ML) эффективны настолько, насколько качественны данные, на которых они обучаются. Поэтому данные должны пройти путь от разрозненного и необработанного состояния до структурированного и подготовленного для конкретной задачи набора данных.

Необработанные данные

Неструктурированные данные, поступающие из различных внутренних и внешних источников в разных форматах. Обычно они централизованно хранятся в хранилище данных (data lake), однако ещё не проходят проверку качества и обработку.

Чистые данные

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

Как правило, такие данные хранятся в хранилище данных для удобства доступа и управления. На этом этапе конкретный сценарий использования набора данных ещё не определён.

Данные, подготовленные для ИИ

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

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

Проверка набора данных на наличие дубликатов и пропущенных значений – один из самых быстрых способов понять уровень качества данных.

Уровни готовности данных для ИИ

Например, для автоматической проверки можно использовать библиотеки языка программирования Python, такие как Pandas и Great Expectations. Если в наборе данных содержится более 3% точных дубликатов, это уже серьёзный признак того, что данные ещё не готовы для использования в системах ИИ.

Как подготовить данные для машинного обучения и ИИ

За каждой успешной моделью ИИ стоит большой объём подготовительной работы. Ниже приведены проверенные на практике рекомендации, которые помогают сделать каждый этап подготовки данных действительно эффективным.

1. Сбор данных

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

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

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

То же самое относится и к шуму в данных, который необходимо заранее отфильтровывать. Например, при построении моделей прогнозирования оттока клиентов на основе данных веб-сайта, систем управления взаимоотношениями с клиентом (систем CRM) и рекламных платформ далеко не каждое событие подходит для обучения модели.

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

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

Например, в одном из наших проектов для нефтегазовой отрасли вибрации буровых установок затрудняли выявление действительно значимых сигналов. Специалистам по обработке данных пришлось анализировать поля, сформированные на основе показаний датчиков, чтобы определить наиболее информативные параметры и снизить влияние менее значимых шумовых данных.

Откуда собирать данные?

Внутренние источники

  • базы данных;
  • корпоративные системы и операционные платформы;
  • системы ERP и CRM;
  • системы управления запасами и другое внутреннее программное обеспечение.

Внешние источники

  • открытые базы данных;
  • социальные сети;
  • сторонние наборы данных;
  • открытые или коммерческие отчёты и статистика.

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

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

2. Разметка данных

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

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

  • Создайте эталонный набор данных. Поручите трём специалистам выполнить перекрёстную разметку 5-10% набора данных (в зависимости от его объёма). Используйте краткие инструкции по разметке, оценивайте степень согласованности между специалистами и устраняйте расхождения в результатах. Для этой задачи не обязательно привлекать ведущих специалистов по обработке данных – достаточно обученных аннотаторов.
  • Обучите систему автоматической разметки и выстройте цикл проверки. Используйте эталонный набор данных для обучения системы разметки с поддержкой ИИ в режиме пассивного обучения, затем автоматически размечайте оставшуюся часть данных и выполняйте выборочную проверку результатов. Элементы с низкой уверенностью модели или спорные случаи необходимо повторно направлять специалистам для проверки в рамках активного обучения до тех пор, пока качество результатов не стабилизируется.
  • Выберите подходящие инструменты. Доступные решения варьируются от платформ с открытым исходным кодом, таких как CVAT и Label Studio, до платформ SaaS (программное обеспечение как услуга), включая SuperAnnotate и LabelBox.
  • Проведите финальную ручную проверку. Специалисты, участвовавшие в первом этапе разметки, должны проверить автоматически созданные метки, чтобы обеспечить стабильно высокую точность по всему набору данных.

3. Очистка данных

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

Как уже упоминалось ранее, для автоматического выявления и пометки подобных проблем можно использовать библиотеки языка программирования Python, такие как Pandas и Great Expectations.

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

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

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

Не спешите анонимизировать данные. Хотя шифрование является важным механизмом защиты данных, применение шифрования к неочищенному набору данных только усложняет выявление нерелевантных и ошибочных записей.

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

4. Расширение данных

После очистки может оказаться, что данных осталось недостаточно для обучения модели машинного обучения (ML). При этом понятие «недостаточно» зависит от конкретной задачи: для узкоспециализированных медицинских исследований это могут быть десятки записей пациентов, а для анализа поведения клиентов в электронной коммерции – тысячи пользовательских взаимодействий.

В таких случаях применяется расширение данных.

Например, научно-исследовательская лаборатория в области дерматологии разрабатывает программное обеспечение на основе искусственного интеллекта для предварительной диагностики заболеваний по фотографиям кожи.

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

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

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

Контрольный список подготовки данных для ИИ и машинного обучения

Ниже приведён краткий перечень этапов подготовки данных, который помогает избежать ошибок и повторной переработки данных перед началом моделирования:

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

Подготовка данных – основа, которая ускоряет все последующие этапы

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

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

Часто задаваемые вопросы

Что такое подготовка данных в ИИ и машинном обучении?

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

Насколько данные должны быть «чистыми» для машинного обучения?

Данные без пропущенных значений, дубликатов и выбросов можно считать достаточно качественными для обучения модели машинного обучения (ML). Однако важно понимать, что одной лишь очистки данных недостаточно для завершения подготовки данных к машинному обучению.

Нужно ли размечать данные для обучения без учителя?

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

Каковы ключевые этапы подготовки данных для ИИ и машинного обучения?

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

Почему подготовка данных так важна?

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