fl_server_ai.aggregation.fed_prox ¶
Classes:
| Name | Description |
|---|---|
FedProx | To tackle the problem that client models drift away from optimum due to data heterogeneity, |
Classes¶
FedProx ¶
Bases: MeanAggregation
flowchart TD
fl_server_ai.aggregation.fed_prox.FedProx[FedProx]
fl_server_ai.aggregation.mean.MeanAggregation[MeanAggregation]
fl_server_ai.aggregation.base.Aggregation[Aggregation]
fl_server_ai.aggregation.mean.MeanAggregation --> fl_server_ai.aggregation.fed_prox.FedProx
fl_server_ai.aggregation.base.Aggregation --> fl_server_ai.aggregation.mean.MeanAggregation
click fl_server_ai.aggregation.fed_prox.FedProx href "" "fl_server_ai.aggregation.fed_prox.FedProx"
click fl_server_ai.aggregation.mean.MeanAggregation href "" "fl_server_ai.aggregation.mean.MeanAggregation"
click fl_server_ai.aggregation.base.Aggregation href "" "fl_server_ai.aggregation.base.Aggregation"
To tackle the problem that client models drift away from optimum due to data heterogeneity, different learning speeds, etc. one proposed solution is FedProx. FedProx limits the client drift by using a modified learning objective but keeping the standard FedAvg aggregation method.
Note: FedProx does not do anything different on the server side than normal FedAvg. The difference lies in the application of a special loss function on the client side.
Paper: Federated Optimization in Heterogeneous Networks