





















摘 要:聯邦學習的提出為跨數據孤島的共同學習提供了新的解決方案,然而聯邦節點的本地數據的非獨立同分布(Non-IID)特性及中心化框架在參與方監管、追責能力和隱私保護手段上的缺失限制了其大規模應用。針對上述問題,提出了基于區塊鏈的可信切片聚合策略(BBTSA)和聯邦歸因(FedAom)算法。FedAom引入歸因思想,基于積分梯度法獲取歸因,從而定位影響模型決策行為的參數,分級考慮參數敏感性,在局部更新過程中保持和強化全局模型所學習到的關鍵知識,有效利用共享數據,從而緩解Non-IID問題。BBTSA基于區塊鏈構建去中心化的聯邦學習環境,允許聯邦節點在無須中心化第三方的情況下,通過在參與方間交換噪聲而非權重或梯度參數,基于合作樹結構實現對參數的切片混淆,以保護節點隱私。在兩種數據集上的不同分布條件下的驗證結果顯示,FedAom在大多數條件下相比基線方法在穩定性和收斂速度上都有顯著提升。而BBTSA能夠隱藏客戶端的隱私參數,在不影響精度的情況下確保了訓練過程的全程監控和隱私安全。
關鍵詞:聯邦學習; 區塊鏈; 隱私保護; 非獨立同分布; 積分梯度; 歸因
中圖分類號:TP181;TP309 文獻標志碼:A
文章編號:1001-3695(2024)08-024-2419-08
doi:10.19734/j.issn.1001-3695.2023.12.0611
Decentralized privacy-preserving optimization method for federated learning
Hou Zechao, Dong Jiangang
(College of Software, Xinjiang University, rümqi 830000, China)
Abstract:The advent of federated learning has unveiled a collaborative approach to learning across data islands, yet its scalability faces challenges from Non-IID local data at federated nodes and insufficient oversight, accountability, and privacy in centralized frameworks. To tackle these issues, this paper proposed a blockchain-based trustworthy slice aggregation(BBTSA) and federated attribution optimization method(FedAom). FedAom adopted attribution thinking, using the integrated gradients method for attribution to identify parameters influencing model decisions. It considered parameter sensitivity in a tiered app-roach, preserving and enhancing key knowledge learned by the global model during local updates. This effectively utilized shared data to mitigate the Non-IID problem. Concurrently, BBTSA employed blockchain to establish a decentralized framework, facilitating noise exchange between nodes instead of direct parameters, with a cooperative tree structure for obfuscation to boost privacy. Validation on diverse distributions across two datasets indicates FedAom notably improves stability and convergence speed over baseline methods in most instances. Simultaneously, BBTSA ensures client privacy without compromising model accuracy, guaranteeing training oversight and privacy protection.
Key words:federated learning; blockchain; privacy protection; Non-IID; integral gradient; attribution
0 引言
近些年來,人工智能技術的快速發展為傳統行業注入了新的活力,而這一切都離不開海量數據的驅動[1]。傳統的機器學習依賴于集中式的中央服務器,數據以明文的方式傳輸至服務器并參與訓練。此種方式存在兩種矛盾:a)數據來源于物流、醫療、衛星等邊緣設備,這類數據往往包含如位置信息、健康數據以及涉及國家機密的地形地貌信息等,持有者不愿共享給中央服務器。如多個醫療機構計劃開發一套人工智能系統輔助疾病診斷,然而,各機構持有的病歷數量難以滿足高質量模型的訓練需求,而病歷的所有權由患者持有,醫院在未獲得授權的情況下無法共享使用。b)受限于帶寬與計算資源等因素,集中式的訓練對服務器的硬件要求較大,并且在不受信任的信道中傳輸數據存在風險[2]。聯邦學習[3]是一種由谷歌于2017年提出的可實現數據隱私保護且支持將訓練分散到多臺設備上的分布式機器學習技術,通過傳遞梯度(或者參數)而不是隱私數據使得多個參與方可以協作訓練一個全局模型。一般來說,聯邦學習服務器利用聯合平均算法(federated averaging,FedAvg)聚合多個設備的本地模型參數,來更新全局模型。
若數據在參與方中的分布滿足獨立同分布(independent and identically distributed,IID)條件時,FedAvg可以達到與集中式學習等效的性能[4],但現實中數據分布往往是非獨立同分布(non-independent and identically distributed,Non-IID)的,例如,醫院A及B專長于不同的疾病,或者使用的醫療設備型號不同使得樣本存在差異。研究者發現Non-IID的訓練數據會阻礙FedAvg的收斂速度,甚至無法收斂[5],這是因為數據的異質性會導致客戶端模型發生漂移[6]。如圖1所示,客戶端傾向于優化一個適合本地數據分布的解,使得模型陷入局部最優。此類問題的一個解決思路是構建一個所有節點共享的數據集[7],將其混入客戶端的私有數據中參與訓練或者由服務器對模型進行微調,這種方法對共享數據的利用效率較低。有研究[8, 9]通過對參數更新的限制來緩解模型漂移現象,然而,受限于深度神經網絡(DNN)的權重排列不變性[10],同一權重在不同的任務中所表達的語義信息可能存在差異,如何從更具解釋性的角度定位并優化導致漂移現象的參數,具有重要的現實意義。
即使參與方的真實數據不需要離開本地,依然可以利用梯度或模型參數還原出相應的隱私數據,防止此類攻擊的常用方法有差分隱私、同態加密、梯度裁剪等,然而這些方法在保護節點隱私的同時也帶來了新的挑戰。此外,拜占庭節點的存在會對系統的穩定性和安全性形成威脅。
區塊鏈憑借其去中心化、不可否認性、可追溯性等特點,能夠滿足溯源與追責的需求,星際文件系統(IPFS)可在保障去中心化特性的同時緩解賬本的存儲壓力[11]。
文獻[12]展示了歸因在引導網絡學習上的潛力,其基于積分梯度(integrated grad,IG)[13]與先驗框對網絡的學習行為進行引導,獲得了較好的效果。受此啟發,本文提出了一種歸因優化方法(attribution optimization method,AOM),并實現了FedAom算法。FedAom引入歸因的思想來描述網絡的行為,旨在深入找到模型決策行為背后的決定性特征,即“模型作出判斷的原因”。FedAom的目標在于保持模型在局部迭代過程中的決策行為與全局模型一致。同時借助數據共享的思路,引入小批量共享數據作為計算模型歸因的載體。FedAom在優化過程中加入對決策敏感參數的考量,有效利用共享數據的知識,從而緩解聯邦學習環境中的Non-IID問題。另外還設計了一種基于區塊鏈的可信切片聚合策略(blockchain-based trustworthy slice aggregation,BBTSA),參與方無須透露任何與參數相關的信息,基于合作樹結構的混淆過程可避免向所有節點廣播消息產生的高昂帶寬成本,通過合作混淆來破壞模型與參與方的訓練樣本之間的對應關系,實現了參數的完全匿名性。最終,融合上述兩個方案,可以在提高模型準確度的同時實現對客戶端的隱私保護,避免了中心化方案可能導致的隱私泄露問題,確保了對訓練過程的全程監控。本文的主要貢獻如下:
a)設計了一種可信切片聚合策略,在客戶端之間傳輸可抵消的隨機噪聲而非參數,保護了客戶端的隱私且不影響模型精度。基于區塊鏈技術構建了一個去中心化的服務,結合可驗證隨機函數(verifiable random function,VRF),使客戶端成為混淆過程的主導者。通過智能合約(smart contract,SC)實現對客戶端身份及合作過程的自動驗證與處理,保證訓練以及合作過程可信透明。借助IPFS與本文設計的合作樹結構可降低鏈節點的存儲壓力與帶寬成本,提高效率。
b)提出了一種適用于Non-IID數據的歸因優化方法。僅利用極少量的共享數據來計算歸因,作為模型對全局數據決策敏感性的度量指標。歸因方法能夠更為準確地描述神經網絡對輸入特征作出的反應,分級對待模型在訓練過程中不同層敏感參數的更新行為,對客戶端的模型漂移進行修正,有效地緩解了聯邦學習環境中的Non-IID問題。
c)通過實驗來評估本文方案,結果表明所提方法在不同的Non-IID數據上的正確率及收斂速度都有所提高。切片聚合策略能有效地實現模型參數的匿名性,且不影響精度。
1 背景知識
1.1 聯邦學習
假設聯邦學習共有K個參與節點,節點ki的本地私有數據集記為di∈D,di={(xij,yij)}nij=1,其中i∈{0,1,2,…,K},ni表示節點ki的樣本數量,D={di}Ki=1則是系統中所有參與節點的數據總和。在第t輪通信中,節點ki利用私有數據di訓練一個本地模型θti,ki的目標是最小化本地損失Euclid Math OneLApti:
arg minwti 1ni∑nij=1Euclid Math OneLApti(xij,yij,wti)(1)
聯邦學習總目標是通過聚合客戶端的wi,獲得一個可以使全局損失最小化的模型參數w*global:
arg minw*global1K∑Ki=1Euclid Math OneLApti=1N∑Ki=1∑nij=1Euclid Math OneLApti(xij,yij,wti)(2)
1.2 聯邦學習面臨的隱私及異構性問題
即使僅共享模型的參數信息,聯邦學習的應用依然需要考慮隱私推理攻擊、好奇的參與方和中心化的風險。已有研究者展示了深度梯度泄露、模型逆向與成員推理攻擊[14]如何威脅節點隱私安全。Zhang等人[15]提出一種基于生成式對抗網絡(generative adversarial network,GAN)的隱私推理攻擊方案,從公共信息上學習先驗,實現了高質量推理,且基于差分隱私的一般性防御方案難以阻止攻擊。在此基礎上,Chen等人[16]充分利用了被攻擊模型的知識,實現了對訓練數據的細粒度重構,進一步提升了攻擊效果。
研究者在醫療物聯網引入同態加密技術[17],對手無法利用加密后的模型密文推斷私人醫療數據,并且可以確保服務器能獲得最終的聚合參數,但同態運算會帶來較大的計算負擔,并且具有中心化的風險。曹世翔等人[18]借助中心化的洗牌機混淆梯度并采用差分隱私增強安全性,犧牲了一定精度,但缺乏對節點身份進行驗證的手段。
區塊鏈本質上是一種去中心化的賬本,利用共識算法確保賬本一致性。通過哈希指針連接成鏈,保障數據安全和不變性。有研究者[19]結合區塊鏈設計了一種委員會共識方案,由委員會節點對局部模型進行打分,礦工根據評分聚合模型,同時賬本將記錄非委員會成員的行為,但數據異質可能會影響評分的公正性,并且此過程中需要傳輸一定的參數。劉煒等人[20]研究了在去中心化環境下保護參與方的隱私參數,結合多種技術進一步提高了系統安全性。Guduri等人[21]設計了一種輕量級聯邦學習架構,通過智能合約實現代理重加密。Madni等人[22]引入區塊鏈作為節點身份的驗證方,通過點對點的方式自主完成梯度聚合,但參數依然以明文的方式在網絡中傳輸,存在被截取的風險。上述隱私保護方案對比情況如表1所示。
區塊鏈的一個顯著優勢是允許不受信任的實體在無須依賴集中性的第三方機構的條件下進行可信交互,現有研究未能充分利用這一點,本文基于區塊鏈的此種特性充分調度dh2Z35XV7fLt5GH7nXjHMQ==參與方的主動能力及資源,各參與方在不暴露真實參數的情況下,借助區塊鏈與鄰居進行參數混淆,以提升整體的安全性。
由于跨客戶端的數據異構性,本地模型偏向于擬合客戶端的本地分布,這就導致了模型的漂移。Zhao等人[23]觀察到模型權重散度與數據異構度呈正相關,在Non-IID條件下,Fed-Avg算法出現了明顯的退化,5%的共享IID數據可顯著提升精度,但提供5%的隱私數據對參與方是難以接受的。李志鵬等人[24]提出一種借助全局模型學習到的知識來重構Non-IID數據的方法,生成虛擬數據解決類別不均衡問題,但增加了計算負擔。常黎明等人[25]提出一種個性化聯邦學習方法,通過deep sets在特征維度上對客戶端進行組合,同組客戶端將共同訓練一個個性化的模型,降低了Non-IID帶來的影響。
另有研究者通過正則化本地優化過程,從而修正客戶端模型的漂移。Li等人[8]提出聯合近端(federated proximal,FedProx)算法,允許客戶端執行不同次數的本地更新,通過加入一個近端項,迫使模型更新不會偏離全局模型太遠,有效地緩解了聯邦學習中數據異構及系統異構的問題。聯邦模型對比學習(model-contrastive federated learning,MOON)[26]從模型的表示能力入手,最小化局部模型與全局模型表示能力之間的差異,從而糾正局部訓練。Shoham等人[9]將模型漂移看作是終身學習中的知識遺忘問題,提出了聯邦曲率(federated curvature,FedCurv)算法,利用Fisher信息矩陣保留對舊任務貢獻較大的參數,尋找任務的普適解。FedProx與FedCurv等從權重的角度限制局部更新,有一定的局限性,這影響了模型在多任務學習環境下的能力。
1.3 歸因方法
歸因方法的目的在于評估輸入特征對預測結果的影響,最初用于解釋神經網絡的預測行為,但近期的研究已經開始探索其在約束和指導模型的學習過程中的能力[12,27]。傳統方案僅從權重的角度對偏離行為進行正則化,忽略了權重真實的語義信息。本文基于歸因的思想,定位到在對本地分布外樣本的預測中表現出更高敏感性的參數,并分級引導wi的更新。一般認為,具有較大梯度的特征值相應的重要性也越大,Shrikumar等人[28]通過將輸出偏導數與輸入特征相乘,生成銳化的歸因圖,以揭示特征的重要性和在預測中的強度,本文以G·I指代上述方法。
模型可視為特征提取器m與分類器c的組合,即θi=(m,c)。為更合理地獲得對模型的歸因行為,基于積分梯度法構建一條連接基線x′與輸入x之間的路徑,將梯度的路徑積分Λ視為G·I中的導數項G,公式為
Λ::=Δx∫1σ=0c(m(x′+σ×Δx))x′dσΔx=x-x′(3)
其中:Λ中的元素αls,i,j指代模型第l層的第s個神經節點中各參數對本層輸入的歸因敏感度,為簡單起見,在無特殊說明的情況下,用αls代而表示;σ為路徑的控制變量,本文中σ是一個標量且σ∈[0,1]。利用線性插值法構建x′至x的直線路徑γ(σ):
γ(σ)=x′+σ×Δx(4)
其中:Δx=x-x′,沿路徑γ(σ)計算路徑積分,式(3)可重新修改為
Λpath_γ(σ)=∫1σ=0c(m(γ(σ)))γ(σ)·γ(σ)σdσ(5)
本質上,x與對應的特征圖具有相似的構造,故本文的路徑構建在特征圖與基線之間,且選擇黑色圖片作為x′。鑒于DNN模型的復雜性,對式(5)進行計算存在困難,利用黎曼積分近似求解會引入過多的噪聲[29],緩解此問題的另一個簡單有效的方案是通過梯形求和近似積分,將Δx均勻分割成q個小段,q∈Euclid ExtraeBp,沿γ(σ)采樣路徑點,基于式(5)使用梯形法近似計算αls:
Ll-1s,i,j2qε∑qρ=1cy(m(x′+(ρ-1)Δxq))+cy(m(x′+ρΔxq))Ll-1s,i,j
Ll-1s,i,j=L((x′+ρΔxq)l-1s,i,j,wsl)(6)
以卷積層為例,cy(m(x))指的是模型將輸入x預測為真實類別y的置信度,wsl為模型第l層的第s個卷積核的參數,L表示卷積操作,Ll-1s,i,j表示當網絡輸入為x′+ρΔxq時,對l-1層輸出的第s個特征子圖與參數wsl執行卷積操作。為避免權重過大,使用ε對值進行平衡。基于式(6)近似計算得到的Λ即可反映出模型對類別y的決策焦點。
2 基于區塊鏈的可信分片聚合FedAom設計與實現
2.1 聯邦歸因(FedAom)算法
為緩解Non-IID數據帶來的客戶端漂移現象,本文提出了FedAom算法,通過約束局部模型的決策行為以保持和強化全局模型所學習到的關鍵知識。由于特征是由隱藏層產生的,其受隱藏層的輸入以及參數共同影響,而在Non-IID的情況下,不同參與方的樣本分布差異較大,使得輸入成為一個變量,這讓確定關鍵特征變得更加復雜。因此,本文采用了基于共享數據的策略,收集小批量的共享數據作為計算歸因的載體,當輸入被固定為從這批共享數據中隨機抽取時,歸因結果能夠更準確地反映出參數在全局數據預測階段中的敏感性。這種方式有效地將歸因的優化轉換成了對敏感參數的優化問題。由此,FedAom僅需極少量共享數據計算歸因,再利用歸因引導優化過程,便可在模型訓練中間接進行知識回放,實現對共享數據包含的本地分布外知識的合理利用,從而減少了對數據量的依賴性。FedAom的優化目標同式(2),只是額外引入了輸入敏感性損失項Euclid Math OneLApt,ei,IS:
Euclid Math OneLApt,ei,IS=‖∪lnuml=1(L(xi,0,l-1,wi,0,l)Λ^0,lt-L(xi,e,l-1,wi,e,l)Λ^e,lt)‖2(7)
其中:Euclid Math OneLApt,ei,IS表示在第t輪全局通信中ki在本地訓練的第e輪epoch的輸入敏感性損失,e∈{1,2,…,E},E為節點本地訓練的總輪數;L(·)表示將L的輸出拉平后的向量;lnum為模型的層數;Λ的每一個元素按順序作為Λ^e,lt的對角線元素;Λ^e,lt為第t輪的第e次迭代時模型第l層的歸因敏感性矩陣。式(8)利用矩陣運算,為重要的特征施加更大的權重,確保對那些關鍵特征更敏感的參數在更新時受到更多的關注,對這類特征相關的模型參數的更新將產生更大的損失,借此引導模型的學習過程。Λ^e,lt的形式如下:
Λ^e,lt=A100…0
As…000…Aυ(8)
其中:Λ^e,lt是一個具有分塊對角結構的矩陣,其中每個塊As也是一個對角矩陣。在卷積層,As是一個δ×δ的矩陣,υ與δ分別表示第l層卷積核的數量以及每個通道所含元素的個數。而在全連接層,As是一個標量矩陣,即δ=1,υ則表示全連接層的節點數。以卷積層為例,對應于卷積核s的As表示如下:
AS=α1,1…00…αδ,δ(9)
其中:α是反映模型對輸入的敏感程度的權值。當圖片比較復雜時,υ與δ的值可能會很大,而Λ^e,lt是一個稀疏矩陣,直接存儲Λ^e,lt的空間效率較低,為在不過多丟失對輸入敏感性的前提下進一步降低復雜性,對式(6)得到的每個卷積核的歸因敏感度αls求均值代替子塊As中的元素:
αi,i=1δαls s.t. i∈{1,…,δ}(10)
基于以上方式,模型可以在優化過程中注意到參數與輸入之間的潛在聯系,對于那些在處理本地外分布輸入x時表現出較高敏感性的模型參數,施加更大的懲罰來約束它們的變化,這不僅能更準確地保留關鍵信息,而且還能在訓練過程中有效地避免對不重要信息的過度擬合。FedAom的客戶端損失函數為
Euclid Math OneLApi=Euclid Math OneLApi,CE+(β-et/T-1e-1)Euclid Math OneLApi,IS(11)
其中:Euclid Math OneLApi,CE是交叉熵損失函數,此項可引導模型最小化預測值與真實值之間的差異;β為調整優化行為的超參數;T為全局通信的總輪數;Euclid Math OneLApi,IS的系數β-et/T-1e-1將伴隨著訓練進度減小,使模型在開始的頻繁波動期注重于全局知識的保留。
2.2 基于區塊鏈的聯邦節點合作方案
切片聚合策略的目標是切斷模型輸出概率分布同輸入之間的相關性,圖2展示了整體流程。參與方之間以層為單位進行切片的交換,引入區塊鏈作為中間方對訓練與合作行為進行監督,區塊鏈的存在為聯邦節點的交互創造了一個可信的環境,只有經過認證的節點才能參與到合作過程中,且過程透明可審計。BBTSA充分利用這一特性,為聯邦節點的可信合作提供保障。然而,即使僅交換模型的部分參數,若雙方持有的樣本分布相似性較高,惡意的鄰居可以借助模型的微調恢復出其余參數。為避免此類攻擊,本文的參與方僅需向鄰居傳送隨機噪聲,真實參數依然保留在本地,并基于此目的設計了可抵消隨機噪聲策略,客戶端之間無法獲取到對方的參數來推斷隱私,同時聯邦學習服務器僅能訪問到混淆之后的參數,避免了好奇的服務器導致的隱私泄露問題。為進一步確保去中心化的特性,聯邦節點需同多個鄰居進行合作,參與合作的節點需要基于VRF計算隨機數及證明,作為參與方的身份聲明,區塊鏈將根據賬本中的記錄與節點上傳的可驗證隨機數構建合作樹結構,節點僅需與合作樹中每層的鄰居建立一次通信,即可將通信建立次數降低到對數級,減小帶寬壓力。這個過程中,合作雙方需要根據雙方的樣本比值對噪聲進行加權,以保證在聚合階段噪聲可以被正確抵消。
以一次合作混淆過程為例,假設本輪參與混淆的節點為ka與kb,a≠b且a,b∈(0,K)。需要交換的層為ltargeta,b={li} κ×lnum」i=1,κ為比例系數, κ×lnum」表示計算參與混淆的目標層的個數并向下取整。首先,ka與kb以各自在本輪中生成的隨機數作為種子,從一個標準正態分布中隨機采樣一個與ltargeta,b具有相同的結構的噪聲noisea與noiseb,ka與kb計算各自的參數與噪聲之差并保存于本地:
ltargeta=ltargeta-noisea,ltargetb=ltargetb-noiseb(12)
雙方根據各自的數據量對噪聲進行放縮之后,與對方建立通信并發送結果,實現了隱私參數不動而噪聲動的目的。參與方無法從收到的信息中破譯出任何有用信息。收到響應之后,雙方利用噪聲更新本地模型參數:
ltargeta=ltargeta+nbnanoiseb,ltargetb=ltargetb+nanbnoisea(13)
參與方根據合作樹結構與每個鄰居執行以上步驟,最終獲得的模型即為混淆后的模型。服務器接收到的參數是不同參與方的噪聲聚集體,從而無法獲取到任何有關節點隱私的信息。服務器按照經典的樣本比例作為權重對參與方的參數進行聚合,獲得最終的全局模型。按照以上通信協議聚合得到的參數中,所有的噪聲之和為0,可實現在不影響模型精度的同時保證參與方的隱私安全。
根據二項式定理,本文令κ為1/2,這有利于噪聲在每個節點中均勻分布。算法1展示了合作樹結構的構建流程。
算法1 基于區塊鏈的聯邦節點合作樹構建
輸入:橢圓曲線Curv;基點G;哈希函數hash(·);隨機數random_number;證明proof。
輸出:第T輪節點合作樹tree。
for ki∈K parallel do //所有節點注冊身份信息
隨機選擇一個整數d∈(1,n-1) //n為G的階
(ski,pki)←generateKey(Curv,d,G)
registerOnBC(pki) //注冊上鏈
end for
getTreeFromBC(random_number,proof)
if verifyRN&P(random_number,proof) /*驗證隨機數以及節點身份 */
tree←sort(random_number) //排列節點
end if
return tree
3 系統架構
如圖3所示,在BBTSA策略中包含聯邦學習服務器、聯邦學習參與方和區塊鏈服務三個核心角色。它們之間的特定交互機制形成了BBTSA策略的運行框架。
a)聯邦學習服務器(FLServer)。FLServer在BBTSA中扮演著任務管理者的角色,其不僅收集和維護共享數據集,還負責驗證來自各參與方的參數更新,并進行聚合以形成全局模型。另外還需要將聚合后的模型參數打包上鏈,利用區塊鏈技術確保訓練過程的不可竄改性和可審計性。
b)聯邦學習參與方(client)。client承擔著數據提供者和模型訓練者的雙重角色。參與方借助區塊鏈和IPFS獲取本輪全局模型,并基于dshare與FedAom在本地環境中進行訓練。同時需要參與合作混淆以實現參數匿名化。這個過程中參與方不僅貢獻了自己的數據和計算資源,還充分發揮了本身的主動能力,增強了整體的隱私性。
c)區塊鏈服務(block chain)。區塊鏈服務是BBTSA策略中的信任基礎。鏈節點通過Raft共識協議以及gossip協議以維護一個去中心化的賬本,區塊鏈不僅負責驗證參與方的身份,協助節點完成混淆,還通過IPFS技術緩解鏈的存儲壓力,為模型的混淆過程提供了必要的基礎設施支持。
系統中各實體包含以下行為:
a)參與實體使用橢圓曲線算法生成密鑰對(SKi,PKi),并將公鑰以十六進制字符串的形式交由block chain注冊身份,私鑰則以安全的方式保存在本地。b)FLServer從部分志愿節點中收集一小部分數據組建全局共享數據集dshare用于計算Λ。
c)FLServer初始化模型θ1并計算模型哈希并與θ1一起上傳到block chain。
d)block chain接收模型并驗證哈希值,之后將數據存儲到IPFS中,并記錄存儲地址。
e)client從鏈上查詢本輪參數的存儲地址后從IPFS中下載模型及dshare,計算哈希值并與賬本記錄進行對比判斷是否被竄改。驗證通過后使用本地數據di進行訓練。之后計算隨機數及證明并向block chain發起請求,并進入等待合作的狀態。
f)block chain收集client的請求并驗證身份,對合法的client構建合作樹tree,記錄本次合作并將tree發送給client。
g)client按照tree與合作者建立安全信道并進行切片交換,獲得混淆后的模型t,E+1i,計算哈希并記錄上鏈。
h)FLServer根據賬本記錄獲取本輪采樣的Ksamp個客戶端的混淆模型{t,E+1i}|Ksamp|i=1并檢查哈希值,為對合法的參數進行聚合并開啟下一輪通信,直至達到設定好的停止條件。
算法2 基于區塊鏈的可信分片聚合FedAom算法
輸入:通信總輪數T;局部訓練次數E;參與方個數K;客戶端采樣率r;參與方本地數據集di∈D;本輪參與方的樣本總量N;共享數據dshare;目標層比例γ;批量大小B;學習率η;超參數β;動量momentum;學習率衰減ld;權重衰減wd。
輸出:第T輪全局模型θT。
初始化全局模型θ1 // 服務器端執行
for t=1 to T do
根據r隨機選取客戶端Ksamp={k1,k2,…,k r×K」}
for ki∈Ksamp parallel do
下載全局模型θt
for e=1 to E do
θt,e+1i←clientUpdate(di,dshare,θt,ei,η)
end for
uploadToBC(hash(θt,E+1i),θt,E+1i,t) // 記錄上鏈
end for
{t,E+1i}|Ksamp|i=1←sliceAggregation(Ksamp,θt,E+1i,γ)
θt+1=∑|Ksamp|i=1niNt,E+1i //獲得下一輪模型m)end for
return θT
clientUpdate(di,dshare,θt,ei,η)
for b=(x+y)∈di in B do
θt,e+1i←根據式(1)(11)本地更新(β,momentum,ld,wd)
end for
return(θt,e+1i)
sliceAggregation(Ksamp,θt,E+1i,γ) //切片聚合
for ki∈Ksamp parallel do
(random_number,proof)←生成隨機數與證明(θt,ski)
tree←getTreeFromBC(random_number,proof)
{t,E+1i}|Ksamp|i=1←參與方間切片聚合(tree,θt,E+1i,γ)
end for
return{t,E+1i}|Ksamp|i=1
4 實驗結果與分析
4.1 數據集
CIFAR-10物體識別數據集因其涵蓋類別的普遍性以及適中的尺寸,成為物體識別領域廣泛使用的標準數據集之一。MNIST手寫體識別數據集的樣本具有較好的一致性,常常作為檢驗算法的首選。兩者在本文的基線方法中也作為重合度最高的數據集出現,為確保實驗結果的公平性和可比性,選用MNIST和CIFAR-10作為驗證數據集。
a)CIFAR-10是一個包含60 000張尺寸為32×32的彩色圖片的物體識別數據集,其中又可以分為包含50 000張圖片的訓練集和10 000張的測試集。CIFAR-10共有十個類,包括交通工具和動物等物體,不同類的樣本分布較均勻。
b)MNIST是一個涵蓋十個類別(0~9)的手寫數字圖片數據集。它包含60 000個訓練樣本和10 000個測試樣本,每個樣本都是尺寸為28×28的單通道圖片。
為增強模型的魯棒性,本文還對訓練集進行了數據增強操作,包括隨機裁剪、水平翻轉和隨機遮擋。增強結果如圖4所示,圖(a)(b)分別代表原始樣本與經過增強操作后的樣本。
4.2 實驗設置
本實驗選用Python 3.8作為編程語言,基于PyTorch 1.11+CUDA 11.3在PyCharm 2021中完成編碼,實驗宿主機配置為Intel Xeon Platinum 8255C與NVIDIA RTX 3080 10 GB,操作系統為Ubuntu 20.04。同時基于Hyperledger Fabric 2.2構建了一個聯盟鏈環境,鏈碼使用Go語言編寫,客戶端與鏈碼的交互通過fabric-sdk-go工具實現。實驗模擬了由100個client參與的聯邦學習系統,并選用FedAvg[3]、FedProx[8]、FedCurv[9]與MOON[26]算法作為對比基線。基線模型的超參數遵照原文設置。每種算法的超參數選擇展示在表2中。
FedAom的參數β與ε分別取1.0和7.0,損失項系數控制損失項的介入慢慢變小。本文從每類訓練數據中隨機抽取5個樣本組建dshare。對于CIFAR-10來說,dshare的尺寸僅為全局數據的0.1%。其他未指定參數默認設置為表3中的值。
為了確保公平性,FedAom與基線算法采用相同的模型結構和參數設置。本文使用了自定義的CNN模型,該模型包含兩個5×5的卷積層和兩個全連接層,其中最后一層擁有512個神經元。每一層都通過ReLU函數進行激活,卷積層之間以及與全連接層的連接處還設置了2×2的最大池化層,并使用SGD作為優化器。
4.3 模擬Non-IID條件
理想的聯邦學習環境下,各個客戶端本地的特征分布、標簽分布以及樣本量應當一致,這樣服務器可以獲得優質的全局模型。然而客戶端之間的數據分布往往存在嚴重的差異,為模擬真實的聯邦學習環境,本文使用Dirichlet分布函數[26]對實驗數據進行分區,根據αDirichlet對數據集進行劃分,之后將分區后的數據分發給每個客戶端,以此來模擬Non-IID環境。αDirichlet控制著數據的均勻程度,αDirichlet越大則數據分布越均勻,反之則客戶端之間的分布就更偏斜,Non-IID程度越嚴重。另外還增加了另一個分布條件,將CIFAR-10的每類樣本均勻地進行分片,每個分片含有同一類別的固定數量的樣本,讓客戶端隨機地從分片中抽取預定數量的片段,以模擬標簽不平衡的分布。
為評估FedAom在嚴重Non-IID環境下的效果,分別在多種分布條件下對FedAom的表現展開實驗。以CIFAR-10為例,當αDirichlet=0.1時,前20個客戶端的數據分布如圖5所示,橫坐標為客戶端編號,縱坐標為樣本的總量,不同的顏色則指代不同類型的數據,每個柱中通過不同顏色數據的堆疊展示了數據的分布情況。
4.4 精度對比
表4詳細展示了FedAom與其他方法在各種分布設置下的精度差異。為了最大程度地減少誤差的影響,選擇每種算法最后20輪的精度均值作為其真實精度。通過對表4的分析可以清楚地發現,在大多數非獨立同分布(Non-IID)的條件下,FedAom相較于其他方法展現出了較高的預測精度。
觀察不同的分布條件下各算法的分類精度,可以發現,不同組實驗中FedProx與FedAvg的精度相差很小。隨著αDirichlet的增大,數據分布趨于均勻,各算法之間的差異逐漸縮小,由Non-IID引發的模型漂移現象得到緩解,使得FedAvg算法能夠聚合到更高質量的全局模型,本文的實驗結論也印證了這一點。而當Non-IID程度逐漸變大時,FedAom的提升將更加顯著,這是由于基于歸因的思想設計的FedAom可以從模型決策行為的角度上迫使參數保留對全局數據分布的敏感性,借助全局模型的歸因行為在優化過程中實現更有效的知識回放。相比于傳統的構建共享數據池的方案,FedAom能夠更高效地利用共享數據,從而降低參與方的隱私成本。
在本文設置的所有分布條件下,FedAom都展示出了更快的收斂速度。圖6、7分別展示了αDirichlet取0.2與0.1在不同數據集下的訓練曲線,觀察發現,αDirichlet取0.1時,嚴重的數據偏斜加劇了客戶端模型對全局知識的遺忘,這導致全局模型出現較大的振蕩。而較小的αDirichlet會使得曲線更加平穩。MOON對數據偏斜更加敏感。FedAom對比其他算法收斂的更快,在MNIST數據集上,FedAom到第75輪左右即可達到90%的平均正確率,而FedAvg則在120輪左右,相比之下本文方法可節約37.5%的通信開銷。
總的來說,本文的損失項可以更好地保留全局知識,加快訓練速度,FedAom聚合得到的全局模型能夠更大程度上緩解Non-IID分布帶來的不利影響,更快地達到預期精度,從而降低通信成本,這表明FedAom更適合處理Non-IID的情況。
4.5 模型漂移程度
客戶端數據的Non-IID分布使得全局模型的本地更新將偏離全局最優解。對客戶端的本地分布而言,全局數據屬于本地分布外(out of distribution, OOD)數據。直觀上,如果客戶端模型對本地占比較低的數據具有較好的預測精度,那么可以認為模型繼承了全局模型對這類樣本的知識。通過將每個客戶端模型在本地數據類別精度與該類樣本在本地數據中的占比倒數相乘并平均,作為模型的分布外精度,具體情況如表5所示。圖8展示了αDirichlet=0.2時不同方法對本地分布外樣本的加權預測精度。由圖可知, FedAom相比其他算法在分布外數據上取得了最佳效果。這說明本文的正則項可以很好地引導局部更新朝全局最優解靠近,同時保留更多全局信息并加快全局模型的收斂。進一步觀察發現,隨著訓練的進行,FedAom聚合得到的全局模型與其他方法的差異逐漸減小,這是因為更高精度的全局模型產生更清晰的歸因。積分梯度路徑選擇和近似方法引入的噪聲對歸因的影響也會體現出來。選擇高質量的基線和路徑,以及更好的近似方法可以進一步改善FedAom的表現,但這超出了本文的討論范圍。
4.6 有效性實驗
FedAom利用少量全局數據計算歸因,利用歸因間接地對本地模型進行知識回放。為了使實驗結果更加清晰,本文選擇了MNIST作為數據集,并在Dirichlet分布中進行模擬,以驗證FedAom對全局數據的利用效率。相應的對比方案則將收集到的數據共享給所有的客戶端,并作為本地數據參與訓練,其他的實驗參數保持默認設置,結果如圖9所示。其中share表示共享數據的方法,FedAvg表示原始的聯邦學習方法。
結果顯示,無論是本文方法還是通過共享數據的方法,都可以提高聯邦學習的收斂速度,這是由于兩種方式都在局部訓練過程中進行了知識回放。在聯邦學習的參與方隨機采樣過程中,很有可能選中到具有較大樣本偏差的客戶端,從而影響本輪模型的質量。例如,在第20輪通信時,FedAvg顯示出顯著下降,相比之下,Share和本文方法只有輕微波動,表明本文方法能更有效地穩定訓練過程。這得益于FedAom在歸因層面上確保局部模型與全局模型的因果關系更緊密,優化了訓練效率。實驗結果顯示,FedAom能夠更高效合理地利用相同的共享數據,降低對數據量的依賴。
4.7 分片混淆結果驗證
BBTSA在基于區塊鏈的去中心化環境中,通過讓參與方自主執行切片混淆過程,從而達到匿名的目的。為探究本文方法能否成功完成預定的目標,本節選擇了在FedAvg最后一輪通信中的8個節點的本地模型進行實驗。分別測試了合作混淆前后各參與方的本地模型在其本地數據上的預測精度,結果如圖10所示。
經過混淆后,所有參與方的本地模型參數將疊加大量的隨機噪聲,直覺上,當噪聲的方差足夠大時,參數中保留的隱私信息將無法被辯別。通過實驗結果可以看出,BBTSA可以使得混淆后的模型難以正確辨別訓練集中的樣本。混淆后,各節點的訓練集平均準確率接近10%,這相當于隨機猜測。綜上所述,BBTSA使得節點可以在沒有中心化的第三方機構介入下,利用節點的主動能力對參數進行混淆,進而提升隱私性。
4.8 防御能力
由于在本文中傳輸的參數為模型權重而非梯度值,所以針對梯度的攻擊如深度梯度泄露DLG并不適用。而在針對模型參數的逆向推理攻擊中,基于GAN的方法顯得尤為有效。KEDMI[16]利用先驗知識和目標模型來學習敏感信息分布,相比GMI[15]有更好的攻擊效果。為測試BBTSA對這類攻擊的防御能力,將遵循與不遵循BBTSA的參與方本地模型選為KEDMI攻擊的目標。實驗根據文獻[16]的要求重新劃分了參與方的樣本并進行訓練,且嚴格遵照原文中報告的設置和實驗細節。結果如圖11所示,其中T與F分別表示參與方遵循與不遵循BBTSA。
實驗結果顯示,即使在迭代300次后,KEDMI仍未能有效地學習到目標模型中的隱私知識,導致輸出結果模仿先驗分布樣本,例如將“3”錯誤重建為“5”。而隨著迭代的進行,未遵循BBTSA的參與方的重建結果將更接近于真實樣本,而遵循BBTSA的模型重建結果則依然偏向于先驗樣本。由于參與方缺乏數字“4”的訓練樣本,攻擊者難以從目標模型中提取出足夠的相關知識,導致KEDMI對“4”的重構效果并不理想。這種情況下,攻擊者可根據重建樣本的質量進一步推斷出參與方的標簽分布信息。
BBTSA利用了參與方的主動能力,借助區塊鏈的去中心化特性,在避免將原始參數傳輸給不可信第三方的前提下,完成了參數匿名化。實驗表明即使充分學習到先驗知識的生成對抗攻擊方案也難以準確重建參與方的隱私數據。
5 結束語
本文著眼于聯邦節點的隱私安全以及如何克服Non-IID引發的模型漂移問題,提出了聯邦歸因算法(FedAom)與基于區塊鏈的聯邦節點合作方案(BBTSA)。FedAom通過共享數據進行模型歸因,指導本地更新,加速全局模型收斂,同時保留全局知識。而BBTSA在去中心化環境中通過切片混淆實現參數的完全匿名化,并降低了分發噪聲的帶寬消耗,在無須中心化的第三方機構介入的情況下,實現了對隱私參數的保護,且不會對全局模型造成負面影響。
然而,本文方法需要計算積分梯度,這增加了額外的計算量。近似方法引入的噪聲會對全局模型產生影響,并且未考慮節點宕機可能導致的問題。后期將考慮如何以更低的成本,獲得更加精確的歸因以及解決節點掉線問題。
參考文獻:
[1]Wang Yaqing, Yao Quanming, Kwok J T, et al. Generalizing from a few examples: a survey on few-shot learning[J]. ACM Computing Surveys, 2020, 53(3): article No.63.
[2]Ma Xu, Wang Chen, Chen Xiaofeng. Trusted data sharing with flexible access control based on blockchain[J]. Computer Standards & Interfaces, 2021, 78: 103543.
[3]McMahan B, Moore E, Ramage D, et al. Communication-efficient learning of deep networks from decentralized data[C]//Proc of Conference on Artificial Intelligence and Statistics.[S.l.]: PMLR, 2017: 1273-1282.
[4]Nilsson A, Smith S, Ulm G, et al. A performance evaluation of federated learning algorithms[C]//Proc of the 2nd Workshop on Distributed Infrastructures for Deep Learning. New York: ACM Press, 2018: 1-8.
[5]Li Xiang, Huang Kaixuan, Yang Wenhao, et al. On the convergence of FedAvg on Non-IID data[EB/OL]. (2020-06-25). https://arxiv.org/abs/1907.02189.
[6]Gao Liang, Fu Huazhu, Li Li, et al. FEDDC: federated learning with Non-IID data via local drift decoupling and correction[C]//Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE Press, 2022: 10102-10111.
[7]張紅艷, 張玉, 曹燦明. 一種解決數據異構問題的聯邦學習方法[J]. 計算機應用研究, 2024, 41(3): 713-720. (Zhang Hong-yan, Zhang Yu, Cao Canming. Effective method to solve problem of data heterogeneity in federated learning[J]. Application Research of Computers, 2024, 41(3): 713-720.)
[8]Li Tian, Sahu A K, Zaheer M, et al. Federated optimization in hete-rogeneous networks[EB/OL]. (2020-04-21). https://arxiv.org/abs/1812.06127.
[9]Shoham N, Avidor T, Keren A, et al. Overcoming forgetting in fede-rated learning on Non-IID data[EB/OL]. (2019-10-17). https://arxiv.org/abs/1910.07796.
[10]Wang Hongyi, Yurochkin M, Sun Yuekai, et al. Federated learning with matched averaging [EB/OL]. (2020-02-15). https://arxiv.org/abs/2002.06440.
[11]Mahmoud N, Aly A, Abdelkader H. Enhancing blockchain-based ride-sharing services using IPFS[J]. Intelligent Systems with Applications, 2022, 16: 200135.
[12]Bonnard J, Dapogny A, Dhombres F, et al. Privileged attribution constrained deep networks for facial expression recognition[C]//Proc of the 26th International Conference on Pattern Recognition. Piscata-way, NJ: IEEE Press, 2022: 1055-1061.
[13]Sundararajan M, Taly A, Yan Qiqi. Axiomatic attribution for deep networks[C]//Proc of the 34th International Conference on Machine Learning.[S.l.]: PMLR, 2017: 3319-3328.
[14]Ge Lina, Li Haiao, Wang Xiao, et al. A review of secure federated learning: privacy leakage threats, protection technologies, challenges and future directions[J]. Neurocomputing, 2023,561: 126897.
[15]Zhang Yuheng, Jia Ruoxi, Pei Hengzhi, et al. The secret revealer: generative model-inversion attacks against deep neural networks[C]//Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE Press, 2020: 253-261.
[16]Chen Si, Kahla M, Jia Ruoxi, et al. Knowledge-enriched distributional model inversion attacks[C]//Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE Press, 2021: 16178-16187.
[17]Om Kumar C U, Gajendran S, Bhavadharini R M, et al. EHR privacy preservation using federated learning with DQRE-Scnet for healthcare application domains[J]. Knowledge-Based Systems, 2023, 275(C): 110638.
[18]曹世翔, 陳超夢, 唐朋, 等. 基于函數機制的差分隱私聯邦學習算法[J]. 計算機學報, 2023,46(10): 2178-2195. (Cao Shi-xiang, Chen Chaomeng, Tang Peng, et al. Differentially private fede-rated learning with functional mechanism[J]. Chinese Journal of Computers, 2023, 46(10): 2178-2195.)
[19]Zhang Wei, Wang Ziwei, Li Xiang. Blockchain-based decentralized federated transfer learning methodology for collaborative machinery fault diagnosis[J]. Reliability Engineering & System Safety, 2023, 229: 108885.
[20]劉煒, 唐琮軻, 馬杰, 等. 基于區塊鏈和動態評估的隱私保護聯邦學習模型[J]. 計算機研究與發展, 2023, 60(11): 2583-2593. (Liu Wei, Tang Chongke, Ma Jie, et al. A federated learning model for privacy protection based on blockchain and dynamic evaluation[J]. Journal of Computer Research and Development, 2023, 60(11): 2583-2593.)
[21]Guduri M, Chakraborty C, Maheswari U, et al. Blockchain-based federated learning technique for privacy preservation and security of smart electronic health records[J]. IEEE Trans on Consumer Electronics, 2024, 70(1): 2608-2617.
[22]Madni H, Umer R, Foresti G. Blockchain-based swarm learning for the mitigation of gradient leakage in federated learning[J]. IEEE Access, 2023, 11: 16549-16556.
[23]Zhao Yue, Li Meng, Lai Liangzhen, et al. Federated learning with Non-IID data[EB/OL]. (2018-06-02). https://arxiv.org/abs/1806.00582.
[24]李志鵬, 國雍, 陳耀佛, 等. 基于數據生成的類別均衡聯邦學習[J]. 計算機學報, 2023,46(3): 609-625. (Li Zhipeng, Guo Yong, Chen Yaofo, et al. Class-balanced federated learning based on data generation[J]. Chinese Journal of Computers, 2023, 46(3): 609-625.)
[25]常黎明, 劉顏紅, 徐恕貞. 基于數據分布的聚類聯邦學習[J]. 計算機應用研究, 2023, 40(6): 1697-1701. (Chang Liming, Liu Yanhong, Xu Shuzhen. Clustering federated learning based on data distribution[J]. Application Research of Computers, 2023, 40(6): 1697-1701.)
[26]Li Qinbin, He Bingsheng, Song D. Model-contrastive federated lear-ning[EB/OL]. (2021-03-30). https://arxiv.org/abs/2103.16257.
[27]Erion G, Janizek J D, Sturmfels P, et al. Improving performance of deep learning models with axiomatic attribution priors and expected gradients[J]. Nature Machine Intelligence, 2021, 3(7): 620-631.
[28]Shrikumar A, Greenside P, Kundaje A. Learning important features through propagating activation differences[C]//Proc of the 34th International Conference on Machine Learning.[S.l.]: PMLR, 2017: 3145-3153.
[29]Yang Ruo, Wang Binghui, Bilgic M. IDGI: a framework to eliminate explanation noise from integrated gradients[C]//Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE Press, 2023: 23725-23734.