Home Искусственный интеллект Дружеское введение в генеративно-состязательные сети | DeepTech

Дружеское введение в генеративно-состязательные сети | DeepTech

0
Дружеское введение в генеративно-состязательные сети
 | DeepTech

До сих пор мы говорили о дискриминационные модели который сопоставить входные объекты x с метками y и приблизительный P(y/x) – закон Байя.

Генеративные модели делают наоборот, они пытаются предсказывать входные функции с учетом меток. Предполагая, что задана метка y, насколько вероятно, что мы увидим определенные функции x. Они аппроксимировать совместную вероятность P(x и y).






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

источник: О’Райли

Компоненты ГАН:

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

2. Дискриминатор – Дискриминатор — это CNN, которая просматривает изображения как из обучающего набора, так и из выходных данных Генератора и классифицирует их как настоящие (1) или фальшивые (0).

Как правило, и генератор, и дискриминатор имеют обратные функции для оптимизации. Где дискриминатор пытается минимизировать перекрестную энтропийную потерю правильного предсказания реального и поддельного изображения. Генератор пытается максимизировать эту потерю (пытаясь обмануть дискриминатор).

Давайте рассмотрим простую математику того, как Генератор и Дискриминатор конкурируют друг с другом:

Отмечает функцию потерь Дискриминатора –

1. Первый срок является выходом дискриминатора для изображения тренировочного набора (x) – вы хотите, чтобы выход дискриминатора D (x) был равен 1. Давайте рассмотрим это, как выглядит потеря журнала –

log(D(x) или 1) равно 0. Таким образом, для правильной классификации изображения тренировочного набора логарифмическая потеря будет равна 0. Однако для обратного случая – D(x) = 0 для изображения тренировочного набора , потеря будет равна отрицательной бесконечности.

2. Второй срок – log(1-D(G(z)), вы хотите, чтобы дискриминатор мог идентифицировать сгенерированное изображение G(z) и выводить D(G(z)) = 0. В этом случае потеря будет равна 0 Однако, если он ошибается и считает сгенерированное изображение реальным – log(0) равен -ve бесконечности.

3. Сеть сильно наказывается за неправильную классификацию в обоих случаях.

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

Что здесь пытается сделать дискриминатор?

Источник — презентация Ian Goodfellow ’16 OpenAI.

  • Цель дискриминатора определена на слайде выше (соотношение), дискриминатор, по сути, пытается определить разницу между входными данными, генерируемыми моделью, и фактическими входными данными обучающего набора.
  • Итак, если pdata(x) = pmodel(x), то D(x) равно 0,5. Дискриминатор не может отличить подделку от настоящего. Это цель оптимизации здесь.
  • Примечание. В то же время генератор пытается максимально приблизить модель и распределение данных друг к другу.

Оставайтесь с нами, чтобы узнать больше.

Использованная литература:

https://skymind.ai/wiki/generative-adversarial-network-gan
https://medium.com/@jonathan_hui/gan-whats-generative-adversarial-networks-and-its-application-f39ed278ef09

LEAVE A REPLY

Please enter your comment!
Please enter your name here