差分隱私相關論文(1) —— Differential Privacy, Dwork 2006

之前也有提到過,因爲已經轉行差分隱私不搞NLP啦,所以之後的博客不會再更新NLP相關內容(儘管曾經的夢想是在NLP領域有所作爲哈哈哈),但是如果大家有什麼相關問題還是期待着一同討論喲~
好了我們言歸正傳,本文向大家介紹2006年Dwork大神的一篇文章,文章名字就叫Differential Privacy,應該是差分隱私的開山之作了。

首先,差分隱私所描述的隱私保護,針對的都是數據庫中的個人數據(本文主要關注統計數據庫)。
我們所設想的最好的隱私保護當然是:可以通過學習數據庫得到某些羣體信息,但是無法學習到個人信息。
(羣體信息是我們本來就想學習到的內容,比如均值

本文中所提到的隱私保護是建立在考慮附加信息(auxiliary information)的情況下的,附加信息是指攻擊者通過非目標數據庫可以得到的信息(比如報紙,新聞等)。那麼,

【一】絕對的隱私究竟能不能達到?

看到這個問題,相信大家一定已經有了一個答案。
答案必然是否定的。
這篇文章的Section 3嚴格證明了這個結論(但是我沒看明白……),但(所)是(以)在本文中並不做詳細討論,有興趣的朋友們可以自行研究~

在這裏可以舉一個例子簡單理解一下:
假如某個數據庫 DD 發佈了不同國家的女性身高,攻擊者還偶然得知了附加信息:女士A比中國女性平均身高高了2cm,那麼攻擊者就可以得知A的真實身高了。
作爲對比,假設任何人都可以得知這條附加信息,普通人(沒有訪問數據庫 DD 的人)得到的信息也很少,至少沒辦法推測A的真實身高。
因此,在考慮附加信息(aux)的情況下,絕對的隱私保護是無法實現的。

【二】差分隱私定義

在這裏,我們再深入思考一下,在剛剛的例子中我們發現,無論女士A的個人信息是否被包含在數據庫 DD 中,攻擊的實施不會受到任何影響。
換句話說,對某個個體攻擊的實施可行與否,與數據庫中是否包含該個體無關。因此,從個人的角度來說,這種攻擊是“不可防範的”。
原文是這樣敘述的:
presence or not

基於這樣的觀察,該文章對差分隱私給出了這樣的定義:
Definition of Differential Privacy
很容易理解,這個定義確保了只更改數據庫中的一條數據,對查詢的反饋“基本上”是以同樣的可能性出現的。
這個“基本上”是由參數 ϵ\epsilon 保證的。很明顯,ϵ\epsilon 越小,隱私保護能力越強。
那麼如何達到這樣的目的呢?
定義中也給出了線索,就是隨機(randomized function K\mathcal{K})。

【三】函數的敏感度

在介紹差分隱私具體的實現方法之前,首先介紹這樣一個定義:函數的 L1sensitivityL_1-sensitivity (後文會用到):
L1-sensitivity
L1sensitivityL_1-sensitivity 定義了當一個participant改變時,查詢函數 f()f(\cdot) 所輸出結果的最大改變量。這樣的改變量往往被稱爲函數的敏感度,常用的還有L2sensitivityL_2-sensitivity,特別是在機器學習差分隱私領域。

在這裏我們舉個例子:
假設有這樣一個查詢 ff:數據庫 DD 中共有多少個人(即,多少行)具有屬性 PP
那麼該查詢的 L1sensitivityL_1-sensitivityΔf=1\Delta f = 1.

值得注意的是,敏感度(無論是 L1L_1 還是 L2L_2)是函數的固有屬性,與數據庫無關。

【四】差分隱私實現

除了定義之外,本文還給出了差分隱私的一種實現方法,剛剛我們也有提到(沒錯就是隨機),在查詢結果上直接加隨機噪聲:
adding noise
這也是差分隱私機器學習領域中output perturbation方法的由來。

具體的實現方法如下:
基於指數分佈的隱私機制(privacy mechanism),用 Kf\mathcal{K}_f 表示,分佈函數如下:
density function
上面的這個式子可能不是很容易理解,我們換個說法:
在得到真實查詢結果 f(X)f(X) 之後,我們將其加上一個隨機噪聲bb, 其中 bb 的概率分佈 g(b)g(b) 如下:
g(b)exp(b/σ). g(b)\propto\exp(-b/\sigma).
上面的式子就是一個常規的指數分佈,方差爲 σ2\sigma^2
然後我們得到:
Kf(X)=f(X)+b. \mathcal{K}_f(X) = f(X) + b.
推算一下,其實這個過程和上面的式 (3) 其實是一樣的。

在這裏還有一個小小的疑問,就是函數 ff 的輸出是 dd 維的,我們加入的噪聲在這 dd 維是互相獨立的,即:
independent coordinates
現在,基於上面所描述的 privacy mechanism: KfK_f,我們可以得到這樣的結論:
Theorem DP
【證明】
我們首先回顧一下式 (1) 中差分隱私的定義,很自然可以想到將兩個數據庫 D1D_1D2D_2 分別 apply Kf\mathcal{K}_f 之後做商,然後與 exp(ϵ)\exp(\epsilon) 作比較:
Pr[Kf(D1)=a]Pr[Kf(D2)=a]=(3)exp(f(D1)a1/σ)exp(f(D2)a1/σ)=exp(f(D2)a1f(D1)a1σ), \frac{Pr[\mathcal{K}_f(D_1)=a]}{Pr[\mathcal{K}_f(D_2)=a]}\overset{(3)}{=}\frac{\exp(-\|f(D_1)-a\|_1/\sigma)}{\exp(-\|f(D_2)-a\|_1/\sigma)} \\ =\exp\left(\frac{\|f(D_2)-a\|_1-\|f(D_1)-a\|_1}{\sigma}\right),
式中等號上面的 (3) 指上文中的式 (3)。

根據三角不等式我們可以得到:
exp(f(D2)a1f(D1)a1σ)exp(f(D2)f(D1)1σ)=exp(Δfσ). \exp\left(\frac{\|f(D_2)-a\|_1-\|f(D_1)-a\|_1}{\sigma}\right) \\ \leq\exp\left(\frac{\|f(D_2)-f(D_1)\|_1}{\sigma}\right) \\ = \exp\left(\frac{\Delta f}{\sigma}\right).
因此我們可以得到:Pr[Kf(D1)=a]Pr[Kf(D2)=a]exp(Δfσ).\frac{Pr[\mathcal{K}_f(D_1)=a]}{Pr[\mathcal{K}_f(D_2)=a]}\leq\exp\left(\frac{\Delta f}{\sigma}\right).
帶入差分隱私定義可以得到:Kf\mathcal{K}_f 保證了 (Δf/σ)(\Delta f/\sigma)- differential privacy。
【證畢】
因此,如果想要保證 ϵ\epsilon- differential privacy,利用上述 exponential privacy mechanism: KfK_f,需要滿足 σϵ/Δf\sigma \geq \epsilon/\Delta f.

值得一提的是,上述看似簡單的證明方法是後續(幾乎)所有output perturbation 證明方法的基本思路。

【五】其他

除了以上內容之外,本文還進一步給出了針對 mm 個連續問題的差分隱私方法,將上面的 Δf\Delta f 改換成這個問題集合中 max\max 的那個即可,很容易理解,在這裏就不再過多贅述。有興趣的朋友們可以自行閱讀文章~

如果本文中某些表述或理解有誤,歡迎各位大神批評指正。
謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章