李 敏 李紅嬌 陳 杰
(上海電力學院計算機科學與技術(shù)學院 上海 200090)
神經(jīng)網(wǎng)絡(luò)在圖像分類、語音分析和生物醫(yī)學等領(lǐng)域應(yīng)用廣泛并且取得了顯著的成果。但是用于訓練神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)集通??赡馨鞣N各樣的敏感信息,特別是目前云存儲和云計算的發(fā)展使得大量數(shù)據(jù)存在隱私安全隱患。
目前,神經(jīng)網(wǎng)絡(luò)的優(yōu)化算法隱私泄露原因與保護方法主要有:(1) 實際訓練中由于數(shù)據(jù)量不夠大導致模型易受到對抗攻擊而造成的隱私泄露。Reza等[1]在2015年提出了一種采用協(xié)作式方法來訓練模型的數(shù)據(jù)隱私保護方法,即讓各個用戶分別在各自的數(shù)據(jù)集上訓練深度學習模型,并且有的放矢地將各自的模型參數(shù)互相共享。(2) 利用算法的過擬合缺陷,通過梯度下降技術(shù)和置信度來重現(xiàn)模型訓練的數(shù)據(jù)導致隱私泄露的模型反演攻擊[2]。Xie等[3]提出了使用同態(tài)加密數(shù)據(jù),即將數(shù)據(jù)加密后再進行處理。Phan等[5]提出差分隱私自編碼(ε-differential private autoencoder),利用差分隱私理論來擾亂深度自編碼器的目標函數(shù),在數(shù)據(jù)重建過程中添加噪聲從而保護數(shù)據(jù)。Shokri等[6]提出了基于分布式隨機梯度下降的隱私保護方法,該方法假設(shè)各方分別訓練各自的模型,不共享數(shù)據(jù),僅在訓練期間交換中間參數(shù)并且提供差分隱私保護。Abadi等[7]結(jié)合差分隱私理論提出了DP-SGD,優(yōu)點是在適當?shù)碾[私預算內(nèi)提供了較好的隱私保護程度,缺點是噪聲對模型精度的影響較大。(3) 基于GAN的數(shù)據(jù)重現(xiàn)導致的隱私泄露。Papernot等[8]在2017年對保護訓練數(shù)據(jù)隱私的機器學習模型進行改進,提出了Teacher-student模型。通過學習不同敏感數(shù)據(jù)集來訓練不公開的teacher模型,teacher模型再對公開的未標記的非敏感數(shù)據(jù)進行預測,用于訓練student模型,student模型不依賴敏感數(shù)據(jù)集,即使攻擊者得到了student模型的參數(shù)也無法獲取敏感數(shù)據(jù)的信息。
為了在神經(jīng)網(wǎng)絡(luò)優(yōu)化算法的優(yōu)化過程中實現(xiàn)差分隱私保護,本文提出差分隱私保護下的Adam優(yōu)化算法(DP-Adam)。結(jié)合差分隱私理論,在神經(jīng)網(wǎng)絡(luò)訓練的反向傳播過程使用Adam優(yōu)化算法并且利用指數(shù)加權(quán)平均思想來實現(xiàn)對深度學習優(yōu)化算法的隱私保護,不但提高了模型精度,而且其隱私保護效果更好。實驗表明,對于相同的隱私預算,隨著訓練時間的增加,DP-Adam訓練模型的精度優(yōu)于DP-SGD。除此之外,在達到同樣模型精度的條件下,DP-Adam所需要的隱私預算更小,即DP-Adam的隱私保護程度比DP-SGD更高。
Dwork[10]于2006年首次提出了差分隱私這一概念。其主要思想是如果某個數(shù)據(jù)記錄是否存在于數(shù)據(jù)集對于該數(shù)據(jù)集的查詢或計算結(jié)果幾乎沒有影響,那么該記錄就得到了差分隱私保護。因此,當該記錄被加到數(shù)據(jù)集中時所造成的隱私泄露風險在某個可接受的范圍內(nèi)時,攻擊者就無法獲取該記錄的準確信息,從而該記錄得到保護。
定義1鄰近數(shù)據(jù)集[10]若存在兩個結(jié)構(gòu)和屬性相同的數(shù)據(jù)集D和D′,有且僅有一條記錄不同,則這兩個數(shù)據(jù)集稱為鄰近數(shù)據(jù)集。如表1所示,數(shù)據(jù)集d和d′是鄰近數(shù)據(jù)集。
表1 鄰近數(shù)據(jù)集d和d′
定義2ε-差分隱私[11]對于一個隨機算法M:D→R,兩個鄰近數(shù)據(jù)集d,d′∈D,且M的任意輸出S?R,若滿足以下條件:
Pr[M(d)∈S]≤eε·Pr·[M(d′)∈S]
(1)
則算法M滿足ε-差分隱私。式中:Pr表示概率;ε表示隱私保護預算,ε的值越小,隱私保護程度越高[12]。
從式(1)來看,隱私保護預算ε[13]表達的是算法M在鄰近數(shù)據(jù)集d和d′上得到相同結(jié)果的概率之比的對數(shù)值,作用是衡量算法M所提供的隱私保護水平。理論上,ε的取值越小,則提供的隱私保護水平越高。但是數(shù)據(jù)的可用性也會隨之降低。因此,ε的取值要平衡數(shù)據(jù)的隱私性和可用性。
定義3拉普拉斯噪聲機制[14]拉普拉斯噪聲機制的定義如下:
M(d)=f(d)+Lap(μ,b)
(2)
式中:位置參數(shù)μ,尺度參數(shù)為b的拉普拉斯分布Lap(μ,b)的概率密度函數(shù)如下:
(3)
當添加位置參數(shù)μ=0,尺度參數(shù)b=Δf/ε的拉普拉斯噪聲時,式(2)則變?yōu)?
M(d)=f(d)+Lap(Δf/ε)
(4)
式中:敏感度Δf=|f(d)-f(d′)|;M是深度學習算法;f:D→R是分布函數(shù);Lap(Δf/ε)是服從尺度參數(shù)為Δf/ε的拉普拉斯分布。由圖1可知,ε越小,則b就越大,引入的噪聲就越大。
圖1 μ=0的拉普拉斯分布圖
性質(zhì)2并行組合性[15]設(shè)算法M1,M2,…,Mn,其隱私保護預算分別是ε1,ε2,…,εn,則對于不相交的數(shù)據(jù)集D1,D2,…,Dn,由這些算法組合成的算法M1(D1),M2(D2),…,Mn(Dn)提供(max εi)-差分隱私保護。
神經(jīng)網(wǎng)絡(luò)是一種模仿動物神經(jīng)網(wǎng)絡(luò)行為特征進行信息處理的數(shù)學算法模型,基本組成單元是神經(jīng)元。深度神經(jīng)網(wǎng)絡(luò)是由多層神經(jīng)元組成,其結(jié)構(gòu)如圖2所示,“○”代表神經(jīng)元,每一層神經(jīng)網(wǎng)絡(luò)都由若干個神經(jīng)元組成,xi代表輸入數(shù)據(jù)的特征向量,y代表輸出結(jié)果的預測值。隱藏層越多,神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)越復雜,訓練得到的模型性能越好。因此,在訓練超大的數(shù)據(jù)集和復雜度高的模型時,一般都需要構(gòu)建隱藏層數(shù)較多的神經(jīng)網(wǎng)絡(luò),但也要根據(jù)自身的研究目的設(shè)計合理的隱藏層數(shù)的神經(jīng)網(wǎng)絡(luò),否則會導致過擬合。
圖2 深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
定義4指數(shù)加權(quán)平均 指數(shù)加權(quán)平均是一種近似求平均的方法,應(yīng)用在很多深度學習[16]的優(yōu)化算法中,其核心表達式如下:
vt=β·vt-1+(1-β)θt
(5)
式中:t為迭代次數(shù);vt代表到第t次的平均值;θt表示第t次的值;β表示可調(diào)節(jié)的超參數(shù)。通過指數(shù)加權(quán)平均,各個數(shù)值的加權(quán)隨著t而指數(shù)遞減,越近的θt的加權(quán)越重,第t-1、t-2、…、1次的加權(quán)分別為β(1-β)、β2(1-β)、…、βt-1(1-β)。
Adam算法是目前神經(jīng)網(wǎng)絡(luò)優(yōu)化算法中優(yōu)秀的算法之一,是傳統(tǒng)隨機梯度下降的優(yōu)化算法。隨機梯度下降在訓練時保持單一學習率更新網(wǎng)絡(luò)參數(shù),學習率在訓練過程中不改變,Adam通過計算梯度的一階和二階矩估計使得不同參數(shù)有獨自的自適應(yīng)學習率。Adam算法在實踐中性能優(yōu)異、相較于其他隨機優(yōu)化算法有很大優(yōu)勢。其偽代碼如下:
輸入:學習率α(默認為0.001);矩估計的指數(shù)衰減速率β1和β2∈[0,1],建議分別默認為0.9和0.999;用于數(shù)值穩(wěn)定的小常數(shù)δ,默認為10-8;初始參數(shù)θ。
輸出:θ
初始化一階和二階矩變量s=0,r=0
初始化時間步t=0
While沒有達到停止準則do
從訓練集中采包含m個樣本{x(1),x(2),…,x(m)}的小批量,對應(yīng)目標為y(i)。
t←t+1
更新有偏一階矩估計:s←β1s+(1-β1)g
更新有偏二階矩估計:r←β2r+(1-β2)g·g
應(yīng)用更新:θ←θ+Δθ
End while
為了實現(xiàn)神經(jīng)網(wǎng)絡(luò)優(yōu)化算法的隱私保護,Abadi等[7]提出了一種在優(yōu)化過程中實現(xiàn)差分隱私保護的方法——基于隨機梯度下降的差分隱私保護下的優(yōu)化算法(DP-SGD)。由于從數(shù)據(jù)的訓練到模型的生成完全可以依賴計算梯度的過程實現(xiàn),因此,該方法通過在隨機梯度下降的過程中結(jié)合差分隱私理論給梯度添加噪聲來實現(xiàn)差分隱私保護。在每一個訓練步驟t中,計算具有采樣概率L/n的隨機樣本Lt的梯度并通過l2范數(shù)來約束梯度,再給約束后的梯度添加噪聲,最后更新參數(shù)θt+1。其偽代碼如下:
參數(shù):學習率αt,樣本容量L,預設(shè)的梯度閾值C
隨機初始化θ0
fort∈[T] do
選取采樣概率L/n的隨機樣本Lt
/*計算梯度*/
fori∈Lt,計算gt(xi)=▽θtFxi(θt)
/*約束梯度*/
/*加噪聲*/
/*更新參數(shù)*/
Output:θT
DP-SGD方法通過在隨機梯度下降的過程中添加噪聲解決了算法在優(yōu)化過程中的隱私泄漏問題。實驗表明:(1) 在適當?shù)碾[私預算內(nèi),DP-SGD提供了較好的隱私保護水平。(2) Δf/ε越小,模型預測的精度越高,即加入的噪聲越小,模型的精度越高。
但是,DP-SGD方法存在一個缺陷,即所添加的噪聲對模型精度的影響較大。以圖3中的A區(qū)域為例,由于每次添加的噪聲都是符合某一分布的隨機數(shù)字,這就導致每一次隨機添加的噪聲極有可能分布在A區(qū)域的兩側(cè)。根據(jù)DP-SGD的實驗結(jié)論分析可知,隨機噪聲盡量地分布在A區(qū)域會提高模型的精度。
圖3 Laplace分布
為了實現(xiàn)對神經(jīng)網(wǎng)絡(luò)優(yōu)化算法的隱私保護而提出了差分隱私下的Adam優(yōu)化算法研究(DP-Adam)。Adam是一種性能優(yōu)秀的梯度下降算法,將其與差分隱私結(jié)合,在神經(jīng)網(wǎng)絡(luò)反向傳播的Adam梯度下降更新參數(shù)過程中加入滿足差分隱私的拉普拉斯噪聲,從而達到在神經(jīng)網(wǎng)絡(luò)優(yōu)化算法的優(yōu)化過程中進行隱私保護的目的。相比于DP-SGD方法,該方法在滿足同等隱私預算的情況下模型的精度更高,而且在模型達到同樣精度要求下所需要的隱私預算更小,即隱私保護程度更高。DP-Adam算法的主要步驟如下:
Step1計算每一次梯度下降時權(quán)重和偏置的梯度:
(6)
Step2加入拉普拉斯噪聲:
(7)
Step3使用Adam優(yōu)化方法迭代更新參數(shù):
(8)
(9)
(10)
(11)
(12)
如圖3所示,當b=Δf/ε越小時,拉普拉斯噪聲分布越集中于A區(qū)域(μ=0附近)。DP-SGD[7]的實驗結(jié)果表明,Δf/ε越小,模型的精度越高,即加入的噪聲分布離μ=0越近,模型的精度越高。
對于同一數(shù)據(jù)集,敏感度Δf是相同的,隱私預算ε決定了訓練模型的隱私保護程度和預測結(jié)果的準確性,當ε設(shè)置相同時,DP-SGD方法在梯度下降第t次更新參數(shù)時加入的噪聲為:
N=(1-β)Lap(Δf/ε)[t]
(13)
可知,第t次梯度下降參數(shù)加入的噪聲僅與第t次加入的隨機噪聲相關(guān),與前t-1次加入的隨機噪聲無關(guān)。根據(jù)拉普拉斯概率分布可知,所添加的噪聲是滿足該拉普拉斯分布的隨機數(shù),無法保證添加噪聲盡量分布在A區(qū)域(μ=0附近)。
DP-Adam算法在梯度下降第t次更新參數(shù)時加入的噪聲為:
(14)
第t次梯度下降時參數(shù)加入的噪聲為本次添加的隨機噪聲和前t-1次加入噪聲的指數(shù)加權(quán)平均。因此,DP-Adam方法加入的噪聲由于指數(shù)加權(quán)平均的限制,很明確地使噪聲分布有更大概率分布在A區(qū)域(μ=0附近),也就是在敏感度Δf和隱私預算ε一定的情況下,DP-Adam方法加入的隨機噪聲參數(shù)b=Δf/ε更小。因此,在隱私保護程度相同時,DP-Adam的模型精度更高。DP-Adam算法如下:
參數(shù):步長α(默認為0.001)。隨機選取的樣本規(guī)模L,用于數(shù)值穩(wěn)定的小常數(shù)δ,默認為10-8。矩估計的指數(shù)衰減速率β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
應(yīng)用更新:w←w+Δw,b←b+Δb
End while
由式(2)和式(4)可知,算法中加入的拉普拉斯噪聲的尺度參數(shù)b=Δf/ε,在同一個實驗中加入的是一個參數(shù)確定的拉普拉斯噪聲分布,即μ和b是確定的某兩個值,同一實驗的敏感度Δf也是確定的。因此,在同一實驗中ε的值也是確定的,根據(jù)b=Δf/ε,我們可以得到ε=Δf/b。
本文選取了機器學習常用的兩種用于圖片識別的數(shù)據(jù)集MINIST和CIFAR-10。MNIST數(shù)據(jù)集包括60 000個樣本的手寫數(shù)字圖片訓練集和10 000個樣本的手寫數(shù)字圖片測試集,其中手寫數(shù)字圖片為28×28像素的灰度圖像。CRFAR-10數(shù)據(jù)集包含10種不同物品分類的彩色圖片,訓練集有50 000個樣本,測試集有10 000個樣本。實驗對比了DP-Adam方法與文獻[7]提出的DP-SGD方法在兩種數(shù)據(jù)集上的結(jié)果。
實驗環(huán)境:CPU為Inter Core I7-7500 3.70 GHz,內(nèi)存16 GB,GPU為Nvidia GeForce GTX1060(6 GB)。
圖4為MNIST數(shù)據(jù)集在不同隱私預算下的訓練模型的精度,ε表示隱私預算的大小、epoch為訓練的輪數(shù)。如圖4(a)所示,ε較小時(即噪聲規(guī)模較大)兩種方法的模型精度均受到噪聲影響較大,但DP-Adam方法的模型精度明顯更高。隨著ε的增大,精度逐漸增加。在訓練的穩(wěn)定時期,DP-Adam的模型精度達到99%,而DP-SGD僅有89%。相同ε下,DP-Adam方法的準確率受到噪聲的影響始終小于DP-SGD方法。此外,當兩種方法的模型精度相同時,DP-Adam使用的隱私預算明顯小于DP-SGD,即DP-Adam的隱私保護性能更好。圖4(b)-(d)為三種不同隱私預算下,訓練輪數(shù)epoch與模型精度的變化關(guān)系曲線,可以看出兩種方法訓練時間接近,但DP-Adam方法精度更高。當訓練達到穩(wěn)定的狀態(tài)時,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數(shù)據(jù)集在不同隱私預算下的訓練模型的精度。圖5(a)中,隨著ε增大(噪聲規(guī)模減小),兩種方法的模型精度均逐漸上升。在訓練的穩(wěn)定時期,DP-Adam的模型精度達到87%,而DP-SGD僅有75%。在同等噪聲規(guī)模下,DP-Adam方法的模型精度均高于DP-SGD。此外,當兩種方法的模型精度相同時,DP-Adam使用的隱私預算明顯小于DP-SGD,即DP-Adam的隱私保護性能更好。圖5(b)-(d)為三種不同隱私預算下,訓練輪數(shù)epoch與模型精度的變化關(guān)系曲線,可以看出兩種方法訓練時間接近,但Adam方法的模型精度更高。當訓練達到穩(wěn)定的狀態(tài)時,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深度學習算法研究。該方法結(jié)合差分隱私理論在深度學習訓練過程的反向傳播時使用Adam優(yōu)化算法,并且利用Adam算法的指數(shù)加權(quán)平均思想降低了添加噪聲對模型精度的影響。采用Adam優(yōu)化算法,第t次梯度下降時參數(shù)加入的噪聲為本次添加的隨機噪聲和前t-1次加入噪聲的指數(shù)加權(quán)平均,這使得在相同敏感度Δf和隱私預算ε下,DP-Adam方法加入的隨機噪聲比起DP-SGD方法加入的隨機噪聲更集中分布在μ=0的區(qū)域,進而使得隨機噪聲的參數(shù)b=Δf/ε變小。通過理論與實驗得出結(jié)論:1) 在同等的隱私保護程度下,DP-Adam方法的模型精度明顯高于DP-SGD;2) DP-Adam的隱私保護性能更好。