Federated learning, or collaborative learning, is a collaborative machine learning method that operates without changing original data. Unlike standard machine learning approaches that require centralising the training data into one machine or datacentre, federated learning trains algorithms across multiple decentralised edge devices or servers. This learning technique enables mobile phones to learn a shared prediction model while keeping the training data on the device itself and without having to store data in the cloud.
Today, we list down ten resources that will help you learn about federated learning.
Federated learning using PyTorch: Udemy
Created by ML enthusiast Mohamed Gharibi, this course on Udemy is targeted towards all federated learning enthusiasts. It takes the approach of looking at original papers’ techniques and algorithms and ultimately implementing federated learning techniques, including FedAvg, FedProx, FedDANE, and FedSGD.
Additionally, it provides an introduction to deep learning, neural networks, PySyft, and differential privacy. It teaches learners to build neural networks from scratch, implementing FedAvg using differential privacy and FedAvg on cloud, loading datasets in IID and non-IID.
After completing this course, students will be able to implement different federated learning techniques and build their own optimiser and techniques. This Udemy course is split into six sections across 32 lectures. The prerequisites include knowledge of the Python programming language. To know more about the content of the course, click here.
Advanced Deployment Scenarios with TensorFlow: Coursera
Offered by DeepLearning.AI, this course is delivered by Lead AI Advocate at Google, Laurence Moroney. Although this intermediate-level course focuses on TensorFlow, the instructor dives deep to explore federated learning and how one can retain deployed models with user data while maintaining data privacy.
The module consists of an introduction by Andrew Ng, followed by training on mobile devices, data at the edge, explaining how federated learning works, maintaining user privacy, masking, and finally. APIs and examples of federated learning. At the end of the federated learning module, the learner needs to take a quiz. The course approximately takes 13 hours to complete. To know more about the syllabus and enrollment options, click here.
Federated Learning – Synthesis lectures on Artificial Intelligence and Machine Learning
Authored by Qiang Yang, Yang Liu, Yong Cheng, Yan Kang, Tianjin Chen and Han Yu, this book on federated learning provides consolidated information on federated learning. Spread across eleven chapters, this book trains readers to collaboratively train and use shared prediction models while keeping local training data private. The book primarily focuses on the European Union’s General Data Protection Regulation as a prime example.
The authors define different types of privacy-preserving machine learning solutions and their technical backgrounds. Additionally, they highlight representative practical use cases while emphasising how federated learning can become the next-generation machine learning to cater to responsible AI development and application needs. The book is available on Amazon.
Federated Learning for image classification: TensorFlow
In this tutorial by TensorFlow, one will learn how to:
- Prepare the input data — exploring heterogeneity in federated data and processing the input data
- Create a model with Keras
- Training model on federated data
- Displaying model metrics in TensorBoard
- Customising model implementation — defining model variables, forward pass and metrics, constructing an instance of tff.learning.model, and simulating federated training with a new model
The tutorial uses classic MNIST training examples to introduce a federated or collaborative learning API layer of TFF — a set of higher-level interfaces that can be used to perform tasks such as federated training against user-supplied models implemented in TensorFlow.
Get hold of the tutorial on TensorFlow here.
Federated Learning with Keras
Available on Paper Space, this blog post is written by AI/ML engineer and technical writer Ahmed Fawzy Gad. It provides comprehensive and structured content for users wanting to learn federated learning with Keras. Its covers the following topics:
- Review of Federated Learning
- Getting started with Federated Learning
- Training the data
- Building the Keras model
- Building population of solutions
- Listening to connections at the server
- Server reply to client request
- Client behaviour
Federated Learning using PyTorch and PySyft: LearnOpenCV
This blog post by Jatin Prakash on LearnOpenCV is suitable for beginners who are just starting their journey with Federated Learning. After the initial introduction to federated learning and talking about why it is crucial, more than ever, the author dives into explaining the concept using PyTorch and PySyft. Additionally, it provides learners with the necessary codes for a quick head start.
Towards the end of the post, the author provides real-life examples of federated learning to make the topic more relatable and interesting to the learner. Access the blog post here.
While these resources will help you kick start your journey with federated learning, it is also essential to understand why this machine learning method is suddenly becoming so popular.
And, to get an understanding of a real-life scenario, you might want to take a look at how Apple leverages federated learning to make its devices safer.