Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mitigating Group Bias in Federated Learning for Heterogeneous Devices

ArXiv
License

A privacy-preserving, group-fair federated learning framework that mitigates bias arising from feature heterogeneity across edge devices by leveraging multiplicative-weights updates with regularization and performance thresholds.


Table of Contents

  1. Introduction
  2. Installation & Prerequisites
  3. Data Preparation
  4. Configuration
  5. Usage
  6. Experiments & Results
  7. Citation

Introduction

Federated learning enables decentralized model training on heterogeneous edge devices without sharing raw data, preserving user privacy while aggregating local updates into a global model. However, variation in device quality and sensing environments introduces feature heterogeneity, causing global models to underperform on groups with noisier data and perpetuate bias.

We introduce a Multiplicative Weights update with Regularization (MWR) framework that:

  • Computes privacy-preserving group importance weights via average conditional probabilities across clients.
  • Applies a modified multiplicative-weights algorithm with an L1 regularizer to prevent weight explosion and improve worst-group performance.
  • Enforces a performance threshold on the best-performing group to avoid degrading high-accuracy groups.
  • Demonstrates superior worst-group true-positive-rate gains (up to +41%) on CIFAR-10, MNIST, Fashion-MNIST, USPS, SynthDigits, and MNIST-M without significant loss in overall accuracy.

Installation & Prerequisites

  1. Clone the repository
    git clone https://github.com/emtechlab/mitigating-group-bias-in-fl.git
    cd mitigating-group-bias-in-fl
    
  2. Create and activate a virtual environment
    python3 -m venv venv
    source venv/bin/activate    # on Linux/macOS
    
  3. Install required packages
    pip install -r requirements.txt
    

Usage

  1. Training
    cd src/
    ./run.sh
    

The training outputs—model checkpoints, logs, and evaluation metrics—will be saved in the evaluation/ directory at the project root (e.g. ../evaluation/).

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages