ส่วนหนึ่งเป็นส่วนหนึ่งของการทำซ้ำกระดาษการเรียนรู้การสื่อสารที่มีประสิทธิภาพของเครือข่ายลึกจากข้อมูลการกระจายอำนาจ
มีเพียงการทดลองเกี่ยวกับ MNIST และ CIFAR10 (ทั้ง IID และ Non-IID) เท่านั้น
หมายเหตุ: สคริปต์จะช้าโดยไม่ต้องใช้การคำนวณแบบขนาน
Python> = 3.6
pytorch> = 0.4
รุ่น MLP และ CNN ผลิตโดย:
Python Main_nn.py
การเรียนรู้แบบรวมกับ MLP และ CNN ผลิตโดย:
Python main_fed.py
ดูอาร์กิวเมนต์ในตัวเลือก py
ตัวอย่างเช่น:
Python Main_fed.py -Dataset Mnist -iid -Num_Channels 1 -โมเดล 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 EPOCHS ด้วยอัตราการเรียนรู้ที่ 0.01
| แบบอย่าง | acc. ของ iid | acc. ของที่ไม่ใช่ IID |
|---|---|---|
| Fedavg-MLP | 97.21% | 93.03% |
| fedavg-cnn | 98.60% | 93.81% |
กิตติกรรมประกาศให้กับ Youkaichao
McMahan, Brendan, Eider Moore, Daniel Ramage, Seth Hampson และ Blaise Aguera y Arcas การเรียนรู้การสื่อสารอย่างมีประสิทธิภาพของเครือข่ายลึกจากข้อมูลการกระจายอำนาจ ในปัญญาประดิษฐ์และสถิติ (AISTATS), 2017
Shaoxiong Ji (2018, 30 มีนาคม) การใช้งาน Pytorch ของการเรียนรู้จากสหพันธรัฐ Zenodo http://doi.org/10.5281/zenodo.4321561