Dies ist teilweise die Reproduktion des Papiers zum effizienten Erlernen von tiefen Netzwerken aus dezentralen Daten
Nur Experimente zu MNIST und CIFAR10 (sowohl IID als auch Nicht-IID) werden bei weitem erzeugt.
Hinweis: Die Skripte sind ohne die Implementierung des parallelen Computers langsam.
Python> = 3,6
Pytorch> = 0,4
Die MLP- und CNN -Modelle werden hergestellt von:
Python main_nn.py
Federated Learning mit MLP und CNN wird produziert von:
python main_fed.py
Siehe die Argumente in options.py.
Zum Beispiel:
python main_fed.py -DatenetaTaSet Mnist --iid -num_channels 1 -Model cnn --epochs 50 --gpu 0
--all_clients zur Mittelung aller Client-Modelle
NB: Für CIFAR-10 müssen num_channels 3 sein.
Die Ergebnisse sind in Tabelle 1 und Tabelle 2 angezeigt, wobei die Parameter c = 0,1, b = 10, e = 5.
Tabelle 1. Ergebnisse von 10 Epochen -Training mit der Lernrate von 0,01
| Modell | Acc. von iid | Acc. von Nicht-iid |
|---|---|---|
| Fedavg-mlp | 94,57% | 70,44% |
| Fedavg-cnn | 96,59% | 77,72% |
Tabelle 2. Ergebnisse von 50 Epochen -Training mit der Lernrate von 0,01
| Modell | Acc. von iid | Acc. von Nicht-iid |
|---|---|---|
| Fedavg-mlp | 97,21% | 93,03% |
| Fedavg-cnn | 98,60% | 93,81% |
Danksagungen geben Youkaichao.
McMahan, Brendan, Eider Moore, Daniel Ramage, Seth Hampson und Blaise Aguera und Arcas. Kommunikationsparentes Lernen von tiefen Netzwerken aus dezentralen Daten. In künstlicher Intelligenz und Statistik (Aistats), 2017.
Shaoxiong ji. (2018, 30. März). Eine Pytorch -Implementierung des Federated Learning. Zenodo. http://doi.org/10.5281/zenodo.4321561