Federated Learning Algorithms

The implementation of federated learning algorithms in Fed2Tier consists of two components: the training part on the client side and the aggregation part on the server and node side. The training functions are coded in the net_lib.py file located in the node/src directory, while the aggregation functions are located in various files within the algorithms folder at the server/src and node/src directory.

The algorithms currently implemented in Fed2Tier are:

Algorithm

Paper

Server

Node

FedAvg

Communication-Efficient Learning of Deep Networks from Decentralized Data

FedDyn

Federated Learning Based on Dynamic Regularization

Scaffold

SCAFFOLD: Stochastic Controlled Averaging for Federated Learning

FedAdagrad

Adaptive Federated Optimization

FedAdam

Adaptive Federated Optimization

FedYogi

Adaptive Federated Optimization

FedProx

FedProx: Federated Learning with Proximity