Как использовать GAN для извлечения неконтролируемой функции из изображений?


10

Я понял, как работает GAN, в то время как две сети (генеративная и дискриминационная) конкурируют друг с другом. Я построил DCGAN (GAN с сверточным дискриминатором и деконволюционным генератором), который теперь успешно генерирует рукописные цифры, аналогичные тем, которые указаны в наборе данных MNIST.

Я много читал о приложениях GAN для извлечения функций из изображений. Как можно использовать мою обученную модель GAN (в наборе данных MNIST) для извлечения функции из рукописных изображений MNIST, написанных от руки?


Для извлечения функции, я получаю размер функции 128 * 120 (то есть 64 + 32 + 16 + 8) = 15360. Я уверен, что мне чего-то не хватает. У меня есть еще один вопрос, касающийся выбора функций вектора. Следует ли учитывать веса (conv2d + batchnorm + активация) или только веса conv2d при извлечении объектов?
Танмой Дам

Ответы:


4

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

Для GAN вы можете использовать функции от дискриминатора. Предполагается, что эти функции дают вероятность, если входные данные поступили из обучающего набора данных «реальные изображения». В статье Рэдфорда DCGAN они используют все сверточные слои дискриминатора и запускают функции извлечения максимального пула для CIFAR-10.

Чтобы оценить качество представлений, полученных DCGAN для контролируемых задач, мы тренируемся на Imagenet-1k, а затем используем сверточные характеристики дискриминатора из всех слоев, максимизируя представление каждого слоя для создания пространственной сетки 4 × 4. Затем эти признаки сглаживаются и объединяются, образуя размерный вектор 28672, и поверх них проводится регуляризованный линейный классификатор L2-SVM.


1

Ответ Кенни правильный: если вы используете сверточную букву D , выходные данные слоев до плотного могут служить в качестве объектов. Моя интуиция заключается в том, что он будет работать лучше для AC-GAN (или аналогичных архитектур, которые заставляют D классифицировать входные данные в дополнение к определению, является ли он поддельным или реальным).

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


0

поскольку GAN состоит из двух частей - генератора и дискриминатора, существует два способа использования GAN в качестве экстрактора признаков:

  1. Генераторный путь, представленный Михаилом Юрасовым.
  2. Дискриминатор основан на представлении Кенни.

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

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

[1] Йост Тобиас Спрингенберг. Неконтролируемое и полуконтролируемое обучение с категориальными порождающими состязательными сетями. arXiv: 1511.06390 [cs, stat], апрель 2016 г. Препринт arXiv. arXiv: 1511.06390 [stat.ML]. Итака, Нью-Йорк: Университетская библиотека Корнелла.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.