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

Преимущества синтетических данных
Хотя собранные данные доступны в большом количестве, синтетические данные имеют некоторые преимущества [1].
- Расходы
- Готовые аннотации
- Полный контроль
- Возможность активно бороться с различными предубеждениями или проблемами конфиденциальности
Особенно огромным преимуществом является возможность создания автоматических аннотаций к изображениям. Известный набор данных ImageNet [2] состоит из более чем 14 миллионов изображений, промаркированных вручную людьми. Усилия по созданию таких наборов данных могут быть значительно уменьшены благодаря возможности создания фотореалистичных синтетических наборов данных.
Kubric: генератор масштабируемых наборов данных [1]
Исследователи из разных институтов, в том числе Google, Университета Торонто, Массачусетского технологического института и т. д., объединились для создания Kubric — фреймворка, помогающего создавать синтетические фотореалистичные данные изображений.
Kubric — это среда Python с открытым исходным кодом, использующая Blender для создания и рендеринга фотореалистичных изображений. Его можно использовать распределенным образом, и он предоставляет подробные аннотации достоверности для каждого сгенерированного изображения.
При использовании Kubric для создания новых наборов данных обычно начинают с создания Worker, который создает, моделирует и визуализирует сцену. Затем этот рабочий процесс можно запускать несколько раз, чтобы создать целый набор данных.
Работнику нужен элемент сцены, содержащий глобальную информацию, такую как камера или другие активы. Добавление таких активов приводит к их созданию в разных представлениях, в простом случае обычно это симулятор PyBullet и средство визуализации Blender.
Blender имеет возможность создавать необходимые аннотации. Он поддерживает, например, карты глубины или сегментацию экземпляров. Другие данные, такие как ограничивающие рамки или параметры камеры, также возвращаются Кубриком.
Оригинальный репозиторий можно найти здесь.
Система генерации синтетических данных для приложений здравоохранения [3]
В статье основное внимание уделяется сенсорным данным для алгоритмов машинного обучения в области здравоохранения. Прежде всего, наличие хорошо обобщающих моделей особенно важно в приложениях для здравоохранения.
Следовательно, требуется множество различных наборов данных, чтобы иметь возможность тщательно оценить производительность алгоритма. Авторы использовали скрытые марковские модели (HMM) для получения новых данных.
Задача здесь состояла в том, чтобы надежно смоделировать данные от датчиков умного дома. Сенсорные данные имеют уникальные артефакты, такие как пространственно-временные отношения. Таким образом, набор данных содержит информацию о времени, активности и сенсорных данных, которые организованы иерархически.
Учитывая иерархическую организацию, авторы решили разделить процесс генерации данных на три разных этапа.
- Создайте реалистичную последовательность действий
- Создайте реалистичную последовательность сенсорных данных в рамках действия
- Создайте реалистичную серию временных меток
Общий процесс генерации данных выглядит следующим образом. Авторы обучили HMM генерировать серию действий. Более того, для каждого действия сенсорные данные генерируются путем обучения другого HMM. Наконец, регрессионная модель обучается создавать реалистичные временные метки для каждого сенсорного события с учетом продолжительности соответствующей активности.
Серии действий генерируются с помощью упрощенной вероятностной модели. Скрытая марковская модель основана на 12 состояниях, которые были эмпирически получены из эмпирических данных.
Ключевой проблемой здесь была метка «Другая деятельность», используемая для всех неизвестных действий в наборе данных. Обычно только около 50 % сенсорных данных относятся к «известным» действиям, а остальные 50 % относятся к «другим действиям». К сожалению, это приводит к тому, что HMM очень часто использует «Другую активность», а также, по мнению авторов, неинтуитивно.
Авторы попытались решить эту проблему, разбив категорию на несколько более мелких кластеров, используя кластеризацию K-средних. Метки кластера снова меняются на «Другие действия» после создания набора данных.
Генерация серии сенсорных данных была выполнена с использованием разных HMM для каждого типа активности. Кроме того, распределение длин действий используется для выборки числа, представляющего количество точек сенсорных данных, которые должны быть сгенерированы для каждого действия.
Наконец, для создания временных меток авторы обучили гребневую регрессию для определения продолжительности каждого действия. Кроме того, несколько моделей ридж-регрессии были обучены для определения пробелов между различными точками сенсорных данных для каждого вида деятельности.
Оригинальный репозиторий можно найти здесь
[1] Грефф и др. Kubric: Генератор масштабируемых наборов данных. ArXiv, абс/2203.03570. 2022.
[2] Денг и др. ImageNet: крупномасштабная иерархическая база данных изображений. CVPR 2009 — Конференция IEEE по компьютерному зрению и распознаванию образов, 2009 г., стр. 248–255. 2009.
[3] Дамен и др. Система генерации синтетических данных для приложений здравоохранения. Sensors 2019, 19, 1181. 2019.