Връзка към хартията

Принос

  1. Този документ представя версия на GAN, наречена Deep Convolutional Generative Adversarial Networks (DCGAN), която е стабилна за обучение в повечето настройки.
  2. Този документ също така показа, че генераторите имат векторни аритметични свойства, които позволяват лесно манипулиране на изображения.

Заден план

  1. GAN: Направете справка тук
  2. Конволюционна невронна мрежа: Конволюционната невронна мрежа (CNN) е клас от дълбоки изкуствени невронни мрежи с по-нататъшно предаване, които най-често се прилагат за анализиране на визуални изображения.
  3. Пакетно нормализиране: Пакетното нормализиране помага за стабилизиране на обучението чрез нормализиране на входовете към всяка единица, за да има нулева средна стойност и дисперсия на единица.
  4. Активиране на ReLU: ReLU (ректифицирана линейна единица) е функция за активиране, където f(x)=0 за x‹0 и f(x)=x за x›=0.
  5. Активиране на LeakyReLU: LeakyReLU е функция за активиране, където f(x)=⍺x за x‹0 и f(x)=x за x›=0. Тук ⍺ се нарича изтичане и помага да се увеличи обхватът на функцията ReLU.
  6. Отпадане: Отпадането се отнася до отпадане на единици от слоевете в невронната мрежа. Това се прави за намаляване на пренастройването на невронните мрежи.

Описание

  1. Предишни опити за подобряване на производителността на GAN за моделиране на изображения с помощта на CNN бяха неуспешни.
  2. Тази статия ни разказва за различните слоеве и активации, използвани от авторите в тяхната мрежа за успешно моделиране на разпределения на изображения.
  3. Различните настройки и хиперпараметри, използвани от авторите, и техните ефекти върху резултата, също са споменати в статията.

Методика

  1. В първия слой на генератора се подава равномерно разпределение на шумzа, който може да бъде напълно свързан слой.
  2. Този слой се използва за умножение на матрица и резултатът се преоформя в 4-измерен вектор.
  3. За дискриминатора последният слой се сплесква и след това се подава в един сигмоиден изход.
  4. Слоевете за обединяване се заменят с стъпаловидни навивки за дискриминатор и с частично стъпаловидни навивки за генератора.
  5. За да се предотврати колапс на режима, е използвана партидна нормализация.
  6. Пакетното нормализиране не се прилага към изходния слой на генератора и входния слой на дискриминатора, тъй като може да доведе до колебания на пробата, а също и до нестабилност на модела.
  7. Генераторът използва ReLU активации за всички слоеве с изключение на изхода, който използва Tanh.
  8. Дискриминаторът използва активации на LeakyReLU за всички слоеве.
  9. Отпадането беше използвано за намаляване на вероятността от запаметяване.

Експерименти

  1. DCGAN бяха обучени на три набора от данни, Large Scale Scene Understanding (LSUN), Imagenet-1K и събран набор от данни Faces.
  2. Всички изображения бяха мащабирани до обхвата на функцията за активиране на tanh [-1, 1].
  3. За обучение беше използван минипартиден стохастичен градиентен спускане (SGD) с размер на минипартида 128.
  4. Теглата бяха инициализирани с нулево центрирано нормално разпределение със стандартно отклонение от 0,02.
  5. Наклонът на теча беше зададен на 0,2 в LeakyReLU.
  6. За ускоряване на тренировъчния процес е използван Adam Optimizer.
  7. Скоростта на учене беше зададена на 0,0002 и терминът на импулса беше зададен на 0,5 за стабилизиране на обучението.

Област на приложение

  1. Генериране на изображения с по-висока резолюция
  2. Векторна аритметика може да се извърши върху изображения в Z пространство, за да се получат резултати като мъж с очила — нормален мъж + нормална жена = жена с очила.
  3. Използването на векторна аритметика може да намали количеството данни, необходими за моделиране на сложни разпределения на изображения.