2. Overview on Federated Learning Federated Learning (FL) [
1
–
3
] is a ML framework used to train an
algorithm across multiple decentralized edge devices, where each of
them holds its own local data samples. This approach arose in 2016.
Federated learning enables multiple clients to build a robust, joint ML
model without sharing data, thus allowing to address essential issues
such as data privacy and security. The general idea of this technique
consists of a loop of local learning stages in the devices, and global
parameter aggregations in a central server in the cloud; in such a way
that the only shared information are those parameters. There is a model
shared by the clients to perform their local training, which is usually a
Deep Neural Network (DNN). The most popular federated algorithm is
Federated Averaging (FedAvg) [
11
].
There are some key components in standard federated settings. The
parameters 𝑤 ∈ 𝑊 of the model are initialized on the server, so
that every participant 𝑖 ∈ {1, … , 𝑛} = 𝑁 starts the training stage at
a common point. This is crucial for convergence purposes. In each
federated round 𝑟, a random subset of clients, 𝑖 ∈ 𝑁 𝑟 ⊆ {1, 2, … , 𝑛}
, of
size
|𝑁 𝑟 |, is selected. Those devices receive the current parameter set
from the server, 𝑤 𝑟 𝐺 , perform stochastic gradient descent (SGD) on their
local datasets, 𝐷 𝑖 ⊂ 𝑋 ×𝑌 , and send back the updated parameters, 𝑤 𝑟 +1
𝑖 .
Federated learning is typically deployed in a supervised setting, where
the data samples (𝑥, 𝑦) ∈ 𝐷 𝑖 consist of a pair of input data 𝑥 ∈ 𝑋 and its
correspondent output 𝑦 ∈ 𝑌 . After performing local training, the local
results are aggregated in the server to update the model parameters
and start the next round. In the particular case of FedAvg, the local
parameters from each client are aggregated applying a weighted mean,
to balance the different dataset sizes: