張攀峰,吳丹華,董明剛
(1.桂林理工大學 信息科學與工程學院,廣西 桂林 541006;2.廣西嵌入式技術與智能系統重點實驗室,廣西 桂林 541006)
人工智能與大數據的聯合應用模式近年來得到研究人員廣泛關注,然而在人工智能與大數據技術快速迭代的同時,相關數據的隱私安全問題也日益嚴重。由于隱私泄露引發的社會風險層出不窮,在既保證數據的持續有效性又保護用戶隱私不被披露的前提下,從海量數據共享問題中找到一種通用的交互方案尤為重要。差分隱私(Differential Privacy,DP)作為一種具有理論安全基礎的數學模型,不僅可以直接應用于數據隱私保護,而且還能在人工智能深度學習領域提高模型的安全性,保護訓練數據的隱私安全。
差分隱私可以被應用于推薦系統[1]、網絡蹤跡分析、運輸信息保護[2]、搜索日志保護等領域。蘋果公司使用本地化差分隱私手段來保護iOS 和MacOS 系統的用戶隱私,并將該技術應用于Emoji、QuickType 輸入建議、查找提示等領域,如使用CMS算法幫助其獲得最受歡迎的Emoji 表情用來進一步提升Emoji 使用的用戶體驗。蘋果公司要求應用商店中上線的應用都必須增加“隱私標簽”,以符合“應用跟蹤透明度”功能的要求。谷歌公司運用該項技術開發出隱私沙盒,允許廣告客戶展示有針對性的廣告,但不會直接訪問用戶個人的詳細信息。
此外,區塊鏈技術、聯邦學習等也可與該隱私手段相結合。例如,隨著區塊鏈的不斷應用,環簽名可以隱藏交易發起方,但不能保護區塊鏈存儲的數據,因此區塊鏈的數據保護也可通過滿足差分隱私得以保護[3]。聯邦學習技術將來自不同隔離狀態的數據盡可能統一,打破了數據孤島障礙。同時,用戶可以在不暴露原始數據的情況下參與深度學習,既能實現高質量模型的訓練,又能保護隱私[4],因此差分隱私聯邦學習能進一步預防攻擊者從共享參數中推理出敏感信息。建設理想的人工智能世界需要數據、模型學習模式和智能算法,在這些需求下用戶的隱私保護非常重要,基于差分隱私的保護技術已逐漸滲透到各個行業,成為除匿名、聚類、圖修改[5-6]外的又一重要的隱私保護手段。
然而,在算法模型中引入差分隱私機制后數據的可用性可能會下降,權衡算法高效性和隱私保護程度仍然是研究該領域的難題。為此,本文結合算法模型在訓練過程中的特點,對擾動后的參數進行優化,提出一種基于粒子群優化(Particle Swarm Optimization,PSO)算法的差分隱私模型訓練方案,對網絡中的梯度進行隱私保護,防止模型攻擊中竊取的參數造成用戶數據泄露。最后在集中式和聯邦學習架構上進行訓練和驗證,防止數據的效用缺失。
ABADI 等[7]將深度學習方法與差分隱私機制相結合,針對非凸優化且包含大量參數的復雜神經網絡中隱私損失較大的問題,提出運用DP-SGD 算法計算訓練模型。此外,通過高階矩追蹤隱私損失的詳細信息,分析差分隱私框架下的隱私成本,提高隱私計算效率。該算法的提出為差分隱私深度模型訓練在收斂性[8-9]、隱私分析、剪裁閾值[10-12]、超參數選擇[13-15]等研究奠定了基礎。然而,隨著模型的加深和迭代次數的積累,噪聲也會相應變大。為解決上述問題,YU 等[16]提出一種GEP 算法,將模型梯度映射到一個低維的錨子空間后再做擾動,繞開了維度依賴,并用輔助數據估計一個錨子空間,將敏感梯度映射到錨子空間中,得到一個低維的嵌入梯度和一個滿足最小范數的殘差梯度,分別在嵌入的梯度及殘差梯度中添加噪聲進行干擾,保證一定的差分隱私預算,由此實現比原來的梯度干擾低得多的擾動,且能保證相同的隱私水平。隨后文獻[17]提出一種基于重參數化的RGP 算法,通過兩個低維的梯度載流子矩陣和一個殘差權重矩陣對每個參數矩陣進行參數化,以近似的方式將投影梯度逼近原始梯度,對梯度-載波矩陣上的梯度進行擾動,并從有噪聲的梯度中更新原始權重,但該方法在每一輪網絡訓練中都需要兩個參數矩陣的參與,提高了網絡計算的復雜度,對算力的需求較高,且投影梯度的方法忽略了參數結構的內在幾何,阻礙經驗風險的最小化。
許多主流差分隱私深度學習算法都是對計算過程擾動的優化,文獻[18]通過對梯度進行編碼,將其映射到更小的梯度空間進行擾動,并把梯度編碼到一個有限的向量空間,使用數值技術來獲得給定噪聲分布的差分隱私邊界以確定更好的效用-隱私權衡。DPTTAE 算法[19]使用一個更精確的近似張量打破高維參數矩陣約束,并利用差分隱私提供一個有保證的隱私和張量序列來壓縮權重張量。YANG等[20]在DP-SGD 算法中對每個樣本進行剪裁和歸一化后,再添加噪聲來模糊原始梯度信息,在DPNSGD 中引入一個正則因子以控制加速收斂,相應地實現了偏差和噪聲權衡。文獻[21]通過黎曼流提出一個黎曼優化框架,向遵循黎曼度量的切線空間黎曼梯度添加噪聲,實現了經驗風險最小化函數的差分隱私。梯度包含了數據集的相關信息,在進行參數更新之前的梯度中添加噪聲,即對用戶的數據進行擾動,可以保證最終的輸出是被擾動過的。梯度擾動依賴期望曲率使之成為差分隱私深度學習的有效算法[8],在梯度擾動算法中加入的噪聲和優化算法會相互影響,噪聲會使優化算法避開最優曲率方向,而優化算法的收縮性則可以弱化之前步驟所添加的噪聲。
噪聲對模型依賴性較小,而添加的噪聲會與模型規模成正比,從而影響算法性能,因此在前沿深度網絡中仍存在巨大挑戰。本文算法是對計算過程進行擾動,與梯度空間分析轉換不同,根據模型訓練的特有傳播屬性,使其自學習出每一輪滿足隱私的最優權重,減少了權重參數化后對幾何空間表述能力的依賴,且在保護隱私的同時仍具有較好的效用。
由于上述工作均采用模型訓練時擾動的方式滿足差分隱私,本文在多個數據集上進行了實驗,并在實驗過程中選擇較為典型的算法進行對比,對簡單的單通道數據集Mnist 和Fashion Mnist 采用2 種對比算法,對更為復雜的數據集Cifar-10 采用4 種算法進行對比。最后,將本文算法在聯邦學習模式下進行驗證和評估。
本文主要貢獻如下:
1)提出一種基于PSO 的噪聲參數優化方法,通過隨機尋優或自適應尋優方案決定每一輪網絡的初始權重,利用網絡模型中參數的前向和反向傳播特點,找到每一輪引入隨機化后的最優參數,以提高模型的最終輸出性能。
2)將網絡每一輪訓練時的初始化參數設為當前帶擾動的最優參數,且在聯邦學習客戶端中使用同樣的參數優化策略,使每個參與訓練的客戶端最終返回帶擾動的本地最優參數,中心服務器聚合的參數也為當前最優。
3)相較其他復雜的參數提取、分解和重構等方案,基于PSO 的參數優化方式更加便捷,處理速度更快。
差分隱私作為一種模糊查詢工具,使得個人用戶在數據集中對結果影響非常微小。在需要預防泄露的查詢上添加噪聲,并將其查詢操作返回的實際結果隱藏起來或者模糊化,直至無法區分,從而實現私人數據的保護。差分隱私定義如下[22]:
對于差別為一條記錄的數據集D和D',通過隨機算法M 的輸出結果為S子集的概率來滿足差分隱私。隱私保護開銷ε反映了隱私保護水平,ε越小,隱私保護水平越高,映射出關于數據集的有用的信息程度越深,但在相同情況下,ε越小,數據可用性越低。
差分隱私保護可以通過在查詢函數的返回值中注入噪聲來實現,但是噪聲的大小相應地會影響數據的安全性和可用性。通常使用敏感性作為噪聲大小的參數,表示刪除數據集中某一記錄對查詢結果造成的影響。常用擾動通過拉普拉斯、高斯和指數機制來實現差分隱私保護。其中,拉普拉斯和高斯機制用于數值型結果的保護,指數機制用于離散型結果的保護。
在相同或不同數據庫上可以重復使用差分隱私算法,其滿足組合理論[23]。
定理1假設有n個隨機算法M,當其中任意兩個Mi的隨機過程相互獨立且滿足εi-差分隱私,則{Mi}(1 ≤i≤n)組合后的算法滿足εi-差分隱私。
定理2假設有n個隨機算法M,當其中任意兩個Mi的隨機過程相互獨立且滿足εi-差分隱私,則{Mi}(1 ≤i≤n)組合后的算法也滿足max(εi) -差分隱私。
神經網絡中每個節點表示一個感知器,模擬生物細胞網絡中的電信號通過突觸傳遞給神經元,當神經元收到的信號總和超過一定閾值后,細胞被激活,通過軸突向下一個神經元細胞發送電信號以加工完成外界傳遞的信息。常見的多層感知機包含一個輸入輸出層和多個隱藏層,所有層都采用全連接方式。卷積神經網絡由可以處理多維數據的輸入層、隱藏層和輸出層構成,其中隱藏層一般包含卷積層、池化層和全連接層三類架構。卷積層的反向傳播使用交叉相關計算,如式(2)所示:
其中:L 為風險管理誤差;f′為激活函數導數;η為學習率。
ResNet[7]克服了訓練深度增加導致的網絡退化問題,并通過殘差學習向上堆疊新層來建立更新網絡,相比普通網絡在卷積層之間增加了短路機制,使得對特征向量的學習發生改變。假設對輸入x學習到的特征是H(x),殘差是H(x)-x,原始的學習特征就變為F(x)+x,使得殘差學習相比原始特征學習變得更容易。
粒子群優化算法[24-25]的目標是使所有粒子在搜索空間中找到最優值。在初始化時,給空間中所有粒子分配初始隨機位置和初始隨機速度,根據每個粒子的速度、問題空間中已知的全局最優位置和粒子已知的個體位置依次迭代推進每個粒子的位置。隨著計算的推移,通過探索和利用空間中已知的有利位置,粒子圍繞一個或多個最優點聚合。在搜索過程中,保留全局最優位置和個體歷史最優位置信息,有利于加快收斂速度,避免過早陷入局部最優解。
在深度學習中,模型通常需要基于觀察數據x,x可以是輸入數據或特征值,對應輸出一個概率分布p(x;θ)。常見的優化算法是基于梯度的,模型訓練的基本任務是優化如下的目標函數:
梯度擾動間接參與了參數的更新過程,保持既定方法會很大程度上影響參數收斂,使其在距離最優參數較遠的位置來回振蕩。隨著參數權重的不斷迭代,權重值會減小,而噪聲規模占比增大,概率分布的方差也隨之增大,最終導致模型過度擬合訓練數據中的噪聲。
考慮到差分隱私梯度擾動機制是在反向傳播的梯度信息中加入隨機噪聲,這一過程會影響輸出概率的期望,擴大神經網絡最大似然估計參數的后驗分布輸出概率偏差和方差。本文提出一種基于粒子群優化(PSO)算法的參數尋優策略,目的是彌補因梯度脫敏造成的模型可用性下降的缺陷。如圖 1 所示,在N個樣本參數空間為?p×d的搜索空間中,假設N是粒子總數,每一個粒子都對應一個由目標函數決定的適應值。通過適應值找到當前情況下的最優解,即參數θi,將當前參數進行位置更新后作為每一輪網絡前向傳播的初始參數,根據更新后的目標函數反向求位置參數的梯度。為保證數據隱私安全,在梯度上進行剪裁并用噪聲機制進行干擾,返回更新后的參數。每個粒子適應度值將用于判斷該輪更新后的樣本參數是否參與下一輪的訓練,若該粒子適應度是當前最優,則更新參數樣本空間,否則保留歷史最優粒子樣本空間。在迭代結束后,粒子群優化得到的參數為全局最優,且神經網絡訓練過程滿足差分隱私。
鑒于上述思路,基于PSO 參數優化的差分隱私架構如算法1 所示,用粒子的位置表示網絡中各神經元優化后的權重參數,目標是在有限迭代中找到粒子最優位置,即在隱私保護的前提下找到神經網絡的最優參數。將網絡的損失函數作為衡量粒子位置是否為最優的適應度函數。在網絡訓練過程中引入粒子群優化算法,在梯度下降的基礎上,每一次粒子速度和粒子位置的更新,就是神經網絡經歷的一個訓練輪次。
算法1基于PSO 的差分隱私網絡

在迭代開始前,首先隨機初始化粒子群中的位置p和速度v,然后初始化相應的個體歷史最好位置Pp和群體最優位置Pa、個體歷史最優值Vp和種群歷史最優值Va,初始適應度值為零。在每一輪迭代中,首先確定速度變化vt和位置變化pt,一般情況下的速度成分由慣性項w×v、量化過去表現的認知部分c1×rand()×(perbest(pt) -pt)和量化鄰居信息的社會部分c2×rand()×(allbest(pt) -pt)組成,速度vt決定了新位置的方向和大小,所以兩者都為矢量。在分批訓練中,將N個粒子的位置參數作為網絡參數θt依次在網絡中執行計算。計算過程使用隨機梯度下降來最小化經驗損失函數L(θ),即對每一批采樣數據計算當前梯度?θtL(θt,xi),對所得梯度進行剪裁防止梯度爆炸或消失,剪裁后的梯度表示為,每個樣本梯度添加服從N(0,σ2C2I)的噪聲來更新參數。梯度下降的步驟與傳統的方法相同,但區別在于參加運算的參數已經是基于PSO 的當前最優,梯度也是基于當前參數得到的,更新過程能一直保證梯度隱私。根據得到的適應度值V,遍歷N個粒子,若某粒子適應度分數小于個體歷史最優值,則記下當前參數perbest(pt+1),更新出的個體最優粒子流入到下一輪繼續更新。根據該輪種群最優位置選出最小得分的粒子,其對應的參數為當下全局最優粒子位置allbest(pt+1),即一輪結束后的網絡新參數。
在新一輪訓練開始前,采用慣性權重w、粒子位置p和粒子速度v等自定義參數更新每個粒子的速度和位置,本文中稱為隨機優化。若將每一次網絡迭代后的參數作為調整方向和速度后的粒子矢量,稱為自適應優化,則該情況下的w、p、v每一輪訓練前都會動態改變,但實驗中只需粒子矢量位置,無須對這些值做進一步定量研究。如此循環,達到停止條件時可得到一個滿足差分隱私的模型和擾動后的最優參數,根據(ε,δ)可知隱私保護水平。
上述基于粒子群優化后的差分隱私網絡,其目標函數如式(6)所示:
每一輪訓練后,當前網絡最優參數allbest(θi)的梯度為:
其中:allbest(θi)=PSO(θi),i?(0,N),這里的函數表達式為顯性連續函數,可直接微分得到梯度。
本文主要觀察參數變化,故在梯度下降算法中,記ya fa(p(x;θ)) 為fa(θ),ya fa[p(x;allbest(θi))] 為fa(best(θ)),在不添加噪聲的情況下,一般神經網絡訓練目標記為:
在實際應用中需要采用分批訓練的方式,因為數據集樣本數A?B,每一次從訓練集中隨機抽樣,然后進行梯度估計,即隨機梯度下降(SGD)算法。本文假設批大小B=1,即每次取一個樣本參數更新方程,表示如下:
應用粒子群優化策略后,隨機梯度下降更新過程可以表示為:
記(best(θt)-θt)+η[?f(best(θt))-?f(θt)] 為ΔV(θt),則下降過程可表示為如下形式:
其中:{γt}為取值 在{1,2,…,A/B}上的獨 立同分 布(Independent Identically Distribution,IID)隨機變量。式(13)是對式(10)的修正結果,滿足隨機微分方程的弱近似。ΔV(θt)可以看作是在?p×d空間中的隨機矢量,ΔV(θt)+f(θt) -fγt(θt)也為該d維空間中的隨機矢量,最 終f(best(θt)) -fγt(best(θt))記為Vt,為d維隨機矢量,顯然Vt依賴于當前的best(θt)。由此可假設一個擴散過程來近似,考慮ΔV(θt)的均值和方差,顯然均值為0,擴散系數為:
隨機微分方程表達式為:
將式(15)連續過程離散化,迭代過程可以變體為如下形式:
其中:Zt~N(0,I),對照式(13),設置Δt=η,b~?f,σ=,就可以得到式(15)這一連續過程的弱近似。
為使離散逼近連續,弱近似的定義如下:
定義1令0<η<1,A>0,且,G為多項式增長函數的集合,g?G,即存在常數T,當t>0時,滿足|g(θ)|
則稱隨機方程W是隨機梯度下降的α階近似。
若隨機過程為Θt,對于t?[0,T]滿足:
則式(18)是隨機梯度下降的一階近似。
若隨機過程為Θt,對于t?[0,T]滿足:
則式(19)是隨機梯度下降的二階近似。
因為式(11)是在原始參數θt上進行優化的,根據梯度修正后的連續函數,顯然函數的期望和方差會更小,所以證實該隱私參數更新方法在理論上具有可行性。
神經網絡經由一輪采樣、梯度計算、梯度剪裁和添加高斯噪聲組成的訓練后,會得到一組滿足(ε,δ) -DP 的參數θt,不同的是本文中的參數在粒子群算法優化后,best(θt)的值作為新的參數出現在下一輪的計算,這里傳入的參數優于常規的梯度擾動更新方法,但不影響滿足差分隱私。經過T輪訓練后,模型收斂。
根據矩會計法[7]可以計算訓練系統的總體隱私損失,其基本思想是將每一輪訓練的隱私損失等價于隨機變量,而將總隱私損失等價于各輪隨機變量的和進行分布,通過計算隨機變量的矩生成函數得到更精準的隱私上界。對于t時刻的訓練機制Mt,差分隱私目標是讓其在相鄰數據集上得到的參數θt的分布盡量相似,即對所有的數據集d,d'?D,滿足:
可知t時刻的位置由t-1 時刻變化得到,采用隨機梯度下降法在數據集上訓練時,可定義隨機變量如下:
其中:θi~Mt(PSO(θti-1),d),i?(0,N),取每一輪得到的最優隨機變量記為c(θi,Mti)。由組合定理[7,26]可知,對于T個差分隱私機制組成的訓練系統,在不同t時刻輸出的參數獨立同分布,訓練體系的總體機制M1:T的隨機變量可由多個時刻的隱私隨機變量的和組成,即考慮到相鄰數據集的分布需要盡可能一致,則隨機變量c(θi,Mti)的α階矩估計應盡可能地逼近0。c(θi,Mti)的對數矩生成函數為:
故訓練時整個模型滿足差分隱私,隱私預算ε為TM(α)。
聯邦學習差分隱私模型采用局部噪聲機制,對于每輪訓練而言,當客戶端更新完本地模型后,都需要將模型權重或者更新的梯度上傳至中心服務器進行匯聚。實驗中為滿足本地差分隱私,采用剪裁操作和噪聲干擾來對模型權重或梯度進行處理,然后上傳至中心服務器。
本文方法采用聚合方式進行訓練,客戶端和服務器計算包含如下流程:在本地計算時,首先初始化尋優所需的粒子位置參數p0、速度參數v0、個體歷史最優位置pp、全局最優位置pa、適應度值V、個體歷史最優值Vp和當前所有粒子中的最優值Va。客戶端k根據本地數據庫Xk,將全局服務器模型授予的θt作為本地參數,即θ=θt,進行梯度剪裁和下降策略,采用粒子群最優算法更新參數。在客戶端的每一輪訓練過程中,根據適應度函數值V更新該輪的歷史個體最優參數為perbest(pt),全局歷史最優參數為allbest(pt)。該輪更新結束后,網絡參數θt為當前最優,繼續進入下一輪。客戶端訓練結束后,模型訓練會將得到的參數Δθt+1←θ-θt、ξ←‖Δθt+1‖n傳給服務器,其中n表示范數,此時上傳的客戶端參數是基于多輪PSO 優化后的最優參數。在模型擾動時,每個客戶端產生一個符合高斯分布的隨機噪聲N(0,σ2C2I)。因此,經過擾 動的本 地參數為服務器使用FedAVG 算法[27]聚合從客戶端收到的Δθ′t+1,得到新的全局模型參數θt+1,此時模型參數是擾動后的,符合差分隱私。然后當有客戶端需要訓練時會進行模型廣播,服務器將新的模型參數廣播給每個客戶端。客戶端接收新的模型參數重新進行本地計算,更新本地參數再擾動后回傳到聚合中心。
算法2基于PSO 的差分聯合策略

實驗基于Python3.8 解析器和PyTorch 框架,在3.30 GHz 3.29 GHz 雙核CPU,128 GB RAM 的win10系統下,使用NVIDIA GeForce RTX 3090 GPU 實現加速。實驗數據集使用Mnist、Fashion-Mnist 和Cifar-10,其中,Mnist 是標注為0~9 的手寫數字圖片數 據,Fashion-Mnist 由10 種衣物 類別組 成,2 個數據集的圖片均為單通道,包含60 000 張訓練圖片和10 000 張測試圖片。Cifar-10 由10 類真實物體的三通道彩色圖組成,包含50 000 張訓練圖片和10 000 張測試圖片。
訓練模型包括自定義的MLP、CNN 和ResNet20網絡。MLP 網絡由包含300 個和100 個神經元的隱藏層構成,自定義CNN 網絡包含兩個通道數為32 和64 的卷積模塊,卷積核大小都為3,步長設置為2,每個卷積層之后都使用ReLU 作為激活函數,輸出采用10 分類的全連接層實現。ResNet20 由包含19 個核大小為3、步長為[1,2]、通道數為[16,32,64]的卷積層以及1 個全連接層構成。其中聯邦學習差分隱私的測試分析在自定義CNN 網絡上完成。
粒子群優化算法中各參數的選取對模型的表現至關重要,故在無隱私情況下討論確定各PSO 超參數對模型的增益。由于粒子位置p、粒子速度v等參數與神經網絡權重相輔相成,因此只討論超參數粒子群數N、慣性權重w和最大迭代次數T對模型的影響。
當取不同粒子數N時,模型的準確率和訓練時間如表1 所示,可知當粒子數為3 時,模型已經具有較好的表現,當粒子數為10 時,準確率提升很小,但時間卻增加了4 倍,當粒子數取到20 時,耗時相對N=3 更長,但準確率提升較小。在進行不同粒子數下的模型訓練時,迭代輪次都為100,慣性權重都設為0.1。

表1 本文模型在不同粒子數下的性能Table 1 Performance of the proposed model under different particle numbers
當慣性權重w變化時,模型的準確率如圖2 所示,其中,訓練迭代100 輪次,粒子數為3。在w=0.7時,模型準確率在15 輪左右開始驟降,猜測是在該權重下訓練陷入局部最小導致。當權重為0.1~0.5時,模型收斂的速度增快,但最終都會收斂到相差不多的值域內。當w=0.9 時,在前10 輪的學習能力較強,但會因粒子速度更新跨度過大而提前進入局部最小,使得準確率相對較低。圖3 所示為在不同最大迭代次數T下模型訓練損失、準確率、測試損失和準確率的變化情況,其中,慣性權重為0.1,粒子數為3。隨著最大迭代輪次的增加,訓練和測試集的損失都有所降低,準確率都有所增加。當T超過200 輪后,損失逼近0,訓練集完全收斂。測試集在100 輪后,損失收斂至0.1 附近,準確率也幾乎不再變化。
本文將基于粒子群優化的差分隱私模型訓練方法在多個數據集和網絡中進行實驗,并與其他算法進行對比。實驗中粒子種群數量設置為3,主要是根據實際訓練經驗、顯存和時耗綜合考量得到的。對比實驗和結論均在控制變量的情況下得到,例如為了比較和探究隱私保護程度時保證隱私預算一致,對算法準確率和損失進行驗證。根據DP-SGD[7]和RG-params[17]算法,實驗中選取隱私預算ε為2、4、6、8 和10 進行討論和對比。
為了觀察PSO 的收斂特征和可行性,首先采用隨機優化的方式對隱私參數進行訓練,將訓練過程中隨迭代累計的測試集分類準確率與DP-SGD[7]、DPparams[28]算法對比。圖4 所示為Mnist數據集在MLP模型上的實驗結果。從曲率總體變化上可知,隨著迭代次數的增加,基準的梯度擾動算法準確率會先增加后降低,隨著隱私預算的收縮,降低幅度會越大,而本文方法的訓練效果受隱私預算干擾較小,訓練過程較平穩。圖4(a)~圖4(e)中的預算ε為10、8、6、4 和2,最終DP-SGD 測試準確率為84.43%、82.94%、80.71%、77.06% 和71.25%,本文算法最終測試集準確率為90.67%、90.33%、90.28%、90.78%和90.66%,而在基于輸出擾動的DP-params[28]訓練集損失一直都在較高水平,準確率也始終只有10%左右。
圖5 所示為在簡單CNN 網絡上各算法測試結果與隱私水平的變化趨勢,在圖5(a)~圖5(e)中,當ε為10、8、6、4 和2 時,DP-SGD[7]最終測 試準確率為84.58%、82.68%、79.87%、75.28%和67.52%,本文算法的損失最終收斂于0.55 附近,準確率可達87.81%、87.57%、88.19%、88.24% 和88.26%,而DP-params[28]的訓練損失在該卷積網絡中有所下降,準確率相較MLP 網絡中有所提升,分別為66.63%、70.25%、64.30%、68.21%和69.63%。顯然,本文算法在收斂和準確率上仍具有較大優勢,但Mnist 數據集在兩種網絡框架中,當隱私預算ε為4 時,收斂前訓練損失和測試分類準確率會出現較大波動,可能是在隨機尋優時不能直接確定最優初始參數,當隱私政策緊縮時無法快速靠近最優位置造成的。
為驗證算法的普適性,進一步對Fashion-Mnist數據集的損失值和測試準確率進行實驗。圖6(a)~圖6(e)展示出Fashion-Mnist在MLP 網絡結構中,當ε為10、8、6、4 和2 時的收斂情況和模型效果評估。算法DP-SGD[7]的最終訓練集損失隨隱私預算緊縮而急劇增大,在測試集上準確率為76.17%、74.92%、73.47%、71.40%和67.80%。相比之下,本文算法的損失值較為穩定,最終能收斂到1 左右的較小范圍,準確率可達83.10%、83.31%、83.38%、83.49%和83.99%,而DP-params[28]損失函數值始終處于較高水平,最終測試準確率只有10%左右。從曲線變化趨勢可知,DPSGD[7]在收斂到最優狀態后,隱私預算越小,最終的模型效用越差。而在本文算法中,隨著噪聲的增加,從Fashion-Mnist 在MLP 模型上的表現可知,訓練損失始終向風險最小趨勢靠近,測試準確率偏差不大。
圖7 所示為Fashion-Mnist 數據集在CNN 中的損失值和測試準確率表現。在圖7(a)~圖7(e)中,當隱私預算ε為10、8、6、4 和2 時,隨著隱私預算的縮減,最終DP-SGD[7]的訓練損失值漲幅較大,測試準確率為75.25%、75.00%、72.50%、69.37% 和64.13%。在Fashion-Mnist 數據集上,本文算法的最終損失函數值的表現最優,在測試集上準確率為80.44%、80.45%、80.41%、80.76%和81.40%。而DP-params[28]的損失一直徘徊在2.3 附近,測試準確率也始終在較低水平閾值內振蕩。由圖7(a)可知,當ε為10 時,本文算法的收斂速度、最終收斂程度和測試效果始終領先。當隱私保護程度越大時,其最終結果的優勢越明顯。
本文算法在Mnist 和Fashion-Mnist 上均能較好收斂,且在相同隱私預算下受噪聲疊加擾動的影響較小。在不同的隱私預算下也有較優表現,能在不同數據集和不同神經網絡架構上使模型都具有較好的魯棒性。但考慮到隨機尋優的方式收斂較慢,且對粒子參數的初始位置、尋優方向和速度的調整較為繁瑣,在后續ResNet 架構中考慮采用網絡自適應尋優的方式調整每一輪的方向和速度。
當采用更復雜的ResNet深度模型時,無差分隱私訓練的Mnist 測試集準確率為99.43%,Fashion-Mnist數據集準確率為91.19%,彩色圖像數據集Cifar-10 的準確率為79.64%。各數據集在不同隱私水平下的測試集準確率如表2 所示,其中,每列的隱私保護水平均一致,所有準確率由訓練最佳的模型獲得,每個結果為3 次模型訓練的均值,Δ表示與基準測試準確率的偏差。將DP-SGD[7]算法作為擾動算法的基準線,可知梯度擾動后本文算法在3 個數據集的上的結果均為最優。Mnist 數據集在隱私損失為8 時,準確率可達98.44%,比基準線提升了5.03%。Fashion-Mnist在隱私損失為10 時,擾動后最高準確率為87.46%,比基準線提升了9.23%。在Cifar-10 數據集上,當隱私損失為8 時,最高準確率為66.7%,比DP-SGD 算法提升了22.77%。因此,本文算法在隱私預算和準確率指標上均優于其他訓練方案。

表2 不同隱私水平下的測試集準確率 Table 2 Testset accuracy at different privacy levels %
根據RDP[29]隱私計算方法,采用更小的隱私預算,在Cifar-10 上基于ResNet 模型進行對比,最大迭代數為50 輪。表3 為較小隱私開銷下各算法的測試集準確率,與文獻[7,17]相同,設置DP-SGD 為基準線。RGP-W4 明顯不具優勢,甚至在隱私預算為1.0和0.1 時的表現低于基準線。GEP 和RGP-W10 仍優于DP-SGD,但顯然本文算法對準確率的提升更穩定,在隱私預算為0.1 時,測試準確率有13.39%的提升。綜合來看,無論在何種隱私水平下,本文算法均可更好地提升模型可用性。

表3 較小隱私水平下的測試集準確率 Table 3 Testset accuracy at smaller privacy levels %
此外,本文算法在算力需求和訓練時間上也具有一定優勢。由表4 可知,本文算法的每一輪訓練需 要72 s,趨 近RGP[17]時耗的1/3,相 比RGP[17]和GEP[16]的高維參數或梯度的處理計算,本文算法則是利用自啟發式尋優,避免過量運算。在本文實驗環境下對GPU 的顯存需求是8.2 GiB,優于前兩者。

表4 不同算法的訓練耗時和顯存大小 Table 4 Training time and video memory size of different algorithms
考慮到多源海量數據整合問題,下面研究本文算法在聯邦學習中的表現。不同于分布式機器學習將獨立同分布(IID)的數據或模型參數存儲在各個分布式節點上,本文方案由中心服務器調動數據和計算資源聯合訓練模型。因客戶端的地理、時間等分布差異,聯邦學習經常要處理非獨立同分布(non-IID)的數據。因此,實驗在不同數據集上采用IID 和non-IID 的方式分別進行訓練,并觀察算法在收斂性和隱私保護中的性能映射。
圖8 所示為Mnist 在不同隱私水平下采用獨立同分布訓練的測試準確率變化過程,本文算法在隱私預算為10 時的準確率最高可達98.29%,隱私預算為2 時的準確率達到96.2%。圖9 所示為該數據集在非獨立同分布形式下的測試集收斂曲線,本文算法在隱私損失為10 時的準確率可達96.49%,損失預算為2 時的準確率為89.28%。可以看出每個參與訓練的客戶端數據相互獨立時的準確率較高,從全局角度而言,本文算法的收斂速度均優于傳統的直接差分隱私擾動算法。在相同隱私水平下,本文算法模型效用更佳,在隱私保護水平越高時優勢越明顯。
圖10 所示為不同隱私預算下獨立同分布形式的Fashion-Mnist 數據集在網絡訓練中的測試準確率,隱私損失為10 時的準確率為89.31%,隱私損失減小到2 時的最高準確率為86.19%。圖11 所示為非獨立同分布Fashion-Mnist 數據集在網絡訓練中的測試準確率,當隱私損失為10 時,本文算法最高準確率為83.76%,隱私損失為2 時的準確率為75.93%。由綜合數據和曲線可知,在Fashion-Mnist 數據集中,IID 數據的訓練效果仍然優于non-IID,且本文算法的收斂速度仍然較快,在獨立同分布的數據中訓練優勢依舊明顯,即使在non-IID 數據中的優勢相比Mnist 有所下降,但仍然優于傳統的噪聲擾動方式。

圖1 本文方案的參數優化策略Fig.1 Parameter optimization strategy of the proposed scheme

圖2 本文模型在不同慣性權重下的準確率Fig.2 Accuracy of the proposed model under different inertia weights

圖3 本文模型在不同迭代數下的準確率Fig.3 Accuracy of the proposed model under different iterations

圖4 Mnist 數據集在MLP 網絡中不同隱私水平下訓練的測試準確率變化曲線Fig.4 Test accuracy variation curve of Mnist dataset trained under different privacy levels on the MLP network

圖5 Mnist 數據集在CNN 網絡中不同隱私水平下訓練的測試準確率變化曲線Fig.5 Test accuracy variation curve of Mnist dataset trained under different privacy levels on the CNN network

圖6 Fashion-Mnist 數據集在MLP 網絡中不同隱私水平下訓練的測試準確率變化曲線Fig.6 Test accuracy variation curve of Fashion-Mnist dataset trained under different privacy levels on the MLP network

圖7 Fashion-Mnist 數據集在CNN 網絡中不同隱私水平下訓練的測試準確率變化曲線Fig.7 Test accuracy variation of Fashion-Mnist dataset trained under different privacy levels on the CNN network

圖8 不同算法在Mnist 數據集上的IID 測試準確率Fig.8 IID test accuracy of different algorithms on Mnist dataset

圖9 不同算法在Mnist 數據集上的non-IID 測試準確率Fig.9 non-IID test accuracy of different algorithms on Mnist dataset

圖10 不同算法在Fashion-Mnist 數據集上的IID 測試準確率Fig.10 IID test accuracy of different algorithms on Fashion-Mnist dataset

圖11 不同算法在Fashion-Mnist 數據集上的non-IID 測試準確率Fig.11 non-IID test accuracy of different algorithms on Fashion-Mnist dataset
本文優化算法在聯邦學習中具有較強的兼容性,收斂速度較快,并具有較好的隱私性和安全性,且在面對用戶群體較大與不均衡的用戶數據時,仍然具有較好的兼容效果。
本文構建一個基于粒子群優化的差分隱私深度學習模型。根據網絡前向傳播和反向傳播中每輪參數的方向和速度變化特征,配合噪聲擾動對期望曲率的依賴關系,解決噪聲參數尋優問題。在訓練過程中,基于每輪梯度擾動后的最優參數得到經驗風險最小化函數,解決網絡參數更新的逼近問題。在Mnist、Fashion-Mnist 兩個單通道數據集和Cifar-10彩色多通道數據集上,利用自定義的MLP、CNN 和ResNet20 網絡進行訓練,并通過不同隱私預算下的多組實驗和對比。實驗結果表明,本文算法在滿足差分隱私的條件下具有較好的可用性。由于本文提出的帶擾動參數優化方案只在橫向聯邦協作和客戶-服務器架構下進行驗證,下一步將在縱向聯邦學習和對等架構下驗證方案的有效性。另外,將繼續研究使用數據非獨立同分布時模型準確率的優化問題。