Синтетические наборы данных

Материал из Викиконспекты
Перейти к: навигация, поиск

Синтетические данные — это «производные» данные, применимые в конкретной ситуации, которые не были получены путём прямого сбора и измерений[1]. В то же время, «производные данные» (согласно второму словарю) -- это постоянно-хранимая информация, которую используют специалисты в своей повседневной работе.

Виды генерации

Существует два основных подхода к генерации синтетических наборов данных.

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

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



Применение

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

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

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

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


Достоинства

  • Возможность генерации датасетов практически любого размера;
  • Известность параметров генерации, а значит, и генеральной совокупности -- можно судить о качестве выборочных оценок модели на параметры распределений, путём сравнения их с истинными параметрами;
  • Ускорение и удешевление процесса разработки -- не нужно ждать, пока будет собран и/или размечен достаточный объём реальных данных;
  • Повышение доступности больших объёмов данных.


Недостатки

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

Примеры

Тут какие наборы бывают.

  • (Этот пример надо как-то связать с параграфом про применение) Пример генератора изображений с искажениями для использования при обучении алгоритма восстановления: https://gardarandri.github.io/TextSharpener/


TODO:

  • Одежда (??)
  • Текст (ну не, не книжки из бреда, сгенерированного Марковскими цепями, а например картинки, в которых текст как-то хитро расположен: https://www.robots.ox.ac.uk/~vgg/data/scenetext/)


Примечания

  1. McGraw - Hill dictionary of scientific and technical terms / Под ред. Sybil P. Parker. - 3-е изд. - New York: McGraw - Hill book co., 1984