FedProto: Federated Prototype Learning across Heterogeneous Clients

Yue Tan, Guodong Long, Lu Liu, Tianyi Zhou, Qinghua Lu +2 more
5/1/2021
cs.LGcs.DC

Official code: yuetan031/FedProto (192 stars, last commit 2022-05-26).

Abstract

Heterogeneity across clients in federated learning (FL) usually hinders the optimization convergence and generalization performance when the aggregation of clients' knowledge occurs in the gradient space. For example, clients may differ in terms of data distribution, network latency, input/output space, and/or model architecture, which can easily lead to the misalignment of their local gradients. To improve the tolerance to heterogeneity, we propose a novel federated prototype learning (FedProto) framework in which the clients and server communicate the abstract class prototypes instead of the gradients. FedProto aggregates the local prototypes collected from different clients, and then sends the global prototypes back to all clients to regularize the training of local models. The training on each client aims to minimize the classification error on the local data while keeping the resulting local prototypes sufficiently close to the corresponding global ones. Moreover, we provide a theoretical analysis to the convergence rate of FedProto under non-convex objectives. In experiments, we propose a benchmark setting tailored for heterogeneous FL, with FedProto outperforming several recent FL approaches on multiple datasets.

View on arXivView PDF

Code Implementations(1)

yuetan031/FedProtoOfficial100%

[AAAI'22] FedProto: Federated Prototype Learning across Heterogeneous Clients

19237Shell, PythonMay 1, 20214 years ago

Similar Papers

Cite this paper

@article{tan2021fedproto,
  title  = {FedProto: Federated Prototype Learning across Heterogeneous Clients},
  author = {Yue Tan and Guodong Long and Lu Liu and Tianyi Zhou and Qinghua Lu and Jing Jiang and Chengqi Zhang},
  year   = {2021},
  eprint = {2105.00243},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2105.00243}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2105.00243.svg)](https://codeofpaper.com/paper/2105.00243)

Discussion