Federated learning
What is Federated learning?
Federated learning is a machine learning technique that trains an algorithm across multiple decentralized edge devices or servers holding local data samples, without exchanging them. This approach stands in contrast to traditional centralized machine learning techniques where all the local datasets are uploaded to one server, as well as to more classical decentralized approaches which often assume that local data samples are identically distributed.
The animation above illustrates the steps invloved in the federated learning approach which are as follows:
- At first the model parameters of the global model are used are used as an initial state by clients.
- Now the clients train their local model with their respective local data.
- After that the new model parameters obtained from all the clients are aggregated using various aggregation strategies
- The final aggregated model parameters are given back to the central server.
- This process is repeated iteratively untill a pre-defined criteria is met (e.g. a maximum number of iterations is reached or the model accuracy is greater than a threshold).