A training method where one part tries to break the model (maximization) while another part fixes it (minimization) to build robustness.