This is a pytorch implementation of Deep-INFOMAX.
original paper : Learning deep representations by mutual information estimation and maximization.
pytorch. model definition and training script only without clustering example. our code is mainly based on this repository. Thanks!
chainer. model definition and traning script with (knn?) clustering example on CIFAR10. Better documentation.
instead Adversarial training, this blog implements gaussian distribution as prior (similar to VAE). worth a try.
after training 100 epochs with Adam(lr=1e-4)
, we see that the encoder is able to distinguish "animals" and non-living things. (among 100 test images)
top row : selected image; middle row : top 10 images with smallest L1 loss; bottom row : top 10 images with largest L1 loss.