Skip to content

Yet another (very simple) approach for adversarial training.

License

Notifications You must be signed in to change notification settings

arogozhnikov/DeepMMD-GAN

Repository files navigation

DeepMMD-GAN

Yet another (very simple) approach for adversarial training.

  • GANs are adversarial networks, no need to introduce those.

  • MMD is maximum mean discrepancy (see e.g. this presentation by A. Smola), it is based on a very simple idea of how to detect difference between distributions.

    A decade ago MMD was very popular, notable property of MMD (compared to other tests) is that it works well with kernels.

MMD was already combined with GANs, see e.g.

In my experiments something closer to traditional GANs was considered, because "discriminator" tries to find an appropriate mapping to maximize MMD.

Technical details

Using pytorch for implementation, I am building upon DCGAN (official implementation from pytorch repo).

Discriminator also contains BatchNormalization at the last layer to ensure the scale of output, that's quite critical, as otherwise you can scale output to get enormous MMD.

Probably, it is among shortest implementations of GANs.

Results and observations

I haven't done much tuning, but here what was found

  • I have observed no divergences when experimenting, things are rather stable (at the same time at 64*64 definitely buggy fake pictures are appearing)
  • quality of produced images isn't awesome, though comparable with other approaches
  • results for different sizes of projections (2 ** 8 to 2 ** 15) aren't very different, while latter are quite slow and slightly worse (this was removed from the final version)

About

Yet another (very simple) approach for adversarial training.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published