Требуются ли для генеративных состязательных сетей метки класса?

Я пытаюсь понять, как обучается GAN. Я считаю, что понимаю состязательный тренировочный процесс. Я не могу найти информацию по этому поводу: используют ли GAN метки классов в процессе обучения? Мое текущее понимание говорит «нет» - потому что дискриминатор просто пытается различать реальные и поддельные изображения, в то время как генератор пытается создать реальное изображение (но не изображения какого-либо определенного класса).

Если это так, то как исследователи предлагают использовать дискриминаторную сеть для задач классификации? сеть сможет выполнять только двухстороннюю классификацию реальных и поддельных изображений. Сеть генератора также будет трудно использовать, поскольку мы не знаем, какая установка входного вектора «Z» приведет к требуемому сгенерированному изображению.


person angus mitchell    schedule 05.07.2017    source источник


Ответы (2)


Это полностью зависит от сети, которую вы пытаетесь построить. Если вы говорите конкретно о базовой GAN, то вы правы. Метки классов не нужны, поскольку дискриминаторная сеть классифицирует только реальные / поддельные изображения. Существует условный вариант GAN (cGAN), в котором вы используете метки классов как в генераторе, так и в дискриминаторе. Это позволяет создавать примеры для определенного класса с помощью генератора и классифицировать их с помощью дискриминатора (вместе с классификацией настоящих / поддельных).

Судя по прочитанному мной, дискриминаторная сеть используется просто как инструмент для обучения генератора, а генератор - это основная сеть, вызывающая беспокойство. Зачем вам использовать дискриминатор, который вы использовали для обучения GAN для классификации, когда вы могли бы просто использовать сеть ResNet или VGG для своих задач классификации. Эти сети в любом случае будут работать лучше. Однако вы правы в том, что использование исходного GAN может вызвать трудности из-за коллапса режима и постоянного создания одного и того же изображения. Поэтому был введен условный вариант.

Надеюсь, это проясняет ситуацию!

person Adam    schedule 20.07.2017

Используют ли GAN ярлыки классов в процессе обучения?

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

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

Если это так, то как исследователи предлагают использовать дискриминаторную сеть для задач классификации?

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

Сеть генератора также будет трудно использовать, поскольку мы не знаем, какая установка входного вектора «Z» приведет к требуемому сгенерированному изображению.

Кажется, основная причина публикации вопроса кроется здесь. Входной вектор «Z» выбирается таким образом, чтобы он подчинялся некоторому распределению, обычно нормальному распределению. Но что тогда произойдет, если мы возьмем «Z», случайный вектор с нормально распределенными элементами, и вычислим «G (Z)»? Мы получаем новый вектор, который следует очень сложному распределению, зависящему от G. Вся идея GAN состоит в том, чтобы изменить G так, чтобы это новое сложное распределение было близко к распределению наших данных. Эта идея формализована с помощью f-расходимостей в [3].

[1] https://arxiv.org/abs/1406.2661

[2] https://arxiv.org/abs/1411.1784

[3] https://arxiv.org/abs/1606.00709

person Alexander Mathiasen    schedule 20.09.2019