郭鵬,鐘尚平,陳開志,程航
(1. 福州大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,福建 福州 350116;2. 網(wǎng)絡(luò)系統(tǒng)信息安全福建省高校重點(diǎn)實(shí)驗(yàn)室,福建 福州 350116)
近年來,隨著計(jì)算機(jī)硬件和軟件技術(shù)的快速發(fā)展,大量關(guān)于個人語義豐富的數(shù)據(jù)(如圖像、文本、音頻)正在被收集。盡管分析和利用這些數(shù)據(jù)帶來了巨大的商業(yè)價值(如有針對性的廣告和個性化推薦),但是,政府、組織部門都已經(jīng)認(rèn)識到在這種實(shí)踐中保護(hù)個人隱私的重要性[1]。
數(shù)據(jù)的隱私保護(hù)主要解決兩方面問題[2]:數(shù)據(jù)集不能泄露個人的隱私,以及使數(shù)據(jù)的可利用性和隱私性達(dá)到平衡。Mohassel等[3]提出數(shù)據(jù)隱私保護(hù)的雙服務(wù)器協(xié)議,數(shù)據(jù)管理員結(jié)合安全雙方計(jì)算(2PC,two-party compution)與同態(tài)加密技術(shù)利用數(shù)據(jù)集訓(xùn)練多種模型,但計(jì)算消耗較大,復(fù)雜度較高。Sweeney等[4]提出k-anonymity的目的是保證公開數(shù)據(jù)中包含的個人信息至少k-1條不能通過其他個人信息確定出來,但是目前有多種根據(jù)背景知識針對匿名保護(hù)的攻擊,并且有較高成功率;l-diversity[5]、t-closeness[6]等方法是針對背景知識攻擊以及對 k-anonymity的改進(jìn)方法。盡管以上方法一定程度保護(hù)數(shù)據(jù)隱私,但是計(jì)算復(fù)雜,不容易部署實(shí)施,屬性缺失造成數(shù)據(jù)可利用性降低,或者因?yàn)楸尘爸R容易被攻擊等問題對上述方法提出挑戰(zhàn)。
Dwork[7]提出的差分隱私具有優(yōu)雅的理論證明,自定義的“隱私預(yù)算”來調(diào)整數(shù)據(jù)的實(shí)用性和隱私性,差分隱私與機(jī)器學(xué)習(xí)的結(jié)合是隱私保護(hù)的熱點(diǎn)。Shokri等[1]提出分布訓(xùn)練,使用互斥數(shù)據(jù)集,對每一個分布的模型參數(shù)添加噪聲處理后,上傳到中心服務(wù)器處,其他分布者再從中心處下載平均化處理后的參數(shù),更新自己的模型參數(shù),但 Abadi[8]和 Papernot[9]等認(rèn)為這種方法會產(chǎn)生很高的隱私損失;Papernot等[9]應(yīng)用獨(dú)立的教師模型集成器和半監(jiān)督知識遷移訓(xùn)練的學(xué)生模型對Mnist和Svhn數(shù)據(jù)集實(shí)現(xiàn)最好的分類準(zhǔn)確率,但是實(shí)施這種方法的前提是確保對手不能接觸到教師集成器和聚合結(jié)果,并且允許學(xué)生模型對教師集成器的查詢次數(shù)盡可能少,因?yàn)椴樵儠黾与[私損失;Abadi等[8]提出使用差分隱私隨機(jī)梯度下降,對深度學(xué)習(xí)的優(yōu)化過程實(shí)施隱私保護(hù),在保證較低差分隱私預(yù)算同時不要求分布式訓(xùn)練,但是這種方法只是發(fā)布固定任務(wù)的模型,第三方無法根據(jù)實(shí)際任務(wù)訓(xùn)練自己的模型。
因此,為了保護(hù)數(shù)據(jù)集的個人隱私,同時平衡數(shù)據(jù)的實(shí)用性和隱私性而滿足第三方的需求,已有研究者將差分隱私和生成模型結(jié)合,實(shí)現(xiàn)差分隱私保護(hù)的生成模型,第三方可以依靠生成模型無限制生成滿足源數(shù)據(jù)統(tǒng)計(jì)特性的“虛假”數(shù)據(jù)。Gergely等[10]提出了新穎的隱私保護(hù)生成模型,將k個生成神經(jīng)網(wǎng)絡(luò)混合一起學(xué)習(xí)訓(xùn)練數(shù)據(jù)的分布,構(gòu)建生成器模型。先使用差分隱私核k-means將數(shù)據(jù)分成k類,使用單個生成神經(jīng)網(wǎng)絡(luò)(如限制玻爾茲曼機(jī)或者變分自編碼器)學(xué)習(xí)每一類訓(xùn)練數(shù)據(jù)分布,學(xué)習(xí)過程中利用了 Abadi等[8]的差分隱私優(yōu)化過程方法實(shí)驗(yàn)差分隱私保護(hù),但是 VAE是通過直接計(jì)算生成圖像和原始圖像的均方誤差學(xué)習(xí),使生成的圖像模糊;Beaulieu-Jones等[11]提出差分隱私輔助分類生成對抗網(wǎng)絡(luò)(DPACGAN, differential privacy auxiliary classifier generative adversarial network)生成醫(yī)療臨床數(shù)據(jù)。這是第一篇實(shí)現(xiàn)對生成對抗網(wǎng)絡(luò)差分隱私保護(hù)的文章。DPACGAN和 Gergely等[10]方法相比具有很多優(yōu)點(diǎn)。首先,GAN確??蓴U(kuò)展性,更適用于現(xiàn)實(shí)生活中復(fù)雜結(jié)構(gòu)的數(shù)據(jù);其次,這種方案是比較容易實(shí)施的,即不需要在互斥數(shù)據(jù)集上分布式訓(xùn)練模型后再聚合;最后,DPACGAN借鑒了Abadi[8]的隱私保護(hù)結(jié)構(gòu),即通過設(shè)定梯度裁剪閾值,限制每個樣例的敏感度,然后對裁剪處理后的梯度添加合適的噪聲,再來更新對應(yīng)的網(wǎng)絡(luò)參數(shù)。DPACGAN具有完整的理論證明,可以根據(jù)標(biāo)簽生成需要的圖像。但是,DPACGAN直接固定梯度裁剪閾值 C,這會影響優(yōu)化器性能,原因?yàn)椋?) 不同層的梯度相差很大;2) 梯度值是持續(xù)改變的。Zhang等[12]提出梯度裁剪自適應(yīng)選取方法,先將權(quán)重等參數(shù)進(jìn)行歸類操作,在訓(xùn)練前和訓(xùn)練過程中監(jiān)測梯度值的變化,再對每一類設(shè)置梯度閾值。
本文借鑒Zhang等[12]思想,以DPACGAN框架為基礎(chǔ),假設(shè)除了可以接觸到隱私數(shù)據(jù)Dpri來訓(xùn)練模型,還可以接觸到小部分的公開數(shù)據(jù)集 Dpub。在每一步訓(xùn)練中,筆者隨機(jī)從Dpub抽取一批樣例,設(shè)置訓(xùn)練模型的梯度裁剪閾值為這批數(shù)據(jù)的平均梯度范數(shù),迭代上述操作直到網(wǎng)絡(luò)聚合。在Mnist和Cifar10數(shù)據(jù)集上對本文方法進(jìn)行了實(shí)驗(yàn)驗(yàn)證,結(jié)果表明,合理隱私預(yù)算下,和DPACGAN相比,使用生成圖像訓(xùn)練得到的卷積神經(jīng)網(wǎng)絡(luò)(CNN)分類器準(zhǔn)確率提高1%~4%,評估分?jǐn)?shù)(Inception Scores)提升0.6~1.2。
本文的主要貢獻(xiàn)如下。
1) 發(fā)現(xiàn)原始 DPACGAN固定梯度閾值的弊端,提出結(jié)合C自適應(yīng)選取的方法。直觀地說,對每一個輸入,梯度值的L2范數(shù)應(yīng)該近似等于裁剪閾值,這保證了輸入對梯度的貢獻(xiàn)最大并且相關(guān)誤差最小。
2) 驗(yàn)證了改進(jìn)后的 DPACGAN在不同復(fù)雜度數(shù)據(jù)集上的實(shí)用性,在合理的隱私預(yù)算下,CNN分類器分類準(zhǔn)確率提高,生成的圖像更清晰和多樣性更好。
本文方法使用的隱私模型是差分隱私[7,13,14],差分隱私被認(rèn)為是最強(qiáng)的隱私保護(hù)之一。
2.1.1 差分隱私定義
定義1 給定2個至多相差一條記錄的數(shù)據(jù)集 d 和d'(即),對于一個設(shè)定的隨機(jī)算法A,其取值范圍為Range(A),若算法A在數(shù)據(jù)集 d和d′上的任意輸出結(jié)果滿
其中,ε是隱私保護(hù)參數(shù),表示隱私保護(hù)的程度,ε越小意味著對于真實(shí)輸出的擾動越大,隱私保護(hù)程度也越高。δ表示嚴(yán)格的差分隱私下隱私泄露的概率。
2.1.2 差分隱私實(shí)現(xiàn)方法
1) 函數(shù)的敏感度
給定函數(shù)f,通過對f輸出添加隨機(jī)噪聲實(shí)現(xiàn)差分隱私,噪聲的大小取決于 f輸出的敏感度。如果f輸出是向量值,它的敏感度大小定義為足式(1),則稱算法A滿足(ε, δ)-差分隱私。
表示單個數(shù)據(jù)對f輸出的最大影響,量化評估最壞情況下隱藏單個數(shù)據(jù)存在要添加的不確定性。
2) 高斯機(jī)制
如果f的敏感度使用L2范式定義,高斯機(jī)制常被用來隨機(jī)化f的輸出。高斯機(jī)制(式(3))是給f的真實(shí)輸出添加高斯噪聲[14]。
其中,高斯噪聲是均值為0、協(xié)方差為2(Δf)σI的高斯分布,I是單位矩陣。
3) 屬性
在差分隱私對抗網(wǎng)絡(luò)中利用差分隱私的以下特性。
① 后處理性。對差分隱私機(jī)制下輸出的任何計(jì)算不會增加隱私損失。
② 序列化組合原理。差分隱私機(jī)制的序列化組成依然滿足差分隱私保護(hù)。
2.1.3 差分隱私優(yōu)化算法
本文的隱私保護(hù)方法和差分隱私深度學(xué)習(xí)[8]的技術(shù)很相似,通過在優(yōu)化程序中添加噪聲實(shí)現(xiàn)。算法1說明了差分隱私深度學(xué)習(xí)中通過最小化經(jīng)驗(yàn)損失函數(shù) L(θ)訓(xùn)練關(guān)于參數(shù)θ模型的基本方法。在優(yōu)化程序的每一步,計(jì)算隨機(jī)樣例的梯度g(x),裁剪每個梯度L2范數(shù),計(jì)算平均值,添加噪聲,如步驟 5)~步驟 7),再使用平均梯度更新對應(yīng)參數(shù)。這里對梯度的裁剪是為了限制單個數(shù)據(jù)對整體的影響,也是方便敏感度的計(jì)算。添加噪聲是實(shí)現(xiàn)對梯度輸出的擾動,實(shí)現(xiàn)保護(hù)。
算法1 差分隱私優(yōu)化算法
輸入 訓(xùn)練樣例 X={x1,x2,…,xn},損失函數(shù),噪聲σ,學(xué)習(xí)率α,組大小m,梯度裁剪閾值C,訓(xùn)練輪數(shù)T
輸出 θ,并且使用隱私統(tǒng)計(jì)方法計(jì)算全局隱私損失
1) 初始化θ
2) for t∈Tdo
3) 隨機(jī)選取m個樣例
12) return θ
差分隱私隨機(jī)梯度下降將梯度裁剪閾值C作為輸入,沒有給出解釋如何計(jì)算該值。另外,C的選擇對優(yōu)化器的性能影響較大。如果C太小,會導(dǎo)致梯度的過度截斷,造成聚合緩慢。相反,如果C太大,較多不必要的噪聲將被添加到梯度更新,會導(dǎo)致生成圖像質(zhì)量不好。由于不同層權(quán)重,偏置、梯度相差較大,并且訓(xùn)練中梯度是持續(xù)改變的,很難找到接近最優(yōu)的固定設(shè)置C。直觀地說,對每個輸入的樣例這樣保證了輸入x對平均梯度的貢獻(xiàn)具有最小相關(guān)誤差的最大保護(hù)[10]。
因此,與其對整體訓(xùn)練集的C做固定輸入,不如自適應(yīng)地選取每批的 C。本文假設(shè)訓(xùn)練模型時,除了可以接觸到隱私數(shù)據(jù)Dpri還可以接觸到小部分的公開數(shù)據(jù)Dpub,在每一次訓(xùn)練時,隨機(jī)從 Dpub選取一批樣例,設(shè)置隱私數(shù)據(jù)的裁剪閾值為這一批訓(xùn)練樣例梯度范式的平均值。這種自適應(yīng)的方法確保具有較小誤差的較快聚合。
如圖1所示,生成對抗網(wǎng)絡(luò)[15]同時訓(xùn)練2個模型:生成模型G是學(xué)習(xí)將潛在分布pz映射到訓(xùn)練數(shù)據(jù)的真實(shí)分布 pdata,同時判別器訓(xùn)練過程是計(jì)算輸入樣例來自真實(shí)訓(xùn)練數(shù)據(jù)的概率,生成器的訓(xùn)練過程是最大化判別器犯錯誤的概率,即判別器誤以為樣例為真實(shí)訓(xùn)練樣例而不是生成器生成的“虛假”樣例,目標(biāo)函數(shù)為
Xreal表示從真實(shí)訓(xùn)練數(shù)據(jù)取樣,Xfake表示從“虛假”數(shù)據(jù)取樣。
GAN被用在各種無監(jiān)督和半監(jiān)督的學(xué)習(xí)任務(wù)。其中,一個是將訓(xùn)練好的判別器作為特征提取器,用在各種設(shè)置中;另一個工作是針對潛在變量Xfake,要么使用正則化使Xfake語義有意義,要么直接在潛在空間提取信息。盡管GAN理論簡明,但是原始GAN在訓(xùn)練中不穩(wěn)定并且效率不高。
如圖2所示,ACGAN[16]是GAN的變形。ACGAN除了輸入對應(yīng)噪聲z,還有標(biāo)簽c~ pc用來生成每個樣例。G使用兩者生成圖像判別器判別輸入圖像的真假源概率分布和類別標(biāo)簽的分布。目標(biāo)函數(shù)有式(5)和式(6)兩部分。
圖1 生成對抗網(wǎng)絡(luò)結(jié)構(gòu)
圖2 輔助分類生成對抗網(wǎng)絡(luò)
其中,Ls表示輸入數(shù)據(jù)的真實(shí)來源,Lc表示輸入數(shù)據(jù)正確的標(biāo)簽。D被訓(xùn)練最大化Ls+Lc,同時G最大化Lc+Ls。ACGAN和標(biāo)準(zhǔn)GAN相比,產(chǎn)生極好的效果并且訓(xùn)練更穩(wěn)定。早期實(shí)驗(yàn)表明,增加訓(xùn)練集類別數(shù)量會降低模型輸出的質(zhì)量。ACGAN的模型結(jié)構(gòu)允許將訓(xùn)練集根據(jù)類別劃分多個子集,使用每個子集訓(xùn)練生成器和分類器。
DPACGAN是[11]在優(yōu)化程序中添加隨機(jī)噪聲實(shí)現(xiàn)對訓(xùn)練數(shù)據(jù)的隱私保護(hù)。本文嘗試僅對判別器D添加隨機(jī)擾動,合理性如下:首先,在對抗網(wǎng)絡(luò)中,只有D可直接接觸訓(xùn)練真實(shí)數(shù)據(jù),這樣足夠控制訓(xùn)練D的隱私損失;其次,和生成器G比較,D僅需要較簡單的結(jié)構(gòu)和小部分參數(shù),這樣比較容易估計(jì)隱私損失。但是,通過對D實(shí)施隱私保護(hù),生成器的參數(shù)依然是差分隱私保護(hù)。這是因?yàn)椴罘蛛[私的后處理性,也就是說,對差分隱私輸出的任何計(jì)算不會增加隱私損失。這里的計(jì)算是指對生成器參數(shù)的計(jì)算,輸出指判別器輸出的差分隱私保護(hù)參數(shù),因此訓(xùn)練后的生成器用來生成數(shù)據(jù)是安全的。
差分隱私生成對抗網(wǎng)絡(luò)的關(guān)鍵組成部分是計(jì)算訓(xùn)練期間的逆累積隱私損失,即隱私統(tǒng)計(jì)A,包含2個部分:時刻統(tǒng)計(jì)[8]和子集采樣[8]。
時刻統(tǒng)計(jì):Abadi等提出了時刻統(tǒng)計(jì)——一個隱私統(tǒng)計(jì)的方法,該方法比組合原理[17]對隱私損失的評估更嚴(yán)謹(jǐn)。隨機(jī)變量 Z表示隱私損失(式(7))。
其中,d, d'表示臨近數(shù)據(jù)集,M是隨機(jī)機(jī)制算法,o∈R表示輸出。隱私損失隨機(jī)變量的時刻生成函數(shù)日志為得到Mα。
為了滿足差分隱私,需要遍歷所有可能的
使用馬爾可夫不等式,可以證明任何ε>0,對于,M滿足
子集采樣:在每次D的迭代訓(xùn)練中,從真實(shí)數(shù)據(jù)集采樣一批數(shù)據(jù)。由隱私應(yīng)用定理可知,每次采樣程序關(guān)于整個數(shù)據(jù)集實(shí)現(xiàn)表示每批的采樣概率,m表示批大小,n表示訓(xùn)練集大小,
如果噪聲σ和梯度裁剪閾值C選擇合適,使用時刻統(tǒng)計(jì)[7]可以證明算法1是t表示主循環(huán)中總的迭代輪數(shù)。
DPACGAN因其更適用于生活中復(fù)雜數(shù)據(jù)結(jié)構(gòu),更簡單的實(shí)施方案,更能保證數(shù)據(jù)利用和數(shù)據(jù)隱私之間達(dá)到平衡的優(yōu)點(diǎn)而引起數(shù)據(jù)管理者的青睞。在差分隱私層面提供隱私保護(hù)控制的GAN可以生成和原始真實(shí)數(shù)據(jù)同分布的“虛假”數(shù)據(jù),在允許第三方利用訓(xùn)練數(shù)據(jù)實(shí)現(xiàn)不同機(jī)器學(xué)習(xí)任務(wù)的同時,保護(hù)數(shù)據(jù)的隱私性,滿足數(shù)據(jù)分析師的需求,引導(dǎo)長遠(yuǎn)的研究。
然而,筆者發(fā)現(xiàn)在隱私保護(hù)的方法中,直接固定裁剪閾值 C會造成生成數(shù)據(jù)的可利用性降低。因?yàn)镚AN訓(xùn)練中梯度是不斷變化的,每層相差較大。而如果C太小,會導(dǎo)致梯度的過度裁剪,造成聚合緩慢。相反,如果C太大,較多不必要的噪聲將被添加到梯度更新,會導(dǎo)致生成圖像質(zhì)量不好,很難找到滿足全局需求的最優(yōu)的C作為輸入。因此,本文將DPACGAN與2.2節(jié)中方法結(jié)合,保證在每一輪迭代中自適應(yīng)地選取C。
算法2列出了采用自適應(yīng)選取梯度裁剪閾值的DPACGAN的結(jié)構(gòu)。本文首先從Dpub選取一批數(shù)據(jù),計(jì)算輸入樣例的梯度,然后使用該批的梯度平均值作為隱私訓(xùn)練的梯度裁剪閾值(步驟 4)~步驟5)),再從真實(shí)數(shù)據(jù)取樣,計(jì)算梯度(步驟 6)~步驟 7)),對梯度裁剪和添加噪聲,更新判別器參數(shù)(步驟 8)~步驟 12))。迭代這樣的操作,直到網(wǎng)絡(luò)聚合或者隱私預(yù)算耗盡(步驟15)~步驟16))。
算法2 自適應(yīng)選取閾值DPACGAN算法
輸入:數(shù)據(jù)集X={x1,x2,…,xn};Dpub公共數(shù)據(jù)集,Dpri隱私數(shù)據(jù)集,m隱私數(shù)據(jù)集批大小,mpub公開數(shù)據(jù)集的批大?。籇判別器,G生成器;(α,β1,β2)是 Adam 的參數(shù);C 裁剪閾值;σ噪聲大小;(ε0,δ0)-總隱私預(yù)算。
輸出:G,差分隱私生成器
1) (w,)θ←使用Dpub訓(xùn)練ACGAN
2) While θ沒有聚合 do
3) while D do
4) //從 Dpub取樣類別標(biāo)簽
5)計(jì)算梯度,求平均值得梯度裁剪閾值C
6) 從 Dpri取樣類別標(biāo)簽
7)//計(jì)算梯度
8) for i=1,…,m do
9)//裁剪
10)//添加擾動噪聲,更新隱私統(tǒng)計(jì)
11) //求批次平均梯度,更新判別器參數(shù)
12) End (while)
13) //采樣噪聲,類別標(biāo)簽,更新生成器參數(shù)θ
14) //計(jì)算隱私算法A關(guān)于ε0的δ
15) If結(jié)束訓(xùn)練
16) End while
17) return G
在算法2每次判別器的訓(xùn)練中,本文增加了對Dpub的隨機(jī)取樣并且計(jì)算梯度值,每次選取m個數(shù)據(jù),進(jìn)行計(jì)算,時間復(fù)雜度為O(m),然后,從Dpri選取n個數(shù)據(jù)計(jì)算梯度,則時間復(fù)雜度O(n),故一次迭代總復(fù)雜度為O(m+n)。之后的每次迭代相同,假設(shè)為N次,則判別器層總的復(fù)雜度為NO(m+n)。
本節(jié)評估改進(jìn)后DPACGAN的性能。所有實(shí)驗(yàn)均是在 keras+tensorflow+gpu平臺上完成,python版本為 3.5.2。此外使用了 2塊 NVIDIA GTX 1080Ti顯卡實(shí)現(xiàn)硬件加速。
本文實(shí)驗(yàn)使用2種標(biāo)準(zhǔn)數(shù)據(jù)集。
1) Mnist,由70 000張10類手寫數(shù)字圖像組成,包括60 000張訓(xùn)練數(shù)據(jù)集和標(biāo)簽,10 000張測試數(shù)據(jù)集和標(biāo)簽。每張圖像大小28×28。
2) Cifar10,由60 000張10類圖像組成,每類6 000張。包括50 000張訓(xùn)練數(shù)據(jù)集和標(biāo)簽,10 000張測試數(shù)據(jù)集和標(biāo)簽。每張圖像32×32。
本文分別將Mnist和Cifar10數(shù)據(jù)集的訓(xùn)練集按4:96比例分為公共可利用數(shù)據(jù)集Dpub和隱私數(shù)據(jù)集Dpri。針對Mnist數(shù)據(jù)集的改進(jìn)后DPACGAN超參數(shù)設(shè)置如圖3所示,針對Cifar10數(shù)據(jù)集的改進(jìn)后DPACGAN超參數(shù)設(shè)置如圖4所示。在判別器的優(yōu)化中,本文使用NoisyAdam()優(yōu)化器,實(shí)現(xiàn)隱私保護(hù)。
本節(jié)對生成的圖像質(zhì)量進(jìn)行評估。筆者主要設(shè)計(jì)2個實(shí)驗(yàn),回答關(guān)于改進(jìn)后DPACGAN的3個關(guān)鍵問題。第一,在隱私約束條件下,改進(jìn)后DPACGAN是否可以生成視覺效果較好的圖像?第二,生成的圖像是否保持足夠的能力實(shí)現(xiàn)數(shù)據(jù)分析任務(wù)?第三,生成的圖像是否具有足夠好的質(zhì)量和多樣性?
4.2.1 改進(jìn)后DPACGAN生成的圖像
本節(jié)主要是展示一些使用改進(jìn)后方法生成的圖像數(shù)據(jù)。圖5和圖6分別使用Mnist和Cifar10數(shù)據(jù)集訓(xùn)練的生成模型生成的圖像數(shù)據(jù),可以看出,改進(jìn)后DPACGAN可以生成視覺上清晰的圖像。
4.2.2 Mnist數(shù)據(jù)集和Cifar10數(shù)據(jù)集的分類任務(wù)
圖3 Mnist數(shù)據(jù)集生成模型超參數(shù)設(shè)置
圖4 Cifar10數(shù)據(jù)集生成模型超參數(shù)設(shè)置
圖5 Mnist生成模型生成圖像(ε=4,δ=10-5)
圖6 Cifar10生成模型生成圖像(ε=8,δ=10-5)
筆者使用 Mnist訓(xùn)練集在下訓(xùn)練 4個不同隱私預(yù)算的生成模型,再使用每一個模型生成數(shù)據(jù),對每一類數(shù)字隨機(jī)挑選3 000張組成生成圖像訓(xùn)練集,則共得到 4組訓(xùn)練集。每一組訓(xùn)練集訓(xùn)練得到一個CNN分類器,再使用每一個訓(xùn)練好的分類器對Mnist測試集測試計(jì)算準(zhǔn)確率。然后,重復(fù)這樣的操作50次,計(jì)算平均準(zhǔn)確率。作為對比,使用DPACGAN設(shè)置在下訓(xùn)練生成模型,同樣操作計(jì)算平均準(zhǔn)確率;還使用真實(shí)Mnist訓(xùn)練集訓(xùn)練分類器,應(yīng)用測試集計(jì)算分類準(zhǔn)確率;使用無隱私保護(hù)ACGAN生成的數(shù)據(jù)訓(xùn)練分類器,應(yīng)用測試集計(jì)算準(zhǔn)確率。實(shí)驗(yàn)結(jié)果如圖 7所示,橫坐標(biāo)表示隱私預(yù)算大小,縱坐標(biāo)表示CNN的分類準(zhǔn)確率,每一部分前兩列分別表示在固定隱私預(yù)算下,改進(jìn)前DPACGAN生成數(shù)據(jù)分類器準(zhǔn)確率和改進(jìn)后DPACGAN生成數(shù)據(jù)分類器準(zhǔn)確率。雖然ACGAN數(shù)據(jù)和原始數(shù)據(jù)沒有使用固定隱私預(yù)算,但是作為對比,分別放在每部分的后兩列,這樣很容易得到對比效果。
圖7 Mnist數(shù)據(jù)CNN分類準(zhǔn)確率
筆者使用Cifar10數(shù)據(jù)集執(zhí)行和Mnist數(shù)據(jù)集相同的操作。實(shí)驗(yàn)結(jié)果如圖 8所示,每一部分前兩列分別表示在固定隱私預(yù)算下,改進(jìn)前DPACGAN生成數(shù)據(jù)訓(xùn)練的分類器準(zhǔn)確率和改進(jìn)后 DPACGAN生成數(shù)據(jù)訓(xùn)練的分類器準(zhǔn)確率。雖然 ACGAN數(shù)據(jù)和原始數(shù)據(jù)沒有使用固定隱私預(yù)算,但是作為對比,分別放在每部分的后兩列,這樣很容易得到對比效果。和Mnist數(shù)據(jù)集比較,Cifar10數(shù)據(jù)集為彩色圖像,并且比較復(fù)雜,通過自適應(yīng)選取切割閾值發(fā)現(xiàn),生成數(shù)據(jù)的準(zhǔn)確率提升更加明顯,這是因?yàn)楦倪M(jìn)后方法在固定隱私預(yù)算下,自適應(yīng)選取梯度裁剪閾值,保證了輸入樣例對梯度的貢獻(xiàn)具有最小相關(guān)誤差的最大保護(hù)。圖7和圖8表明分類準(zhǔn)確率會隨著隱私預(yù)算增大而提升,這正是因?yàn)棣旁叫‰[私保護(hù)程度越高,訓(xùn)練中增加噪聲越多,對優(yōu)化器參數(shù)更新造成干擾。為了調(diào)節(jié)可用性和隱私性,應(yīng)該適當(dāng)增大隱私預(yù)算。并且,筆者發(fā)現(xiàn)采用自適應(yīng)選取裁剪閾值的方法后,同隱私預(yù)算下 CNN分類器分類效果有很大提升,分類準(zhǔn)確率接近無隱私保護(hù)情況下ACGAN生成的圖像訓(xùn)練得到分類器的準(zhǔn)確率。
圖8 Cifar10數(shù)據(jù)CNN分類準(zhǔn)確率
4.2.3 Mnist數(shù)據(jù)集和Cifar10數(shù)據(jù)集的統(tǒng)計(jì)特性Salimans等[16]提出使用Inception Scores來評價GAN生成數(shù)據(jù)的質(zhì)量。生成器G的Inception Scores定義為
這里,x是 G生成的樣例;Pr(y|x)是提前訓(xùn)練的預(yù)測x標(biāo)簽y的分類器所屬的條件分布,如果x是和真實(shí)樣例相似的,則期望Pr(y|x)的熵是小的;是y的邊緣分布,如果G能夠生成多樣性樣例,則期望Pr(y)的熵是大的。因此,通過測量2個分布KL的差異,s(G)可以評估生成數(shù)據(jù)的質(zhì)量和多樣性。
表1總結(jié)了Mnist和Cifar10數(shù)據(jù)集分別訓(xùn)練的 DPACGAN,改進(jìn)后 DPACGAN的生成數(shù)據(jù)Inception Scores,并且作為對比,本文給出原始數(shù)據(jù),ACGAN生成數(shù)據(jù)[16]的Inception Scores。不難發(fā)現(xiàn),改進(jìn)后DPACGAN生成的圖像比改進(jìn)前的分?jǐn)?shù)提高,更接近原始數(shù)據(jù)和ACGAN生成數(shù)據(jù)的分?jǐn)?shù)。
表1 真實(shí)數(shù)據(jù)和合成數(shù)據(jù)的Inception Scores
4.2.4 分析總結(jié)
由CNN的分類準(zhǔn)確率和Inception Scores的評分2個標(biāo)準(zhǔn),可以發(fā)現(xiàn)改進(jìn)后的DPACGAN性能提升,不僅更適用于數(shù)據(jù)分析任務(wù),而且生成的圖像質(zhì)量和多樣性更好。這是因?yàn)楦倪M(jìn)后自適應(yīng)選取的梯度裁剪閾值更接近每個樣例輸入時引起的梯度變化,不會導(dǎo)致梯度的過小截斷,也不會導(dǎo)致梯度的過度放大。在差分隱私優(yōu)化過程中,可知梯度裁剪閾值大小即為敏感度的上界,而添加噪聲[14],如下式。
可知噪聲大小和敏感度相關(guān)。當(dāng)自適應(yīng)選取梯度閾值時,梯度不會因?yàn)檫^小而導(dǎo)致訓(xùn)練緩慢,隱私損失計(jì)算較大,訓(xùn)練迭代輪數(shù)減少,生成圖像可利用性降低;也不會因?yàn)檫^大而導(dǎo)致敏感度過大,噪聲添加過多,以及訓(xùn)練參數(shù)的更新偏離最優(yōu)值,生成圖像可利用性降低。
本文結(jié)合DPACGAN和梯度裁剪閾值自適應(yīng)選取的優(yōu)點(diǎn),不再將梯度裁剪閾值作為輸入。因?yàn)樯蓪咕W(wǎng)絡(luò)不同層的梯度相差很大,訓(xùn)練時,梯度值持續(xù)改變,通過自適應(yīng)選取閾值既可以防止閾值過小導(dǎo)致網(wǎng)絡(luò)聚合緩慢,又可以避免閾值過大導(dǎo)致敏感度增高,生成圖像質(zhì)量可利用性低。本文通過實(shí)驗(yàn)評估,改進(jìn)后的DPACGAN比改進(jìn)前DPACGAN生成的圖像視覺上更清晰,用于數(shù)據(jù)分析任務(wù)時性能更優(yōu),圖像質(zhì)量和多樣性更好。
關(guān)于本文工作還有很多需要長遠(yuǎn)研究的內(nèi)容。例如,本文實(shí)驗(yàn)都是聚焦于生成圖像數(shù)據(jù),然而對其他語義豐富數(shù)據(jù)類型(如語言模型任務(wù))是值得深入研究的。
參考文獻(xiàn):
[1]SHOKRI R, SHMATIKOV V. Privacy-preserving deep learning[C]//The 53rd IEEE Annual Allerton Conference on Communication, Control, and Computing. 2015: 909-910.
[2]ZHU T, LI G, ZHOU W, et al. Differentially private data publishing and analysis: a survey[J]. IEEE Transactions on Knowledge & Data Engineering, 2017, 29(8): 1619-1638.
[3]MOHASSEL P, ZHANG Y. SecureML: a system for scalable privacy-preserving machine learning[C]//The 38th IEEE Symposium on Security and Privacy. 2017: 19-38.
[4]SWEENEY L. K-Anonymity: a model for protecting privacy[J].International Journal of UncertainTy Fuzziness and Knowledge Based Systems, 2002, 10(5): 557-570.
[5]MACHANAVAJJHALA A, GEHRKE J, KIFER D, et al. l-diversity:privacy beyond k-anonymity[C]//The 22nd IEEE International Conference on Data Engineering. Atlanta Georgia. 2006: 24-24.
[6]LI N, LI T, VENKATASUBRAMANIAN S, et al. T-closeness:privacy beyond k-anonymity and l-diversity[C]//The 23rd IEEE International Conference on Data Engineering. 2007: 106-115.
[7]DWORK C. Differential privacy[M]//Encyclopedia of Cryptography and Security. Springer, 2011: 338-340.
[8]ABADI M, CHU A, GOODFELLOW I, et al. Deep learning with differential privacy[C]//The ACM SIGSAC Conference on Computer and Communications Security. 2016: 308-318.
[9]PAPERNOT N, ABADI M, ERLINGSSON U, et al. Semi- supervised knowledge transfer for deep learning from private training data[C]//The 5th International Conference on Learning Representations. 2017
[10]ACS G, MELIS L, CASTELLUCCIA C, et al. Differentially private mixture of generative neural networks[C]//The 17th IEEE International Conference on Data Mining. 2017:715-720.
[11]BEAULIEU-JONES B K, WU Z S, WILLIAMS C, et al. Privacy-preserving generative deep neural networks support clinical data sharing[R]. 2017.
[12]ZHANG X, JI S, WANG T. Differentially private releasing via Deep Generative Model[EB/OL]. arXiv preprint arXiv: 1801.01594v1. 2018.
[13]DWORK C. Differential privacy: a survey of results[C]// International Conference on Theory and Applications of Models of Computation. Springer, Berlin, Heidelberg. 2008: 1-19.
[14]DWORK C, ROTH A. The algorithmic foundations of differential privacy[J]. Foundations and Trends in Theoretical Computer Science, 2014, 9(3/4): 211-407.
[15]GOODFELLOW I, POUGET-ABADIE J, MIRZA M, et al. Generative adversarial nets[C]//Advances in Neural Information Processing Systems. 2014: 2672-2680.
[16]ODENA A, OLAH C, SHLENS J. Conditional image synthesis with auxiliary classifier GANs[C]//International Conference on Machine Learning. 2017: 2642-2651.
[17]KAIROUZ P, OH S, VISWANATH P, et al. The composition theorem for differential privacy[J]. IEEE Transactions on Information Theory, 2013, 63(6): 4037-4049.
[18]SALIMANS T, GOODFELLOW I, ZAREMBA W, et al. Improved techniques for training GANs[C]//Advances in Neural Information Processing Systems. 2016: 2234-2242.