李 敏 李紅嬌 陳 杰
(上海電力學院計算機科學與技術學院 上海 200090)
神經網絡在圖像分類、語音分析和生物醫學等領域應用廣泛并且取得了顯著的成果。但是用于訓練神經網絡的數據集通常可能包含各種各樣的敏感信息,特別是目前云存儲和云計算的發展使得大量數據存在隱私安全隱患。
目前,神經網絡的優化算法隱私泄露原因與保護方法主要有:(1) 實際訓練中由于數據量不夠大導致模型易受到對抗攻擊而造成的隱私泄露。Reza等[1]在2015年提出了一種采用協作式方法來訓練模型的數據隱私保護方法,即讓各個用戶分別在各自的數據集上訓練深度學習模型,并且有的放矢地將各自的模型參數互相共享。(2) 利用算法的過擬合缺陷,通過梯度下降技術和置信度來重現模型訓練的數據導致隱私泄露的模型反演攻擊[2]。Xie等[3]提出了使用同態加密數據,即將數據加密后再進行處理。Phan等[5]提出差分隱私自編碼(ε-differential private autoencoder),利用差分隱私理論來擾亂深度自編碼器的目標函數,在數據重建過程中添加噪聲從而保護數據。Shokri等[6]提出了基于分布式隨機梯度下降的隱私保護方法,該方法假設各方分別訓練各自的模型,不共享數據,僅在訓練期間交換中間參數并且提供差分隱私保護。Abadi等[7]結合差分隱私理論提出了DP-SGD,優點是在適當的隱私預算內提供了較好的隱私保護程度,缺點是噪聲對模型精度的影響較大。(3) 基于GAN的數據重現導致的隱私泄露。Papernot等[8]在2017年對保護訓練數據隱私的機器學習模型進行改進,提出了Teacher-student模型。通過學習不同敏感數據集來訓練不公開的teacher模型,teacher模型再對公開的未標記的非敏感數據進行預測,用于訓練student模型,student模型不依賴敏感數據集,即使攻擊者得到了student模型的參數也無法獲取敏感數據的信息。
為了在神經網絡優化算法的優化過程中實現差分隱私保護,本文提出差分隱私保護下的Adam優化算法(DP-Adam)。結合差分隱私理論,在神經網絡訓練的反向傳播過程使用Adam優化算法并且利用指數加權平均思想來實現對深度學習優化算法的隱私保護,不但提高了模型精度,而且其隱私保護效果更好。實驗表明,對于相同的隱私預算,隨著訓練時間的增加,DP-Adam訓練模型的精度優于DP-SGD。除此之外,在達到同樣模型精度的條件下,DP-Adam所需要的隱私預算更小,即DP-Adam的隱私保護程度比DP-SGD更高。
Dwork[10]于2006年首次提出了差分隱私這一概念。其主要思想是如果某個數據記錄是否存在于數據集對于該數據集的查詢或計算結果幾乎沒有影響,那么該記錄就得到了差分隱私保護。因此,當該記錄被加到數據集中時所造成的隱私泄露風險在某個可接受的范圍內時,攻擊者就無法獲取該記錄的準確信息,從而該記錄得到保護。
定義1鄰近數據集[10]若存在兩個結構和屬性相同的數據集D和D′,有且僅有一條記錄不同,則這兩個數據集稱為鄰近數據集。如表1所示,數據集d和d′是鄰近數據集。

表1 鄰近數據集d和d′
定義2ε-差分隱私[11]對于一個隨機算法M:D→R,兩個鄰近數據集d,d′∈D,且M的任意輸出S?R,若滿足以下條件:
Pr[M(d)∈S]≤eε·Pr·[M(d′)∈S]
(1)
則算法M滿足ε-差分隱私。式中:Pr表示概率;ε表示隱私保護預算,ε的值越小,隱私保護程度越高[12]。
從式(1)來看,隱私保護預算ε[13]表達的是算法M在鄰近數據集d和d′上得到相同結果的概率之比的對數值,作用是衡量算法M所提供的隱私保護水平。理論上,ε的取值越小,則提供的隱私保護水平越高。但是數據的可用性也會隨之降低。因此,ε的取值要平衡數據的隱私性和可用性。
定義3拉普拉斯噪聲機制[14]拉普拉斯噪聲機制的定義如下:
M(d)=f(d)+Lap(μ,b)
(2)
式中:位置參數μ,尺度參數為b的拉普拉斯分布Lap(μ,b)的概率密度函數如下:
(3)
當添加位置參數μ=0,尺度參數b=Δf/ε的拉普拉斯噪聲時,式(2)則變為:
M(d)=f(d)+Lap(Δf/ε)
(4)
式中:敏感度Δf=|f(d)-f(d′)|;M是深度學習算法;f:D→R是分布函數;Lap(Δf/ε)是服從尺度參數為Δf/ε的拉普拉斯分布。由圖1可知,ε越小,則b就越大,引入的噪聲就越大。

圖1 μ=0的拉普拉斯分布圖

性質2并行組合性[15]設算法M1,M2,…,Mn,其隱私保護預算分別是ε1,ε2,…,εn,則對于不相交的數據集D1,D2,…,Dn,由這些算法組合成的算法M1(D1),M2(D2),…,Mn(Dn)提供(max εi)-差分隱私保護。
神經網絡是一種模仿動物神經網絡行為特征進行信息處理的數學算法模型,基本組成單元是神經元。深度神經網絡是由多層神經元組成,其結構如圖2所示,“○”代表神經元,每一層神經網絡都由若干個神經元組成,xi代表輸入數據的特征向量,y代表輸出結果的預測值。隱藏層越多,神經網絡結構越復雜,訓練得到的模型性能越好。因此,在訓練超大的數據集和復雜度高的模型時,一般都需要構建隱藏層數較多的神經網絡,但也要根據自身的研究目的設計合理的隱藏層數的神經網絡,否則會導致過擬合。

圖2 深度神經網絡結構
定義4指數加權平均 指數加權平均是一種近似求平均的方法,應用在很多深度學習[16]的優化算法中,其核心表達式如下:
vt=β·vt-1+(1-β)θt
(5)
式中:t為迭代次數;vt代表到第t次的平均值;θt表示第t次的值;β表示可調節的超參數。通過指數加權平均,各個數值的加權隨著t而指數遞減,越近的θt的加權越重,第t-1、t-2、…、1次的加權分別為β(1-β)、β2(1-β)、…、βt-1(1-β)。
Adam算法是目前神經網絡優化算法中優秀的算法之一,是傳統隨機梯度下降的優化算法。隨機梯度下降在訓練時保持單一學習率更新網絡參數,學習率在訓練過程中不改變,Adam通過計算梯度的一階和二階矩估計使得不同參數有獨自的自適應學習率。Adam算法在實踐中性能優異、相較于其他隨機優化算法有很大優勢。其偽代碼如下:
輸入:學習率α(默認為0.001);矩估計的指數衰減速率β1和β2∈[0,1],建議分別默認為0.9和0.999;用于數值穩定的小常數δ,默認為10-8;初始參數θ。
輸出:θ
初始化一階和二階矩變量s=0,r=0
初始化時間步t=0
While沒有達到停止準則do
從訓練集中采包含m個樣本{x(1),x(2),…,x(m)}的小批量,對應目標為y(i)。

t←t+1
更新有偏一階矩估計:s←β1s+(1-β1)g
更新有偏二階矩估計:r←β2r+(1-β2)g·g

應用更新:θ←θ+Δθ
End while
為了實現神經網絡優化算法的隱私保護,Abadi等[7]提出了一種在優化過程中實現差分隱私保護的方法——基于隨機梯度下降的差分隱私保護下的優化算法(DP-SGD)。由于從數據的訓練到模型的生成完全可以依賴計算梯度的過程實現,因此,該方法通過在隨機梯度下降的過程中結合差分隱私理論給梯度添加噪聲來實現差分隱私保護。在每一個訓練步驟t中,計算具有采樣概率L/n的隨機樣本Lt的梯度并通過l2范數來約束梯度,再給約束后的梯度添加噪聲,最后更新參數θt+1。其偽代碼如下:

參數:學習率αt,樣本容量L,預設的梯度閾值C
隨機初始化θ0
fort∈[T] do
選取采樣概率L/n的隨機樣本Lt
/*計算梯度*/
fori∈Lt,計算gt(xi)=▽θtFxi(θt)
/*約束梯度*/
/*加噪聲*/
/*更新參數*/
Output:θT
DP-SGD方法通過在隨機梯度下降的過程中添加噪聲解決了算法在優化過程中的隱私泄漏問題。實驗表明:(1) 在適當的隱私預算內,DP-SGD提供了較好的隱私保護水平。(2) Δf/ε越小,模型預測的精度越高,即加入的噪聲越小,模型的精度越高。
但是,DP-SGD方法存在一個缺陷,即所添加的噪聲對模型精度的影響較大。以圖3中的A區域為例,由于每次添加的噪聲都是符合某一分布的隨機數字,這就導致每一次隨機添加的噪聲極有可能分布在A區域的兩側。根據DP-SGD的實驗結論分析可知,隨機噪聲盡量地分布在A區域會提高模型的精度。

圖3 Laplace分布
為了實現對神經網絡優化算法的隱私保護而提出了差分隱私下的Adam優化算法研究(DP-Adam)。Adam是一種性能優秀的梯度下降算法,將其與差分隱私結合,在神經網絡反向傳播的Adam梯度下降更新參數過程中加入滿足差分隱私的拉普拉斯噪聲,從而達到在神經網絡優化算法的優化過程中進行隱私保護的目的。相比于DP-SGD方法,該方法在滿足同等隱私預算的情況下模型的精度更高,而且在模型達到同樣精度要求下所需要的隱私預算更小,即隱私保護程度更高。DP-Adam算法的主要步驟如下:
Step1計算每一次梯度下降時權重和偏置的梯度:
(6)
Step2加入拉普拉斯噪聲:
(7)
Step3使用Adam優化方法迭代更新參數:
(8)
(9)
(10)
(11)
(12)
如圖3所示,當b=Δf/ε越小時,拉普拉斯噪聲分布越集中于A區域(μ=0附近)。DP-SGD[7]的實驗結果表明,Δf/ε越小,模型的精度越高,即加入的噪聲分布離μ=0越近,模型的精度越高。
對于同一數據集,敏感度Δf是相同的,隱私預算ε決定了訓練模型的隱私保護程度和預測結果的準確性,當ε設置相同時,DP-SGD方法在梯度下降第t次更新參數時加入的噪聲為:
N=(1-β)Lap(Δf/ε)[t]
(13)
可知,第t次梯度下降參數加入的噪聲僅與第t次加入的隨機噪聲相關,與前t-1次加入的隨機噪聲無關。根據拉普拉斯概率分布可知,所添加的噪聲是滿足該拉普拉斯分布的隨機數,無法保證添加噪聲盡量分布在A區域(μ=0附近)。
DP-Adam算法在梯度下降第t次更新參數時加入的噪聲為:
(14)
第t次梯度下降時參數加入的噪聲為本次添加的隨機噪聲和前t-1次加入噪聲的指數加權平均。因此,DP-Adam方法加入的噪聲由于指數加權平均的限制,很明確地使噪聲分布有更大概率分布在A區域(μ=0附近),也就是在敏感度Δf和隱私預算ε一定的情況下,DP-Adam方法加入的隨機噪聲參數b=Δf/ε更小。因此,在隱私保護程度相同時,DP-Adam的模型精度更高。DP-Adam算法如下:

參數:步長α(默認為0.001)。隨機選取的樣本規模L,用于數值穩定的小常數δ,默認為10-8。矩估計的指數衰減速率β1和β2∈[0,1],建議分別默認為0.9和0.999。
輸出:θ
隨機初始化w、b
初始化一階和二階矩變量s=0、r=0
初始化時間步t=0
Whilet∈[T] do
隨機選取樣本Lt,采樣概率為q=L/t
/*計算梯度*/
對于i∈Lt,計算gt(xi)←▽θtL(wt,bt,xi)
/*加噪*/
/*計算加噪后的平均梯度*/
t←t+1

應用更新:w←w+Δw,b←b+Δb
End while
由式(2)和式(4)可知,算法中加入的拉普拉斯噪聲的尺度參數b=Δf/ε,在同一個實驗中加入的是一個參數確定的拉普拉斯噪聲分布,即μ和b是確定的某兩個值,同一實驗的敏感度Δf也是確定的。因此,在同一實驗中ε的值也是確定的,根據b=Δf/ε,我們可以得到ε=Δf/b。
本文選取了機器學習常用的兩種用于圖片識別的數據集MINIST和CIFAR-10。MNIST數據集包括60 000個樣本的手寫數字圖片訓練集和10 000個樣本的手寫數字圖片測試集,其中手寫數字圖片為28×28像素的灰度圖像。CRFAR-10數據集包含10種不同物品分類的彩色圖片,訓練集有50 000個樣本,測試集有10 000個樣本。實驗對比了DP-Adam方法與文獻[7]提出的DP-SGD方法在兩種數據集上的結果。
實驗環境:CPU為Inter Core I7-7500 3.70 GHz,內存16 GB,GPU為Nvidia GeForce GTX1060(6 GB)。
圖4為MNIST數據集在不同隱私預算下的訓練模型的精度,ε表示隱私預算的大小、epoch為訓練的輪數。如圖4(a)所示,ε較小時(即噪聲規模較大)兩種方法的模型精度均受到噪聲影響較大,但DP-Adam方法的模型精度明顯更高。隨著ε的增大,精度逐漸增加。在訓練的穩定時期,DP-Adam的模型精度達到99%,而DP-SGD僅有89%。相同ε下,DP-Adam方法的準確率受到噪聲的影響始終小于DP-SGD方法。此外,當兩種方法的模型精度相同時,DP-Adam使用的隱私預算明顯小于DP-SGD,即DP-Adam的隱私保護性能更好。圖4(b)-(d)為三種不同隱私預算下,訓練輪數epoch與模型精度的變化關系曲線,可以看出兩種方法訓練時間接近,但DP-Adam方法精度更高。當訓練達到穩定的狀態時,DP-Adam算法分別在添加大噪聲(ε=0.5)、中等噪聲(ε=1)以及小噪聲(ε=2)時的模型精度是90%、95%和99%,而DP-SGD算法達到的精度分別是80%、82%和87%。

(a) accuracy vs.ε

(b) ε=0.5(large noise)

(c) ε=1(middle noise)

(d) ε=2(small noise)
圖5為CIFAR-10數據集在不同隱私預算下的訓練模型的精度。圖5(a)中,隨著ε增大(噪聲規模減小),兩種方法的模型精度均逐漸上升。在訓練的穩定時期,DP-Adam的模型精度達到87%,而DP-SGD僅有75%。在同等噪聲規模下,DP-Adam方法的模型精度均高于DP-SGD。此外,當兩種方法的模型精度相同時,DP-Adam使用的隱私預算明顯小于DP-SGD,即DP-Adam的隱私保護性能更好。圖5(b)-(d)為三種不同隱私預算下,訓練輪數epoch與模型精度的變化關系曲線,可以看出兩種方法訓練時間接近,但Adam方法的模型精度更高。當訓練達到穩定的狀態時,DP-Adam算法分別在添加大噪聲(ε=1)、中等噪聲(ε=2.5)以及小噪聲(ε=6)時的模型精度為73%、78%和88%,而DP-SGD算法達到的精度分別是67%、73%和77%。

(a) accuracy vs.ε

(b) ε=1(large noise)

(c) ε=2.5(middle noise)

(d) ε=6(small noise)
本文提出了差分隱私保護下的Adam深度學習算法研究。該方法結合差分隱私理論在深度學習訓練過程的反向傳播時使用Adam優化算法,并且利用Adam算法的指數加權平均思想降低了添加噪聲對模型精度的影響。采用Adam優化算法,第t次梯度下降時參數加入的噪聲為本次添加的隨機噪聲和前t-1次加入噪聲的指數加權平均,這使得在相同敏感度Δf和隱私預算ε下,DP-Adam方法加入的隨機噪聲比起DP-SGD方法加入的隨機噪聲更集中分布在μ=0的區域,進而使得隨機噪聲的參數b=Δf/ε變小。通過理論與實驗得出結論:1) 在同等的隱私保護程度下,DP-Adam方法的模型精度明顯高于DP-SGD;2) DP-Adam的隱私保護性能更好。