Data-Driven Laplacian-Constrained Personalized Federated Learning
Organizations: Division of Decision and Control Systems, KTH Royal Institute of Technology, Stockholm, Sweden
Abstract
Personalization addresses one of the defining challenges in federated learning: statistical heterogeneity among clients. We show that the dissimilarity between the ideal personalized models of two clients can be upper bounded by the dissimilarity of their distributions. Motivated by this, we propose Karula, a data-driven regularization method that constrains pairwise model dissimilarities between clients according to their distributional differences. Distributional similarity is measured using a surrogate for the 1-Wasserstein distance adapted for the federated setting, allowing the method to adapt to highly complex interrelations between clients that approaches based on hard clustering may fail to recover. We propose an approximate projected stochastic gradient algorithm to solve the resulting constrained optimization problem, and prove that it converges at a rate of to a neighborhood of a stationary point.
Figures & tables
| FEMNIST | CIFAR10 | CIFAR10 | CIFAR100 | CIFAR100 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Method | 10th | 50th | 90th | 10th | 50th | 90th | 10th | 50th | 90th | 10th | 50th | 90th | 10th | 50th | 90th |
| FedAvg | 71.61 | 83.07 | 91.83 | 44.44 | 63.78 | 78.72 | 59.61 | 70.45 | 79.02 | 31.48 | 38.90 | 46.83 | 31.65 | 37.40 | 42.37 |
| pFedMe | 46.69 | 60.80 | 74.92 | 59.65 | 81.78 | 98.11 | 43.10 | 58.47 | 73.32 | 30.81 | 43.38 | 51.50 | 25.92 | 32.41 | 39.28 |
| IFCA | 71.08 | 82.18 | 92.12 | 46.63 | 65.67 | 85.07 | 60.08 | 69.17 | 76.61 | 31.34 | 39.35 | 48.49 | 32.43 | 36.17 | 41.67 |
| FedSoft | 40.61 | 63.47 | 76.33 | 59.42 | 82.85 | 96.84 | 43.09 | 60.74 | 73.47 | 39.80 | 49.49 | 57.84 | 12.92 | 36.96 | 45.27 |
| pFedGraph | 64.65 | 80.66 | 88.78 | 21.01 | 49.75 | 71.27 | 41.85 | 57.59 | 69.43 | 23.71 | 31.80 | 41.20 | 29.31 | 36.19 | 42.61 |
Appendix figures & tables8 assets
Supplementary material from the paper’s appendix.
Appendix
| Method | Percentile | FEMNIST | CIFAR10 | CIFAR10 | CIFAR100 | CIFAR100 |
|---|---|---|---|---|---|---|
| FedAvg | 10th | |||||
| 50th | ||||||
| 90th | ||||||
| pFedMe | 10th | |||||
| 50th | ||||||
| 90th |
| Method | Learning rate | Tuned hyperparameter | Other hyperparameters |
|---|---|---|---|
| FedAvg | 0.25 | — | n_local_epochs=1 |
| pFedMe | 0.0625 | moreau_param=10.0 | beta=1.0 ; inner_steps=5 ; mu=0.001 ; n_local_epochs=1 |
| IFCA | 0.125 | k_clusters=3 | aggregation=samples ; max_init_attempts=100 ; min_cluster_fraction=0.0 ; n_local_epochs=1 ; variant=full |
| FedSoft | 0.25 | reg_weight=0.01 | k_clusters=4 ; n_local_epochs=1 ; refresh_every=2 ; smoothing=0.0001 |
| pFedGraph | 0.25 | reg_param=0.1 | alpha=0.8 ; n_local_epochs=1 |
| FedAMP | 0.125 | lambda_1=1.0 | momentum=0.9 ; n_local_epochs=1 ; self_weight=0.3 ; similarity_scale=10.0 ; weight_decay=1e-05 |
| Method | Learning rate | Tuned hyperparameter | Other hyperparameters |
|---|---|---|---|
| FedAvg | 0.015625 | — | n_local_epochs=1 |
| pFedMe | 0.015625 | moreau_param=10.0 | beta=1.0 ; inner_steps=5 ; mu=0.001 ; n_local_epochs=1 |
| IFCA | 0.0078125 | k_clusters=3 | aggregation=uniform ; max_init_attempts=100 ; min_cluster_fraction=0.0 ; n_local_epochs=1 ; variant=full |
| FedSoft | 0.0078125 | reg_weight=1.0 | k_clusters=4 ; n_local_epochs=1 ; refresh_every=2 ; smoothing=0.0001 |
| pFedGraph | 0.03125 | reg_param=1.0 | alpha=0.8 ; n_local_epochs=1 |
| FedAMP | 0.015625 | lambda_1=0.01 | momentum=0.9 ; n_local_epochs=1 ; self_weight=0.3 ; similarity_scale=10.0 ; weight_decay=1e-05 |
| Method | Learning rate | Tuned hyperparameter | Other hyperparameters |
|---|---|---|---|
| FedAvg | 0.015625 | — | n_local_epochs=1 |
| pFedMe | 0.015625 | moreau_param=10.0 | beta=1.0 ; inner_steps=5 ; mu=0.001 ; n_local_epochs=1 |
| IFCA | 0.0078125 | k_clusters=2 | aggregation=uniform ; max_init_attempts=100 ; min_cluster_fraction=0.0 ; n_local_epochs=1 ; variant=full |
| FedSoft | 0.0078125 | reg_weight=1.0 | k_clusters=4 ; n_local_epochs=1 ; refresh_every=2 ; smoothing=0.0001 |
| pFedGraph | 0.03125 | reg_param=0.1 | alpha=0.8 ; n_local_epochs=1 |
| FedAMP | 0.0078125 | lambda_1=1.0 | momentum=0.9 ; n_local_epochs=1 ; self_weight=0.3 ; similarity_scale=10.0 ; weight_decay=1e-05 |
| Method | Learning rate | Tuned hyperparameter | Other hyperparameters |
|---|---|---|---|
| FedAvg | 0.015625 | — | n_local_epochs=1 |
| pFedMe | 0.125 | moreau_param=1.0 | beta=1.0 ; inner_steps=5 ; mu=0.001 ; n_local_epochs=1 |
| IFCA | 0.03125 | k_clusters=8 | aggregation=uniform ; max_init_attempts=100 ; min_cluster_fraction=0.0 ; n_local_epochs=1 ; variant=full |
| FedSoft | 0.03125 | reg_weight=0.01 | k_clusters=4 ; n_local_epochs=1 ; refresh_every=2 ; smoothing=0.0001 |
| pFedGraph | 0.03125 | reg_param=0.1 | alpha=0.8 ; n_local_epochs=1 |
| FedAMP | 0.00390625 | lambda_1=0.1 | momentum=0.9 ; n_local_epochs=1 ; self_weight=0.3 ; similarity_scale=10.0 ; weight_decay=1e-05 |
| Method | Learning rate | Tuned hyperparameter | Other hyperparameters |
|---|---|---|---|
| FedAvg | 0.0078125 | — | n_local_epochs=1 |
| pFedMe | 0.125 | moreau_param=10.0 | beta=1.0 ; inner_steps=5 ; mu=0.001 ; n_local_epochs=1 |
| IFCA | 0.125 | k_clusters=2 | aggregation=uniform ; max_init_attempts=100 ; min_cluster_fraction=0.0 ; n_local_epochs=1 ; variant=full |
| FedSoft | 0.125 | reg_weight=1.0 | k_clusters=4 ; n_local_epochs=1 ; refresh_every=2 ; smoothing=0.0001 |
| pFedGraph | 0.125 | reg_param=1.0 | alpha=0.8 ; n_local_epochs=1 |
| FedAMP | 0.03125 | lambda_1=1.0 | momentum=0.9 ; n_local_epochs=1 ; self_weight=0.3 ; similarity_scale=10.0 ; weight_decay=1e-05 |
| Layer | Operation | Output Shape |
|---|---|---|
| Input | Grayscale image | |
| Conv1 | Conv2d(1, 32, kernel=3, pad=1) + ReLU | |
| Pool1 | MaxPool2d(2,2) | |
| Conv2 | Conv2d(32, 64, kernel=3, pad=1) + ReLU | |
| Pool2 | MaxPool2d(2,2) | |
| Flatten | Vectorization |
| Layer | Operation | Output Shape |
|---|---|---|
| Input | RGB image | |
| Conv1 | Conv2d(3, 32, kernel=5, padding=2) + BatchNorm + ReLU | |
| Pool1 | MaxPool2d(2,2) | |
| Conv2 | Conv2d(32, 64, kernel=5, padding=2) + BatchNorm + ReLU | |
| Pool2 | MaxPool2d(2,2) | |
| Flatten | Vectorization |
Federated Learning
Federated learning trains shared models across data holders without requiring them to pool their raw data.
See all 943 papers