Gerando novos personagens com uma DCGAN

.

Este notebook é parte do trabalho pixel sides. Ele descreve um experimento de criação de uma rede generativa adversarial convolucional profunda (DCGAN) para gerar novas imagens de personagens em pixel art dado o conjunto de dados TinyHero.

Carregando o dataset

Criando o dataset a partir das imagens nos diretórios especificados acima:

Gerador

A rede geradora foi criada como uma sequência de 3 "deconvoluções" com normalização em batch para auxiliar com a possibilidade de problemas de vanishing gradients e ativação com LeakyReLU. Ele recebe um vetor de ruído com 100 valores entre $\{-1, +1\}$ sorteados com distribuição normal centralizada em $0$.

A ativação da última camada usa tangente hiperbólica para gerar números entre $\{-1, +1\}$.

Discriminador

A rede discriminadora é uma rede neural convolucional com 2 sequências de camadas de convolução e max pooling e uma final totalmente conectada. A ativação usada também é LeakyReLU e para regularização foi usada a técnica dropout com probabilidades baixas.

Treinamento

A seguir, algumas configurações do treinamento e avaliação:

Dá início ao treinamento:

Mostra o erro do discriminador e do gerador ao longo das épocas:

Exibe algumas imagens e gera uma animação ao longo das épocas:

center