Синтетические данные — это информация, которая генерируется искусственно, а не в результате реальных событий. Синтетические данные, обычно создаваемые с использованием алгоритмов, можно использовать для проверки математических моделей и обучения моделей машинного обучения. [1]
Данные, полученные с помощью компьютерного моделирования, можно рассматривать как синтетические данные. Это охватывает большинство приложений физического моделирования, таких как музыкальные синтезаторы или авиасимуляторы. Выходные данные таких систем приближаются к реальным, но полностью генерируются алгоритмически.
Синтетические данные используются в различных областях в качестве фильтра информации, которая в противном случае поставила бы под угрозу конфиденциальность определенных аспектов данных. Во многих конфиденциальных приложениях наборы данных теоретически существуют, но не могут быть опубликованы; [2] синтетические данные позволяют обойти проблемы конфиденциальности, возникающие в результате использования реальной потребительской информации без разрешения или компенсации.
Синтетические данные генерируются для удовлетворения конкретных потребностей или определенных условий, которые могут отсутствовать в исходных реальных данных. Это может быть полезно при проектировании любого типа системы, поскольку синтетические данные используются в качестве моделирования или в качестве теоретического значения, ситуации и т. д. Это позволяет нам учитывать неожиданные результаты и иметь базовое решение или средство правовой защиты, если результаты окажутся подтверждёнными. быть неудовлетворительным. Синтетические данные часто генерируются для представления подлинных данных и позволяют установить базовый уровень. [3] Еще одним преимуществом синтетических данных является защита приватности и конфиденциальности подлинных данных. Как указывалось ранее, синтетические данные используются при тестировании и создании множества различных типов систем; ниже приведена цитата из аннотации статьи, в которой описывается программное обеспечение, генерирующее синтетические данные для тестирования систем обнаружения мошенничества, что дополнительно объясняет его использование и важность. «Это позволяет нам создавать реалистичные профили поведения пользователей и злоумышленников. Данные используются для обучения самой системы обнаружения мошенничества , создавая тем самым необходимую адаптацию системы к конкретной среде». [3] В оборонном и военном контексте синтетические данные рассматриваются как потенциально ценный инструмент для разработки и совершенствования сложных систем искусственного интеллекта, особенно в условиях, когда высококачественных реальных данных недостаточно. [4]
Научное моделирование физических систем, которое позволяет запускать симуляции, в которых можно оценивать/вычислять/генерировать точки данных, которые не наблюдались в реальной реальности, имеет долгую историю, которая идет параллельно с историей самой физики . Например, исследования в области синтеза звука и голоса можно отнести к 1930-м годам и ранее, чему способствовали разработки, например, телефона и аудиозаписи. Начиная с 1970-х годов оцифровка привела к появлению программных синтезаторов .
В контексте статистического анализа, сохраняющего конфиденциальность, в 1993 году Рубин выдвинул идею оригинальных полностью синтетических данных . [5] Первоначально Рубин разработал это для синтеза ответов в развернутой форме Десятилетней переписи населения для домохозяйств в краткой форме. Затем он опубликовал образцы, которые не включали каких-либо реальных длинных записей - при этом он сохранил анонимность семьи. [6] Позже в том же году Литтл выдвинул идею оригинальных частично синтетических данных. Литтл использовал эту идею для синтеза конфиденциальных значений в файле общего пользования. [7]
В 1994 году Файнбергу пришла в голову идея критического уточнения, в которой он использовал параметрическое апостериорное прогнозирующее распределение (вместо байесовского бутстрепа) для выполнения выборки. [6] Позже другими важными участниками развития генерации синтетических данных были Тривеллор Рагунатан, Джерри Рейтер, Дональд Рубин , Джон М. Абоуд и Джим Вудкок . Совместно они придумали решение, как обрабатывать частично синтетические данные с отсутствующими данными. Аналогичным образом они придумали технику последовательной регрессии многомерного вменения . [6]
Исследователи тестируют систему на синтетических данных, которые являются «единственным источником достоверной информации, на основе которой они могут объективно оценить производительность своих алгоритмов ». [8]
Синтетические данные можно генерировать с помощью случайных линий, имеющих разную ориентацию и начальные положения. [9] Наборы данных могут быть довольно сложными. Более сложный набор данных можно создать с помощью сборки синтезатора. Чтобы создать сборку синтезатора, сначала используйте исходные данные, чтобы создать модель или уравнение, которое лучше всего соответствует данным. Эта модель или уравнение будет называться сборкой синтезатора. Эту сборку можно использовать для генерации большего количества данных. [10]
Построение сборки синтезатора включает в себя построение статистической модели . В примере с линией линейной регрессии можно нанести на график исходные данные и на основе данных создать наиболее подходящую линейную линию . Эта линия представляет собой синтезатор, созданный на основе исходных данных. Следующим шагом будет создание большего количества синтетических данных из сборки синтезатора или из этого линейного линейного уравнения. Таким образом, новые данные можно использовать для исследований и исследований, обеспечивая при этом конфиденциальность исходных данных. [10]
Дэвид Дженсен из Лаборатории обнаружения знаний объясняет, как генерировать синтетические данные: «Исследователям часто приходится изучать влияние определенных характеристик данных на их модель данных ». [10] Чтобы помочь построить наборы данных, демонстрирующие определенные свойства, такие как автокорреляция или несоответствие степеней, близость может генерировать синтетические данные, имеющие один из нескольких типов структуры графа: случайные графы , которые генерируются каким-либо случайным процессом ; решетчатые графы , имеющие кольцевую структуру; решетчатые графы , имеющие сеточную структуру и т. д. [10] Во всех случаях процесс генерации данных следует одному и тому же процессу:
Поскольку значения атрибутов одного объекта могут зависеть от значений атрибутов связанных объектов, процесс генерации атрибутов присваивает значения коллективно. [10]
Тестирование и обучение систем обнаружения мошенничества и конфиденциальности разрабатываются с использованием синтетических данных. Специальные алгоритмы и генераторы предназначены для создания реалистичных данных [11] , которые затем помогают научить систему реагировать на определенные ситуации или критерии. Например, программное обеспечение для обнаружения вторжений тестируется с использованием синтетических данных. Эти данные представляют собой подлинные данные и могут включать случаи вторжений, которых нет в подлинных данных. Синтетические данные позволяют программному обеспечению распознавать такие ситуации и реагировать соответствующим образом. Если бы синтетические данные не использовались, программное обеспечение было бы обучено реагировать только на ситуации, предоставляемые аутентичными данными, и оно может не распознавать другой тип вторжения. [3]
Исследователи, проводящие клинические испытания или любые другие исследования, могут генерировать синтетические данные, которые помогут создать основу для будущих исследований и испытаний.
Реальные данные могут содержать информацию, которую исследователи, возможно, не захотят раскрывать, [12] поэтому синтетические данные иногда используются для защиты приватности и конфиденциальности набора данных. Использование синтетических данных снижает проблемы конфиденциальности и конфиденциальности, поскольку они не содержат личной информации и не могут быть отслежены каким-либо человеком.
Синтетические данные все чаще используются для приложений машинного обучения : модель обучается на синтетически сгенерированном наборе данных с целью переноса обучения на реальные данные. Были предприняты усилия, позволяющие проводить больше экспериментов в области науки о данных за счет создания генераторов синтетических данных общего назначения, таких как Synthetic Data Vault. [13] В целом синтетические данные имеют несколько естественных преимуществ:
Такое использование синтетических данных было предложено для приложений компьютерного зрения, в частности для обнаружения объектов , где синтетическая среда представляет собой 3D-модель объекта [14] и обучения навигации по окружающей среде с помощью визуальной информации.
В то же время трансферное обучение остается нетривиальной проблемой, а синтетические данные пока не стали повсеместными. Результаты исследований показывают, что добавление небольшого количества реальных данных значительно улучшает перенос обучения с использованием синтетических данных. Достижения в области генеративно-состязательных сетей (GAN) приводят к естественной идее о том, что можно создавать данные, а затем использовать их для обучения. По крайней мере, с 2016 года такое состязательное обучение успешно используется для получения синтетических данных достаточного качества для получения самых современных результатов в некоторых областях, даже без необходимости повторно смешивать реальные данные с сгенерированными синтетическими данными. [15]
В 1987 году автономный автомобиль Navlab использовал 1200 синтетических изображений дорог в качестве одного из подходов к обучению. [16]
В 2021 году Microsoft выпустила базу данных из 100 000 синтетических лиц, основанную на (500 реальных лицах), которая, как утверждается, «по точности соответствует реальным данным». [16] [17]