Semi-supervised learning and GAN