大規模資料的收集和利用大幅提升了機器學習演算法的效能,但同時也令個人隱私保護面臨更大的風險與挑戰。為此,我們提出一種滿足差分隱私(Differential Privacy)的生成對抗網路(GAN) 訓練方法,用於擬合高維資料分佈、生成具有嚴格隱私保護的資料集。我們的框架適用於整合式(centralized) 和分散式/聯邦式(decentralized/federated)環境。實驗表明,我們的方法可以提高生成樣本的準確性,並在多個指標(例如樣品視覺質量,通訊效率)取得了最優的效能。
陳丁凡,本科畢業於德國圖賓根大學計算機系,現為德國CISPA亥姆霍茲資訊保安中心的博士生,導師為Mario Fritz。主要研究方向為機器學習(差分)隱私,以及深度生成模型。
一、差分隱私是什麼?
這篇文章以差分隱私和生成模型為主要研究物件,針對面臨的問題,先介紹相關的背景知識和現有研究方法,後展示解決方案和實驗結果。
機器學習模型的訓練需要大量的資料餵食,而這些資料的應用就會涉及到個人隱私的問題。而隨著資料規模越來越大,隱私問題也獲得了更多的關注,而如何保護隱私也逐漸成為了比較熱門的研究方向。一個直觀的想法是能否利用生成模型來生成資料,既滿足了隱私保障,不損害使用者的個人隱私,也能滿足模型訓練對於資料規模的需求,還可以透過機器學習演算法的驗證。因此這篇文章的主要任務就是實現privacy preserving data generation,即隱私保護的資料生成,具體來說就是結合了差分隱私(differential privacy)和生成對抗網路(GAN),其中差分隱私可以提供嚴格的隱私保障,而GAN可以用於擬合數據分佈,特別是擬合高維資料的資料分佈。與傳統的privacy preserving data generation方法需要對後續任務做假設相比,使用基於神經網路的生成模型可以避免對後續的任務做假設。鑑於傳統方法往往只能處理簡單的後續任務,使用GAN可以很好的避免這個侷限。
綜上所述,本文提出了一個滿足差分隱私定義的生成模型訓練方法,這個方法能夠獲得帶有隱私保障的生成模型,進而獲得生成資料。生成的資料可以用於後續的一系列操作和任務,例如訓練機器學習模型,而且又不會損害個人隱私。
首先,我們來了解一下差分隱私的概念。差分隱私是目前機器學習領域用的最廣泛的隱私的定義。上圖顯示了差分隱私的定義,可以看到差分隱私將隱私的概念抽象化成了數學語言,並且提供了量化指標。差分隱私把一個mechanism(演算法)M,能提供的隱私保障能力,量化成了ε和δ兩個數值。這兩個數字都是非負的,數字越小就代表M能夠提供的隱私保障越強。
具體來看定義公式,上述不等式兩邊的S和S’表示相鄰資料集,即這兩個資料集有且僅有一個數據點的差別。而公式兩邊的機率表示:當演算法M輸入不同的,且相應的資料集的時候,輸出保持不變的機率。當ε和δ的值越小越接近於0的話,不等號兩邊的機率越接近。這意味著即便輸入M的資料集有小的改變,但其輸出依然很相似。
那麼這又是怎樣和隱私保護相關聯的呢?透過上圖來直觀的解釋一下,上下兩個相鄰資料集為演算法的輸入,其中只相差一個使用者的資料,即其中綠色的部分。當演算法的輸出結果相近或相同的情況下就很難透過輸出結果來判斷輸入的資料集是這兩個中的哪一個,也就不可能得知是否包含綠色使用者的隱私資訊,這種情況下就保護了這個使用者資料的隱私。
而上面的差分隱私的定義不等式對於所有可能相鄰資料集都成立,這意味著無論輸入的資料中相差的是哪一個使用者的資料,都無法透過輸出結果獲得其輸入的資料集,這樣就實現了對使用者資料的隱私保護。式中的演算法M就是模型的訓練演算法,而輸出的結果就是訓練好的模型,而在本文中GAN就是訓練好的模型。
二、GAN和差分隱私
在正式將GAN和差分隱私聯絡起來之前,先介紹一個常用的且比較簡單的滿足差分隱私的方法,Gaussian Mechanism,直觀上理解就是給原始輸出增加高斯噪聲。在這之中重點在於sensitivity,指一個函式/演算法f在相鄰資料集上輸出的最大的距離,並且這個距離透過二範數來衡量,即每一個使用者對輸出所能造成的最大影響。當確定了sensitivity之後就能對演算法新增隨機性,即新增足夠大的噪聲,換言之,噪聲的大小需要與sensitivity成正相關。總的來說就是當噪聲足夠大的時候,就可以掩蓋每個樣本帶來的影響,也就保護了樣本個體的隱私資訊。
接下來先介紹兩個相關的基本性質。第一個是composition:當資料集被一系列演算法處理之後,總隱私損失即為所有子演算法隱私損失的總和。直觀上,每對資料集進行一次操作,模型就有可能洩露一部分的隱私。利用這個性質可以統計迭代訓練演算法的總隱私損失值。第二個性質是post processing invariance,它代表的是對差分隱私演算法輸出結果做後處理時,如果不會重複使用資料集資訊就不會洩露更多的隱私資訊,即不會增加privacy risk。
然後回到問題,怎樣把差分隱私和GAN結合起來。這裡先不考慮隱私,瞭解一下GAN是如何訓練的。
上圖的左圖展示了兩個模組,左邊是generator生成器,右邊是discriminator判別器。Generator輸入噪聲,輸出生成的資料樣本。Discriminator輸入生成的或真實的樣本,其需要判斷輸入的樣本是真還是假,同時把對應的gradient(梯度)回傳給generator,用來更新generator的引數,然後使得generator生成的資料越來越逼近真實資料。
實現了GAN,要怎麼滿足差分隱私的需求呢?現有方法屬於比較直接的Gauss mechanism應用,直接給梯度新增高斯噪聲,稱為Gradient Sanitization,即梯度脫敏/梯度去隱私化。其首先對梯度進行裁剪,使得所有樣本的梯度二範數都小於clipping bound C,再給裁剪後的梯度新增足夠大的高斯噪聲,就能實現差分隱私。而clipping bound C相當於之前提及的sensitivity概念,即每個樣本能引起的最大影響不會超過C,當給梯度添加了足夠大的與C正相關的噪聲,就能夠使得樣本被隱藏起來,滿足差分隱私的要求。
這個方法中的難點在於clipping bound的確定,並且處於GAN這樣的本身訓練就不穩定的模型時,clipping bound的選擇會很大程度地影響模型訓練的效果。
分析上面的原理,雖然GAN有generator和discriminator兩個模組,但是discriminator只有在模型訓練時使用,而生成資料僅需要generator,所以只需要使得generator滿足差分隱私的需求,即可得到滿足隱私保護的生成資料。
針對以上特徵,作者提出了保持discriminator正常訓練,即不對discriminator的梯度做任何改變。而僅對discriminator傳遞給generator的部分梯度進行sanitization,這裡利用了前面提到的post processing invariance性質。可以看到generator的引數可以寫作兩項乘積,其中第一項是discriminator傳遞的部分,也是sanitization的部分;第二項是generator自身的Jacobian,其不依賴於資料集。
另外一個重要操作是,當使用Wasserstein distance作為GAN的目標函式時,可以得到discriminator的一個Lipschitz property,而Lipschitz property可用於對梯度二範數進行估計。因此梯度裁剪的clipping bound就不需要透過手動選擇,而是可以直接使用這個理論上的估值。
對比多種解決方法,圖a是現有方法的處理梯度的二範數的分佈,較大的方差意味著選擇一個較好的clipping bound是比較困難的。圖c則是本文提出的方法,其梯度二範數分佈是比較接近理論值的。這表明使用理論上的估值避免了手動調參選擇clipping bound的問題,實現方便且降低了clipping引入的bias(偏置)。
簡單的總結一下,與現有方法相比,本文需要處理的梯度只有一個,即discriminator傳遞給generator的梯度,避免了對其他梯度進行操作造成額外的資訊損耗。而且對梯度的處理直接利用了discriminator的 Lipschitz property,方便地獲得了梯度的二範數理論估值,大大簡化了獲得clipping bound的過程和難度。並且由於估值是理論上的最優值,所以這一步帶來的bias要比現有方法小。
接下來考慮Decentralized(去中心化)或federative learning(聯邦學習)的setting。在這個情況下資料集分散於各個客戶端,中心的伺服器端訓練模型時不會直接接觸資料,而是利用各個客戶端上傳的梯度進行模型更新。面對這種情況,作者提出將generator和discriminator分別置於中心伺服器端和客戶端。具體來說,每個客戶端維持一個local discriminator,即這個discriminator透過客戶端的獨立資料集以及伺服器提供的生成資料進行訓練和更新,之後將去隱私化的梯度上傳給伺服器端進行generator模型的更新。
綜上所述,首先在這個框架下,客戶端僅需將去隱私化的梯度傳遞給伺服器,即便在伺服器不可靠(untrusted)的情況下也能提供隱私保障。另外,傳遞的梯度實質上是對樣本的梯度,其維度與模型引數梯度的維度相比低很多,與現有的聯邦學習方法相比,可以有效提高傳遞效率。
三、差分隱私保護的效果
接下來是對模型效果的實驗驗證,為了驗證其在高維資料集上的表現,本文在影象資料上進行了評估。評價指標中考慮了privacy和utility,其中privacy部分採用了兩種量化指標,即ε和δ。而utility(樣本的生成質量)考慮了兩部分,首先是Inception score (IS), Frechet Inception Distance (FID) 這兩個衡量樣本真實性的指標。其次是樣本對於後續任務的可用性:使用生成的資料集訓練classifier(分類模型),後用真實資料做測試集評估classification accuracy,即評估能否僅使用生成資料訓練分類模型。
首先是Quantitative Results on MNIST and Fashion-MNIST,可以看到在正常的中心化資料集上,在提供相同的隱私保障前提下,即所有的方法擁有相同的ε和δ值,本文的方法能夠顯著的提高生成樣本的質量。
第二個是在去中心化的情況下,本文方法同樣能夠比較顯著地提高生成樣本質量,同時也能夠比較明顯的減低傳遞梯度的維度/規模,即提高了傳遞效率。此外這個提升效果在不同資料集上和所有評價指標上比較一致。
接下來是privacy-utility curve: 橫座標代表不同的privacy level,即不同的隱私保護程度。縱座標為生成樣本質量的指標,上圖中上面部分是Inception Score(IS),其值越高越好,下面是FID,其值越低越好。可以看到在大多數情況下,代表本文方法的綠線能夠比其他baseline方法表現要好。
最後是生成樣本的視覺化,可以看到本文方法生成樣本的視覺效果比其他的baseline生成樣本要清晰。但是也能看到給GAN加上差分隱私約束之後,生成質量很明顯受到了影響。即便是在最簡單的MNIST資料集上,生成質量都不算是完美。可以看到在privacy preserving data generation方向,特別是在高維資料型別方向依然有非常大的提升空間。
相關資料
論文連結:
https://arxiv.org/abs/2006.08265
模型連結:
https://github.com/DingfanChen/GS-WGAN