Privacy-Preserving Federated Learning Applied to Decentralized Data
federated
federated is the source code for the Bachelor’s Thesis.
Privacy-Preserving Federated Learning Applied to Decentralized Data (Spring 2021, NTNU)
Federated learning (also known as collaborative learning) is a machine learning technique that trains an algorithm across multiple decentralized edge devices or servers holding local data samples, without exchanging them. In this project, the decentralized data is the MIT-BIH Arrhythmia Database.
Features
- ML pipelines using centralized learning or federated learning.
- Support for the following aggregation methods:
- Federated Stochastic Gradient Descent (FedSGD)
- Federated Averaging (FedAvg)
- Differentially-Private Federated Averaging (DP-FedAvg)
- Federated Averaging with Homomorphic Encryption
- Robust Federated Aggregation (RFA)
- Support for the following models:
- A simple softmax regressor
- A feed-forward neural network (ANN)
- A convolutional neural network (CNN)
- Model compression in federated learning.
Installation
Prerequisites