This project implements an adversarial framework to debias deep learning models for multiple sensitive attributes/confounding attributes using gradient reversal and a dynamic loss balancing technique. The approach achieves a fairer model that shows less disparity amongst minority subgroups.
- Adversarial debiasing framework
- Gradient reversal technique
- Dynamic loss balancing
- Support for multiple sensitive attributes
- Improved fairness for minority subgroups
This project uses a requirements.txt file for package management and a setup.py file for installation. To set up the project:
- Clone the repository: git clone https://github.com/JVedant/Inprocessing-debiasing-methodology-for-multiple-sensitive-attributes.git
- cd Inprocessing-debiasing-methodology-for-multiple-sensitive-attributes
- Run the setup script: python setup.py install
To get started with the project:
-
Navigate to the source directory: cd Inprocessing-debiasing/src
-
Run the main script to train the model: python main.py
The project structure includes the following key files:
config.py: Configuration settingsdataset.py: Dataset handlinginference.py: Inference functionslosses.py: Loss functionsmain.py: Main script to run the training processmodels/debias_models.py: Debiasing model implementationstraining.py: Training functionsvalidation.py: Validation functions
Contributions to improve the project are welcome. Please feel free to submit a Pull Request.
[Vedant Joshi] [vedantjoshi@asu.edu]