联邦学习--数据攻击(1)
參考論文:Deep Leakage from Gradients(NeurIPS 2019)
源代碼: https://github.com/mit-han-lab/dlg
核心思想:作者通過實驗得到,從梯度可以反推用戶的個人信息。并驗證了其在計算機視覺和自然語言處理任務中的有效性。
攻擊場景:攻擊者可以獲得全局模型的結構和參數,通過模型反演或梯度泄漏來恢復本地數據。
缺點:只能恢復一張圖片,當batch大于1時,此方法效果無效。
1 問題定義
圖1說明了通過訓練可以很容易計算出梯度,然而梯度不能非常直觀的表現樣本的特征。也就是說,通過原始數據值,人是很難知道圖片表示的是貓。
圖2說明了兩種不同的聯邦學習。服務器忠實地聚合來自參與者的更新并將更新后的模型傳回,但它可能對參與者信息感到好奇并試圖從收到的更新中揭示它。在下面的討論中,不失一般性地使用了基于梯度的聚合。 我們關心可以從梯度中推斷出什么樣的信息。 這種攻擊發生在集中式聯邦學習的參數服務器(圖 2a)或分散式聯邦學習中的任何鄰居(圖 2b)中。
圖3說明了聯合設置中的成員推斷。 它使用預測結果和真實標簽來推斷記錄是在受害者訓練數據集中還是在受害者訓練數據集之外。在實踐中,Melis 等人 [7] 表明惡意攻擊者可以令人信服地(精度 0.99)判斷是否使用特定位置配置文件來訓練 FourSquare 位置數據集 [8] 上的性別分類器(圖 3)。
圖4說明了屬性推斷,推斷受害者的訓練集是否包含具有特定屬性的數據點。
圖5說明了聯合設置中的模型反轉。 它首先從模型更新和攻擊者自己的訓練數據訓練 GAN 模型。 然后它使用 GAN 模型從受害者的更新中生成相似的圖像。
圖6說明了聯合設置中的深度泄漏。 給定從受害者那里收到的模型更新/梯度,它旨在保留梯度并完全重建私有訓練集。
2 攻擊方法
攻擊者將樣本和標簽看做是參數,將梯度看做是要擬合的值。
圖7描述了DLG 算法概述。 要更新的變量用粗體邊框標記。 當正常參與者使用其私人訓練集計算 ?W?W?W 以更新參數時,惡意攻擊者更新其虛擬輸入和標簽以最小化梯度距離。 優化完成后,惡意用戶可以從誠實的參與者那里竊取訓練集。
正常參與者的步驟:
攻擊者的步驟:
x′?,y′?=arg?min?x′,y′∥?W′??W∥2=arg?min?x′,y′∥??(F(x′,W),y′)?W??W∥2\begin{aligned} \mathbf{x}^{\prime *}, \mathbf{y}^{\prime *} &=\arg \min _{\mathbf{x}^{\prime}, \mathbf{y}^{\prime}}\left\|\nabla W^{\prime}-\nabla W\right\|^{2} \\ &=\arg \min _{\mathbf{x}^{\prime}, \mathbf{y}^{\prime}}\left\|\frac{\partial \ell\left(F\left(\mathbf{x}^{\prime}, W\right), \mathbf{y}^{\prime}\right)}{\partial W}-\nabla W\right\|^{2} \end{aligned} x′?,y′??=argx′,y′min?∥?W′??W∥2=argx′,y′min?∥∥∥∥??W??(F(x′,W),y′)???W∥∥∥∥?2?
初始化虛擬輸入和標簽;
計算虛擬梯度;
更新數據匹配梯度;
更新標簽匹配梯度。
3 攻擊效果
總結
以上是生活随笔為你收集整理的联邦学习--数据攻击(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NCCIP会议笔记
- 下一篇: GC算法-标记压缩算法