This project demonstrates federated learning applied to the MNIST and CIFAR-10 datasets. Federated learning is a machine learning approach where multiple parties collaboratively train a model without sharing their data with each other. In this project, we use the MNIST and CIFAR-10 datasets to illustrate federated learning techniques.
-
TensorFlow Utilization: This project extensively utilizes TensorFlow for implementing federated learning. TensorFlow's powerful capabilities are harnessed for crafting complex neural network architectures, optimizing algorithms, and streamlining data preprocessing workflows.
-
Approach: The initial step involved in this project is constructing the foundational architecture for federated learning across multiple client nodes. Rigorous evaluation is conducted on both independent and non-independent identically distributed (iid) datasets to gauge efficacy.
-
Improvement Strategies: To enhance model accuracy, two key strategies are pursued. Firstly, a warm-up training phase is implemented to stabilize model convergence. Secondly, facilitation of knowledge sharing among clients is achieved by distributing a curated set of iid datasets. These interventions significantly bolster the overall accuracy and robustness of the models.
Contributions are welcome! If you want to contribute to this project, please fork the repository, make your changes, and submit a pull request. Before making significant changes, please open an issue to discuss the proposed changes.