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