generative-adversarial-networkdcgan

Difference between simple GAN and DCGAN


I'm exploring Generative Adeversarial Networks (GAN's), which i use for several tasks not only image generation.

The Deep Convolutional GAN (DCGAN) is another approche of GAN that is specially used for image data, the particulatity of DCGAN's is that they use convolution layers in the discriminator and transpose convolution layers for the generator.

In my application i use convolution layers in the discriminator but rather than using transpose convolution for the generator i used a simple convolution.

The question is, since i don't use transpose convolution, am i currently using a simple GAN or a DCGAN

Thanks in advance for your answers, and have a nice day


Solution

  • GAN consists of two components:

    These two playing the game, each time forger try to make something up, harder to be distinguishable in the ins[ector eyes. Each time Inspector succeeds to detect the forger, that is a lesson for the forger to learn why got caught and next time cover himself/herself/itself better.

    Long story short, this game is called GAN! How you implement it, and choosing the architectures, is actually your choice. DCGANs in my understanding, use deep conv nets for the generator part (The forger). It is not really about using ConvTranspose, or normal convs.

    For the inspector also, you do not really have to implement it as a discriminator. For example, WGANs are shown to be efficient using Earth-mover metrics instead of a classification loss.

    However, these are my opinion and my understandings, might not be 100% correct. Good luck