هذا جزئيًا هو استنساخ ورقة التعلم الفعال للشبكات العميقة من البيانات اللامركزية
يتم إنتاج فقط التجارب على MNIST و CIFAR10 (كل من IID وغير IID) إلى حد بعيد.
ملاحظة: ستكون البرامج النصية بطيئة دون تنفيذ الحوسبة المتوازية.
بيثون> = 3.6
Pytorch> = 0.4
يتم إنتاج نماذج MLP و CNN بواسطة:
Python main_nn.py
يتم إنتاج التعلم الاتحادي مع MLP و CNN بواسطة:
Python main_fed.py
انظر الوسائط في Options.py.
على سبيل المثال:
Python main_fed.py -dataset mnist -iid -num_channels 1 -model cnn -epochs 50 -gpu 0
--all_clients لتوسيط المتوسط على جميع نماذج العميل
NB: بالنسبة لـ CIFAR-10 ، يجب أن يكون num_channels 3.
يتم عرض النتائج في الجدول 1 والجدول 2 ، مع المعلمات C = 0.1 ، B = 10 ، E = 5.
الجدول 1. نتائج تدريب 10 عصر مع معدل التعلم 0.01
| نموذج | ACC. من IID | ACC. من غير IID |
|---|---|---|
| Fedavg-MLP | 94.57 ٪ | 70.44 ٪ |
| Fedavg-Cnn | 96.59 ٪ | 77.72 ٪ |
الجدول 2. نتائج تدريب 50 عصر مع معدل التعلم 0.01
| نموذج | ACC. من IID | ACC. من غير IID |
|---|---|---|
| Fedavg-MLP | 97.21 ٪ | 93.03 ٪ |
| Fedavg-Cnn | 98.60 ٪ | 93.81 ٪ |
شكر وتقدير يعطي youkaichao.
مكماهان ، بريندان ، إيدر مور ، دانييل راماج ، سيث هامبسون ، وبليز أغويرا إي أركاس. تعلم التواصل مع الشبكات العميقة من البيانات اللامركزية. في الذكاء الاصطناعي والإحصاء (Aistats) ، 2017.
Shaoxiong ji. (2018 ، 30 مارس). تطبيق Pytorch للتعلم الفيدرالي. زنودو. http://doi.org/10.5281/zenodo.4321561