mounishvatti / FedCustom

Comparing centralised machine learning and federated learning using flower framework. Building a custom strategy over the base FedAvg called FedCustom which has a higher learning rate and several other hyper parameters to increase the accuracy.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Federated Learning

This repository explores the concept of Federated Learning and compares it with traditional machine learning techniques using the Flower framework. The main focus is on demonstrating the differences between these two approaches through practical implementations and analysis.

Open In Collab

Screenshot 2024-04-15 at 7 39 13 PM

Table of Contents

Introduction

Federated Learning is a decentralized machine learning approach that enables model training across multiple devices or servers holding local data samples without exchanging them. This technique offers privacy benefits as it allows training models without centralizing data.

Traditional machine learning techniques, on the other hand, typically involve centralizing data on a single server or location for training. This approach may raise privacy concerns and scalability issues, especially when dealing with large datasets or sensitive information.

In this repository, we delve into implementing Federated Learning using the Flower framework and compare its performance with traditional machine learning techniques.

Comparison

Feature Traditional ML Federated Learning
Data Centralization Centralized Decentralized
Privacy Concerns Enhanced
Scalability Limited Improved
Communication Overhead High Low
Data Dependency High Low

Tech Stack

  • Google Colab: A cloud-based platform for executing Python code with access to GPUs and TPUs.
  • Python: Programming language used for implementing machine learning models and scripts.
  • Flower Framework: An open-source framework for federated learning.

Our hybrid framework

image

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests to improve this project.

Results

Methodology Accuracy in (%) Model used
Centralized Approach 98.5 CNN
FedAvg 95.4 Logistic Regression + 2 Layer CNN
FedCustom (Hypertuned) 98.24 Custom Hypertuned FedAvg

License

This project is licensed under the MIT License.

References

@article{beutel2020flower,
  title={Flower: A Friendly Federated Learning Research Framework},
  author={Beutel, Daniel J and Topal, Taner and Mathur, Akhil and Qiu, Xinchi and Fernandez-Marques, Javier and Gao, Yan and Sani, Lorenzo and Kwing, Hei Li and Parcollet, Titouan and Gusmão, Pedro PB de and Lane, Nicholas D},
  journal={arXiv preprint arXiv:2007.14390},
  year={2020}
}

About

Comparing centralised machine learning and federated learning using flower framework. Building a custom strategy over the base FedAvg called FedCustom which has a higher learning rate and several other hyper parameters to increase the accuracy.

License:MIT License


Languages

Language:Jupyter Notebook 100.0%