差分隱私深度學習(CCS16'(CCF A))
時隔半年重讀這篇論文,終於懂了個七七八八,現在來做一下總結。
摘要
基於神經網路的機器學習技術在眾多領域都取得了令人矚目的成果。通常,模型的訓練需要大量具有代表性的資料集,這些資料集可能是眾包的,包含敏感資訊。模型不應暴露這些資料集中的隱私資訊。為了實現這一目標,我們開發了新的學習演算法技術,並在差分隱私框架內對隱私成本進行了精細分析。我們的實施和實驗證明,我們可以在適度的隱私預算下,以可控的軟體複雜度、訓練效率和模型質量成本,訓練具有非凸目標的深度神經網路。
引言
我們將最先進的機器學習方法與先進的隱私保護機制相結合,在適度("個位數")的隱私預算內訓練神經網路。我們處理的模型具有非凸目標、多個層以及數萬至數百萬個引數。(相比之下,之前的研究在引數數量較少的凸模型上取得了很好的結果,或者處理了複雜的神經網路,但隱私損失很大)。為此,我們開發了新的演算法技術,在微分隱私框架內對隱私成本進行了重新精細分析,並制定了謹慎的實施策略:
- 我們證明,透過跟蹤隱私損失的詳細資訊(高階矩),我們可以從漸進和經驗兩方面對整體隱私損失獲得更嚴格的估計。
- 我們透過引入新技術來提高差分隱私訓練的計算效率。這些技術包括計算單個訓練例項梯度的高效演算法、將任務細分為更小的批次以減少記憶體佔用,以及在輸入層應用差分隱私主投影。
- 我們基於機器學習框架 TensorFlow [3],訓練具有差分隱私的模型。我們在兩個標準影像分類任務 MNIST 和 CIFAR-10 上評估了我們的方法。我們之所以選擇這兩個任務,是因為它們基於公共資料集,並且長期以來一直是機器學習的基準。我們的經驗表明,深度神經網路的隱私保護可以在軟體複雜性、訓練效率和模型質量方面以適度的成本實現。
本文的方法
本節將介紹我們的神經網路差分隱私訓練方法的主要組成部分:差分隱私隨機梯度下降演算法(SGD)、矩統計(矩會計)和超引數調整。
差分隱私SGD演算法
為了保護訓練資料的隱私性,我們可以只研究訓練過程中產生的最終引數,將這一過程視為黑箱。遺憾的是,一般情況下,我們可能無法對這些引數與訓練資料的依賴關係進行有用的嚴密描述;在引數中加入過於保守的噪聲(噪聲是根據最壞情況分析選擇的),會破壞所學模型的實用性。因此,我們傾向於採用一種更復雜的方法,即在訓練過程中,特別是在 SGD 計算中,控制訓練資料的影響。這種方法已在之前的研究中得到應用(例如,[52, 7]);我們對其進行了一些修改和擴充套件,特別是在隱私開銷核算方面。
注:這個演算法與原始演算法的主要區別是作者用了Lot的概念與Batch區分開,在這裡Batch是梯度下降的執行基本單位,而Lot是新增差分隱私噪聲的基本單位,一個Lot含多個Batch(文中說Lot比Batch大得多)。相當於多個Batch一起新增噪聲,這樣可以提升加噪的計算效率。
後文中Lot的大小記作\(L\)。
此外求敏感度的方法是考慮相鄰資料集(變化一條資料)對於函式輸出的影響(對函式輸出的最大影響是多少)。
隱私核算
對於差分隱私 SGD,一個重要的問題是計算訓練的整體隱私成本。差分隱私的可組合性使我們能夠實現一個 "會計 "程式,在每次訪問訓練資料時計算隱私成本,並隨著訓練的進行累積這一成本。每一步訓練通常都需要多個層的梯度,會計師會累積所有梯度對應的成本。
矩統計
很多研究都致力於研究特定噪聲分佈的隱私損失以及隱私損失的構成。對於我們使用的高斯噪聲,如果我們在 演算法1 中選擇 \(\sigma\) 為 \(\sqrt{2\log\frac{1.25}\delta}/\varepsilon\)。那麼根據標準論證 [20]:相對於批次而言,每一步都服從\((\epsilon, \delta)\)-差分隱私。由於批次本身是從資料庫中隨機抽樣的,因此根據隱私放大定理 [33, 8]:相對於整個資料庫,每一步都是\((O(q\epsilon), q\delta)\)-差分隱私的,其中 \(q = L/N\) 是每個加噪批次的抽樣比率,\(\epsilon ≤ 1\)。文獻中產生最佳總體約束的結果是強組合定理[22]。
然而,強組合定理可能比較鬆散,沒有考慮到所考慮的特定噪聲分佈。在我們的工作中,我們發明了一種更強的計算方法,我們稱之為矩統計(矩會計)。透過這種方法,我們可以證明,在適當選擇噪聲尺度和剪下閾值的情況下,演算法1 是 \((O(q\varepsilon\sqrt{T}),\delta)\) -差分隱私的。與強組合定理的結果相比,我們的約束在兩個方面更為嚴格:\(\epsilon\) 部分節省了 \(\sqrt{\log(1/\delta)}\) 倍,\(\delta\) 部分節省了 \(Tq\) 倍。由於我們預計 \(\delta\) 較小,且 \(T\gg1/q\)(即每個例子都要檢查多次),因此我們的約束所帶來的隱私開銷的節省相當可觀。這一結果是我們的主要貢獻之一。
定理1 存在常數 \(c_1\) 和 \(c_2\),因此在給定取樣機率 \(q = L/N\) 和步驟數 \(T\) 的情況下,對於任意的 \(\varepsilon<c_{1}q^{2}T\),演算法1 對於任意 \(\delta > 0\) 都是 \((ε, δ)\)-差分隱私的,如果我們選擇
\[\sigma\geq c_2\frac{q\sqrt{T\log(1/\delta)}}\varepsilon. \]
如果我們使用強組成定理,則需要選擇\(\sigma=\Omega(q\sqrt{T\log(1/\delta)\log(T/\delta)}/\varepsilon)\)。請注意,我們在漸近約束中節省了\(\sqrt{\log(T/\delta)}\)的係數。正如這一結果所示,矩統計在理論上是有益的,在實踐中也是如此,這一點可以從第 4 節中的圖 2 中看出。例如,在 \(L = 0.01N\)、\(\sigma = 4\)、\(\delta = 10^{-5}\) 和 \(T = 10000\) 的條件下,使用矩統計,我們可以得到 \(\varepsilon\approx1.26\)。相比之下,使用強組合定理會得到更大的\(\varepsilon\approx9.34\)。 (使用矩統計更節約隱私開銷)
矩統計:細節
(這一節具體講解了作者提出的更加緊的隱私開銷統計方法以及具體的公式推導,最重要的一節,重點看懂邏輯:作者先提出了結論——上面的 定理1,這一節是在講這個\(\epsilon\)和\(\delta\)界怎麼透過高階矩的方法推匯出來的)
隱私損失是一個隨機變數,取決於新增到演算法中的隨機噪聲。機制 \(\mathcal{M}\) 是\((\epsilon,\delta)\)-差分隱私的,這等同於 \(\mathcal{M}\) 的隱私損失隨機變數的某個尾界。雖然尾界是關於分佈的非常有用的資訊,但直接從尾界組合會導致相當寬鬆的邊界。我們轉而計算隱私損失隨機變數的對數矩,它是線性組合的。然後,我們利用矩約束和標準馬爾可夫不等式,得到尾約束,即差分隱私意義上的隱私損失。
更具體地說,對於相鄰資料庫\(d,d'\in \mathcal{D}_n\)、機制 \(\mathcal{M}\)、輔助輸入 \(\mathsf{aux}\) 和結果 \(o\in \mathcal{R}\),定義 \(o\) 處的隱私損失為
注意:上面這個式子是隱私損失的標準定義:就是兩個相鄰資料集下相同輸出的機率之比的對數,只不過這裡還考慮了輔助資訊\(\mathsf{aux}\),這裡的輔助資訊其實就是前面幾輪的輸出結果.
對於給定的機制 \(\mathcal{M}\),我們將第 \(\lambda\) 階矩 \(\alpha_\mathcal{M}(\lambda;\text{аих},d,d^{\prime})\) 定義為在數值 \(\lambda\) 處求值的矩母函式的對數:
$$\alpha_{\mathcal{M}}(\lambda;\mathsf{aux},d,d^{\prime})\triangleq\log\mathbb{E}_{o\sim\mathcal{M}(\mathsf{aux},d)}[\exp(\lambda c(o;\mathcal{M},\mathsf{aux},d,d^{\prime}))].$$
注:隨機變數\(X\)的矩母函式定義是\(M_X(t)=\mathrm{E}[e^{tX}]\)
所以這裡的矩母函式是\(\mathbb{E}_{o\sim\mathcal{M}(\mathsf{aux},d)}[\exp(x c(o;\mathcal{M},\mathsf{aux},d,d^{\prime}))]=\mathbb{E}_{o\sim\mathcal{M}(\mathsf{aux},d)}[\exp(x \log\frac{\Pr[\mathcal{M}(\mathrm{aux},d)=o]}{\Pr[\mathcal{M}(\mathrm{aux},d^{\prime})=o]})]\),其中這就是關於隱私損失隨機變數\(c\)的矩母函式.
為了證明機制的隱私保證,我們需要約束所有可能的 \(\alpha_\mathcal{M}(\lambda;\text{аих},d,d^{\prime})\)。我們定義
其中,最大值取自所有可能的 \(\mathsf{aux}\) 和所有相鄰資料庫 \(d,d'\)(即要遍歷所有可能的\(\mathsf{aux}\)和相鄰資料集找到那個最大值)。
注:這裡求 \(\lambda\) 階矩的最大值是為了在後面的尾界定理能夠求出 \(\delta\) 的上界。
定理2 令 \(\alpha_\mathcal{M}\) 如上定義,那麼有以下兩個性質:
1. [可組合性] 假設機制 \(\mathcal{M}\) 由一系列自適應機制\(\mathcal{M}_{1},\ldots,\mathcal{M}_{k}\)組成,其中\(\mathcal{M}_{i}\colon\prod_{j=1}^{i-1}\mathcal{R}_{j}\times\mathcal{D}\to\mathcal{R}_{i}.\) 那麼對於任意的\(\lambda\)有\[\alpha_{\mathcal M}(\lambda)\leq\sum_{i=1}^{k}\alpha_{\mathcal M_{i}}(\lambda). \]
- [尾界定理] 對於任意 \(\epsilon > 0\),機制 \(\mathcal{M}\) 在以下條件下是 \((\epsilon, \delta)\)-差分隱私的:
\[\delta=\min_{\lambda}\exp(\alpha_{\mathcal{M}}(\lambda)-\lambda\varepsilon). \]
特別地,當機制本身是根據先前機制的(公開)輸出來選擇時,定理 2.1 仍成立(我認為這是不等號的來源,因為噪聲不獨立了,附錄中證明的時噪聲獨立的情況,即全是等號)。
根據 定理 2,只需計算或約束每一步的 \(\alpha_{\mathcal{M}_i}(\lambda)\) 並求和,就能約束整個機制的矩。然後,我們就可以利用尾部約束將矩量約束轉換為 \((\epsilon, \delta)\)-差分隱私保證。(這是 定理2 如何應用的邏輯)
注:定理 2 的具體證明如下
這裡補充一個差分隱私收斂性分析中經常用到的(機率論)重要概念——馬爾科夫不等式。馬爾科夫不等式(Markov's inequality)是機率論中的一個基本不等式,描述了隨機變數取非負值時的上界。該不等式由俄羅斯數學家安德烈·馬爾可夫(Andrey Markov)於 1906 年提出。
馬爾科夫不等式陳述如下:設 \(X\) 是一個非負的隨機變數,即 \(X \geq 0\),且 \(a\) 是一個正數,那麼對於任意大於 \(a\) 的實數 \(t\),有:\[P(X\ge a)\le\frac{E[X]}{a} \]其中 E[X] 是 X 的期望值(或者說均值)。
換句話說,馬爾科夫不等式告訴我們,對於任何非負的隨機變數 \(X\) 和任意正數 \(a\),\(X\) 超過 \(a\) 的機率不超過其期望值除以 \(a\)。這個不等式在機率論和統計學中有著廣泛的應用,例如在證明其他重要不等式,或者作為估計邊界時使用。
那麼剩下的主要挑戰是如何約束每一步的 \(\alpha_{\mathcal{M}_t}(\lambda)\) 值。對於隨機抽樣的高斯機制,只需估計以下矩即可。讓 \(\mu_0\) 表示 \(N (0,\sigma^2)\) 的機率密度函式(probability density function, pdf),\(\mu_1\) 表示 \(N (1,\sigma^2)\) 的 pdf。讓 \(\mu\) 成為兩個高斯分佈的混合 \(\mu=(1-q)\mu_0+q\mu_1\)。然後我們需要計算 \(\alpha(\lambda)=\log\max(E_1,E_2)\)。其中
在實現矩會計時,我們進行數值積分來計算 \(\alpha(\lambda)\)。此外,我們還可以證明漸近約束
結合 定理 2,上述約束意味著我們的 主定理 1。
注:定理1 的具體證明如下
step1:先證明引理3
注:引理 3 中 \(\mathcal{M}(d)\sim\mu\triangleq(1-q)\mu_0+q\mu_1\) 是因為\(d\)是由\(d'\)和一個抽取的元素\(d_n\)組成的,而對於隨機抽取的元素有\(f(d_n)=e_1\)也就是第一個元素是\(1\)其他元素是\(0\)的向量。又因為有\(q\)的機率抽到\(d_n\),其他機率是原本的\(d'\),所以最終分佈是這樣的.
注:\(\mathbb{E}_{z\sim\nu_0}[(\nu_0(z)/\nu_1(z))^\lambda]=\mathbb{E}_{z\sim\nu_1}[(\nu_0(z)/\nu_1(z))^{\lambda+1}]\)的推導如下:
這裡用了一個重要性取樣方法,用另一個分佈計算當前分佈的期望
以上證明完了引理 3,後面依據 引理 3 證明 定理 1
實驗
在實驗中,我們設定 \(q = 0.01\)、\(\sigma = 4\) 和 \(\delta = 10^{-5}\),並計算了 \(\epsilon\) 值與訓練歷時 \(E\) 的函式關係。圖 2 顯示了分別對應於使用強組成定理和矩會計的兩條曲線。我們可以看到,使用矩會計可以更精確地估計隱私損失。例如,當 \(E = 100\) 時,數值分別為 \(9.34\) 和 \(1.26\),而當 \(E = 400\) 時,數值分別為 \(24.22\) 和 \(2.55\)。也就是說,利用矩約束,我們可以獲得 \((2.55, 10^{-5})\)-差分隱私,而之前的技術只能獲得 \((24.22, 10^{-5})\)-差分隱私的保證。