Недавние исследования использовали генеративно-состязательные сети (GAN) для создания фотореалистичных изображений и выполнения манипуляций с изображениями. Однако для выполнения таких манипуляций с реальными изображениями требуется понимание соответствующего скрытого кода. Эта серия предназначена для объяснения концепции инверсии GAN [1], которая направлена ​​​​на обеспечение интуитивного понимания скрытого пространства путем инвертирования изображения в скрытое пространство для получения его скрытого кода.

Серия состоит из следующих четырех частей:

  • Часть I — Введение в инверсию GAN и ее подходы.
  • Часть II, III и IV — расширения GAN Inversion, приложения и дальнейшая работа.

Этот пост является первой частью серии из четырех статей об инверсии GAN. Он призван дать краткое введение в GAN [2] и их скрытые пространства, в дополнение к представлению концепции инверсии GAN [1] и ее подходов, а также показать краткое сравнение с вариационными автоэнкодерами.

Этот блог вдохновлен в основном обзором инверсии GAN, проведенным Бау и др. [1], в то время как мы также изучаем некоторые из новых расширений в этой области. Давайте сначала погрузимся в краткое введение в GAN и их скрытые пространства.

1. История

1.1 Генеративно-состязательные сети

Генеративно-состязательные сети (GAN) — это генеративные модели, основанные на глубоком обучении, которые относятся к моделям, направленным на создание новых синтетических данных, напоминающих распределение обучающих данных. Они отличаются от дискриминационных моделей, предназначенных для изучения границ между классами в распределении данных. GAN были впервые предложены Goodfellow et al. [2], и с тех пор были разработаны различные модели для синтеза генерации высококачественных изображений.
GAN состоят из двух основных компонентов:

  • Генератор (G): направлен на изучение реального распределения данных, чтобы генерировать данные ближе к распределению и обмануть его противника, дискриминатора.
  • Дискриминатор (D): предназначен для различения реальных и сгенерированных изображений.

Гудфеллоу и др. [2] предлагают обучать компоненты генератора и дискриминатора вместе с противоположными целевыми функциями, стремящимися победить друг друга. Модель сходится, когда генератор успешно преодолевает дискриминатор, генерируя данные, неотличимые от реальных данных. Предлагаемая целевая функция выглядит следующим образом:

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

Архитектуру сети можно увидеть на рис. 1.

1.2 Скрытое пространство GAN

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

Генератор изучает шаблоны в пространстве распределения, сопоставляя местоположение в пространстве с определенными характеристиками в сгенерированном изображении. Это N-мерное пространство с изученными шаблонами GAN является скрытым пространством GAN, обычно называемым пространством Z. Векторы в скрытом пространстве, включая упомянутые ранее векторы случайного шума, называются скрытыми векторами. Скрытое пространство меняется каждый раз при обучении модели GAN.

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

Недавние исследования показали, что хорошо обученные GAN кодируют распутанную семантическую информацию в своем скрытом пространстве. Эти исследования делают это путем введения пробелов в дополнение к скрытому векторному пространству Z, чтобы лучше включить стиль и семантическую информацию в пространство.

StyleGAN [4] ввел пространство W для включения семантической информации в скрытое пространство. Рис. 2 иллюстрирует это. Например, у нас есть набор данных о человеческих лицах, в котором отсутствуют изображения для некоторых комбинаций признаков, например, длинноволосых мужчин. В этом случае (а) представляет собой пространство распределения комбинации признаков, например мужественности и длины волос. (b) представляет собой пространство Z, где отображение становится искривленным/запутанным, чтобы гарантировать, что все пространство включает допустимые комбинации функций. Это приводит к запутыванию этих функций в пространстве Z. (c) представляет собой отображение пространства Z в пространство W, введенное Xia et al. [4] для получения более распутанных признаков в пространстве W.

Другие исследователи предложили пространство W+ [3], пространство S [5] для пространственного распутывания и пространство P [ 6] для регуляризации вложений StyleGAN.

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

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

Например, [3] определяет интерполяцию в пространстве W+ следующим образом:

где коэффициент шага λ для интерполяции определяется как:

w₁ и w₂ — это скрытые векторы для двух изображений, между которыми выполняется интерполяция, а w — интерполированный скрытый вектор.

На рис. 3 показана линейная интерполяция скрытого пространства, выполненная Image2StyleGAN [3], обученная на изображениях лиц, в их скрытом пространстве W+. Можно видеть, что GAN хорошо выполняет интерполяцию на изображениях лиц, но не может реалистично интерполировать изображения без лиц. Это связано с тем, что изображения без лица лежат вне распределения обучающих данных.

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

Этот обзор призван предоставить обзор [1] и подробный анализ некоторых исследований инверсии GAN. Следовательно, мы не будем вдаваться в подробный обзор GAN. Оставшаяся часть этого поста посвящена инверсии и подходам GAN. Дополнительную информацию о GAN и их скрытом пространстве можно найти в [2].

2. Инверсия GAN и подходы

2.1 Инверсия ГАН

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

Задача обращения может быть определена как:

так что z относится к скрытому вектору, G относится к генератору, l относится к метрике расстояния в пространстве изображения, такой как l1, l2, потери восприятия и т. д., применяемые на уровне пикселей.

2.2 Подходы к инверсии GAN

В предыдущих исследованиях изучались три основных метода инверсии. Генератор предварительно обучен.

  • На основе оптимизации: оптимизирует скрытый вектор z для восстановления изображения xʳᵉᶜ, близкого к реальному изображению x. Целевая функция определяется следующим образом:

где θ относится к обученным параметрам G.

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

  • На основе обучения: включает модуль кодировщика E, обученный с использованием нескольких изображений X, сгенерированных G с соответствующими известными скрытыми векторами Z . Модуль кодировщика стремится сгенерировать скрытый вектор zₙ для изображения xₙ , чтобы при прохождении zₙ через G он реконструировал изображение ближе к xₙ.

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

  • Гибридный: включает в себя оба вышеупомянутых подхода. Подобно подходам, основанным на обучении, они обучают кодировщик, используя изображения, созданные G. Во время логического вывода реальное изображение x проходит через E для получения z, которое служит инициализацией скрытого вектора для оптимизации для дальнейшего уменьшения расстояние между x и xʳᵉᶜ.

3. Отличия от VAE-GAN

Вариационные автоэнкодеры (VAE) — еще один вариант генеративных моделей, предложенный Kingma et al. [7]. VAE нацелены на то, чтобы обучить архитектуру кодер-декодер восстанавливать изображения, а также использовать KL-дивергенцию, чтобы гарантировать, что скрытое распределение близко к ожидаемому распределению Гаусса с определенным средним значением и стандартным отклонением.

Генеративно-состязательные сети с вариационными автоэнкодерами (VAE-GAN) представляют собой комбинацию VAE и GAN, предложенную Larsen et al. [8]. Их архитектуру можно увидеть на рис. 8. При включении GAN в архитектуру декодер VAE служит генератором, а дискриминатор пытается отличить сгенерированное изображение от реального. Хотя VAE, как правило, создают размытые изображения, их объединение с GAN помогло им получить производительность, сравнимую с базовой архитектурой GAN, в задачах создания изображений.

Архитектура инверсии GAN на основе обучения состоит из модулей, аналогичных VAE-GAN, и это может вызвать путаницу. Однако эти архитектуры отличаются внутренней динамикой, подходом к обучению и самой целью.

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

4. Резюме

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

Прочитайте инверсию GAN: краткое пошаговое руководство — Часть II здесь

Рекомендации

[1] Ся В., Чжан Ю., Ян Ю., Сюэ Дж., Чжоу Б. и Ян М. (2021). Инверсия GAN: обзор. ArXiv, абс/2101.05278.

[2] Гудфеллоу, И.Дж., Пуже-Абади, Дж., Мирза, М., Сюй, Б., Вард-Фарли, Д., Озаир, С., Курвиль, А.С., и Бенжио, Ю. (2014). Генеративно-состязательные сети. НИПС.

[3] Абдал Р., Цинь Ю. и Вонка П. (2019). Image2StyleGAN: как вставлять изображения в скрытое пространство StyleGAN? Международная конференция IEEE/CVF по компьютерному зрению (ICCV), 4431–4440, 2019 г.

[4] Каррас Т., Лейн С. и Айла Т. (2019). Архитектура генератора на основе стилей для генеративно-состязательных сетей. Конференция IEEE/CVF 2019 г. по компьютерному зрению и распознаванию образов (CVPR), 4396–4405.

[5] Сюй, Дж., Сюй, Х., Ни, Б., Ян, X., Ван, X., и Даррелл, Т. (2020). Иерархические сети на основе стилей для синтеза движения. ЭККТ.

[6] Чжу, П., Абдал, Р., Цинь, Ю., и Вонка, П. (2020). Улучшенное встраивание StyleGAN: где хорошие латенты? ArXiv, абс/2012.09036.

[7] Кингма, Д.П., и Веллинг, М. (2014). Автокодирование вариационного Байеса. CoRR, абс/1312.6114.

[8] Ларсен, А.Б., Сондерби, С.К., Ларошель, Х., и Винтер, О. (2016). Автокодирование за пределами пикселей с использованием изученной метрики сходства. ArXiv, абс/1512.09300.

Автор: Санджана Джейн, исследователь искусственного интеллекта, и команда Sertis Vision Lab

Первоначально опубликовано наhttps://www.sertiscorp.com/