I. Introduction
With the rapid development of the Internet of Things (IoT), various sensing devices and mobile phones generate enormous data, which exist in the form of data islands [1]. The traditional solution to the data islands problem is to collect data and train models on a central server, which may cause data leakage during data collection. Federated learning (FL), proposed by Google [2], is a distributed learning method without data collection. In FL, clients collaborate with each other to train a model under the orchestration of a central server, as shown in Fig. 1. Specifically, each client trains a local model with its personal local data and uploads the local model updates to the central server for aggregation. The server then updates the global model and resends it to clients. The model training proceeds until the global model converges or the training process reaches a specified stop condition. There are in general two categories of FL: cross-device FL and cross-silo FL [3]. In cross-device FL, a central server initiates the FL process and incentivizes clients (who are usually a large number of devices) to participate in model training. In cross-silo FL, clients of common interest (who are usually organizations or companies) initiate the FL process and pay a central server for global aggregation to obtain a model.