Skip to content

fl_server_ai.aggregation.fed_dc

Classes:

Name Description
FedDC

FedDC (Federated daisy-chaining)

Classes

FedDC

Bases: MeanAggregation


              flowchart TD
              fl_server_ai.aggregation.fed_dc.FedDC[FedDC]
              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_dc.FedDC
                                fl_server_ai.aggregation.base.Aggregation --> fl_server_ai.aggregation.mean.MeanAggregation
                



              click fl_server_ai.aggregation.fed_dc.FedDC href "" "fl_server_ai.aggregation.fed_dc.FedDC"
              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"
            

FedDC (Federated daisy-chaining)

To tackle the problem that client models are potentially quite small and thus the models tend to overfit and therefore result in bad prediction quality on unseen data, one proposed solution is FedDC (also named Federated daisy-chaining). FedDC sends before each aggregation step each client model to another randomly selected client, which trains it on its local data. From the model perspective, it is as if the model is trained on a larger dataset.

Paper: Picking Daisies in Private: Federated Learning from Small Datasets

Source code in fl_server_ai/aggregation/fed_dc.py
class FedDC(MeanAggregation):
    """
    FedDC (Federated daisy-chaining)

    To tackle the problem that client models are potentially quite small and thus the models tend to overfit and
    therefore result in bad prediction quality on unseen data, one proposed solution is
    FedDC (also named Federated daisy-chaining).
    FedDC sends before each aggregation step each client model to another randomly selected client, which trains
    it on its local data.
    From the model perspective, it is as if the model is trained on a larger dataset.

    Paper: [Picking Daisies in Private: Federated Learning from Small Datasets](https://openreview.net/forum?id=GVDwiINkMR)
    """  # noqa: E501
    pass