This project demonstrates an experiment in Federated Learning using the Flower framework, incorporating sample-level Differential Privacy and enabling Secure Aggregation through the SecAgg+ protocol. The experiment is conducted on the MedMNIST dataset collection.
This work builds upon concepts presented in our paper "Towards Privacy-Preserving Medical Imaging: Federated Learning with Differential Privacy and Secure Aggregation Using a Modified ResNet Architecture" accepted at the NeurIPS 2024 Workshop. Read the paper here.
This project is built and tested on Python 3.8.10.
In the project's main directory, run the following commands to create a virtual environment and install the required packages:
python -m venv envsource env/bin/activatepython -m pip install .-
Local Differential Privacy (LocalDP):
- Differential privacy is implemented using Flower's LocalDpMod.
-
Secure Aggregation (SecAgg+ Protocol):
- The SecAgg+ protocol is implemented via Flower's secaggplus_mod.
-
Easy Parameter Control:
- Parameters related to federated learning settings and the SecAgg+ protocol can be controlled from the
pyproject.tomlfile.
- Parameters related to federated learning settings and the SecAgg+ protocol can be controlled from the