Отправьте статью сегодня! Журнал выйдет 2 августа, печатный экземпляр отправим 6 августа
Опубликовать статью

Молодой учёный

Исследование методов генерации синтетических данных для обучения моделей машинного обучения

Научный руководитель
Информационные технологии
29.05.2025
33
Поделиться
Библиографическое описание
Павлов, В. В. Исследование методов генерации синтетических данных для обучения моделей машинного обучения / В. В. Павлов. — Текст : непосредственный // Молодой ученый. — 2025. — № 22 (573). — С. 39-43. — URL: https://moluch.ru/archive/573/126024/.


В статье проводиться анализ методов создания синтетических обучающих выборок с помощью готовых библиотек языка программирования Python и разработанных генеративных моделей. Помимо этого исследование направлено на изучение различных способов организации данных для обучения моделей на примере FaceNet.

Ключевые слова: машинное и глубокое обучение, генеративно-состязательные сети, GAN, Self-Attention GAN, вариационные автоэнкодеры, VAE, FFHQ, синтетические обучающие выборки, синтетические данные, реальные данные.

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

Синтетические данные — искусственные наборы данных, имитирующие свойства реальных объектов. Синтетические данные можно условно разбить на две группы: структурированные (таблицы, базы данных) и неструктурированные (текст, числа, видеофрагменты, аудио, изображения). Для получения таких данных разработано множество методов генерации: генеративные модели, математические модели и методы рандомизации (генераторы псевдослучайных чисел).

Для языка программирования Python есть специальные библиотеки, позволяющие создавать синтетические данные. К ним можно отнести Faker, Scikit-learn, Synthetic Data Vault и другие. Например, Faker предоставляет возможность создавать данные, которые содержат персональную информацию, такую как: дата рождения, ФИО, электронный адрес, адрес места жительства, сотовый номер и т. п. Перед их генерацией нужно указать локального поставщика для конкретного языка и региона. Пример использования библиотеки представлен на рис. 1.

Генерация персональных данных

Рис. 1. Генерация персональных данных

Другой немаловажной библиотекой является Scikit-learn, которая предлагает функции по формированию синтетических обучающих выборок с целью решения задач классификации (make_classification), регрессии (make_regression) и кластеризации (make_blobs). На рис. 2 проиллюстрирован процесс обучения и построения линейной регрессии.

Генерация данных для линейной регрессии

Рис. 2. Генерация данных для линейной регрессии

Библиотека Synthetic Data Vault учитывает статистические свойства реальных данных с помощью статистических моделей (например, Гауссова копула). На рис. 3 показан пример подготовки синтетической обучающей выборки.

Подготовка выборки

Рис. 3. Подготовка выборки

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

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

За последнее десятилетие было предложено множество генеративных моделей: генеративно-состязательные сети, вариационные автоэнкодеры, диффузионные модели.

Вариационные автоэнкодеры представляют собой класс моделей неконтролируемого обучения, в состав которых входят два основных компонента: кодировщик и декодировщик. Кодировщик преобразует многомерное пространство в дисперсию и стандартное среднее нормального распределения [5, с. 2]. Затем эти параметры используются для сэмплирования в вектор скрытого пространства. Декодировщик выполняет обратную автокодировщику операцию. Он пытается наиболее точно восстановить многомерное пространство из вектора скрытого пространства. Таким образом, основная цель VAE — нахождение оптимального распределения для получения вектора скрытого пространства, с помощью которого можно наиболее точно восстановить синтетическое изображение. Для обучения модели необходимо оптимизировать общую функцию потерь, которая состоит из потерь реконструкции и дивергенции Кульбака-Лейблера.

Основным недостатком таких сетей является создание размытых изображений, которые представлены на рис. 4.

Сгенерированные образцы моделью VAE

Рис. 4. Сгенерированные образцы моделью VAE

Генеративно-состязательные сети составляют класс моделей, обучение которых заключается в состязательной игре двух игроков [1, с. 213]. Первый игрок старается обмануть второго игрока, создавая поддельные данные, а второй игрок определяет, какие данные к нему поступили. Итогом данной игры является нахождение равновесия Нэша.

В качестве первого игрока в этой игре выступает генератор , который принимает вектор случайного шума , полученный из стандартного нормального распределения, а затем преобразует его в многомерное пространство. Второй игрок — дискриминатор , составляющий прогноз по меткам класса. Он возвращает вероятность принадлежности указанного изображения к данным из реального распределения. В соответствии с формулой, приведённой в статье [2, с. 3], и играют в минимаксную игру. Генератор должен минимизировать вероятность того, что дискриминатор отнесёт его данные к поддельной выборке . В то время как дискриминатор максимизирует вероятность правильной классификации .

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

В нашей работе для создания синтетических изображений используется генеративно-состязательная сеть с механизмом самовнимания — Self-Attention GAN [6]. На вход в блок внимания поступает карта признаков, она преобразуется в три пространства признаков f, g, h, из них для f и g выполняется матричное произведение, затем рассчитывается выходная карта внимания. Теперь выполняется матричное произведение для выходной карты внимания и пространства признаков h. При этом , , и , ядро свёртки имеет размер . Для эффективности авторы предлагают использовать [6, с. 3]. Блоки внимания встраиваются после свёрточных слоёв с глубиной выходных карт, равной 128 и 64. Для расчёта и распространения ошибки используется hinge loss. Для обучения модели применяется правило обновления сетей с двумя временными масштабами (TTUR) [3].

В результате обучения состязательной сети, на 170 эпохе были получены сгенерированные образцы, представленные на рис. 5.

Сгенерированные образцы моделью SAGAN

Рис. 5. Сгенерированные образцы моделью SAGAN

Дальше мы обучили модель FaceNet [4] на датасете, содержащем смешанный набор данных (реальные и сгенерированные), размер реальной выборки составил 17334 лица, а сгенерированные образцы использовались для расширения датасета и составили 15 % от размера реальной выборки. При этом точность на тренировочной выборке равна примерно 0.88671, ошибка — 0.04740. График изменения точности можно наглядно увидеть на рис. 6.

График изменения точности

Рис. 6. График изменения точности

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

В таблице 1 представлены результаты расчётов показателей метрик для обученных моделей FaceNet с помощью разных способов организации обучающей выборки.

Таблица 1

Оценка моделей, обученных на разных способах разбиения данных

Способ разбиения\Метрика

Precision

Recall

F1-мера

Accuracy

Specifity

Loss

с синтетическими данными

≈0.8684

≈0.8684

≈0.8684

≈0.8684

≈0.8684

≈0.0765

только с реальными данными

≈0.6298

≈0.6298

≈0.6298

≈0.6298

≈0.6298

≈0.1773

с аугментированными данными

≈0.5469

≈0.5469

≈0.5469

≈0.5469

≈0.5469

≈0.1209

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

Литература:

  1. Durall, R. Combating Mode Collapse in GAN training: An Empirical Analysis using Hessian Eigenvalues / R. Durall. — Текст: электронный // arXiv: [сайт]. — URL: https://arxiv.org/pdf/2012.09673 (дата обращения: 27.05.2025).
  2. Goodfellow, I. Generative Adversarial Networks / I. Goodfellow. — Текст: электронный // arXiv: [сайт]. — URL: https://arxiv.org/pdf/1406.2661 (дата обращения: 27.05.2025).
  3. Heusel, M. GANs Trained by a Two Time-Scale Update Rule Converge to a Local Nash Equilibrium / M. Heusel. — Текст: электронный // arXiv: [сайт]. — URL: https://arxiv.org/pdf/1706.08500 (дата обращения: 27.05.2025).
  4. Schroff, F. FaceNet: A Unified Embedding for Face Recognition and Clustering / F. Schroff. — Текст: электронный // arXiv: [сайт]. — URL: https://arxiv.org/pdf/1503.03832 (дата обращения: 27.05.2025).
  5. Vivekananthan, S. Comparative analysis of generative models: enhancing image synthesis with vaes, gans, and stable diffusion / S. Vivekananthan. — Текст: электронный // arXiv: [сайт]. — URL: https://arxiv.org/pdf/2408.08751 (дата обращения: 27.05.2025).
  6. Zhang, H. Self-Attention Generative Adversarial Networks / H. Zhang. — Текст: электронный // arXiv: [сайт]. — URL: https://arxiv.org/pdf/1805.08318 (дата обращения: 27.05.2025).
Можно быстро и просто опубликовать свою научную статью в журнале «Молодой Ученый». Сразу предоставляем препринт и справку о публикации.
Опубликовать статью
Ключевые слова
машинное и глубокое обучение
генеративно-состязательные сети
GAN
Self-Attention GAN
вариационные автоэнкодеры
VAE
FFHQ
синтетические обучающие выборки
синтетические данные
реальные данные
Молодой учёный №22 (573) май 2025 г.
Скачать часть журнала с этой статьей(стр. 39-43):
Часть 1 (стр. 1-71)
Расположение в файле:
стр. 1стр. 39-43стр. 71

Молодой учёный