Skip to content
/ SP22 Public

Membership Inference Attack on Federated Learning

License

Notifications You must be signed in to change notification settings

MIA-FL/SP22

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository is to provide code and data

Supplementry data viewer - https://mia-fl.github.io/MIA-FL/


Code Handbook


File structures

Backbone files

These files provides the core functionality in the experiment setting

  1. aggregator.py - The aggregator collects and calculate the gradients from participants
  2. constants.py - All hyper-parameters
  3. data_reader.py - The module loading data from data set files and distribute them to participants
  4. models.py - The participants, global model, and local attackers
  5. organizer.py - The module setting up different experiments

Experiment runnable

These files are the runnable experiment files calling above backbone files

  1. blackbox_agr_op.py
  2. blackbox_agr_optimized.py
  3. blackbox_baseline.py
  4. blackbox_optimized.py
  5. blackbox_starting_baseline.py
  6. grey1_baseline_texas_trmean.py
  7. greybox_I_baseline_misleading.py
  8. greybox_I_baseline.py
  9. greybox_II_baseline.py
  10. greybox1_starting_baseline.py
  11. optimized_greybox1.py
  12. whitebox_global_non_target_starting_baseline.py
  13. whitebox_global_non_targeted_baseline.py
  14. whitebox_global_target_starting_baseline.py
  15. whitebox_global_targeted_round_robbin_shadow_ver.py
  16. whitebox_global_targeted_round_robbin_starting_point_baseline.py
  17. whitebox_global_targeted_round_robbin.py
  18. whitebox_local_baseline.py
  19. whitebox_local_optimized.py
  20. whitebox_local_targeted_baseline.py

Setup

The dataset_purchase.tgz need to be extracted as 'dataset_purchase' before running


Constant List

Key constants

  1. DEFAULT_SET
    • The chosen dataset to run experiments
    • Available values
      1. PURCHASE100
      2. CIFAR_10
      3. LOCATION30
      4. TEXAS100
      5. GNOME
  2. DEFAULT_AGR
    • The chosen robust aggregation mechanisms to defend malicious updates
    • Available values
      1. TRMEAN = "Trimmed Mean"
      2. KRUM = "Krum"
      3. MULTI_KRUM = "Multi-Krum"
      4. MEDIAN = "Median"
      5. FANG = "Fang"
      6. None (Please use the python reserved None value)
  3. NUMBER_OF_PARTICIPANTS: The number of participants involved in federated learning process
  4. NUMBER_OF_ADVERSARY: The number of adversary involved in attack experiments, the adversary is in a DISJOINT set with participants
  5. MAX_EPOCH: The overall rounds of federated training for the current experiment
  6. TRAIN_EPOCH: The overall rounds of deferated training without malicious updates. In other words, the number of training rounds that the adversary waits the model to converge
  7. EXPERIMENTAL_DATA_DIRECTORY: The directory to store experiment data, it must be a existing directory
  8. GLOBAL_SEED: The random seed used

About

Membership Inference Attack on Federated Learning

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages