Esta es en parte la reproducción del documento de aprendizaje de la comunicación-eficiente de redes profundas de datos descentralizados
Solo los experimentos en MNIST y CIFAR10 (tanto IID como no IID) se producen lejos.
Nota: Los scripts serán lentos sin la implementación de la computación paralela.
Python> = 3.6
pytorch> = 0.4
Los modelos MLP y CNN son producidos por:
python main_nn.py
El aprendizaje federado con MLP y CNN es producido por:
python main_fed.py
Vea los argumentos en options.py.
Por ejemplo:
python main_fed.py - -dataset mnist --iid --num_channels 1 - -model cnn --epochs 50 - -gpu 0
--all_clients para promediar todos los modelos de clientes
NB: Para CIFAR-10, num_channels debe ser 3.
Los resultados se muestran en la Tabla 1 y la Tabla 2, con los parámetros C = 0.1, B = 10, E = 5.
Tabla 1. Resultados de 10 épocas capacitación con la tasa de aprendizaje de 0.01
| Modelo | Accado de Iid | Accado de no iid |
|---|---|---|
| FedAVG-MLP | 94.57% | 70.44% |
| Fedavg-cnn | 96.59% | 77.72% |
Tabla 2. Resultados de 50 épocas capacitación con la tasa de aprendizaje de 0.01
| Modelo | Accado de Iid | Accado de no iid |
|---|---|---|
| FedAVG-MLP | 97.21% | 93.03% |
| Fedavg-cnn | 98.60% | 93.81% |
Agradecimientos se dan a Yokaichao.
McMahan, Brendan, Eider Moore, Daniel Ramage, Seth Hampson y Blaise Aguera y Arcas. Aprendizaje de la comunicación de las redes profundas a partir de datos descentralizados. En Inteligencia y Estadísticas Artificiales (AISTAT), 2017.
Shaoxiong ji. (2018, 30 de marzo). Una implementación de Pytorch del aprendizaje federado. Zenodo. http://doi.org/10.5281/zenodo.4321561