← Назад

УДК 004.85

ИССЛЕДОВАНИЕ АРХИТЕКТУРЫ И ОБУЧЕНИЯ ТИПОВОЙ GAN-МОДЕЛИ НА ПРИМЕРЕ ДАТАСЕТА MNIST

Исследование архитектуры и обучение типовой GAN-модели на примере датасета MNIST / Е.В. Кубасов, О.И. Федяев // СОВРЕМЕННЫЕ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В ОБРАЗОВАНИИ И НАУЧНЫХ ИССЛЕДОВАНИЯХ (СИТОНИ-2025) : Материалы IX Всероссийской научно-технической конференции с международным участием, Донецк, 20 ноября 2025 года. – Донецк: Донецкий национальный технический университет, 2025. – (В печати).

ФГБОУ ВО «Донецкий национальный технический университет» (г. Донецк)
Кафедра программной инженерии им. Л.П. Фельдмана
e-mail: kubasov_jeny@mail.ru, olegfedyayev@mail.ru

Кубасов Е.В., Федяев О.И. Исследование архитектуры и обучения типовой GAN-модели на примере датасета MNIST. Работа посвящена исследованию архитектуры и процесса обучения генеративно состязательной сети (GAN). Рассматривается взаимодействие генератора и дискриминатора, особенности функций активации и процесс обучения на примере датасета MNIST. Проведён анализ качества синтезируемых изображений и динамики обучения.

Ключевые слова: GAN, генератор, дискриминатор, обучение нейронных сетей, MNIST, PyTorch.

Введение

Генеративные нейронные сети применяются для создания данных, близких к реальным. Одним из наиболее известных подходов является генеративно состязательная сеть (GAN), предложенная И. Гудфеллоу в 2014 году [1]. GAN применяются для генерации изображений, восстановления данных, синтеза медицинских снимков и некоторых задач в области искусства. В зарубежных исследованиях отмечается высокая эффективность GAN в обучении моделей без учителя и создании синтетических данных [2]. В отечественных публикациях также рассматриваются возможности применения GAN для синтеза данных и повышения устойчивости нейронных сетей [3].

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

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

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

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

Архитектура GAN

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

Архитектура GAN (генератор и дискриминатор)
Рис. 1 — Архитектура GAN (генератор и дискриминатор)

Генератор выполняет роль модели, которая из случайного входного вектора формирует изображение, максимально похожее на реальные данные. На вход он получает набор чисел, распределённых случайным образом, и постепенно преобразует их через последовательность слоёв. Каждый слой увеличивает размерность и добавляет новые признаки, а функции активации позволяют создавать сложные нелинейные зависимости. В процессе обучения генератор учится подстраиваться так, чтобы его выходные изображения было трудно отличить от настоящих. Завершающий слой использует функцию активации Tanh, которая нормализует значения пикселей и формирует итоговое изображение. Таким образом, генератор из случайного шума создаёт картину, стремясь сделать её настолько реалистичной, чтобы дискриминатор не смог распознать подделку.

Дискриминатор в архитектуре GAN выполняет роль «критика», который оценивает изображения и принимает решение, являются ли они реальными или сгенерированными. На вход он получает либо изображение из обучающего набора, либо результат работы генератора. Первым шагом данные преобразуются в удобный для обработки формат: двумерное изображение разворачивается в одномерный вектор признаков. Далее информация проходит через несколько полносвязных слоёв, где применяются функции активации LeakyReLU. Такая активация позволяет избежать затухания градиента и обеспечивает более стабильное обучение, особенно при работе с глубокими сетями. Для повышения устойчивости модели и снижения риска переобучения используется слой Dropout, который случайным образом отключает часть нейронов во время обучения. Завершающий слой дискриминатора применяет функцию активации Sigmoid, формируя выходное значение в диапазоне от 0 до 1. Это значение интерпретируется как вероятность того, что изображение является настоящим. Таким образом, дискриминатор выступает в роли «эксперта», который стремится отличить реальные данные от синтетических, постоянно адаптируясь к улучшениям генератора.

На рисунке 1 представлена подробная схема архитектуры GAN, включающая генератор и дискриминатор, а также их основные слои и функции активации. Генератор преобразует случайный вектор в изображение, которое затем поступает на вход дискриминатору. Дискриминатор анализирует изображение и выдаёт вероятность его принадлежности к классу «реальное».

Обучение GAN

Как отмечено во введении, одной из ключевых проблем GAN является устойчивость обучения. Для проверки рассмотрим простую модель на датасете MNIST.

Обучение начинается с подготовки данных: изображения 28x28 нормализуются в диапазон [-1;1] для корректной работы функции Tanh. Генератор получает случайный вектор и формирует изображение, дискриминатор оценивает его наряду с реальными данными. Таким образом, обучение представляет собой противостояние двух сетей, каждая из которых адаптируется к улучшениям другой.

Для оптимизации используется алгоритм Adam и функция потерь BCELoss. Дискриминатор обучается на реальных изображениях с меткой «1» и синтетических с меткой «0», а генератор стремится добиться классификации своих изображений как «реальных». Для повышения устойчивости применяется сглаживание меток [4].

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

Схема процесса обучения GAN
Рис. 2 — Схема процесса обучения GAN

На рисунке 2 представлена упрощённая схема цикла обучения GAN. Генератор преобразует случайный вектор в изображение, которое поступает на вход дискриминатору. Дискриминатор анализирует как реальные, так и синтетические изображения и формирует оценку их подлинности. Ошибки классификации используются для обновления параметров обеих сетей, что обеспечивает постепенное улучшение их работы.

Исследование на MNIST

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

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

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

График изменения функции потерь генератора и дискриминатора по эпохам
Рис. 3 — График изменения функции потерь генератора и дискриминатора по эпохам

Кроме того, были сохранены промежуточные результаты генерации изображений на разных этапах обучения (рисунок 4). На первых этапах (10-я эпоха) изображения были размытыми. К финальной 149 й эпохе генератор формировал изображения практически неотличимые от реальных образов рукописных цифр.

Сгенерированные GAN изображения на двух этапах обучения (эпохи 10 и 149)
Рис. 4 — Сгенерированные GAN изображения на двух этапах обучения (эпохи 10 и 149)

Таким образом, эксперименты показали, что даже простая архитектура GAN способна успешно обучаться на датасете MNIST и формировать изображения, близкие к реальным. Сравнение промежуточных результатов демонстрирует постепенное улучшение качества генерации и подтверждает эффективность выбранного подхода.

Заключение

В данной работе проведено исследование архитектуры и процесса обучения простой генеративно состязательной сети (GAN) на примере датасета MNIST. Рассмотрены основные компоненты модели  генератор и дискриминатор, их структура и функции активации. Показано, что обучение GAN представляет собой динамическое противостояние двух нейросетей, каждая из которых совершенствует свои результаты за счёт взаимодействия с другой.

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

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

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

Литература

1. Goodfellow, I. Generative Adversarial Nets / I. Goodfellow, J. Pouget Abadie, M. Mirza, B. Xu, D. Warde Farley, S. Ozair, A. Courville, Y. Bengio // Advances in Neural Information Processing Systems. – 2014. – Vol. 27. – P. 2672–2680.

2. Radford, A. Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks [Электронный ресурс] / A. Radford, L. Metz, S. Chintala. – Режим доступа: https://arxiv.org/abs/1511.06434 (дата обращения: 09.11.2025).

3. Ильинская, Е. В. Применение генеративно состязательных нейросетей для генерации изображений / Е.В. Ильинская, Е.Н. Голышева, А.А. Медведев, Н.С. Масалитин // Научный результат. Информационные технологии. – 2024. – Т. 9, № 1. – DOI: 10.18413/2518-1092-2024-9-1-0-8. – Режим доступа: https://cyberleninka.ru/article/n/primenenie-generativno-sostyazatelnyh-neyrosetey-dlya-generatsii-izobrazheniy (дата обращения: 09.11.2025).

4. Salimans, T. Improved Techniques for Training GANs / T. Salimans, I. Goodfellow, W. Zaremba, V. Cheung, A. Radford, X. Chen // Advances in Neural Information Processing Systems. – 2016. – Vol. 29. – P. 2234–2242.

Кубасов Е.В., Федяев О.И. Исследование архитектуры и обучения типовой GAN-модели на примере датасета MNIST. Работа посвящена анализу архитектуры и процесса обучения генеративно состязательной сети (GAN). Рассматривается взаимодействие генератора и дискриминатора, особенности функций активации и процесс обучения на примере датасета MNIST. Проведён анализ качества синтезируемых изображений и динамики обучения.

Ключевые слова: GAN, генератор, дискриминатор, обучение нейронных сетей, MNIST, PyTorch.

Kubasov E.V., Fedyaev O.I. Investigation of the architecture and training of a typical GAN model on the MNIST dataset. The study is devoted to the analysis of the architecture and training process of a Generative Adversarial Network (GAN). The interaction between the generator and discriminator, the characteristics of activation functions, and the training procedure are examined using the MNIST dataset. An analysis of the quality of the synthesized images and the dynamics of the training process is presented.

Keywords: GAN, generator, discriminator, neural network training, MNIST, PyTorch.