Skip to content

valerizabby/DCGAN-pokegen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 Cannot retrieve latest commit at this time.

History

13 Commits
 
 
 
 
 
 

Repository files navigation

DCGAN-pokegen

Решение задачи генерации новых покемонов с помощью модели из класса архитектур DCGAN.

Data preprocessing

Датасет с Kaggle. Имеем 2500 чистых картинок покемонов. Это не очень много, поэтому саугментируем данные и понадеемся, что это улучшит перфоманс модели.

  • Поиграемся с цветами с помощью color_jitter
  • Сделеаем elastic_transform

Так же обрежем все фото до 64 × 64 пикселей и отнормализуем в отрезок [ 1 , 1 ] и так же понадеемся, что это улучшит перфоманс по сравнению с [ 0 , 1 ] .

Итак, мы увеличили датасет в 3 раза.

Model

Класс архитектур DCGAN основан на наборе принципов, таких как:

  • Замена pooling слоев на пошаговые свертки
  • Использование пакетной нормализации в генераторе и дискриминаторе
  • ReLU на всех слоях генератора, кроме выходного (там tanh)
  • LeakyReLU на всех слоях дискриминатора

В этой работе используются следующие архитектуры:

Diskriminator Generator
disk gen

Training

В обучении используется BCE Loss и Adam Optimizer с параметрами betas = (0.5, 0.9) (GAN-ы из-за специфики обучения крайне чувствительны к гиперпараметрам). Обучим модель два раза на 50 и 100 эпох соответственно. Гифки с процессом обучения:

50 epochs 100 epochs
50 100
learning rate = 0.00275 learning rate = 0.0028

Tensor Board

Процесс обучения (лоссы и скоры) сохраняются в Tensor Board, результаты можно посмотреть по ссылкам для 50 эпох и 100 эпох.

Pretrained models

Обученные модели можно скачать по ссылке. В конце ноутбука есть функция download_file_from_google_drive(id, destination), которая импортирует предобученные модели.

Summary

DCGAN довольно старый класс архитектур (2016 г), в нем используются устаревшие идеи, поэтому получить крутой перфоманс не получится. Среди таких идей, например, использование пошаговых сверток и pooling слоев. Так как в этой задаче используются фотографии в низком разрешении ( 64 × 64 пикселей) эти слои приводят к потере "мелких" признаков и ухудшению признаковых представлений картинок (источник).

References

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published