Искусственный интеллект
Что такое синтетические данные?

Что такое синтетические данные?
Синтетические данные – это быстро растущая тенденция и появляющийся инструмент в области науки о данных. Что же такое синтетические данные точно? Короткий ответ заключается в том, что синтетические данные состоят из данных, которые не основаны на каких-либо реальных явлениях или событиях, а генерируются с помощью компьютерной программы. Но почему синтетические данные становятся так важны для науки о данных? Как создаются синтетические данные? Давайте рассмотрим ответы на эти вопросы.
Что такое синтетический набор данных?
Как и следует из термина “синтетический”, синтетические наборы данных генерируются с помощью компьютерных программ, а не составляются путем документирования реальных событий. Основная цель синтетического набора данных – быть достаточно универсальным и прочным, чтобы быть полезным для обучения моделей машинного обучения.
Чтобы быть полезным для классификатора машинного обучения, синтетические данные должны иметь определенные свойства. Хотя данные могут быть категориальными, бинарными или числовыми, длина набора данных должна быть произвольной, а данные должны генерироваться случайным образом. Случайные процессы, используемые для генерации данных, должны быть контролируемыми и основаны на различных статистических распределениях. Случайный шум также может быть помещен в набор данных.
Если синтетические данные используются для алгоритма классификации, количество разделения классов должно быть настраиваемым, чтобы классификационная задача могла быть сделана проще или сложнее в зависимости от требований задачи. Тем временем, для задачи регрессии могут быть использованы нелинейные генеративные процессы для генерации данных.
Почему использовать синтетические данные?
Когда фреймворки машинного обучения, такие как TensorFlow и PyTorch, становятся проще в использовании, и предназначенные модели для компьютерного зрения и обработки естественного языка становятся более распространенными и мощными, основной проблемой, с которой сталкиваются специалисты по науке о данных, является сбор и обработка данных. Компаниям часто бывает трудно получить большое количество данных для обучения точной модели в течение определенного периода времени. Ручная маркировка данных – это дорогостоящий и медленный способ получения данных. Однако генерация и использование синтетических данных могут помочь специалистам по науке о данных и компаниям преодолеть эти препятствия и разработать надежные модели машинного обучения быстрее.
Существует ряд преимуществ использования синтетических данных. Самый очевидный способ, которым использование синтетических данных приносит пользу науке о данных, заключается в том, что оно снижает необходимость сбора данных из реальных событий, и по этой причине становится возможным генерировать данные и создавать набор данных намного быстрее, чем набор данных, зависящий от реальных событий. Это означает, что большое количество данных может быть произведено в короткий срок. Это особенно верно для событий, которые редко происходят, поскольку если событие редко происходит в дикой природе, можно создать больше данных из некоторых подлинных образцов данных. Помимо этого, данные могут быть автоматически помечены при их генерации, что значительно сокращает время, необходимое для маркировки данных.
Синтетические данные также могут быть полезны для получения тренировочных данных для граничных случаев, которые представляют собой случаи, которые могут происходить редко, но являются важными для успеха вашего ИИ. Граничные случаи – это события, которые очень похожи на основную цель ИИ, но отличаются важными способами. Например, объекты, которые только частично видны, могут быть рассмотрены как граничные случаи при проектировании классификатора изображений.
Наконец, синтетические наборы данных могут минимизировать проблемы с конфиденциальностью. Попытки анонимизировать данные могут быть неэффективными, поскольку даже если чувствительные/идентифицирующие переменные удаляются из набора данных, другие переменные могут действовать как идентификаторы, когда они объединяются. Это не является проблемой для синтетических данных, поскольку они никогда не основывались на реальном человеке или реальном событии.
Случаи использования синтетических данных
Синтетические данные имеют широкий спектр случаев использования, поскольку они могут быть применены практически к любой задаче машинного обучения. Общие случаи использования синтетических данных включают самоходные транспортные средства, безопасность, робототехнику, защиту от мошенничества и здравоохранение.
Одним из первых случаев использования синтетических данных были самоходные автомобили, поскольку синтетические данные используются для создания тренировочных данных для автомобилей в условиях, где получение реальных тренировочных данных на дороге является трудным или опасным. Синтетические данные также полезны для создания данных, используемых для обучения систем распознавания изображений, таких как системы видеонаблюдения, намного более эффективно, чем ручной сбор и маркировка большого количества тренировочных данных. Робототехнические системы могут быть медленными в обучении и разработке с помощью традиционных методов сбора и обучения данных. Синтетические данные позволяют робототехническим компаниям тестировать и разрабатывать робототехнические системы через симуляции. Системы защиты от мошенничества могут получить пользу от синтетических данных, и новые методы обнаружения мошенничества могут быть обучены и протестированы с помощью данных, которые постоянно новые, когда используются синтетические данные. В области здравоохранения синтетические данные могут быть использованы для проектирования классификаторов здоровья, которые точны, но при этом сохраняют конфиденциальность людей, поскольку данные не будут основаны на реальных людях.
Проблемы синтетических данных
Хотя использование синтетических данных приносит много преимуществ, оно также приносит много проблем.
Когда синтетические данные создаются, они часто лишены выбросов. Выбросы происходят в данных естественным образом, и хотя часто удаляются из тренировочных наборов данных, их существование может быть необходимо для обучения действительно надежных моделей машинного обучения. Помимо этого, качество синтетических данных может быть очень переменчивым. Синтетические данные часто генерируются с помощью входных или семенных данных, и поэтому качество данных может зависеть от качества входных данных. Если данные, используемые для генерации синтетических данных, предвзяты, сгенерированные данные могут увековечить этот предвзятость. Синтетические данные также требуют некоторой формы контроля качества. Они должны быть проверены против данных, помеченных человеком, или аутентичных данных в некоторой форме.
Как создаются синтетические данные?
Синтетические данные создаются программно с помощью методов машинного обучения. Классические методы машинного обучения, такие как деревья решений, могут быть использованы, а также методы глубокого обучения. Требования к синтетическим данным будут влиять на тип алгоритма, используемого для генерации данных. Деревья решений и подобные модели машинного обучения позволяют компаниям создавать неклассические, многомодальные распределения данных, обученные на примерах реальных данных. Генерация данных с помощью этих алгоритмов обеспечит данные, которые высоко коррелируют с исходными тренировочными данными. Для случаев, когда типичное распределение данных известно, компания может генерировать синтетические данные с помощью метода Монте-Карло.
Методы глубокого обучения для генерации синтетических данных обычно используют либо вариационный автоэнкодер (VAE), либо генеративную сеть противников (GAN). VAE – это модели машинного обучения без учителя, которые используют кодировщики и декодировщики. Кодировщик VAE отвечает за сжатие данных до более простой и компактной версии исходного набора данных, которую затем анализирует и использует декодировщик для генерации представления базовых данных. VAE обучается с целью достижения оптимальной связи между входными данными и выходными данными, где входные данные и выходные данные очень похожи.
Когда речь идет о моделях GAN, они называются “противостоящими” сетями из-за того, что GAN на самом деле являются двумя сетями, которые конкурируют друг с другом. Генератор отвечает за генерацию синтетических данных, а вторая сеть (дискриминатор) работает, сравнивая сгенерированные данные с реальным набором данных и пытаясь определить, какие данные являются фальшивыми. Когда дискриминатор обнаруживает фальшивые данные, генератор уведомляется об этом и делает изменения, чтобы попытаться получить новый набор данных, который обманет дискриминатор. В свою очередь, дискриминатор становится лучше и лучше в обнаружении фальшивых данных. Обе сети обучаются друг против друга, и фальшивые данные становятся более реалистичными со временем.












