PTOPOFL: Topology-Guided Personalised Federated Learning with Persistent-Homology Client Descriptors
Organizations: Université Sorbonne Paris Nord, LAGA, CNRS, UMR 7539, Laboratoire d’excellence Infibrex, F-93430 Villetaneuse, France · Instituto de Hortofruticultura Subtropical y Mediterránea La Mayora (IHSM), Universidad de Málaga–Consejo Superior de Investigaciones Científicas, Málaga, Spain
Abstract
Clustered and personalised federated learning (FL) needs a signal telling the server which clients should share a model. Most methods derive it from losses or model updates that must be recomputed during training. We study pTopoFL, which derives it once, before training, from a compact persistent-homology (PH) descriptor of each client's feature distribution: the server clusters clients on these descriptors, weights them within clusters, and runs blended clustered local gradient descent, returning one personalised model per cluster. For strongly convex, smooth losses we analyse the complete procedure: for any partition, one round is a contraction with factor (1-eta*mu)^tau; the fixed point is characterised by a local-step drift bound, an exact formula for the effective strength of blending (which yields a calibration rule) and a stochastic floor exposing a bias-variance trade-off of clustering; and personalisation lowers the heterogeneity floor in proportion to a measurable share of the dispersion of client optima. Experiments on synthetic federations, a label-skew benchmark and a real four-hospital dataset confirm the theory and delimit the method. When feature geometry and decision rules co-vary, the PH partition recovers the latent client groups, including differences a linear-subspace descriptor misses, and pTopoFL is competitive with the strongest clustered baselines; on the real federation it lowers the test log-loss of FedAvg from 0.463 to 0.438, on par with the best personalised methods. When heterogeneity is invisible in feature geometry, it offers no advantage over FedAvg. pTopoFL transmits model parameters and is no more private than FedAvg; we give a record-level differential-privacy accounting and show that privatising the descriptor destroys the partition. Code reproduces every number.
Figures & tables
| Synthetic (clustered) | Label skew | Fed-Heart-Disease | ||||
| Method | Log-loss | AUC | Log-loss | AUC | Log-loss | AUC |
| Local | ||||||
| FedAvg | ||||||
| FedProx | ||||||
| SCAFFOLD | ||||||
| pFedMe | ||||||
| Aligned (dim.) | Aligned (tails) | Concept only | Geometry only | |
| ARI, PH-descriptor partition | ||||
| ARI, subspace partition | ||||
| , PH descriptor | ||||
| , random | ||||
| , oracle ⋄ | ||||
| FedAvg |
| Variant (Synthetic, clustered) | Log-loss |
|---|---|
| Full pTopoFL ( , ) | |
| No clustering ( ) | |
| Uniform within-cluster weights ( ) | |
| No trust weights | |
| v1 trust rule (mean/std ) | |
| Uncalibrated (v1 default) |
Appendix figures & tables8 assets
Supplementary material from the paper’s appendix.
Appendix
| Method | uplink / client / round | downlink / client / round |
|---|---|---|
| FedAvg, FedProx, Ditto | ||
| SCAFFOLD | ||
| pFedMe | ||
| IFCA ( clusters) | (+ cluster id) | |
| pTopoFL | (+ floats once) |
| Hyper-parameter | Value |
| (L2, all parameters) | 0.01 |
| (local GD steps) | 10 |
| (rounds) | 150 |
| (clusters) | 2 |
| (target effective blending) | 0.3 |
| Synthetic (clustered) | Label skew | Fed-Heart-Disease | |||||||
|---|---|---|---|---|---|---|---|---|---|
| Method | worse than FedAvg | worse than Local | worst client | worse than FedAvg | worse than Local | worst client | worse than FedAvg | worse than Local | worst client |
| Local | 0.26 | 0.00 | 0.601 | 0.65 | 0.00 | 0.820 | 0.42 | 0.00 | 0.567 |
| FedAvg | 0.00 | 0.74 | 0.598 | 0.00 | 0.35 | 0.723 | 0.00 | 0.57 | 0.586 |
| IFCA | 0.16 | 0.42 | 0.519 | 0.30 | 0.17 | 0.695 | 0.38 | 0.62 | 0.576 |
| Ditto | 0.17 | 0.51 | 0.518 | 0.33 | 0.06 | 0.690 | 0.33 | 0.53 | 0.549 |
| PACFL-style | 0.11 | 0.45 | 0.520 | 0.51 | 0.34 | 0.741 | 0.42 | 0.65 | 0.573 |
| \ | 0 | 0.1 | 0.3 | 0.6 | 1 |
|---|---|---|---|---|---|
| 1 | |||||
| 10 | |||||
| 50 |
| Variant | Log-loss | ARI |
|---|---|---|
| (default) | ||
| Attack / score | 10% | 20% | 30% | 40% |
|---|---|---|---|---|
| shift + flips, robust | 0.00 / 0.10 | 0.05 / 0.21 | 0.07 / 0.10 | 0.03 / 0.23 |
| shift + flips, mean/std | 0.10 / 0.14 | 0.05 / 0.21 | 0.10 / 0.19 | 0.05 / 0.25 |
| heavy-tailed + flips, robust | 0.30 / 0.02 | 0.35 / 0.04 | 0.23 / 0.06 | 0.15 / 0.12 |
| heavy-tailed + flips, mean/std | 0.50 / 0.13 | 0.45 / 0.07 | 0.37 / 0.17 | 0.15 / 0.25 |
| label inversion, robust | 0.00 / 0.12 | 0.10 / 0.09 | 0.17 / 0.19 | 0.10 / 0.12 |
| label inversion, mean/std | 0.00 / 0.17 | 0.20 / 0.16 | 0.20 / 0.16 | 0.23 / 0.23 |
| 64 | 16 | 8 | 4 | ||
|---|---|---|---|---|---|
| DP-FedAvg log-loss | |||||
| DP- pTopoFL log-loss | |||||
| DP- pTopoFL (descriptor not private) log-loss | |||||
| DP-FedAvg MIA AUC | |||||
| DP- pTopoFL MIA AUC | |||||
| DP- pTopoFL (descriptor not private) MIA AUC |