Il s'agit en partie de la reproduction de l'article de l'apprentissage économe en communication des réseaux profonds à partir de données décentralisées
Seules les expériences sur MNIST et CIFAR10 (IID et non IID) sont de loin produites.
Remarque: les scripts seront lents sans l'implémentation de l'informatique parallèle.
Python> = 3,6
pytorch> = 0,4
Les modèles MLP et CNN sont produits par:
python main_nn.py
L'apprentissage fédéré avec MLP et CNN est produit par:
python main_fed.py
Voir les arguments dans OptionS.py.
Par exemple:
python main_fed.py --dataset mnist --iid --num_channels 1 --model cnn --epochs 50 --gpu 0
--all_clients pour la moyenne de tous les modèles de clients
NB: Pour CIFAR-10, num_channels doit être 3.
Les résultats sont présentés dans le tableau 1 et le tableau 2, avec les paramètres c = 0,1, b = 10, e = 5.
Tableau 1. Résultats de 10 époques Formation avec le taux d'apprentissage de 0,01
| Modèle | Acc. de iid | Acc. de non-iid |
|---|---|---|
| Fedavg-MLP | 94,57% | 70,44% |
| FEDAVG-CNN | 96,59% | 77,72% |
Tableau 2. Résultats de 50 époques Formation avec le taux d'apprentissage de 0,01
| Modèle | Acc. de iid | Acc. de non-iid |
|---|---|---|
| Fedavg-MLP | 97,21% | 93,03% |
| FEDAVG-CNN | 98,60% | 93,81% |
Les remerciements donnent à Youkaichao.
McMahan, Brendan, Eider Moore, Daniel Ramage, Seth Hampson et Blaise Aguera y Arcas. Apprentissage économe en communication des réseaux profonds à partir de données décentralisées. Dans l'intelligence artificielle et les statistiques (AISTAT), 2017.
Shaoxiong ji. (2018, 30 mars). Une mise en œuvre pytorch de l'apprentissage fédéré. Zenodo. http://doi.org/10.5281/zenodo.4321561