Улучшенное обучение WGAN-GP с использованием наборов данных изображений открытых улиц дает плохие результаты

Я реализовал алгоритм Улучшенный WGAN-GP с использованием keras. Используемый набор данных представляет собой изображения открытой сети улиц в оттенках серого.

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

Epoch 466/2000 :
     Batch 1/4 g loss | d loss : 104.06207 | -4.226562038064003 [-2.113281, 104.71014, -106.92572, 0.102302775] - Batch run time : 4.135012865066528 s.
     Batch 2/4 g loss | d loss : 94.39241 | -4.960913240909576 [-2.4804566, 91.04619, -93.64499, 0.11834401] - Batch run time : 6.0274436473846436 s.
     Batch 3/4 g loss | d loss : 92.28177 | -3.1542448699474335 [-1.5771224, 87.14488, -88.7628, 0.0407975] - Batch run time : 4.139840841293335 s.
     Batch 4/4 g loss | d loss : 126.10479 | -4.55475278198719 [-2.2773764, 116.78906, -119.262726, 0.19628696] - Batch run time : 1.2910008430480957 s.
Saving models ...
Epoch 467/2000 :
     Batch 1/4 g loss | d loss : 117.81751 | -4.348973780870438 [-2.1744869, 114.43104, -116.91664, 0.31111643] - Batch run time : 4.134741544723511 s.
     Batch 2/4 g loss | d loss : 112.36156 | -4.238630764186382 [-2.1193154, 111.77963, -113.97125, 0.072304495] - Batch run time : 6.4081127643585205 s.
     Batch 3/4 g loss | d loss : 112.64513 | -4.389123365283012 [-2.1945617, 110.87658, -113.19942, 0.12827618] - Batch run time : 4.130998611450195 s.
     Batch 4/4 g loss | d loss : 129.88966 | -4.145997077226639 [-2.0729985, 124.60733, -126.95893, 0.2786021] - Batch run time : 1.3250582218170166 s.

Пожалуйста, проверьте суть моего реализованного алгоритма здесь, и можно найти набор данных, использованный для моего обучения здесь

Моей конечной целью было сгенерировать изображения с разрешением до 512 или 1024 (не уверен, возможно ли это с помощью алгоритма WGAN-GP), однако сначала я запустил этот алгоритм для 256 x 256, но не смог дать хороших результатов.

PFA - образец результата после 2000 итераций. Это изображение в виде сетки 8x4, показывающее результаты пакета размером 32.  введите описание изображения здесь

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

TIA.


person Bhavya Latha Bandaru    schedule 24.07.2019    source источник


Ответы (1)


Ищите коллапс режима, настраивайте также скорость обучения, количество шума и распределение шума, оптимизаторы. Есть способы преодолеть коллапс режима. См. Специальные слайды 37 и 38, Советы и приемы по обучению GAN. Генеративные состязательные сети

  • Нормализовать данные (-1,1)
  • Выход генеративной нейронной сети: tanh
  • Выборка из гауссовского распределения вместо нормального распределения
  • Мини-партии
  • Использовать пакетную нормализацию
  • Используйте оптимизатор Adam в генераторе
  • Использовать SGD в дискриминаторе
  • Добавить отсев в генераторе
person razimbres    schedule 24.07.2019
comment
Привет, @Rubens, спасибо за быстрый ответ. Я столкнулся с проблемой коллапса режима с DC-GAN, поэтому я обновил его до WGAN-GP, упомянутого выше. Я последовал всем вышеперечисленным советам, за исключением использования SGD в качестве дискриминатора (поскольку предлагаемая архитектура рекомендует Адама как для критика, так и для генератора) - person Bhavya Latha Bandaru; 24.07.2019
comment
Привет @Bhavya, вы используете KL Divergence в убытках? - person razimbres; 24.07.2019
comment
Я использую потерю Вассерштейна и потерю WGAN-GP - person Bhavya Latha Bandaru; 25.07.2019