Disentangling factors of variation in deep representation using adversarial training