VAT = Virtual Adversarial Training
Paper: https://arxiv.org/abs/1704.03976
"Virtual Adversarial Training: A Regularization Method for Supervised and Semi-Supervised Learning". Takeru Miyato, Shin-ichi Maeda, Masanori Koyama, Shin Ishii
See mnist.py for an example of how to use the models defined in model.py