張 昊
(東華大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,上海 201620)
聯(lián)邦學(xué)習(xí)(F-L)作為一種分布式部署的深度學(xué)習(xí)的框架,不僅讓多方共同完成一個訓(xùn)練目標(biāo)模型,而且摒棄傳統(tǒng)的深度學(xué)習(xí)中數(shù)據(jù)集都需要統(tǒng)一部署在服務(wù)端的特性。每個分布式的客戶端(分布式的節(jié)點(diǎn))僅需各自在本地儲存自己私有的數(shù)據(jù)集,并且無需上傳私有數(shù)據(jù)集給服務(wù)器。因此理論上聯(lián)邦學(xué)習(xí)相比傳統(tǒng)的集中式訓(xùn)練的方法更有效地保證客戶端的隱私。但是現(xiàn)在仍有可能泄露客戶端私有隱私。攻擊者可以通過觀察客戶端的上傳的信息,并且通過某些手段,例如成員推理攻擊推斷出客戶端的隱私信息,從而泄露了客戶端的隱私。因此違背了聯(lián)邦學(xué)習(xí)滿足隱私保護(hù)的特性。
在聯(lián)邦學(xué)習(xí)的環(huán)境下,常用的隱私保護(hù)手段有同態(tài)加密和本地差分隱私。其中,同態(tài)加密由于是密碼學(xué)的方法,優(yōu)點(diǎn)是不降低數(shù)據(jù)的準(zhǔn)確性,可以有效地還原隱私數(shù)據(jù),缺點(diǎn)是同態(tài)加密的加解密和通信代價很高。本地差分隱私本質(zhì)是擾動數(shù)據(jù),因此優(yōu)點(diǎn)是適合計算性能較差的設(shè)備,例如移動設(shè)備,缺點(diǎn)是會犧牲一定的效用性,因?yàn)樘砑拥脑肼暿请S機(jī)的,而且估計值會有一定的方差。
基于此研究時立足于聯(lián)邦學(xué)習(xí)情況下,本地差分隱私更加適用于保護(hù)客戶端的隱私。但是少有人研究本地差分隱私與模型精度之間的影響。因此本文考慮隨機(jī)響應(yīng)以及優(yōu)化一元編碼機(jī)制下,探討的個數(shù)、、客戶端數(shù)量、擾動機(jī)制和數(shù)據(jù)分配方式對模型精度的影響。本文還設(shè)計了自適應(yīng)隱私預(yù)算策略,可以根據(jù)相鄰輪模型相似度來提升模型的收斂速度。
在權(quán)重聚合的框架中,客戶端在每輪訓(xùn)練結(jié)束后上傳的是模型權(quán)重,并且聚合的過程是Federated Averaging算法。在此基礎(chǔ)上,本文設(shè)計權(quán)重聚合的隱私保護(hù)系統(tǒng)實(shí)現(xiàn),具體如算法1所示。
:聯(lián)邦學(xué)習(xí)中參與客戶端總數(shù),每個客戶端記作p(1≤≤)
:每輪參與訓(xùn)練客戶端數(shù)的比例
DB:p的訓(xùn)練數(shù)據(jù)集
:本地訓(xùn)練最小批量尺寸
:訓(xùn)練迭代總輪數(shù)
E:本地總迭代輪數(shù)
:學(xué)習(xí)率
1:Parameter Server Executes:
2:←服務(wù)器初始化全局模型
3://客戶端分配數(shù)據(jù)集
4:()
5:for epochin()do
6:for client∈Sdo
7://更新模型
9: //上傳前擾動模型權(quán)重
11:end for
12://聚合估計擾動模型
14:end for
16://權(quán)重聚合下訓(xùn)練模型
19:←DB隨機(jī)分成大小為的批量
20:for local epochin range E( )do
21: for batch∈do
22: //小批量梯度下降
24: end for
25:end for
此章節(jié)主要描述常用2種本地差分隱私機(jī)制隨機(jī)響應(yīng),優(yōu)化的一元編碼在聯(lián)邦學(xué)習(xí)的裁剪、編碼、估計的具體實(shí)現(xiàn),并且優(yōu)化本地差分隱私在服務(wù)器端聚合速度。
(2)編碼:客戶端中第個數(shù)據(jù)記作p,映射后所有狀態(tài)數(shù)為,這里的數(shù)學(xué)公式可寫為:
(3)擾動:對于隨機(jī)響應(yīng)機(jī)制,經(jīng)過RR編碼后的數(shù)據(jù)需要擾動后才能上傳給中心服務(wù)器:
其中,E[Feq ]是一個維的變量矩陣。
然后模型參數(shù)的估計狀態(tài)數(shù)頻率的矩陣需要轉(zhuǎn)化為真實(shí)估計值E[],具體如下:
其中,E[]是一個維向量,是聚合后的全局模型參數(shù)。
聚合的過程利用到矩陣的乘法,因此時間復(fù)雜度從()減少至(1),大大提升服務(wù)器端聚合時間的速度,減輕中心服務(wù)器的運(yùn)算壓力。而且當(dāng)模型規(guī)模越大,節(jié)省的時間越多。
(5)估計方差:為簡化討論,這里只考慮聚合時全局模型的一個模型參數(shù)的方差變化,由于每個模型參數(shù)是不相關(guān)的。所以在Wang等人基礎(chǔ)上計算方差,對應(yīng)的公式可推得為:
顯然,估計模型參數(shù)的方差是與正相關(guān),即,更多的參與者會帶來更多的方差。
本文在實(shí)驗(yàn)基礎(chǔ)上觀察同精度不同隱私預(yù)算下的收斂速度,提出自適應(yīng)隱私預(yù)算分配的保護(hù)策略。該策略能夠讓聯(lián)邦學(xué)習(xí)在訓(xùn)練過程中,保證總隱私預(yù)算不變的情況下,動態(tài)分配客戶端的隱私預(yù)算。好處是能夠提升模型的收斂速度。
不同擾動機(jī)制的收斂速度比較如圖1所示。觀察圖1就會發(fā)現(xiàn),隨著隱私預(yù)算增加,模型的收斂速度整體是上升的。
圖1 不同擾動機(jī)制的收斂速度比較Fig.1 Comparison of convergence rate with different perturbation mechanism
因此本文考慮到模型最初開始訓(xùn)練時,由于模型沒能有效地記住訓(xùn)練集的數(shù)據(jù),所以模型能夠泄露的訓(xùn)練集數(shù)據(jù)較少,導(dǎo)致隱私泄露率很低,因此可以用較大的隱私預(yù)算來提升模型的收斂速度。當(dāng)模型逐漸接近于收斂時,模型本身記住有關(guān)訓(xùn)練集的信息會逐漸變多,因此需要逐漸減小隱私預(yù)算來保護(hù)模型,詳見算法2。
6:()
8:end for
10:()
12:end for
14:returnε
15:
17://cosine similarity
19://Angular distance and similarity
22:return
綜合前述可知,對于相關(guān)的步驟可給出闡釋論述如下。
本文在pytorch1.8進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)硬件設(shè)置見表1。
表1 隱私保護(hù)聯(lián)邦學(xué)習(xí)實(shí)驗(yàn)硬件配置Tab.1 Privacy-preserving F-L hardware configuration
本文實(shí)驗(yàn)中聯(lián)邦學(xué)習(xí)的客戶端數(shù)目為1 000個,默認(rèn)參與訓(xùn)練比例為0.5。和分別訓(xùn)練500,1 000輪。實(shí)驗(yàn)的模型-數(shù)據(jù)集為LeNet-MNIST和DNN-Purchase-100。MNIST和Purchase-100分別作為常用的數(shù)字識別數(shù)據(jù)集與成員推理攻擊的數(shù)據(jù)集。LeNet和DNN模型的學(xué)習(xí)率在非擾動情況下,分別為0.1和0.001;擾動情況下,分別為0.1和0.01。LeNet使用SGD優(yōu)化器,DNN使用Adam優(yōu)化器。下LeNet和DNN的基準(zhǔn)模型精度分別為0.988 5、0.909 8;非下LeNet基準(zhǔn)模型精度為0.986 6。
隱私預(yù)算的值設(shè)為0075*2的冪指數(shù)為單位,取值范圍為0~7(2代表隱私預(yù)算值為0075*2),精度損失率的范圍設(shè)為0~1,以0.1間隔遞增,隱私泄露率為0.45~0.75,以0.1間隔遞增。
經(jīng)過本地差分隱私保護(hù)的模型,擾動后模型收斂的精度相較于擾動前模型收斂的精度損失的百分比(%),其值可由如下數(shù)學(xué)公式計算得出:
當(dāng)精度損失率接近0時,代表擾動后的模型精度相較于原模型精度幾乎無損失。當(dāng)精度損失率接近于1時,代表擾動后的模型精度損失很高,即擾動后模型幾乎不可用。
3.2.1個數(shù)對精度損失率影響
在擾動模型權(quán)重的框架下,無論數(shù)據(jù)集是還是,精度損失率都會隨著數(shù)量的增加而減小。對精度損失率影響如圖2所示。因此為了此后的研究考慮,在模型盡可能滿足收斂的情況下,這里選擇最小的(在圖2中以紅色星號表示)并繼續(xù)后文的實(shí)驗(yàn)。
圖2 cells對精度損失率影響Fig.2 Impact of cells on accuracy loss
3.2.2 隱私預(yù)算對精度損失率影響
隱私預(yù)算對精度損失率影響如圖3所示。實(shí)驗(yàn)結(jié)果表明,對于模型的精度損失率來說,精度損失率會隨著隱私預(yù)算的增加而減小。原因是當(dāng)隱私預(yù)算變大,擾動機(jī)制所添加的噪聲也會變少,擾動模型權(quán)重的變化較小,從而提升模型的精確度。當(dāng)隱私預(yù)算足夠大的時候,擾動模型權(quán)重的變化幾乎可以忽略不計,那么模型收斂后的精度幾乎等于不擾動模型收斂后的精度,即精度損失率接近于0。當(dāng)隱私預(yù)算足夠小的時候,由于擾動模型權(quán)重的變化太大,會導(dǎo)致模型無法收斂,因此模型的精度損失率很高。
圖3 隱私預(yù)算對精度損失率影響Fig.3 Impact of privacy budget on accuracy loss
3.2.3 客戶端數(shù)量對精度損失率影響
客戶端數(shù)量對精度損失率影響如圖4所示。由圖4可知,觀察到當(dāng)客戶端數(shù)量增加,精度損失率會逐漸下降。本文認(rèn)為原因是當(dāng)客戶端數(shù)量比較少的時候,本地差分隱私添加噪聲后,雖然估計方差小了,但是估計均值到真實(shí)均值附近的概率較小,因此獲得的估計值與原先的均值的方差區(qū)別較大,導(dǎo)致模型不容易收斂。當(dāng)客戶端數(shù)量比較多的時候,縱使算法和算法的方差變大,但是估計值到真實(shí)均值附近的概率較大,因此訓(xùn)練擾動模型中間值和正常訓(xùn)練模型中間值近似,所以模型的收斂后精度損失率較小。
圖4 客戶端數(shù)量對精度損失率影響Fig.4 Impact of number of clients on accuracy loss
3.2.4 自適應(yīng)隱私預(yù)算策略結(jié)果
自適應(yīng)隱私預(yù)算策略實(shí)現(xiàn)對比如圖5所示。在圖5中,自適應(yīng)隱私預(yù)算可以提升模型的收斂速度。實(shí)驗(yàn)發(fā)現(xiàn)LeNet相較于DNN模型能夠顯著地提升模型的收斂速度,原因是LeNet模型能在初始10個輪次提升精度至0.6~0.8,但是DNN模型卻需要100~300輪才大致提升精度至0.5~0.7。因此如果只看2個模型的相鄰2輪的近似度,LeNet的相鄰輪變化明顯,所以提升收斂速度明顯。
圖5 自適應(yīng)隱私預(yù)算策略實(shí)現(xiàn)對比Fig.5 Comparison of adaptive privacy budget strategy implementation
本文研究本地差分隱私機(jī)制和在權(quán)重聚合的聯(lián)邦學(xué)習(xí)上實(shí)現(xiàn)隱私保護(hù)并優(yōu)化服務(wù)端聚合速度近似從()減少為(1),同時評估的個數(shù)、、客戶端數(shù)量、擾動機(jī)制和數(shù)據(jù)分配方式對模型精度影響,精度損失會隨著數(shù)量、、客戶端數(shù)量的增加而減小。同等下,會比的精度損失高,和的精度損失類似;同時實(shí)現(xiàn)自適應(yīng)隱私預(yù)算策略提升模型訓(xùn)練速度,近似提升一個等級的收斂速度。
在此基礎(chǔ)上,本文仍存在需要改進(jìn)之處。本文并未評估梯度聚合框架下的效果。同時還未評估聯(lián)邦學(xué)習(xí)下本地差分隱私對隱私泄露的影響。另外,本文現(xiàn)有的數(shù)據(jù)集不夠全面,只有2類典型數(shù)據(jù)集,有待進(jìn)一步研究解決。