Federated Learning
Federated Learning is a procedure for training a Machine Learning model using data from decentralized locations while keeping such data decentralized. It is mainly used when data from various locations cannot be shared due to privacy restrictions. When an orchestrating server is available, a typical algorithm is as follows. First, a global model is initialized on the server. Then the following steps are repeated until the global model converges: (1) a subset of clients receive the global model weights; (2) local models on the selected clients are trained for some epochs using local data; (3) the global model is updated with weights from the selected clients.