заглушки Что такое синтетические данные? - Unite.ИИ
Свяжитесь с нами:

AI 101

Что такое синтетические данные?

mm
обновленный on

Что такое синтетические данные?

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

Что такое синтетический набор данных?

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

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

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

Зачем использовать синтетические данные?

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

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

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

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

Варианты использования синтетических данных

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

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

Проблемы с синтетическими данными

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

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

Как создаются синтетические данные?

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

Основанные на глубоком обучении методы создания синтетических данных обычно используют либо вариационный автоэнкодер (VAE) or генеративно-состязательная сеть (GAN). VAE — это неконтролируемые модели машинного обучения, в которых используются кодировщики и декодеры. Часть кодировщика VAE отвечает за сжатие данных в более простую компактную версию исходного набора данных, которую декодер затем анализирует и использует для создания представления базовых данных. VAE обучается с целью получения оптимального соотношения между входными и выходными данными, при котором как входные данные, так и выходные данные чрезвычайно похожи.

Когда дело доходит до моделей GAN, их называют «состязательными» сетями из-за того, что GAN на самом деле представляют собой две сети, которые конкурируют друг с другом. Генератор отвечает за создание синтетических данных, в то время как вторая сеть (дискриминатор) работает, сравнивая сгенерированные данные с реальным набором данных и пытаясь определить, какие данные являются поддельными. Когда дискриминатор ловит поддельные данные, генератор уведомляется об этом и вносит изменения, чтобы попытаться получить новый пакет данных дискриминатором. В свою очередь, дискриминатор становится все лучше и лучше в обнаружении подделок. Две сети натренированы друг против друга, и подделки с каждым разом становятся все более реалистичными.