Skip to content

kimiyoung/ssl_bad_gan

Repository files navigation

Good Semi-Supervised Learning that Requires a Bad GAN

This is the code we used in our paper

Good Semi-supervised Learning that Requires a Bad GAN

Zihang Dai*, Zhilin Yang*, Fan Yang, William W. Cohen, Ruslan Salakhutdinov (*: equal contribution)

NIPS 2017

Requirements

The repo supports python 2.7 pytorch 0.1.12. To install pytorch 0.1.12, run conda install pytorch=0.1.12 cuda80 -c soumith.

Get Pretrained PixelCNN Model

mkdir model
cd model
wget http://kimi.ml.cmu.edu/mnist.True.3.best.pixel

Run the Code

To reproduce our results on MNIST

python mnist_trainer.py

To reproduce our results on SVHN

python svhn_trainer.py

To reproduce our results on CIFAR-10

python cifar_trainer.py

Results

Here is a comparison of different models using standard architectures without ensembles (100 labels on MNIST, 1000 labels on SVHN, and 4000 labels on CIFAR):

Method MNIST (# errors) SVHN (% errors) CIFAR (% errors)
CatGAN 191 /- 10 - 19.58 /- 0.46
SDGM 132 /- 7 16.61 /- 0.24 -
Ladder Network 106 /- 37 - 20.40 /- 0.47
ADGM 96 /- 2 22.86 -
FM 93 /- 6.5 8.11 /- 1.3 18.63 /- 2.32
ALI - 7.42 /- 0.65 17.99 /- 1.62
VAT small 136 6.83 14.87
Ours 79.5 /- 9.8 4.25 /- 0.03 14.41 /- 0.30

About

Good Semi-Supervised Learning That Requires a Bad GAN

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages