Вамши Кумар Богоджу

Теперь, когда мы заложили фундамент компьютерного зрения и немного объяснили основы семантической сегментации, эта статья призвана предоставить очень высокоуровневое введение в генеративно-состязательные сети (GAN) с привкусом математических модных словечек и глубоких рассуждений. теория. Если вы читали или слышали о каких-либо статьях, связанных с поддельными лицами, мы должны поблагодарить за это GANS!

Здесь мы будем:

- наметить две модели, составляющие структуру GAN

- ввести ассоциированную функцию потерь

- выделить несколько преимуществ и недостатков

- перечислите некоторые известные приложения.

Что такое ГАН?

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

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

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

Глубокое погружение в теорию GANS

Теперь давайте подробнее рассмотрим, как появились GAN и как они работают.

Первая статья GAN была впервые опубликована Яном Гудфеллоу и др. в 2014 году, где он использовал GAN для создания новых данных из наборов данных MNIST.

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

Отношения между моделями D и G можно рассматривать как отношения между фальшивомонетчиком и судебным экспертом по валюте.

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

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

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

Функция потерь

Функция проигрыша является критически важной концепцией для понимания динамики «игры».

Переменные:

Pz = распределение данных по шуму z

Pg = распределение данных по сгенерированным данным из генератора

Pr = распределение данных по реальным данным

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

Ex∼pr(x) [log D(x)]. Однако для данных, сгенерированных генератором, т.е. G(z), z~Pz(z),дискриминатор должен ожидать вероятность, D(G( z)), близким к нулю путем максимизации Ez∼Pz(z)[log(1-D(G(z)))].

Параллельно генератор учится заставлять дискриминатор производить высокую вероятность для сгенерированной выборки данных, минимизируя Ez~Pz(z) [log(1-D(G(z)))].

И G, и D играют в минимальную игру, чтобы оптимизировать функцию потерь ниже:

Хотя GANS — это очень сложный подход, это также сложная задача, потому что он медленный и нестабильный. Дополнительные подводные камни:

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

Применения GANS

Теперь, когда мы обсудили всеобъемлющую концепцию GANS, которая, кстати, является лишь одним из таких примеров генеративного моделирования (того, что создает новые данные из существующих данных), мы хотели бы поделиться несколькими приложениями GANS:

  • Глубокие подделки
  • Перевод изображения в изображение
  • Преобразование текста в изображение
  • Музыкальное поколение

Глубокие подделки

GAN из-за их способности создавать почти реальные данные используются для создания поддельных изображений людей. Кроме того, они также используются для удаления дипфейков так же эффективно, как и для их создания. Глубокий фейк — это когда человека подменяют чужим подобием.

Перевод изображения в изображение

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

Синтез текста в изображение

GAN используются для преобразования текстовых описаний на естественном языке в изображения с использованием c

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