周治平 錢新宇
①(江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院 無錫 214122)
②(江南大學(xué)物聯(lián)網(wǎng)技術(shù)應(yīng)用教育部工程研究中心 無錫 214122)
隨著深度神經(jīng)網(wǎng)絡(luò)在現(xiàn)實(shí)生活中的廣泛應(yīng)用,為了提供更優(yōu)質(zhì)的服務(wù),越來越多的真實(shí)數(shù)據(jù)集被用來訓(xùn)練。目前廣泛應(yīng)用的指紋、人臉識(shí)別系統(tǒng)的原始數(shù)據(jù)集包含大量敏感信息,通過某一攻擊手段能對(duì)其還原。主流攻擊方式有3類[1]。(1)成員推理攻擊:Nasr等人[2]提出對(duì)神經(jīng)網(wǎng)絡(luò)輸出和梯度攻擊,實(shí)現(xiàn)CIFAR數(shù)據(jù)集75.1%的攻擊精度。(2)模型倒推攻擊:Hitaj等人[3]利用生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Networks, GANs)強(qiáng)大的數(shù)據(jù)生成能力,在生成的數(shù)據(jù)中復(fù)現(xiàn)用戶人臉數(shù)據(jù)。(3)模型提取攻擊:Juuti等人[4]提出一種PRADA的迭代模型提取策略,通過查詢模型結(jié)構(gòu)來訓(xùn)練替代模型,將更新后的數(shù)據(jù)模型通過雅可比矩陣的數(shù)據(jù)增強(qiáng)合成新樣本,從而造成隱私泄露。
傳統(tǒng)匿名化方法包括K-匿名、L-多樣性、T-近鄰,其主要問題有:(1)無法抵御背景攻擊,例如Netflix隱私泄露事件;(2)與深度學(xué)習(xí)融合存在較大難度。該類方法修改原始數(shù)據(jù)集中的記錄實(shí)現(xiàn)對(duì)用戶敏感屬性的泛化或抑制,而深度學(xué)習(xí)需要直接對(duì)數(shù)據(jù)特征進(jìn)行提取繼而訓(xùn)練,這使得二者在理論上難以結(jié)合。差分隱私[5]不懼背景攻擊并具有嚴(yán)格理論基礎(chǔ),為在深度學(xué)習(xí)中實(shí)現(xiàn)隱私保護(hù)提供了可能性。在現(xiàn)有研究中,差分隱私技術(shù)應(yīng)用于深度神經(jīng)網(wǎng)絡(luò)時(shí),噪聲添加位置包括輸入、成員參數(shù),如梯度和權(quán)重參數(shù)、目標(biāo)函數(shù)和輸出。差分隱私技術(shù)提供了可靠的隱私保護(hù),確保對(duì)手即使擁有除目標(biāo)對(duì)象外的所有信息,也無法推斷出數(shù)據(jù)庫中是否包含某條特定記錄。在深度神經(jīng)網(wǎng)絡(luò)中應(yīng)用差分隱私已經(jīng)有了一些研究成果。Abadi等人[6]提出一種DP-SGD算法計(jì)算訓(xùn)練樣本隨機(jī)子集的梯度,按L2范數(shù)裁剪每個(gè)梯度,并為每個(gè)批次的累計(jì)梯度添加噪聲。Xu等人[7]在生成對(duì)抗網(wǎng)絡(luò)梯度添加全局梯度噪聲,利用一部分公開數(shù)據(jù)集計(jì)算梯度均值作為最優(yōu)初始梯度剪裁閾值參與深度差分隱私訓(xùn)練。Phan等人[8]利用非均勻高斯機(jī)制計(jì)算噪聲,將異質(zhì)噪聲加入批次累計(jì)梯度,有效提高算法魯棒性。這些研究可以很好抵御成員推理攻擊,但是其代價(jià)就是降低數(shù)據(jù)可用性,如何在相同隱私預(yù)算下,提高訓(xùn)練精度是本類方法一大難點(diǎn)。為此,本文提出一種新的噪聲添加方式以實(shí)現(xiàn)差分隱私,并提出多種優(yōu)化方法提高模型收斂速度和分類精度。
本文的主要貢獻(xiàn)有以下幾點(diǎn):
(1)提出一種基于Funk奇異值分解(Funk Singular Value Decomposition, Funk-SVD)的差分隱私深度學(xué)習(xí)方法,將梯度矩陣分解,對(duì)特征子空間矩陣和殘差矩陣添加定量噪聲,重建梯度矩陣?yán)^續(xù)訓(xùn)練,算法訓(xùn)練過程中利用時(shí)刻統(tǒng)計(jì)實(shí)時(shí)跟蹤隱私損失。
(2)提出多種優(yōu)化策略提高訓(xùn)練精度,分別對(duì)特征矩陣和殘差矩陣引入平滑敏感度以降低噪聲規(guī)模;利用輸入特征與輸出相關(guān)性重新分配隱私預(yù)算,提高訓(xùn)練精度;提出分別設(shè)置特征矩陣,殘差矩陣和梯度矩陣剪裁閾值的自適應(yīng)梯度剪裁方法,有效加快算法收斂速度,最后在真實(shí)數(shù)據(jù)集上進(jìn)行全面評(píng)估,證明本方法能夠在相同隱私預(yù)算下獲得更好的訓(xùn)練精度。
差分隱私是一種已知的隱私模型,通過最小化個(gè)人記錄識(shí)別的機(jī)會(huì)來呈現(xiàn)最大化的隱私。文獻(xiàn)[6]將高斯機(jī)制應(yīng)用于深度神經(jīng)網(wǎng)絡(luò)梯度,并將松弛差分隱私定義引入以提高訓(xùn)練精度,該定義如下所示:
定義1 ((ε,δ)-差分隱私) 假設(shè)隨機(jī)擾動(dòng)算法為M:Dn →R, 其所有可能的輸出構(gòu)成的集合為R。那么對(duì)于任意兩個(gè)給定的鄰近數(shù)據(jù)集D, D′∈Dn,以及R的任何子集SM滿足
則算法M滿足(ε,δ)- 差分隱私,其中ε為隱私預(yù)算,影響隱私保護(hù)程度的重要因素,δ為松弛因子,表示在差分隱私條件下隱私被披露的概率。
在隨后的研究中,多種自適應(yīng)添加噪聲方式被提出,有學(xué)者對(duì)添加噪聲位置進(jìn)行探索,希望在相同隱私預(yù)算下提供更強(qiáng)隱私保障或更高數(shù)據(jù)可用性。Phan等人[9]率先提出將隱私預(yù)算分配的概念引入深度學(xué)習(xí),根據(jù)隱私信息在訓(xùn)練過程出現(xiàn)的位置將隱私預(yù)算拆分,分別對(duì)輸入特征、隱藏層和目標(biāo)函數(shù)注入分配后隱私預(yù)算下的噪聲以實(shí)現(xiàn)差分隱私機(jī)制。隨后,基于隱私預(yù)算分配的思想,Gong等人[10]和Adesuyi等人[11]提出計(jì)算神經(jīng)元與輸出相關(guān)性,根據(jù)相關(guān)系數(shù)調(diào)整梯度神經(jīng)元隱私預(yù)算以提高訓(xùn)練精度。Gong等人提出根據(jù)相關(guān)性大小,將特征分為強(qiáng)弱相關(guān)特征并分配大小不同的隱私預(yù)算,根據(jù)不同特征所得隱私預(yù)算對(duì)目標(biāo)函數(shù)展開式系數(shù)加噪。Adesuyi等人選擇直接計(jì)算神經(jīng)元相關(guān)系數(shù)來確定不同梯度神經(jīng)元所得隱私預(yù)算。在此基礎(chǔ)上,Wu等人[12]利用指數(shù)規(guī)則提出一種自適應(yīng)噪聲添加規(guī)則,將預(yù)定義噪聲集合注入權(quán)重參數(shù),對(duì)其實(shí)現(xiàn)更細(xì)微控制以提高隱私性。Zhou等人[13]考慮到神經(jīng)網(wǎng)絡(luò)梯度下降過程的實(shí)際在一個(gè)頂部低維子空間,提出將梯度矩陣投影到輔助數(shù)據(jù)集梯度來降低環(huán)境參數(shù)的影響以減小噪聲量,將輔助數(shù)據(jù)集噪聲梯度重建并進(jìn)行參數(shù)更新。
在大規(guī)模深度學(xué)習(xí)場景下,經(jīng)過短時(shí)間訓(xùn)練,梯度空間會(huì)收斂到一個(gè)較小子空間中。子空間由黑塞矩陣的幾個(gè)頂部特征張量組成,也即梯度下降實(shí)際作用于一低維空間中。傳統(tǒng)差分隱私直接對(duì)d×p維梯度矩陣攝入噪聲,因此受到環(huán)境參數(shù)p影響較大,尤其是隱含層擁有上千個(gè)神經(jīng)元,梯度冗余現(xiàn)象普遍存在,例如,在某一d×p梯度矩陣中,若存在行向量為零的情況,按照差分隱私概念需要注入足量噪聲,但在實(shí)際攻擊中只要保證攻擊者無法根據(jù)非零向量統(tǒng)計(jì)特性推斷出輸入信息就能保證隱私性,因此,梯度冗余會(huì)引發(fā)不必要噪聲的加入導(dǎo)致訓(xùn)練精度降低?;诟`取成員參數(shù)的攻擊方式和梯度下降實(shí)際所處的低維子空間,可以推斷出實(shí)際保護(hù)隱私的噪聲只作用于梯度的某一子空間。若利用PCA降維則難以重構(gòu)梯度,文獻(xiàn)[13]提出輔助數(shù)據(jù)集概念,但在實(shí)際訓(xùn)練中未必能找到合適的輔助數(shù)據(jù)集來實(shí)現(xiàn)高質(zhì)量梯度重建,這會(huì)導(dǎo)致重構(gòu)誤差的累積?;诖艘?,本文提出引入Funk-SVD矩陣分解提取梯度主成分向量并實(shí)現(xiàn)差分隱私機(jī)制。假設(shè)私有梯度為g ∈Rd×p,利用Funk-SVD進(jìn)行矩陣特征值分解求得包含輸入信息主成分的特征子空間V∈Rd×k和環(huán)境參數(shù)子空間矩陣H∈Rk×p, 其中k為分解特征向量個(gè)數(shù),d為輸入特征數(shù)。根據(jù)梯度矩陣,建立最優(yōu)化模型,同時(shí)為防止過擬合現(xiàn)象,對(duì)目標(biāo)函數(shù)引入正則化方法
其中,θ是控制正則化的超參數(shù),本文采用普通梯度下降求解V和H,由于梯度矩陣規(guī)模有限不會(huì)造成過高的算法復(fù)雜度。隨后可得殘差矩陣Φ=g ?V H。與傳統(tǒng)差分隱私對(duì)g擾動(dòng)不同,本文提出在V和Φ上 添加噪聲。在V上實(shí)現(xiàn)差分隱私能有效阻止特征隱私泄露,此外為了防止攻擊者通過殘差推斷出某些隱私信息,對(duì)Φ同樣設(shè)置噪聲擾動(dòng)。由于V和Φ同為g分解后的產(chǎn)物,根據(jù)差分隱私理論,不涉及隱私預(yù)算的增加,只是在同一隱私預(yù)算下改變擾動(dòng)對(duì)象。基于Funk-SVD矩陣分解的差分隱私算法步驟如圖1所示。
圖1 基于Funk-SVD分解的差分隱私算法
Sun等人[14]提出用考慮在教師-學(xué)生模型中采用平滑敏感度代替全局敏感度以降低噪聲量。然而在遷移學(xué)習(xí)中訓(xùn)練精度和累計(jì)隱私預(yù)算計(jì)算過程受到自定義常數(shù)影響較大并且未能改變最大局部敏感度。本文算法對(duì)梯度矩陣分解降維,因此需要重新計(jì)算特征子空間矩陣和殘差矩陣敏感度。平滑敏感度基礎(chǔ)定義在文獻(xiàn)[15]給出,這里不再贅述。
其中,k為特征數(shù),L為樣本集,|MV|, |MΦ|分別為子空間矩陣和殘差矩陣中的最大值。由于V和Φ都是由梯度矩陣g分解而來的,因此,||V(xi)H(xi)||2≈||g(xi)||2, | |Φ(xi)||2?||g(xi)||2。根據(jù)式(3)和式(4),不難得到SV+SΦ 其中,β=ε/(2 ln(1/δ))[15]。 在3.1節(jié)中,將梯度矩陣g分解為V和H,并將噪聲添加到V和Φ,雖然將矩陣分解,但V和Φ依然包含d維特征向量。當(dāng)特征向量采用相同隱私預(yù)算時(shí),訓(xùn)練精度還是不夠理想。因此,引入Layer-wise關(guān)聯(lián)傳播(Layer-wise Relevance Propagation,LRP)[10]對(duì)神經(jīng)元影響因子進(jìn)行評(píng)估,調(diào)整不同梯度神經(jīng)元噪聲規(guī)模。LRP相關(guān)理論基礎(chǔ)在文獻(xiàn)[16]中已經(jīng)有了充分的介紹,這里不再贅述,計(jì)算相關(guān)性傳播最后得到輸入向量,隱藏層神經(jīng)元和輸出特征之間的相關(guān)性 結(jié)合式(7)和3.2節(jié)中平滑敏感度可到特征j在低維子空間矩陣V和殘差矩陣Φ中的噪聲規(guī)模 在差分隱私隨機(jī)梯度下降算法中,梯度剪裁對(duì)模型訓(xùn)練有重要影響,梯度剪裁閾值C過大或過小都會(huì)影響收斂速度。單樣本最佳裁剪閾值為| |g(xi)||2,但批樣本訓(xùn)練最佳剪裁閾值難以確定,目前最常使用的方法是根據(jù)經(jīng)驗(yàn)選取一個(gè)全局剪裁閾值C,但隨著神經(jīng)網(wǎng)絡(luò)不斷迭代,會(huì)影響收斂。為此,有學(xué)者選取少量公開數(shù)據(jù)進(jìn)行訓(xùn)練并更新合適的C值。但實(shí)際訓(xùn)練過程難以采集合適的公開數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練。 本文采用梯度矩陣降維方法加噪,實(shí)現(xiàn)差分隱私保護(hù),單一選取總體梯度剪裁閾值已經(jīng)不適合本文算法。針對(duì)上述問題,本文提出一種適用于分解矩陣加噪的梯度剪裁算法。為了避免超參數(shù)的使用導(dǎo)致模型不穩(wěn)定,本文取V和Φ加噪后的均值作為梯度剪裁閾值,但該取值方法的最大問題就是異常值的存在使得剪裁梯度過大而添加過量噪聲。因此,本文分別計(jì)算特征矩陣V、殘差矩陣Φ和梯度矩陣g范數(shù)均值和方差:μV,μΦ,μg和σV,σΦ,σg對(duì)于大于μ+3σ和小于μ?3σ的矩陣范數(shù)做異常值剔除。最后選取非異常值的梯度范數(shù)作為該輪迭代的梯度剪裁閾值,見表1。 其中,L′為非異常樣本數(shù)。值得注意的是在表1中,選擇先添加噪聲,再對(duì)噪聲梯度進(jìn)行剪裁,這與文獻(xiàn)[6]先剪裁后加噪的方式有所不同,這是因?yàn)閷?duì)噪聲梯度整體剪裁的方法在實(shí)際訓(xùn)練中能有效提高前期收斂的速度,而模型收斂順利也會(huì)在一定程度上提升訓(xùn)練效果。 表1 自適應(yīng)梯度剪裁算法 本文提出一種基于Funk-SVD的深度神經(jīng)網(wǎng)絡(luò)差分隱私算法(Deep neural networks under differential Privacy based on Funk-SVD, FSDP),具體過程如表2所示。相比于差分隱私通用方法本文主要實(shí)現(xiàn)以下3點(diǎn)改進(jìn):第一,利用Funk-SVD算法分解梯度矩陣,擾動(dòng)特征子空間和殘差矩陣,去除梯度冗余造成的多余噪聲,計(jì)算降維后的矩陣范數(shù)以降低全局敏感度并引入平滑敏感度進(jìn)一步降低噪聲規(guī)模。第二,根據(jù)輸出特征和輸出相關(guān)性調(diào)整隱私預(yù)算分配,將更多隱私預(yù)算分配到相關(guān)性較大的特征上。第三,提出一種與Funk-SVD算法結(jié)合的自適應(yīng)梯度剪裁策略,在每輪迭代中選擇最合適的梯度剪裁閾值。 下面對(duì)本文提出的基于Funk-SVD矩陣分解的噪聲添加方法是否滿足差分隱私給出如下證明: 根據(jù)式(1)和式(9),本文方法滿足差分隱私基礎(chǔ)定義。 證畢 如表2算法所示,本文提出的差分隱私算法,不但基于Funk-SVD算法對(duì)矩陣實(shí)現(xiàn)分解加噪,而且為了提高數(shù)據(jù)可用性分別對(duì)敏感度、預(yù)算分配和梯度剪裁方法做出調(diào)整,在使用多種自適應(yīng)算法情況下如何跟蹤算法訓(xùn)練過程中的累計(jì)隱私損失是在深度學(xué)習(xí)中應(yīng)用差分隱私技術(shù)的關(guān)鍵步驟之一。本文使用Abadi等人[6]提出的時(shí)刻統(tǒng)計(jì)來計(jì)算累計(jì)隱私損失,首先給出以下定義: 表2 基于Funk-SVD的深度神經(jīng)網(wǎng)絡(luò)差分隱私保護(hù)算法 (FSDP) M:D →R 定義2(時(shí)刻統(tǒng)計(jì)) 令 為一種隨機(jī)擾動(dòng)機(jī)制,對(duì)于給定相鄰數(shù)據(jù)集D, D′∈Dn,M在λ時(shí)刻迭代的時(shí)刻統(tǒng)計(jì)為 時(shí)刻統(tǒng)計(jì)追蹤高斯機(jī)制累計(jì)隱私損失過程中,本文對(duì)噪聲添加方式、敏感度和梯度剪裁方式的設(shè)置更為先進(jìn),這與Abadi等人[6]提出的DP-SGD算法不同,無法直接使用定義2計(jì)算實(shí)際隱私損失。時(shí)刻統(tǒng)計(jì)量的大小由噪聲規(guī)模σ,即敏感度?f和迭代次數(shù)決定。本文算法給出一種新的加噪方法,即對(duì)低維特征矩陣V和殘差矩陣Φ分別擾動(dòng),重新分配特征隱私預(yù)算,將兩次添加噪聲和隱私預(yù)算分配過程看作獨(dú)立子算法,引入時(shí)刻統(tǒng)計(jì)中的組合定理計(jì)算本文算法實(shí)際隱私損失。 計(jì)算得本文算法總體隱私統(tǒng)計(jì)α(λ)后,根據(jù)組合定理即可得到尾部邊界值。 本節(jié)將通過具體實(shí)驗(yàn)對(duì)本文提出的FSDP算法的效果進(jìn)行驗(yàn)證和說明。實(shí)驗(yàn)基于python平臺(tái)和Pytorch框架下實(shí)現(xiàn),GPU RTX 2060Ti加速。實(shí)驗(yàn)采用MNIST(手寫數(shù)字體)和CIFAR-10標(biāo)準(zhǔn)數(shù)據(jù)集。 對(duì)于MNIST數(shù)據(jù)集,設(shè)置兩個(gè)卷積層分別為32特征和64特征并使用一個(gè)5×5,步長為1的矩陣卷積和兩個(gè)1000個(gè)神經(jīng)元節(jié)點(diǎn)隱含層的全連接層。對(duì)于CIFAR-10數(shù)據(jù)集,本文使用一個(gè)帶有兩個(gè)卷積層分別為128和256特征和兩個(gè)1000個(gè)神經(jīng)元節(jié)點(diǎn)隱含層的全連接層的深度神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。 本文提出一種基于Funk-SVD矩陣分解的深度差分隱私保護(hù)算法,設(shè)計(jì)了多組實(shí)驗(yàn)在MNIST和CIFAR-10數(shù)據(jù)集上對(duì)訓(xùn)練精度和隱私損失進(jìn)行比對(duì)。 表3設(shè)計(jì)了一組實(shí)驗(yàn),探究分解矩陣在不同特征向量下的影響,取k=[10,50,200,500,1000]分別進(jìn)行實(shí)驗(yàn)。從表3不難發(fā)現(xiàn),在同一隱私預(yù)算下,k值的選取對(duì)訓(xùn)練精度的影響并不十分敏感。只要k值的選取能使得分解矩陣包含足夠的原梯度矩陣特征而又不引入過多的梯度冗余,訓(xùn)練就能趨于穩(wěn)定。因此在下面的實(shí)驗(yàn)中,本文選取k=50進(jìn)行實(shí)驗(yàn),與其他自適應(yīng)算法在同一網(wǎng)絡(luò)環(huán)境和隱私預(yù)算下進(jìn)行比對(duì)。 表3 不同特征向量數(shù)量k的訓(xùn)練精度(%) 差分隱私在深度神經(jīng)網(wǎng)絡(luò)中的數(shù)據(jù)可用性一般是通過比較在相同隱私預(yù)算下的訓(xùn)練精度,本實(shí)驗(yàn)設(shè)置δ=10?5,隱私預(yù)算取ε=[1,2,3,4,5,6,7,8]。觀察圖2發(fā)現(xiàn),DP-SGD算法[6]訓(xùn)練精度較低,這可能是因?yàn)槟P驮肼曁砑臃绞捷^為單一,考慮全局敏感度來計(jì)算梯度所需高斯噪聲。PDP-SGD算法[13]首先考慮到梯度下降發(fā)生過程的內(nèi)部變化,將梯度投影到輔助低維子空間后實(shí)現(xiàn)差分隱私機(jī)制,在高隱私要求下表現(xiàn)優(yōu)于文獻(xiàn)[6],但隨著噪聲量降低可能會(huì)引入較多的重構(gòu)誤差導(dǎo)致精度下降。P3SGD算法[12]預(yù)先設(shè)置噪聲組,采用雙噪聲干擾,對(duì)噪聲的控制更加細(xì)致,但只利用正則化提高訓(xùn)練精度相比于文獻(xiàn)[6]表現(xiàn)更好,但相比于其他算法略有不足。AdLM算法[9]率先提出改變?cè)肼曁砑臃绞揭约昂侠矸峙潆[私預(yù)算策略,但在輸入輸出和仿射變換層分別添加噪聲策略可能會(huì)引入過量噪聲,在一定程度上影響了訓(xùn)練精度。PrivR[10]和IFE算法[11]在AdLM算法基礎(chǔ)上優(yōu)化,PrivR算法設(shè)置閾值,將噪聲分為強(qiáng)弱相關(guān)噪聲,并添加對(duì)應(yīng)強(qiáng)弱噪聲到相關(guān)神經(jīng)元梯度,而IFE算法則直接計(jì)算神經(jīng)元與輸出的相關(guān)性大小,根據(jù)神經(jīng)元影響因子分配隱私預(yù)算。相比基線模型,本文算法FSDP在噪聲注入位置、敏感度、隱私預(yù)算分配和梯度剪裁方法均做出不同的優(yōu)化,因此在訓(xùn)練精度方面有提升,如當(dāng)ε=2時(shí),在MNIST和CIFAR-10標(biāo)準(zhǔn)數(shù)據(jù)集上提升了1.83%和8.52%。當(dāng)然相比在無隱私條件下,在本文設(shè)置的網(wǎng)絡(luò)環(huán)境下,MNIST和CIFAR-10數(shù)據(jù)集能達(dá)到的訓(xùn)練精度99.3%和83%還是有一定差距,但引入噪聲后會(huì)降低數(shù)據(jù)可用性在目前的理論下是不可避免的。相比其他自適應(yīng)算法,本文算法改進(jìn)方法更為全面和先進(jìn),因此在相同隱私預(yù)算下,最終本文算法添加到網(wǎng)絡(luò)中的噪聲最小,訓(xùn)練精度有不同程度的提升,這足以證明本文算法的有效性。當(dāng)然,采用更高級(jí)的網(wǎng)絡(luò)結(jié)構(gòu)也能提升訓(xùn)練精度,但本文算法只探究在同一網(wǎng)絡(luò)條件和隱私性能下不同隱私算法性能。 圖2 不同差分隱私條件下算法訓(xùn)練精度對(duì)比 本文提出的計(jì)算隱私損失的方法,適用于多種自適應(yīng)算法,表4給出一組驗(yàn)證實(shí)驗(yàn),計(jì)算在相同隱私預(yù)算不同算法在同一迭代次數(shù)下的實(shí)際隱私損失。為了公平起見,本文選取同樣使用高斯機(jī)制的3種算法進(jìn)行對(duì)比。表4中PDP-SGD算法表現(xiàn)出的隱私損失是略大,可能是因?yàn)樗惴ú⑽纯紤]到殘差梯度隱私泄露的問題,而P3SGD算法的隱私損失表現(xiàn)略低,這可能是因?yàn)樵撍惴ú捎秒p噪聲機(jī)制,在相同迭代下的隱私性更好。通過橫向比較不難發(fā)現(xiàn)上述幾種對(duì)比算法與本算法的實(shí)際隱私損失十分接近。因此,本文算法只是改進(jìn)噪聲添加方式和隱私預(yù)算分配方式減少了無效噪聲攝入,并不會(huì)造成額外隱私損失。 表4 隱私損失對(duì)比 為了探究本文提出了多種噪聲優(yōu)化算法在模型中的實(shí)際影響,表5對(duì)算法進(jìn)行拆分,F(xiàn)SDP-M表示,對(duì)梯度矩陣進(jìn)行Funk-SVD分解,采用固定噪聲擾動(dòng)低維子空間矩陣和殘差矩陣;FSDP-S代表用平滑敏感度取代全局敏感度擾動(dòng)低維子空間矩陣和殘差矩陣;FSDP-R代表在FSDP-S的基礎(chǔ)上根據(jù)神經(jīng)元相關(guān)性分配特征的隱私預(yù)算;FSDP-C表示在FSDP-M基礎(chǔ)上采用文中提出的梯度自適應(yīng)剪裁策略對(duì)噪聲梯度進(jìn)行剪裁,F(xiàn)SDP則是本文提出的差分隱私算法。通過與基線比較不難發(fā)現(xiàn),F(xiàn)SDP-M對(duì)提高訓(xùn)練精度有顯著作用,這主要是因?yàn)椋惴ū荛_了環(huán)境參數(shù)的影響,無須在冗余梯度上注入噪聲,而直接在特征子空間中進(jìn)行擾動(dòng),能有效降低非必要噪聲的加入,此外,由于對(duì)梯度矩陣進(jìn)行分解,降低了梯度矩陣范數(shù),降低了全局敏感度,從而有效降低噪聲規(guī)模,對(duì)提高訓(xùn)練精度有重要作用。FSDP-R進(jìn)一步降低了敏感度,這對(duì)提高數(shù)據(jù)可用性有一定幫助。FSDP-R根據(jù)輸入輸出相關(guān)性分配隱私預(yù)算,對(duì)于輸出相關(guān)性較大的特征分配較少的噪聲,反之亦然,該方法對(duì)提高訓(xùn)練精度也有較為顯著的影響。相比之下,自適應(yīng)梯度剪裁策略對(duì)提升訓(xùn)練精度影響最小,該方法的主要貢獻(xiàn)在于解決前期收斂緩慢的問題,使得訓(xùn)練穩(wěn)定,這對(duì)提高訓(xùn)練精度也有較為積極的影響。 表5 算法中各結(jié)構(gòu)對(duì)訓(xùn)練精度(%)的影響 本文針對(duì)現(xiàn)有差分隱私直接添加全局噪聲會(huì)在梯度中引入過多非必要噪聲,降低數(shù)據(jù)可用性的情況提出一種基于Funk-SVD矩陣分解差分隱私算法。利用Funk-SVD將梯度矩陣分解為輸入特征矩陣和環(huán)境特征矩陣,并對(duì)包含輸入特征的低維子空間矩陣擾動(dòng),利用矩陣乘法和環(huán)境特征矩陣消除冗余梯度噪聲,并對(duì)殘差梯度擾動(dòng)以保護(hù)殘余隱私信息。通過計(jì)算分解矩陣范數(shù)和平滑敏感度有效降低噪聲規(guī)模。利用輸入特征與輸出之間的相關(guān)系數(shù)合理分配隱私預(yù)算,減少大信息量特征梯度噪聲。最后,根據(jù)分解矩陣特點(diǎn)和非異常梯度矩陣范數(shù)均值,提出一種自適應(yīng)梯度閾值剪裁方法以提高收斂速度和穩(wěn)定性。重新推導(dǎo)多種優(yōu)化策略下的時(shí)刻統(tǒng)計(jì)計(jì)算累計(jì)隱私損失。在MNIST和CIFAR-10標(biāo)準(zhǔn)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),驗(yàn)證了本文算法能在相同隱私預(yù)算下,有效提升分類精度,分類精度越高,包含信息量越高,數(shù)據(jù)可用性得到提升,尤其在隱私預(yù)算( 2,10?5)下,在兩個(gè)數(shù)據(jù)集相比DP-SGD模型訓(xùn)練精度分別提升1.83%和8.52%。3.3 相關(guān)性計(jì)算
3.4 自適應(yīng)梯度剪裁
3.5 算法描述
3.6 計(jì)算隱私損失
4 實(shí)驗(yàn)結(jié)果及分析
4.1 實(shí)驗(yàn)環(huán)境及數(shù)據(jù)集介紹
4.2 實(shí)驗(yàn)結(jié)果對(duì)比與分析
5 結(jié)束語