5 причин, почему вам нужны синтетические данные

5 причин, почему вам нужны синтетические данные

Исходный узел: 1942868

5 причин, почему вам нужны синтетические данные
Синтетические данные, полученные из Кубрик
 

Для обучения модели машинного обучения вам нужны данные. Задачи по науке о данных обычно не являются соревнованием Kaggle, где у вас есть хороший большой тщательно отобранный набор данных, который поставляется с предварительно помеченными. Иногда вам приходится собирать, систематизировать и очищать собственные данные. Этот процесс сбора и маркировки данных в реальном мире может быть трудоемким, громоздким, дорогостоящим, неточным, а иногда и опасным. Кроме того, в конце этого процесса вы можете получить данные, с которыми столкнулись в реальном мире, не обязательно являющиеся данными, которые вам нужны с точки зрения качества, разнообразия (например, дисбаланса классов) и количества. Ниже приведены распространенные проблемы, с которыми вы можете столкнуться при работе с реальными данными: 

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

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

Для небольших наборов данных обычно можно собирать и маркировать данные вручную; однако многие сложные задачи машинного обучения требуют больших наборов данных для обучения. Например, модели, обученные для приложений автономных транспортных средств, нуждаются в больших объемах данных, собранных с датчиков, прикрепленных к автомобилям или дронам. Этот процесс сбора данных медленный и может занять месяцы или даже годы. После того, как необработанные данные собраны, люди должны вручную аннотировать их, что также дорого и требует много времени. Кроме того, нет никакой гарантии, что возвращаемые помеченные данные будут полезны в качестве обучающих данных, поскольку они могут не содержать примеров, которые информируют о текущих пробелах в знаниях модели. 

[встроенный контент][встроенный контент]

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

Программное обеспечение с открытым исходным кодом для создания синтетических данных: Кубрик (многообъектные видео с масками сегментации, картами глубины и оптическим потоком) и SDV (табличные, реляционные и временные данные).

Некоторые (из многих) компании, которые продают продукты или создают платформы, которые могут генерировать синтетические данные, включают Гретель.ai (синтетические наборы данных, обеспечивающие конфиденциальность реальных данных), NVIDIA (вселенная) и Параллельный домен (автономные транспортные средства). Для большего, см. список компаний, занимающихся синтетическими данными, на 2022 г.

5 причин, почему вам нужны синтетические данные
Изображение из Параллельный домен
 

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

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

5 причин, почему вам нужны синтетические данные
Изображение на Михаил Галарник
 

Синтетические данные очень полезны для приложений в областях, где вы не можете легко получить реальные данные. Это включает в себя некоторые типы данных об автомобильных авариях и большинство типов данных о здоровье, которые имеют ограничения на конфиденциальность (например, электронные медицинские записи). В последние годы исследователи в области здравоохранения интересовались прогнозированием мерцательной аритмии (нерегулярного сердечного ритма) с использованием сигналов ЭКГ и ФПГ. Разработка детектора аритмии является сложной задачей не только из-за того, что аннотирование этих сигналов утомительно и дорого, но и из-за ограничений конфиденциальности. Это одна из причин, по которой существует исследования по моделированию этих сигналов

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

Ниже приведены некоторые компании, использующие синтетические данные для повышения безопасности приложений: Toyota, Waymoи Круиз.

5 причин, почему вам нужны синтетические данные
Изображение из Параллельный домен
 

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

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

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

Ниже приведены примеры, которые показывают, как программируемые синтетические данные помогают моделям учиться: предотвращение мошеннических транзакций (American Express), лучшее обнаружение велосипедистов (параллельный домен)и анализ и обзор операции (Hutom.io).

5 причин, почему вам нужны синтетические данные
фазы цикла разработки модели | Изображение из Жюль С. Дамджи 
 

В промышленности существуют множество факторов, влияющих на жизнеспособность/производительность проекта машинного обучения как в разработке, так и в производстве (например, сбор данных, аннотация, обучение модели, масштабирование, развертывание, мониторинг, переобучение модели и скорость разработки). Недавно, 18 инженеров по машинному обучению приняли участие в опросе целью которого было понять общие практики и проблемы MLOps в организациях и приложениях (например, автономные транспортные средства, компьютерное оборудование, розничная торговля, реклама, рекомендательные системы и т. д.). Одним из выводов исследования была важность скорости разработки, которую можно грубо определить как способность быстро создавать прототипы и повторять идеи.

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

 

5 причин, почему вам нужны синтетические данные
Изображение из Очевидно AI
 

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

 

5 причин, почему вам нужны синтетические данные
Изображение из Гретель.ai
 

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

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

Создание синтетических данных становится все более распространенным явлением в рабочих процессах машинного обучения. Фактически, Gartner прогнозирует, что к 2030 году синтетические данные будут использоваться для обучения моделей машинного обучения гораздо чаще, чем реальные данные. Если у вас есть какие-либо вопросы или мысли по этому посту, не стесняйтесь обращаться к ним в комментариях ниже или через Twitter.
 
 
Михаил Галарник является специалистом по науке о данных и работает в отделе по связям с разработчиками в Anyscale.
 

Отметка времени:

Больше от КДнаггетс