PDGAN: A Novel Poisoning Defense Method in Federated Learning Using Generative Adversarial Network笔记
前言
論文 “PDGAN: A Novel Poisoning Defense Method in Federated Learning Using Generative Adversarial Network” 的閱讀筆記,本博客總結了其最主要的內容。
閱讀前提:對聯邦學習(federated learning)和生成對抗網絡(generative adversarial network)有一定的了解。
論文相關信息
PDGAN: A Novel Poisoning Defense Method in Federated Learning Using Generative Adversarial Network
| Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) | 2020 |
| Zhao, Ying Chen, Junjun Zhang, Jiale Wu, Di Teng, Jian Yu, Shui |
關鍵詞
Federated learning · Poisoning defense · Generative adversarial network
概述
一種針對于聯邦學習中投毒攻擊的防御方法
論文研究的問題及其意義
| 在聯邦學習中,攻擊者可以使用投毒攻擊讓服務器的全局模型對某中類別的樣本失效 | 可以發現哪些個服務端是攻擊者,從而忽略它們上傳的參數達到防御目的 |
現有方法及其優缺點
| Secure multiparty computation and homomorphic additive cryptosystem | introduce huge computa- tion overhead to the participants and may bring a negative effect on model accu- racy | [10–12] | |
| Byzantine-tolerant machine learning methods | [13,14] | ||
| anomaly detection techniques | |||
| k-means and clustering: to check the participants’ updates across communication rounds and remove the outliers | [9,15,16] | ||
| cosine similarityand gradients norm detection | [17,18] |
上述各種方法在聯邦學習框架下的效果都不好,因為各客戶端的訓練數據是非獨立同分布的,這導致了各客戶端上傳的更新彼此之間是非常不同的。
論文的思路和方法及其優缺點
| 由于不知道各客戶端的數據,所以在服務器設置一個GAN來產生一個測試數據集,利用各客戶端本地模型在此數據集上的打分來判斷哪個客戶端是攻擊者。預先設定一個閾值,打分低于這個閾值的客戶端被視為攻擊者,在以后的訓練當中忽視它上傳的更新。 |
(1) G:G:G:產生fake data
(2) D:D:D: 服務器的全局模型作為discriminator,對GGG產生的fake data進行判別
論文使用的數據集和實驗工具
| MNIST,Fashion-MNIST | 語言框架:PyTorch, 硬軟件設備:Intel Xeon W-2133 3.6 GHz CPU, Nvidia Quadro P5000 GPU with 16G RAM and RHEL7.5 OS |
論文的實驗方法
(1) 1 attacker, 9 benign pariticipants, totally10 participants
(2) 3 attackers, 9 benign pariticipents, totally 10 participants
(1) 對于MNISTMNISTMNIST數據集:使全局模型對標簽1判定為標簽7
(2) 對于Fashion?MNISTFashion-MNISTFashion?MNIST數據集:使全局模型對標簽T-shirt判定為標簽Pullover
(1) poisoning accuracy: 將投毒樣本分類為攻擊者設定的類別的成功率
(2) overall accuracy: 對所有樣本正確分類的成功率
有個問題,攻擊者要讓服務器將1判別為7,正確分類是說服務器仍將1分類為1,還說將1分類為7也是“正確判別”?
(1) MNIST:MNIST:MNIST: 經過大概400輪的迭代,可以產生較為清晰的fake data,可以用來對每個客戶端進行評測從而確定哪一個是投毒攻擊者。
服務器端的auxiliary data包括標簽為0和4的數據,用于喂入discriminator。
(2) Fashion?MNIST:Fashion-MNIST:Fashion?MNIST: 經過大概600輪的迭代,可以產生較為清晰的fake data,可以用來對每個客戶端進行評測從而確定哪一個是投毒攻擊者。
服務器端的auxiliary data包括標簽為dress、coat和sandal的數據,用于喂入discriminator。
(1) MNISTMNISTMNIST數據集:實驗設置服務器經過400的迭代后,將generator產生的fake data用于檢測投毒攻擊者
(2) Fashion?MNISTFashion-MNISTFashion?MNIST數據集:實驗設置服務器經過600的迭代后,將generator產生的fake data用于檢測投毒攻擊者
實驗結果
總結
以上是生活随笔為你收集整理的PDGAN: A Novel Poisoning Defense Method in Federated Learning Using Generative Adversarial Network笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Tensorflow2.0版本 笔记
- 下一篇: 生成技术在人工智能平台中的应用探索