So far, I thought federated learning works like this:
All clients have the same machine learning model (if not personalized). They have their unique data and then train this model (e.g., neural network) with their data. Then, they have a new matrix of neural network weights.
They then either share the new matrix completely with the server, or at least the changed matrix parameters.
However, in a recent post of mine, a user said:
it looks like you might also seem to think that final parameters are the things communicated upstream in federated learning. This isn't the case, it's gradient updates which go upstream.
I don't quite understand what the difference is - a neural network consists of one or several weight matrix/matrices, so this should be shared, not?