AIF360/aif360/algorithms/inprocessing/adversarial_debiasing.py at main · Trusted-AI/AIF360
algorithmic-fairnessadversarial-trainingbias-mitigationtensorflow
Abstraction: In-processing adversarial debiasing classifier for fairness
Key points:
AdversarialDebiasingclass (in IBM AIF360) trains a classifier to maximize accuracy while an adversary tries to predict protected attributes from classifier predictions- Gradient projection removes adversary gradient component from classifier update, then subtracts
adversary_loss_weight * adversary_grad(default 0.1) - Built on TensorFlow v1 (graph mode only; raises
RuntimeErrorin eager execution) - Architecture: one hidden layer (200 units, ReLU, dropout) classifier; adversary uses 3-feature sigmoid input conditioned on true label
- Exponential learning rate decay (0.001 start, factor 0.96 per 1000 steps) with Adam optimizer
- Based on Zhang, Lemoine, and Mitchell 2018 AAAI/ACM AI Ethics paper "Mitigating Unwanted Biases with Adversarial Learning"
Connections: Aif360 · Ibm · Algorithmic Fairness · Adversarial Training · Bias Mitigation
Source: https://github.com/IBM/AIF360/blob/master/aif360/algorithms/inprocessing/adversarial_debiasing.py