Skip to content

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

Source code in fl_server_ai/aggregation/fed_prox.py
class FedProx(MeanAggregation):
    """
    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](https://arxiv.org/abs/1812.06127)
    """
    pass