Dynamic weight updates for neural networks
Apparatuses, systems, and techniques to improve federated learning for neural networks. In at least one embodiment, a federated server dynamically selects neural network weights according to one or more learnable aggregation weights indicating a contribution from each of one or more edge devices or clients during federated training according to various characteristics of each edge device or client model and training data.
1 . A computer system comprising:
one or more processors to:
determine a weighting for each of one or more sets of neural network weights stored by one or more federated learning clients based, at least in part, on respective degrees of one or more changes to the one or more sets of neural network weights resulting from one or more training operations completed by the one or more federated learning clients; and
apply the weightings to the one or more sets of neural network weights to generate one or more aggregated neural network weights to update a neural network.
2 . The computer system of claim 1 , wherein:
the one or more sets of neural network weights comprise numerical values; and
the one or more processors are to determine the weightings for one or more sets of the neural network weights using one or more aggregation values, the one or more aggregation values calculated as a result of one or more criteria applied to the one or more training operations.
3 . The computer system of claim 2 , wherein the one or more processors are to determine the weightings for one or more sets of neural network weights by selecting a first set of the neural network weights using a first aggregation value of the one or more aggregation values and selecting a second set of the neural network weights using a second aggregation value of the one or more aggregation values.
4 . The computer system of claim 2 , wherein:
the one or more processors update a neural network at least by applying the weightings to the one or more sets of neural network weights with one or more other sets of neural network weights from one or more other federated learning clients to generate the one or more aggregated neural network weights; and
the one or more aggregation values indicate how to determine the weightings for the one or more sets of neural network weights when aggregating with the one or more other sets of neural network weights.
5 . The computer system of claim 2 , wherein the one or more processors update a neural network based, at least in part, on the one or more aggregated neural network weights and distribute the updated neural network to the one or more federated learning clients.
6 . The computer system of claim 1 , wherein the one or more processors are to determine the weightings for the one or more sets of neural network weights based, at least in part, on one or more aggregation values, the one or more aggregation values determined, at least in part, as a result of one or more criteria applied to neural network training by the one or more federated learning clients to generate the one or more sets of neural network weights.
7 . The computer system of claim 2 , wherein the one or more criteria comprise at least a size of data usable by the one or more federated learning clients to generate the one or more sets of neural network weights.
8 . The computer system of claim 1 , wherein the one or more processors are to apply the weightings to the one or more sets of neural network weights in order to update a neural network to perform medical image segmentation.
9 . A method comprising:
determining a weighting for each of one or more sets of neural network weights stored by one or more federated learning clients based, at least in part, on respective degrees of one or more changes to the one or more sets of neural network weights resulting from one or more training operations completed by the one or more federated learning clients; and
applying the weightings to the one or more sets of neural network weights to generate one or more aggregated neural network weights to update a neural network.
10 . The method of claim 9 , wherein:
the one or more sets of neural network weights comprise one or more data values generated as a result of one or more training operations by the one or more federated learning clients.
11 . The method of claim 10 , further comprising distributing the updated neural network to the one or more federated learning clients.
12 . The method of claim 10 , further comprising determining one or more aggregation values based, at least in part, on applying one or more criteria by the one or more federated learning clients in the one or more training operations.
13 . The method of claim 9 , further comprising calculating one or more aggregation weights values based, at least in part, on applying one or more criteria to the one or more training operations by the one or more federated learning clients to generate the one or more sets of neural network weights, and determining the weightings for the one or more sets of neural network weights to be used to update the neural network.
14 . The method of claim 9 , further comprising determining the weightings for the one or more sets of neural network weights based on changes to data usable by the one or more federated learning clients to generate the one or more sets of neural network weights.
15 . The method of claim 9 , further comprising updating the neural network as a result of applying the weightings to the one or more sets of neural network weights to generate the one or more aggregated neural network weights and distributing the updated neural network to the one or more federated learning clients, the updated neural network comprising at least a subset of the one or more aggregated neural network weights.
16 . The method of claim 9 , further comprising applying the weightings to the one or more sets of neural network weights to update the neural network to perform medical image segmentation.
17 . A non-transitory machine-readable medium having stored thereon a set of instructions, which if performed by one or more processors, cause the one or more processors to at least:
determine a weighting for each of one or more sets of neural network weights stored by one or more federated learning clients based, at least in part, on respective degrees of one or more changes to the one or more sets of neural network weights resulting from one or more training operations completed by the one or more federated learning clients; and
apply the weighting to the one or more sets of neural network weights to generate one or more aggregated neural network weights to update a neural network.
18 . The non-transitory machine-readable medium of claim 17 , wherein the set of instructions further comprise instructions that, when executed by the one or more processors, cause the one or more processors to:
determine a first weighting for a first set of the neural network weights based, at least in part, on one or more sets of aggregation values;
determine a second weighting for a second set of the neural network weights based, at least in part, on the one or more sets of aggregation values; and
apply the first weighting and the second weighting to the first set and the second set to generate aggregated neural network weights and update the neural network using at least the aggregated neural network weights corresponding to the first set and the second set into a neural network.
19 . The non-transitory machine-readable medium of claim 18 , wherein the one or more sets of neural network weights comprise numerical values determined as a result of the one or more training operations performed by the one or more federated learning clients to generate the one or more sets of neural network weights.
20 . The non-transitory machine-readable medium of claim 18 , wherein the set of instructions further comprise instructions that, when executed by the one or more processors, cause the one or more processors to transfer the updated neural network to the one or more federated learning clients.
21 . The non-transitory machine-readable medium of claim 18 , wherein the set of instructions further comprise instructions that, when executed by the one or more processors, cause the one or more processors to compute the one or more sets of aggregation values based, at least in part, on applying one or more criteria to the one or more training operations by the one or more federated learning clients to generate the one or more sets of neural network weights.
22 . The non-transitory machine-readable medium of claim 18 , wherein the set of instructions further comprise instructions that, when executed by the one or more processors, cause the one or more processors to:
receive the one or more sets of aggregation values from the one or more federated learning clients;
calculate one or more other sets of aggregation values by applying weighted averaging to the one or more sets of aggregation values; and
determine the first weighting for the first set and the second weighting for the second set based, at least in part, on the one or more other sets of aggregation values.
23 . The non-transitory machine-readable medium of claim 21 , wherein the one or more criteria comprise at least a metric corresponding to a size of data usable by the one or more federated learning clients to generate the one or more sets of neural network weights.
24 . The non-transitory machine-readable medium of claim 21 , wherein the one or more criteria comprise at least a metric corresponding to one or more neural networks of the one or more federated learning clients used to generate the one or more sets of neural network weights.
25 . The non-transitory machine-readable medium of claim 17 , wherein the set of instructions further comprise instructions that, when executed by the one or more processors, cause the one or more processors to perform medical image segmentation using the updated neural network.
26 . One or more processors comprising:
circuitry to:
determine a weighting for each of one or more sets of neural network weights stored by one or more federated learning clients based, at least in part, on respective degrees of one or more changes to the one or more sets of neural network weights resulting from one or more training operations completed by the one or more federated learning clients; and
apply the weightings to the one or more sets of neural network weights to generate one or more aggregated neural network weights to update a neural network.
27 . The one or more processors of claim 26 , wherein:
the one or more sets of neural network weights comprise numerical values determined as a result of the one or more training operations being performed by the one or more federated learning clients; and
the circuitry is further to determine the weightings for the one or more sets of neural network weights using one or more aggregation values, the one or more aggregation values calculated as a result of one or more criteria applied to the one or more training operations performed by the one or more federated learning clients.
28 . The one or more processors of claim 27 , wherein the circuitry is further to update one or more neural networks using the one or more aggregated neural network weights, and further to cause the updated neural network to be distributed to the one or more federated learning clients.
29 . The one or more processors of claim 27 , wherein the one or more aggregation values indicate changes to data used by the one or more federated learning clients to generate the one or more sets of neural network weights according to the one or more criteria.
30 . The one or more processors of claim 27 , wherein the circuitry is to receive the one or more aggregation values from the one or more federated learning clients, the one or more aggregation values indicating how to determine the weightings for the one or more sets of neural network weights when applying the weightings to the one or more sets of neural network weights with one or more other sets of neural network weights to generate the one or more aggregated neural network weights.
31 . The one or more processors of claim 27 , wherein the one or more criteria are metrics computed based, at least in part, on data usable by the one or more federated learning clients to generate the one or more sets of neural network weights.
32 . The one or more processors of claim 26 , wherein the circuitry is further to apply the weightings to the one or more sets of neural network weights to generate the one or more aggregated neural network weights at least to update the neural network, the updated neural network distributed to each of the one or more federated learning clients to generate one or more sets of additional neural network weights.
33 . The one or more processors of claim 27 , wherein the one or more criteria comprise at least a size of data usable by the one or more federated learning clients to generate the one or more sets of neural network weights.
34 . The one or more processors of claim 27 , wherein the one or more criteria comprise at least a metric corresponding to one or more neural networks of the one or more federated learning clients used to generate the one or more sets of neural network weights.
35 . The one or more processors of claim 26 , wherein the one or more processors are to apply the weightings to the one or more sets of neural network weights to update a neural network to perform image classification.
36 . The computer system of claim 1 , wherein the one or more processors are to:
compute a validation loss for a first federated learning client of the one or more federated learning clients based on the one or more sets of neural network weights; and
determine the weighting for the first federated learning client based, at least in part, on the computed validation loss.
37 . The computer system of claim 1 , wherein the one or more processors are further to:
receive, from each of the one or more federated learning clients, both the one or more sets of neural network weights and one or more learnable aggregation values corresponding to that federated learning client; and
determine the weighting for each of the one or more federated learning clients based, at least in part, on the received one or more learnable aggregation values from that federated learning client.