天天看點

梯度會洩漏訓練資料?MIT新方法從梯度竊取訓練資料隻需幾步

梯度交換是現代多機訓練常用的通訊方式(分布式訓練,聯邦學習)。長期以來,人們認為梯度是可以安全共享的,即訓練資料不會因梯度交換而洩漏。但是 MIT 的一項研究表明,隐私的訓練資料可以通過共享的梯度來擷取。

研究人員将此命名為深度梯度洩漏(Deep Leakage from Gradients),并在計算機視覺和自然語言處理任務上進行了驗證。實驗結果表明,他們的攻擊比以前的方法要強大得多,在各種資料集和任務上,DLG 隻需幾個梯度步驟即可完全恢複訓練資料。對于圖像,他們的方法可以實作像素(pixel)級别的恢複;對于文本,可以達到詞條(token)級别的比對。

該論文已經被 NeurIPS 2019 接受。研究者希望通過這篇工作引起大家的警惕并重新考慮梯度的安全性。他們還在論文中讨論了防止這種深度洩漏的幾種可能政策,其中最有效的防禦方法是梯度壓縮。

梯度會洩漏訓練資料?MIT新方法從梯度竊取訓練資料隻需幾步

此外,他們還将在 NeurIPS 2019 大會上介紹這項工作。

背景

在協同學習 (collabrative learning) 和聯邦學習 (federated learning) 中,每個使用者的資料始終儲存在本地,僅有模型的梯度在不同裝置之前傳播。這類算法不需要将資料集中到一處,可以在保護使用者隐私的同時,也讓模型從海量資料中受益。例如多家醫院可以共同訓練一個醫療模型而無需共享患者的醫療資料。

然而,「梯度共享」方案是否真的可以保護參與者的私人資料?在大多數情況下,人們認為梯度是可以安全共享的:因為數值形式的梯度并沒有直接包含有意義的訓練資料。最近的一些研究指出,梯度揭示了訓練資料的某些屬性(例如是否戴眼鏡)。在這篇文章中,研究者考慮了一個更具挑戰性的案例:我們可以從梯度中竊取完整訓練資料嗎?傳統觀點認為答案是否定的,但 MIT 的研究表明這實際上是可行的。

與之前研究中的弱攻擊(使用類标簽的屬性推斷和生成模型)相比,這種深度梯度洩漏是第一次被讨論并給現有的多節點機器學習系統帶來了挑戰。如果是帶參數伺服器(Parameter server)的訓練(下圖左側),中心伺服器能夠竊取所有參與者的隐私資料。對于無參數伺服器的訓練(下圖右側),情況甚至更糟,因為任何參與者都可以竊取其相鄰節點的訓練資料。研究者在視覺(圖像分類)和語言任務(隐蔽語言模型)上的驗證了攻擊的有效性。在各種資料集和任務上,DLG 隻需幾個梯度步驟即可完全恢複訓練資料。

梯度會洩漏訓練資料?MIT新方法從梯度竊取訓練資料隻需幾步

方法

在這項工作中,研究者提出深度梯度洩漏算法(DLG):公開的梯度會洩漏個人的隐私資料。他們提出了一種優化算法,隻需幾次疊代即可從梯度中獲得訓練輸入和标簽。

為了進行攻擊,研究者首先随機生成一對「虛拟的」輸入和标簽(dummy data and label),然後執行通常的前向傳播和反向傳播。從虛拟資料導出虛拟梯度之後,他們沒有像傳統優化那樣更新模型權重,而是更新虛拟輸入和标簽,以最大程度地減小虛拟梯度和真實梯度之間的差異。當攻擊結束後,私人資料便完全暴露了出來。值得注意的是,整個過程不需要訓練資料集的任何額外資訊。

梯度會洩漏訓練資料?MIT新方法從梯度竊取訓練資料隻需幾步

上圖中的 ||∇w' - ∇w|| 對于虛拟資料和标簽可導,是以可以使用标準梯度下降方法來優化。請注意,此優化需要二階導數(梯度的導數)。是以假設模型是兩次可微。這适用于大多數現代機器學習模型(例如大多數神經網絡)和任務。實作該算法并不難,隻要選擇的平台支援二階導數即可。此處,研究者選擇 PyTorch 作為實驗平台,并提供一個僅需 20 行代碼的實作

梯度會洩漏訓練資料?MIT新方法從梯度竊取訓練資料隻需幾步

結果

研究者在常用的圖檔分類任務和語言模型上測試了該深度洩漏的效果。在圖檔分類任務上,他們觀察到具有幹淨背景(MNIST)的單色圖像最容易恢複,而像人臉這樣的複雜圖像則需要更多的疊代來恢複(下圖)。優化完成後,盡管有一些可見的噪聲點,但恢複結果基本與原始資料相同。

梯度會洩漏訓練資料?MIT新方法從梯度竊取訓練資料隻需幾步
梯度會洩漏訓練資料?MIT新方法從梯度竊取訓練資料隻需幾步

在視覺上,他們比較了其他洩漏算法與 DLG。先前方法 (Melis et al) 基于 GAN 模型。在 SVHN 上,雖然洩漏的結果還可依稀識别出是數字「9」,但這已不是原始訓練圖像。LFW 的情況更糟,CIFAR 上則完全失敗。DLG 展現的洩漏程度遠遠強于以往的「淺」洩漏算法。

在語言模型上,研究者選用最近流行的 BERT 模型作為實驗平台。不同于圖像模型的連續輸入,語言模型的文字輸入往往是離散的。是以他們将 DLG 應用在詞條(Token)上,在還原出詞條之後再去反向推斷原句的構成。他們從 NeurIPS 首頁上選取了三句話作為實驗對象。

與視覺任務類似,他們從随機初始化的嵌入開始:疊代 0 處的反向查詢結果毫無意義。在優化過程中,虛拟詞條産生的梯度逐漸向原始詞條産生的梯度靠攏。在之後的疊代中,部分原句中的單詞逐漸出現。在下表的例 3 中,在第 20 輪疊代中,出現了「annual conference」,在第 30 輪疊代中,得到了與原始文本非常相似的句子。盡管有少部分由于分詞本身歧義引起的不比對,但是原始訓練資料的主要内容已經完全洩漏。

梯度會洩漏訓練資料?MIT新方法從梯度竊取訓練資料隻需幾步

防禦

深度梯度洩漏(DLG)的攻擊程度是之前從未讨論過的。是以,MIT 的研究者也測試了幾種防禦的方法。

他們們首先實驗了梯度擾動(Noisy gradients)并嘗試了高斯噪聲(Gaussian noise)和拉普拉斯噪聲(Laplacian noise)。如下圖所示,防禦并不是很理想:隻有在噪聲大到使準确率降低時(> 10^-2),該政策才能夠成功防禦深度梯度洩漏(DLG)。

他們也測試了低精度梯度對于深度梯度洩漏(DLG)的防禦效果。遺憾的是兩種常用單精度格式(IEEE Float 16, B Float 16)都不能阻止洩漏。8-bit 資料雖然能阻止該洩漏,然而模型的性能卻也明顯降低。在多種嘗試後,他們發現最有效的防禦方法是梯度壓縮,隻要稀疏性大于 20% 即可成功防禦。DGC(Lin 2017)的研究表明可以在梯度的稀疏性達到 99% 以上時,依舊訓練出性能相近的模型。是以,壓縮梯度是一種對抗深度梯度洩漏(DLG)的有效手段。

梯度會洩漏訓練資料?MIT新方法從梯度竊取訓練資料隻需幾步
梯度會洩漏訓練資料?MIT新方法從梯度竊取訓練資料隻需幾步

他們将在 NeurIPS 2019 大會上介紹這項工作,Poster Session 将在溫哥華當地時間 5pm 到 7pm 在 East Exhibition Hall B + C 154 号展位進行,歡迎感興趣的老師、同學、工業界同僚前去交流。

繼續閱讀