AdvX-MultVAE - Simultaneous Unlearning of Multiple Protected User Attributes From Variational Autoencoder Recommenders Using Adversarial Training
Source code corresponding to the paper:
Escobedo, G, Ganhör, C., Brandl, S., Augstein, M., and Schedl, M. Simultaneous Unlearning of Multiple Protected User Attributes From Variational Autoencoder Recommenders Using Adversarial Training, Proceedings of the 5th International Workshop on Algorithmic Bias in Search and Recommendation (BIAS @ SIGIR 2024), Washington D.C., USA, July 2024.
First you should install advx-multvae in a python environment. Please follow the detailed instructions in the folder advx-multvae
.
After that the notebooks in advx-multvae/notebooks/data-preparation/
should be executed to generate the datasets
,this will generate several files. The splitting process for training is done automatically, once the experiments start. Please customize the data urls for saving the resultant files and also include them in the advx-multvae/data_paths.py
file.
The folder configs
contains all the configuration of our experiments :
Lfm-2b-100k:
- ./lfm-gender-age-atk.yaml
- ./lfm-gender-age.yaml
ml-1m:
- ./ml-gender-age.yaml
- ./ml-gender-age-atk.yaml
The execution of our experiments can be reproduced de by executing the files in the scripts
folder :
> cd scripts
> conda activate <envnname>
> . ml-gender-age_run_train_atk.sh
> . lfm-gender-age_run_train_atk.sh
These scripts will execute the train and attack phases
In order to obtain the test results of the pre-trained recommendation models, in the file predict_sample.sh
replace the --experiment
parameter with the corresponding results folder:
> cd scripts
> . predict-sample.sh
You can also examine results by pointin your tensorboard logdir to your experiments folder
> tensorboard --logdir="/results/<dataset_name>/vae--YYYY-MM-DD_HH-mm-SS"