Multi-Center Federated Learning: Clients Clustering for Better Personalization

Guodong Long, Ming Xie, Tao Shen, Tianyi Zhou, Xianzhi Wang +2 more
5/3/2020
cs.LGcs.DCstat.ML

Official code: mingxuts/multi-center-fed-learning (40 stars, BSD-2-Clause, last commit 2022-07-18).

Abstract

Federated learning has received great attention for its capability to train a large-scale model in a decentralized manner without needing to access user data directly. It helps protect the users' private data from centralized collecting. Unlike distributed machine learning, federated learning aims to tackle non-IID data from heterogeneous sources in various real-world applications, such as those on smartphones. Existing federated learning approaches usually adopt a single global model to capture the shared knowledge of all users by aggregating their gradients, regardless of the discrepancy between their data distributions. However, due to the diverse nature of user behaviors, assigning users' gradients to different global models (i.e., centers) can better capture the heterogeneity of data distributions across users. Our paper proposes a novel multi-center aggregation mechanism for federated learning, which learns multiple global models from the non-IID user data and simultaneously derives the optimal matching between users and centers. We formulate the problem as a joint optimization that can be efficiently solved by a stochastic expectation maximization (EM) algorithm. Our experimental results on benchmark datasets show that our method outperforms several popular federated learning methods.

View on arXivView PDF

Code Implementations(1)

BSD-2-Clause

fully ready experiments

4011Shell, PythonOct 29, 20204 years agoBSD-2-Clause

Similar Papers

Cite this paper

@article{long2020multicenter,
  title  = {Multi-Center Federated Learning: Clients Clustering for Better Personalization},
  author = {Guodong Long and Ming Xie and Tao Shen and Tianyi Zhou and Xianzhi Wang and Jing Jiang and Chengqi Zhang},
  year   = {2020},
  eprint = {2005.01026},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2005.01026}
}

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/2005.01026.svg)](https://codeofpaper.com/paper/2005.01026)

Discussion