Генеративные состязательные сети (GAN) были популярной областью исследований с различными открытиями с момента их предложения в 2014 году благодаря впечатляющим возможностям генерации данных. Появившись в различных областях, таких как компьютерное зрение, искусство и медицина, они успешно преодолели многие проблемы, которые было невозможно решить до их предложения. Было предложено множество вариантов для решения ограничений, возникающих при практическом использовании GAN. Кроме того, доказано, что GAN применимы во многих областях машинного обучения. Однако все еще существуют некоторые проблемы, которые ограничивают рост GAN в других областях. В данном обзоре представлено введение в GAN вместе с его основной концепцией и целевой функцией. Во-вторых, обсуждаются наиболее распространенные варианты GAN, а также их сильные и слабые стороны. В-третьих, рассматриваются несколько областей и приложений, в которых GAN преуспели. Далее обсуждаются сильные и слабые стороны модели. Наконец, обзорная статья завершается обсуждением будущей работы.
Ключевые слова—Глубокое обучение, Генеративные состязательные сети, Генеративная модель, Компьютерное зрение, Искусственный интеллект
Когда речь идет о компьютерном зрении, генеративные модели (GM), будучи быстрорастущей областью исследований в его рамках, смогли найти инновационные решения многих его проблем. Каждая базовая GM состоит из модели обучения без учителя, которая генерирует новые выборки неизвестных данных ~pmodel(x) из распределения входных данных обучения ~pdata(x). Использование GM помогает генерировать и обрабатывать недоступные данные более реалистично. Обеспечивая интерференцию латентных представлений при решении проблемы оценки плотности в контексте обучения без учителя [1]. Следовательно, GM можно считать важной концепцией в рамках современного искусственного интеллекта (ИИ).
Будучи типом GM, генеративные состязательные сети (GAN) состоят из двух нейронных сетей, которые пытаются перехитрить друг друга. Отсюда и название "состязательные". Две сети можно обозначить как Генератор (G) и Дискриминатор (D), как показано на Рисунке 1. Задача Генератора — уловить распределение истинных выборок данных для генерации новых синтетических данных. Задача Дискриминатора — точно отличать сгенерированные выборки, созданные Генератором, от истинных выборок, обычно с помощью бинарного классификатора. Затем Генератор пытается максимизировать вероятность ошибки Дискриминатора, запутывая валидность выхода. Это достигается путем доведения выходного значения ближе к 0.5 с использованием обратного распространения ошибки и дропаута (для предотвращения переобучения) в обеих сетях. Качество выхода улучшается вместе с улучшением двух игроков: Генератора и Дискриминатора. Из-за этого рационального процесса принятия решений считается, что GAN также имеют корни в концепции теории игр [2]. Наконец, когда Дискриминатор достигает точки, когда он больше не может точно идентифицировать и различать источник данных, считается, что процесс обучения сошелся, достигая равновесия Нэша [3], и Генератор остается для дальнейших синтетических генераций данных.
По сравнению с другими генеративными моделями, благодаря изобретению GAN были достигнуты впечатляющие улучшения. Генерация изображений более высокого качества по сравнению с другими генеративными моделями, меньшее время выполнения для достижения цели по сравнению с такими моделями, как PixelRNN [4], преодоление проблемы смещения, вызываемой вариационными автоэнкодерами (VAE), относятся к этому.
Впервые представленные Яном Гудфеллоу и др. [5] в 2014 году на основе контрастной оценки шума и функции потерь, GAN стали популярными в 2017 году с интересом к улучшению изображений человеческих лиц с лучшей иллюстрацией при высоких интенсивностях [6]. Однако эта базовая модель не могла хорошо работать в случае более сложных изображений из-за проблемы малой вероятности перекрытия обоих распределений (реальные данные и поддельные данные). Эта проблема, определяемая как "дивергенция Йенсена-Шеннона", была одной из причин наличия у GAN разнообразного набора вариантов.
С тех пор GAN были immensely полезны в различных областях, включая манипуляцию языком [7], преобразование изображения в текст, преобразование текста в изображение, синтез (улучшение)/манипуляция изображением [8], перенос стиля, [9] генерация позы человека [10], обнаружение объектов [11], преобразование 2D-3D изображения, медицинские приложения [12] и генерация музыки и т.д. Однако из-за непредсказуемой природы отдельных сетей стабильность точных выходов было трудно достичь. Основная причина нестабильности заключалась в первичной структуре сети, которая требует от Генератора и Дискриминатора оптимизации с помощью либо попеременного, либо одновременного градиентного спуска. Кроме того, проблемы, такие как проблема исчезающего градиента,
коллапс мод, отсутствие сходимости и отсутствие универсальных метрик для оценки,似乎 усугубляют это.
Данная обзорная статья анализирует и обобщает концепцию GAN, включая ее определение, варианты и приложения в современном мире. Структура статьи следующая. Раздел II далее объясняет GAN, подчеркивая ее базовую теорию. Раздел III рассматривает несколько производных моделей GAN с кратким сравнением между ними. Приложения и применимость GAN в различных аспектах мира рассматриваются в разделе IV. Раздел V излагает сильные и слабые стороны GAN. Наконец, статья завершается разделом VI, в котором излагаются выводы вместе с будущими предложениями.
В этом разделе обсуждается целевая функция, которую должны достичь GAN. Поскольку сеть включает две подсети, которые играют, чтобы перехитрить друг друга, базовая целевая функция GAN включает две подфункции. Математическое представление функции оптимизации, которую Генератор пытается минимизировать, а Дискриминатор пытается максимизировать, упоминается в (1).
Уравнение (1) показывает функцию потерь обеих сетей, объединенных вместе. x обозначает выборку, полученную из распределения реального набора данных pdata(x); z обозначает выборки, полученные из случайного распределения данных/шума pz(z). И pdata(x), и pz(z) могут быть либо гауссовским, либо равномерным распределением. E[x] обозначает ожидаемые значения любой случайной величины x. Любые две дифференцируемые функции могут быть использованы как G() и D(). Следовательно, обе сети могут быть реализованы с использованием глубокой нейронной сети (DNN). При инициализации процесса обучения каждая точка данных помечается как либо 1-реальная, либо 0-поддельная данные. Метка 1-реальная означает, что точка данных была получена из распределения реальных данных pdata(x), тогда как 0-поддельная означает, что она была получена из выходов G(). Маркировка была сделана для их оценки после того, как Дискриминатор выполнил свою работу. Функция Генератора должна производить поддельные данные в соответствии с введенным распределением вероятностей для достижения цели равновесия Нэша.
В отличие от этого, Дискриминатор должен учиться шаг за шагом, чтобы прийти к вероятности, близкой к 0.5. Таким образом, обе сети находятся в минимаксной игре. Процесс обучения заканчивается, когда Дискриминатор больше не может различать реальные и поддельные изображения. Наконец, веса становятся статическими/необучаемыми, и Генератор дообучается [1].
В разделе III обсуждаются различные варианты GAN, которые были предложены на протяжении лет. Также обсуждаются различные сильные и слабые стороны каждого из вариантов и необходимость усовершенствования некоторых из них. Кроме того, практичность применения некоторых из этих вариантов в реальном мире также обсуждается в некоторых подразделах.
Основные варианты, рассмотренные в этом разделе, включают Условный GAN (CGAN) [13], Глубокий сверточный GAN (DCGAN) [14], Лапласиан GAN (LapGAN) [15], GAN с максимизацией информации (InfoGAN) [16], Энергетический GAN (EBGAN) [17], Wasserstein GAN (WGAN) [18], GAN граничного равновесия (BEGAN) [19], GAN с прогрессивным ростом (PGGAN) [20], Big GAN (BigGAN) [21] и Стилевая генеративная архитектура для GAN (StyleGAN) [22].
Предложение WGAN было drastic шагом, предпринятым для улучшения GAN в точности и оценке. WGAN улучшают перестановки на полностью связанном слое базовой модели GAN [18]. Использование дивергенции Йенсена-Шеннона (JS), которая измеряет расстояние в распределении непересекающихся частей в базовом GAN, было заменено на расстояние Вассерштейна (WD) (также известное как Earth Mover: EM), которое измеряет расстояние между сгенерированными и реальными распределениями данных в WGAN. Гладкость WD была значительно лучше, чем у дивергенции JS, что устранило необходимость строгого балансирования Генератора и Дискриминатора на этапе обучения. Кроме того, WD также был постоянным как в непрерывности, так и в дифференцируемости. Таким образом, проблема согласованности и коллапса моделей на этапе обучения была частично преодолена с использованием функции потерь. Следовательно, WGAN считаются одним из самых популярных вариантов GAN, которые не страдают от проблемы исчезающего градиента. Однако известно, что WGAN имеют свойство производить изображения низкого качества и терпеть неудачу в середине процесса сходимости.
Изобретение WGAN привело к появлению многих других вариантов, которые взяли его за базовую модель. WGAN с градиентным штрафом (WGAN-GP), Relaxed WGAN (RWGAN). Mean and Covariance Feature Matching GAN (McGAN) можно считать несколькими его потомками.
Проблема обрезания весов из-за ограничения константы Липшица в WGAN была решена с использованием WGAN-GP путем применения градиентного штрафа (GP) [23]. GP, более мягкая версия обрезания весов, штрафовала каждый выход в соответствии с его соответствующим входом. Таким образом, Дискриминатор может изучить разумный параметр для проблемы медленной сходимости, выводя разнообразные/лучшие по качеству изображения, чем WGAN. Благодаря сравнительно более высокой производительности, WGAN-GP опускает использование пакетной нормализации. Однако сравнительно долгое время для сходимости и достижения решения все еще оставалось у WGAN в WGAN-GP.
LSGAN был предложен [24] для решения проблем, возникающих после реализации WGAN, улучшая качество изображения. LSGAN предложил новую функцию потерь для модели Дискриминатора, чтобы он работал без усилий, используя ненасыщенные градиенты. LSGAN решил проблему исчезающего градиента, возникающую на этапе обучения, при обратном распространении, которая присутствовала во всех GAN базовой структуры, используя функцию потерь сигмоидальной перекрестной энтропии. Было обнаружено, что причина исчезающего градиента была due to заметному расстоянию между реальными и синтетическими данными на одной стороне границы решения. Используя функцию потерь наименьших квадратов,
LSGAN штрафовали далеко лежащие данные на одной стороне границы решения, генерируя изображения лучшего качества, сохраняя при этом сравнительно лучшую стабильность на протяжении всего этапа обучения. Первоначальное предложение LSGAN привело к новым решениям на его основе, таким как модели, генерирующие сцены с разным разрешением и читаемые китайские иероглифы.
Другой LS-GAN, предложенный [25], использовал новую функцию потерь, полученную с помощью минимальной целевой функции. Новая функция потерь смогла остановить модель от переобучения, удовлетворяя классу функций непрерывности Липшица, который очень похож на класс функций непрерывности Липшица WGAN.
EBGAN [17] фокусируется на решении проблемы метрики оценки с использованием значения энергии в качестве метрики измерения. Энергетическая модель всегда развивает отображение между отдельной точкой входного пространства и скалярными значениями (также называемыми "энергия"). Дискриминатор основан на энергетической функции, которая показывает низкую энергию на реальных данных (желательные конфигурации) и высокую энергию на синтетических данных (нежелательные конфигурации). Таким образом, энергетическая функция отличается от функции вероятности Дискриминатора базового GAN. Кроме того, EBGAN также использует другую функцию потерь для Генератора. При рассмотрении обеих функций модели Дискриминатор пытается генерировать низкие значения энергии, в то время как Генератор пытается сделать обратное. Лучшая производительность была достигнута, когда EBGAN все еще находился в процессе сходимости.
Продолжая проблему оценки, BEGAN [19] предлагает новую архитектуру под названием "граничный баланс". Базовый процесс обучения BEGAN был сравнительно быстрее и стабильнее в сходимости благодаря использованию архитектуры граничного баланса. Модель содержит порог равновесия, который может управлять компромиссом между качеством и разнообразием. Использование граничного равновесия позволило эффективно изменить функцию потерь. Концепция граничного равновесия, основанная на теории пропорционального управления, определяет новую оценку меры сходимости, обеспечивая стабильность процесса обучения и качества генерации образцов.
Автоэнкодер использовался на этапе обучения для балансировки процесса оптимизации между двумя сетями: Генератором и Дискриминатором. Это был первый раз, когда автоэнкодер был предложен в качестве балансира. Новый параметр под названием "коэффициент разнообразия" также был введен в BEGAN для достижения цели Дискриминатора. Одной из заметных сильных сторон BEGAN является его эффективность в сходимости, что приводит к детализированным, но разнообразным изображениям.
Предложенный Progressive Growing GAN [20] от Теро и др. является GAN на основе многошкальной структуры. Как следует из названия, и Генератор, и Дискриминатор начинают свое обучение с использованием изображений низкого разрешения и постепенно обучаются на изображениях более высокого разрешения. Например, PGGAN может начать свое обучение на низком разрешении, таком как 4 x 4 пикселя, затем постепенно увеличивать сложность и глубину модели, увеличивая ее слои. Итеративное выполнение этой задачи на протяжении всего процесса обучения приведет к сети PGGAN, которая может генерировать качественные/крупномасштабные/четкие изображения, такие как 1024 x 1024 пикселей. В процессе обучения обе сети растут синхронно. Начальное разрешение 4 x 4 превратится в 8 x 8, затем 16 x 16 по мере прогрессирования обучения. Эта концепция PGGAN приводит к стабильной кривой обучения в обеих сетях, приводя к изображениям более высокого качества за значительно меньшее время.
Несмотря на способность PGGAN генерировать изображения лучшего качества, ему не хватает контроля в определении характеристик сгенерированного изображения. Style-based GAN (StyleGAN) [22] разработаны для преодоления этой проблемы. Архитектура Генератора была переструктурирована, предоставив ему больше возможностей в управлении синтезированными изображениями в попиксельных поправках. StyleGAN анализирует и разделяет характеристики входных данных на три типа для достижения этого. Этот контроль происходит без ограничения качества изображения в соответствии с базовой структурой PGGAN. Альтернативная архитектура, используемая в StyleGAN, отображает сеть с помощью начального преобразования, полученного из латентного входного кода, и превращает их в промежуточный латентный код.
Последующий StyleGAN, предложенный в 2019 году [26], улучшает качество и разнообразие изображения, сохраняя эффективность модели. Результат модели кажется замечательным по сравнению с первоначальной моделью StyleGAN. Структура новой модели имеет лучше работающую функцию нормализации для Генератора. Она использовалась для исключительных случаев использования, таких как удаление артефактов на изображениях и синтез качественных изображений лиц.
Big GAN [21], другой вариант GAN, известен своей крупномасштабной, эффективной способностью генерации изображений, что делает его одной из лучших доступных моделей вариантов GAN. Это глубокая обучающаяся модель, которая может обучать более крупные нейронные сети, включающие больше параметров. Это приводит к исключительно детализированным выходам, значительно увеличивая производительность модели. Несколько ключевых характеристик, демонстрирующих высокую производительность варианта GAN, включены в BigGAN. Контролируемость выходов модели, оценка Inception Score (IS) выше 155, которая превосходит предыдущий зарегистрированный лучший показатель 50, являются несколькими причинами его производительности.
Потомок BigGAN под названием Bi-Directional BigGAN (BigBiGAN) пытается дальше улучшить производительность, улучшая способность безусловной генерации изображений. Он использует увеличенное Freshnet Inception Distance (FID) и оценку Inception по сравнению с базовой моделью BigGAN для ее оценки.
Однако в реальной жизни не каждые синтетические данные, которые нужно генерировать, должны быть случайными. Могут быть случаи, когда исходная структура GAN недостаточна для вывода определенного набора требуемых данных. Следовательно, прогнозируется необходимость в GAN, который значительно отклоняется от базовой структуры GAN. CGAN был предложен как решение этой проблемы. CGAN могут генерировать данные на основе конкретных требований, таких как генерация части изображения, а не всего изображения, генерация изображений с указанными метками, а не многометочных изображений [13]. Что касается структуры
CGAN, чтобы получить его условное поведение, его Генератор вводит строку случайных чисел, которые подходят под определенное распределение. Что касается CGAN, которые должны выводить изображения с одной меткой, и Генератор, и Дискриминатор вводятся со склеенной категорией метки. Эта склеенная категория метки используется для суждения и идентификации необходимых изображений в процессе.
CGAN были популярным вариантом GAN, который сделал впечатляющий прогресс в области исследований с момента его предложения, приводя к открытию многих других вариантов, таких как LapGAN, InfoGAN и Pix2Pix.
DCGAN является одним из самых популярных вариантов GAN [14], при этом два основных компонента сети заменены двумя отдельными сверточными нейронными сетями (CNN). Внутренняя структура CNN также изменена для увеличения согласованности в процессе обучения путем замены слоя повышающей дискретизации и полностью связанного слоя двумя слоями свертки. Использование структуры CNN делает DCGAN лучше в абстрактной способности по сравнению с другими вариантами. Слой пулинга в базовой CNN адаптирован со свертками с шагом для реализации Генератора и Дискриминатора. DCGAN быстро ответили на проблему нестабильности и необходимость дополнительных корректировок в фазе обучения. Следовательно, он считается одним из самых надежных и простых вариантов GAN, доступных сегодня, увеличивая интерес в области исследований [27].
Другой потомок CGAN, который возрождает упрощенную структуру базового GAN [16], — это InfoGAN. Базовая структура InfoGAN построена для объяснения выхода Генератора G(z,c) (давая определенную интерпретируемость выходу). Это делается путем выделения структурированного неявного кода c из шума z. Таким образом, InfoGAN также предлагает определенную контролируемость выхода сети. Кроме того, InfoGAN способны содержать разнообразие переменных. Например, InfoGAN могут работать с набором данных MNIST с такими переменными, как угол наклона/толщина/направление освещения шрифтов в наборе данных.
Pix2Pix [28], который был предложен на основе CGAN, использует отображающий Генератор. Основная цель отображающего Генератора Pix2Pix — изучить функции перевода разных изображений через одну и ту же модель. Однако значительный недостаток заключается в процессе обучения из-за необходимости приобретать изображения, которые могут быть попарно сопоставимыми по размерности. Проблема этого подхода заключается в недостатке таких изображений, которые можно найти в реальных приложениях.
И CycleGAN [29], и StarGAN [30], будучи двумя похожими системами, фокусируются на смягчении недостатка размерно похожих изображений, превращая отображение двух изображений в отображение двух доменов. Это предложение можно считать значительным достижением в области благодаря его применимости к различным реальным проблемам в переводе изображений. StarGAN, близкий потомок CycleGAN, может обучать одну и ту же модель через совместные тренировочные реализации нескольких наборов данных, таких как CelebA (с признаковыми метками, такими как цвет кожи, возраст и т.д.) и RaFD (с метками выражений, такими как злой, страшный и т.д.)
В общем и целом, GAN могут быть реализованы с категориальными метками или без них во многих областях машинного обучения, таких как обучение с учителем, обучение без учителя и частично обучение с учителем. Базовая архитектура GAN относится к области обучения без учителя. InfoGAN и CycleGAN также можно рассматривать как распространенные варианты GAN, которые попадают под спектр обучения без учителя. В то же время SGAN и Improved-GAN можно рассматривать как GAN, которые попадают под частично обучение с учителем из-за их потребности в частично размеченных данных как входных данных. Наконец, CGAN, ACGAN и AM-GAN можно рассматривать как GAN, которые работают в структуре обучения с учителем. Из-за разнообразного набора вариантов, доступных в GAN, доступен отдельный веб-сайт под названием "The GAN Zoo" по адресу https://github.com/hindupuravinash/the-gan-zoo, на который можно ссылаться для получения дополнительной информации.
Благодаря применимости GAN во многих сценариях, они в настоящее время широко используются в различных областях. Приложения, начиная от генерации данных в таких областях, как приложения для изображений, до языковых приложений, художественных приложений, компьютерного зрения (CV) и искусственного интеллекта (AI), являются несколькими распространенными сценариями, где используются GAN [31]. Приложения для изображений, реализованные на GAN, включают синтез изображений/видео, перевод изображений/видео и редактирование сверхразрешения [32]. Языковые приложения, реализованные на GAN, включают приложения для голоса/текста/речи и генерации символов. Одним из основных способов использования GAN в художественных приложениях является генерация музыки. Выдающимся способом использования GAN в приложениях компьютерного зрения является обнаружение объектов. Кроме того, GAN доказали свою применимость во многих сценариях в медицинской области.
Первоначально предложенный GAN был фундаментально нацелен на решение проблемы генерации изображений. Но последующие варианты модели могли реализовать ту же теорию для генерации любых выборок данных на основе распределения, введенного в него, что делает GAN одной из самых универсальных моделей для синтеза изображений. Варианты, такие как CGAN, WGAN, WGAN-GP, LAPGAN и InfoGAN, все специализированы в достижении этого. Похожие модели также используются в редактировании изображений.
Также называемый переносом стиля, это воспроизведение стиля одного изображения на другом изображении. Это достигается путем преобразования изображения в другую форму с помощью модели при сохранении эстетического вида изображения. Например, преобразование реального портрета человека в карандашный набросок можно отнести к этому. Наиболее распространенные варианты, используемые для достижения этой цели, — это CycleGAN, TripleGAN [33] и DiscoGAN [34].
Сверхразрешение (SR) считается сложной задачей в приложениях компьютерного зрения. Оно относится к выводу изображений высокого качества/увеличенного масштаба из изображений низкого качества. Сделать это — непростая задача, поскольку добавление мелких деталей к изображению намного сложнее, чем увеличение признаков изображения. Несколько распространенных моделей GAN, используемых для достижения этого типа цели, — это Super-Resolution GAN (SRGAN) [35]. SRGAN способен увеличивать изображение в четыре раза по сравнению с введенным изображением. Другая модель GAN, улучшенная на основе SRGAN, — это Enhanced SRGAN (ESRGAN) [36]. ESRGAN использует релятивистскую концепцию для построения GAN, который включает Дискриминатор, который может предсказывать относительную реальность изображения. Кроме того, методы, используемые для SR, могут быть дополнительно использованы для реконструкции изображений.
Модели, реализованные для генерации видео, включают GAN, который комбинирует стационарный фон с набором движущихся объектов. Однако сложность предсказания движений объектов в каждом кадре делает этот процесс сложным. Несколько исследований вариантов GAN, нацеленных на предложение новых идей для генерации видео кадров, таких как использование DNN для предсказания будущих кадров Вильегасом и др. [37], Disentangled-representation net (DrNET) [38]: модели, которые изучают разъединенные изображения в видео, были предложены на протяжении лет. Другое исследование, которое синтезирует новые видео на основе введенных видео под названием MoCoGAN [39], также было предложено. Более того, также была предложена техника под названием GAN based Video Generation (VGAN), содержащая два Генератора. Причина наличия двух отдельных Генераторов заключается в двух отдельных функциях, которые каждый из них должен выполнить. Один Генератор синтезирует движущийся передний план, где присутствуют объекты в движении, тогда как другой Генератор используется для генерации стационарного фона. Другой вариант GAN под названием Dual Video Discriminator GAN (DVDGAN) [40], который использует модель BigGAN в качестве базовой, был предложен для генерации видео высокого разрешения.
Генерация голоса, которая включает обработку дискретных значений, трудно выполнима базовыми GAN, так как его структура использует стохастический градиентный спуск, который более удобен для непрерывных значений. Поскольку генерация голоса включает обработку символов и слов, которые являются дискретными значениями, GAN, кажется, показывают худшие результаты в этой конкретной области по сравнению с другими областями. Однако исследования, которые пытаются преодолеть эту проблему, были опубликованы в последнее время, вновь демонстрируя силу GAN. Предложения исследований, таких как TextGAN [41], который занимается генерацией текста, SeqGAN [42], GAN, которые генерируют изображения на основе предоставленного текста [43], являются доказательством этому.
Изучение языка — это сложная задача для выполнения человеком, будь то фонологический язык, такой как английский, французский, или символический язык, такой как китайский. Это еще более сложная задача для выполнения с помощью модели, потому что варианты GAN лучше изучают непрерывные переменные, чем дискретные. Больше исследований, нацеленных на решение этой проблемы, предложили различные способы ее решения. Zi2zi [44], модель генерации китайских иероглифов, разработанная с использованием CGAN и Pix2Pix в качестве базовых моделей, смогла решить это. Другой вариант под названием Dense-Net CycleGAN, который основан на модели CycleGAN, достиг аналогичного результата, используя несопоставленные данные в фазе обучения. Несколько других вариантов под названием Conditional Least Square GAN (LSCGAN) [45] и GlyphGAN [46] также смогли решить проблему генерации символов, используя подход на основе стиля.
Варианты GAN, такие как continuous RNN GAN (C-RNN-GAN) [47], Object Reinforced GAN (ORGAN) [48] и SeqGAN [42], доказали свою применимость в области генерации музыки. C-RNN-GAN, реализованный на основе двух RNN сетей с LSTM, использует непрерывную последовательность для генерации музыки. Улучшенные на основе C-RNN-GAN, SeqGAN и ORGAN были изобретены для минимизации неудовлетворительных результатов базовой модели из-за дискретных значений в производстве музыки. Обе эти модели принимают во внимание генерацию последовательности через различные свойства синтезированной музыки.
Несколько основных проблем при обнаружении объектов с помощью модели — это изменения в форме объекта и окклюзии на объекте. Data-driven подход, при котором модель учится в различных условиях, преодолевая эти проблемы, может решить эту проблему. Однако data-driven подход может потребовать значительной коллекции данных, что может вызвать другую проблему. Другая проблема с этим подходом заключается в том, что окклюзии и деформации могут быть редкими, что затрудняет их заметить. GAN легко могут решить эту проблему, генерируя синтетические данные с деформациями и окклюзиями. Несколько самых популярных вариантов GAN, которые могут обнаруживать объекты, — это SeGAN [49] и MTGAN [50].
Одной из важных областей, в которых используются GAN, является медицинская область, в сценариях, таких как синтез и проектирование ДНК [51]/лекарств [52]/медицинских изображений. Это также используется в стоматологических записях [53] и рекомендациях врачей [54]. Распространенный вариант среди достижения этой цели — SegAN [12], техника сегментации медицинских изображений, которая заменяет Дискриминатор и Генератор на критическую сеть и Сегментатор. Критическая сеть помогает с недостаточной природой единственного значения результата в плотной, пиксельной сегментации медицинских изображений. Несколько других вариантов, которые использовались в медицинской области, включают ChemGAN [55], FB-GAN и Medical GAN (Med-GAN) [56]. Med-GAN синтезирует реалистичные электронные медицинские записи (EHR) с использованием автоэнкодера (AE) и сети GAN.
Генеративные состязательные сети были популярной темой в области компьютерных наук в течение некоторого времени. Базовая основная концепция имеет силу решить многие проблемы, которые
мешают области расти. Механизм GAN использует две параллельные модели, которые пытаются переучивать друг друга, решая проблемы, одновременно развиваясь в сложности. Этот раздел анализирует сильные и слабые стороны GAN, одновременно обсуждая их перспективы.
Предложение GAN выдвинуло ответы на многие проблемы, которые ограничивали дальнейшее продвижение генерации данных, которые не могли быть решены с использованием машины Больцмана [57] или вариационных энкодеров. Состязательные техники GAN преодолевают тщетные попытки предыдущих моделей аппроксимировать распределения реальных данных в эффективную выходную функцию. Пропуск использования сложной выборки цепи Маркова и вывода был большим преимуществом использования GAN. GAN уменьшили трудности необходимости обучать модель более внимательно до некоторой степени. Кроме того, эффективность отдельных моделей также была улучшена с использованием GAN. Благодаря гибкой природе архитектуры, целевая функция сети может быть перепроектирована в соответствии с требованиями пользователя, что делает ее подходящей для многих сценариев.
По сравнению с другими генеративными моделями, GAN могут производить данные лучшего качества по любому заданному типу данных. Кроме того, GAN могут обучаться на любом распределении благодаря их свободной природе, что невозможно с большинством генеративных сетей. Кроме того, благодаря отсутствию сложной вариационной нижней границы, GAN могут значительно снизить трудности, с которыми сталкиваются на этапе обучения, одновременно улучшая эффективность обучения.
Однако архитектура GAN действительно имеет некоторые ограничения. Необходимость обеспечения стабильности и баланса в процессе обучения для достижения эффективного результата впоследствии всегда обязательна. Это несмотря на то, что GAN всегда могут гарантировать равновесие Нэша, если его функция выпукла. Стабильная синхронизация двух сетей является сложной задачей, которая требует решений сама по себе. Различение прогрессии минимаксной игры на этапе обучения также является сложной операцией из-за того, что у нее нет функции потерь.
Кроме того, некоторые варианты GAN были идентифицированы как более склонные к проблеме коллапса на этапе обучения. Коллапс мод, который приводит к похожим изображениям, также идентифицирован как одна из проблем GAN. Хотя присутствуют многие варианты, которые пытаются решить эту проблему путем увеличения разнообразия в синтезированных данных, коллапс мод остается огромной проблемой, с которой сталкиваются модели GAN. Более того, проблема синтеза человеческих изображений/портретов, которая приводит к проблемам из-за мошеннической деятельности, которую она может принести, является другой проблемой. Целый другой набор проблем, возникающих из метрик оценки GAN, является другой областью исследований, которая часто обсуждается. Несколько вариантов направлены на решение этих конкретных проблем, которые существуют в GAN, но основные проблемы все еще нуждаются в исследованиях и изобретениях для процветания GAN в области.
Несмотря на то, что в GAN много проблем, это одна из передовых технологий по сравнению с другими доступными генеративными технологиями. Со многими вариантами это может продвинуться в GAN, решая различные проблемы в разнообразном наборе областей всего за короткое время. Одна из распространенных проблем в GAN, которая является недоступностью правильной системы метрик (как качественно, так и количественно) для оценки модели, является открытой исследовательской проблемой, которая требует будущего внимания. Что касается сети, она может получить выгоду от лучшей оптимизации через либо обучение с подкреплением, либо аналогичную технику, делая оптимизацию GAN достойным направлением исследований для продвижения. Больше путей исследований также может быть исследовано путем комбинирования новых теорий вместе с GAN, таких как ML модели с GAN. Варианты GAN также могут открыть новые способы, как GAN может быть исследован, добавляя больше интересов и возможностей для роста в качестве базовой линии.
В этой статье обобщается концепция генеративных состязательных сетей, включая их целевую функцию и ее варианты. В статье также обсуждаются различные варианты, которые возникли с момента первоначального предложения базового GAN, одновременно анализируя его плюсы и минусы. Кроме того, обсуждаются приложения на основе GAN. Наконец, суммируются существующие проблемы в GAN и их перспективы.
Автор хотел бы поблагодарить доктора Дхаршана Кашуриратну с факультета вычислительной техники SLIIT за побуждение студентов написать эту обзорную статью в качестве задания. Опыт всех, кто улучшил эту статью любым способом, также с благодарностью признается.