Collaborative Learning – Federated Learning
The field of data science has seen major developments in the span of the last 5 years. Many algorithms and many new methods have been put forth through various researches in the domain of Machine Learning and Deep Learning. Taking into consideration the pandemic there have been major developments happening in these areas. The COVID-19 has forced everyone to go digital and do their work online. This involves a lot of data transfer and hence the surge for the new developments in artificial intelligence. Machine Learning has been in the talks since the math behind the algorithms is not that complex in some cases and some algorithms have very small codes that can be executed by a majority of the people coming into this domain.
Recently in the year 2017, there has been a key development of the concept of federated learning. This concept was coined by Google AI through its blog post. Since then, this method/terminology has been very popular. The title for the blog post was Federated Learning: Collaborative Machine Learning without Centralized Training Data. Through the time since then, there has been more researches and developments happening on this. In this article, we will simplify this term and understand what exactly is Federated Learning in simple terms and also will see a real-life application where this is actually present in the backend. We will also try to skim through some of the benefits of the same. Yet there is ongoing research in this area since this concept is relatively new and has a lot more advancements to follow.
What is Federated Learning in simple terms?
To state a technical definition, I would say federated learning is to help learn a shared prediction model while maintaining all the training data on the device (mobile phone here specifically). This concept is purely based on Machine Learning. To be more specific it caters to mobile devices. We know that to perform modelling through a machine learning algorithm we need a sufficient amount of data to get the right prediction accuracy and then to implement it into production. Federated learning is a concept that eliminates the issue of storage of large training data. Data is stored at multiple locations. These locations are nothing but our devices.
So, let us understand it in a more detailed manner:
- Step 1: The particular device will download the current model.
- Step 2: The data in the mobile will be appended and the model would make improvements.
- Step 3: The model changes are summarized as an update and communicated to the cloud. This communication is encrypted.
- Step 4: On the cloud, there are many updates coming in from multiple users. These all updates are aggregated and the final model is built.
So, all there is no huge amount of data being uploaded on the cloud and then a model is trained. Instead, here the trained data resides within your own smartphone/mobile device.
Real-Life Application of Federated Learning:
So everyone is familiar with the Google Keyboard. How does it give us accurate suggestions when we are searching? So, let us take an example. You want to eat a pizza and are searching for a good restaurant. You know 2-3 restaurants. So, when you search those their names are captured and saved in the backend. Federated Learning comes into the role at this point. It takes up your data which is present in history. After that, the above-mentioned steps are followed in chronological order.
Benefits of Federated Learning:
- Less Power Consumption
- Ensures Privacy
- Doesn’t Interfere with the device performance.
So, when the device is idle this federated learning system is into motion. It is the best time since there is minimal interaction of the user with the device and also the performance of the phone is not affected.
Federated Learning is not a one-stop solution to all the existing machine learning problems. There is ongoing research in this area. This method put forth into the Machine Learning community has brought a different kind of revolution in Data Science.