Adversarial training architecture