張曉均,李興鵬,唐偉,郝云溥,薛婧婷
(西南石油大學計算機科學學院網(wǎng)絡(luò)空間安全研究中心,四川 成都 610500)
人工智能[1]和物聯(lián)網(wǎng)(IoT)技術(shù)的深度融合推動了聯(lián)邦學習的快速發(fā)展,特別是在計算機視覺、醫(yī)學預(yù)測、語音識別等領(lǐng)域[2-3]取得了突破性的成果。然而,部署聯(lián)邦學習實現(xiàn)分布式梯度模型訓(xùn)練面臨著巨大挑戰(zhàn),特別是來自于聯(lián)邦學習(FL)數(shù)據(jù)收集帶來的隱私問題[4],用于訓(xùn)練的數(shù)據(jù)通常是敏感的,可能來自多個具有不同隱私要求的終端用戶。
除此之外,聯(lián)邦學習主要挑戰(zhàn)是梯度模型聚合計算結(jié)果的完整性問題[5],在某些非法利益的驅(qū)動下,惡意的邊緣服務(wù)器可能會向用戶返回不正確的結(jié)果,或者惡意偽造發(fā)送給終端用戶的梯度模型聚合計算結(jié)果[6]。此外,參與聯(lián)邦學習的設(shè)備存在異構(gòu)性[7],在設(shè)備間具有不同的計算和通信能力。在這種情況下,一些具有足夠計算能力和通信資源的設(shè)備可以在規(guī)定時間內(nèi)迅速完成本地訓(xùn)練和上傳,而其他資源受限的設(shè)備則無法在規(guī)定時間內(nèi)完成本輪更新,從而影響系統(tǒng)整體的訓(xùn)練性能,進而影響全局梯度模型的精度。
針對資源受限的設(shè)備梯度隱私、梯度完整性、設(shè)備低延遲、高效訓(xùn)練[8]的問題,本文提出一種云-邊融合的可驗證隱私保護跨域聯(lián)邦學習框架。該框架設(shè)計3 層架構(gòu)的跨域聯(lián)邦學習系統(tǒng)模型。該系統(tǒng)模型基于經(jīng)典聯(lián)邦學習終端用戶對邊緣服務(wù)器的弱信任,提出可驗證安全聚合算法,該算法利用單掩碼技術(shù)盲化梯度數(shù)據(jù)并采用輕量級驗證方法防止邊緣服務(wù)器惡意篡改聚合梯度的模型參數(shù),在線終端用戶的訓(xùn)練梯度安全有效地被邊緣服務(wù)器聚合,聚合結(jié)果可以被終端用戶驗證正確性。在可驗證安全聚合算法的基礎(chǔ)上,本文提出一種可驗證隱私保護跨域聯(lián)邦學習訓(xùn)練算法,該訓(xùn)練算法考慮局部輕量訓(xùn)練克服異構(gòu)網(wǎng)絡(luò)資源受限不能及時響應(yīng)的特性,提高了系統(tǒng)的穩(wěn)定性,使每個區(qū)域的在線終端設(shè)備都并行進行同一輪次的局部輕量訓(xùn)練。最后,針對同一模型權(quán)重進行局部輕量訓(xùn)練時收斂速度慢、泛化性差和局部輕量訓(xùn)練精度低等問題,使用訓(xùn)練器不共享加密梯度而共享加密模型權(quán)重的訓(xùn)練模式[9]來加快收斂速度。
近年來,已有研究人員對聯(lián)邦學習中的敏感數(shù)據(jù)機密性和完整性問題進行研究。GU等[10]提出隱私保護的異步去中心化聯(lián)邦隨機梯度下降算法。ZHANG等[11]采用非對稱加密和數(shù)字簽名技術(shù)保護用戶隱私并設(shè)置驗證節(jié)點,引入智能合約來評估和選擇最佳模型。AKTER等[12]采用傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型和人工噪聲函數(shù)來平衡隱私保護和模型性能。PAREKH等[13]提出在最后1 個卷積層的輸出中加密圖像的梯度加密技術(shù)。LEE等[14]提出基于貪婪算法解決聯(lián)邦學習的統(tǒng)計異質(zhì)性問題并加速聯(lián)邦訓(xùn)練。上述4 個方案[11-14]主要關(guān)注梯度數(shù)據(jù)機密性而對梯度聚合結(jié)果的完整性驗證沒有研究。目前,聯(lián)邦學習用戶希望及時驗證服務(wù)器聚合結(jié)果的正確性。因此,實施具有可驗證聚合的隱私保護聯(lián)邦學習方法是非常重要。為了實現(xiàn)這一目標,需要采取一種高效和安全的方法,然而上述解決方案在解決此問題時存在一定的局限性。
為此,研究人員針對梯度聚合的完整性設(shè)計不同的可驗證聯(lián)邦學習方案。ELTARAS等[15]利用單掩碼技術(shù)確保用戶隱私并提出雙聚合概念,以驗證聚合結(jié)果。ZHANG等[16]使用雙聚合方法對模型進行聚合,并采用分組鏈訓(xùn)練結(jié)構(gòu)提高訓(xùn)練效率,然而該結(jié)構(gòu)沒有考慮到惡意用戶對模型的影響。ZHOU等[17]提出一種反作用差分隱私噪聲保護用戶隱私,使用同態(tài)哈希函數(shù)設(shè)計一種非追溯性驗證機制,但是噪聲會降低訓(xùn)練精度。GAO等[18]通過梯度分組和壓縮來優(yōu)化拉格朗日插值,以實現(xiàn)聯(lián)邦學習的有效可驗證性,為保護用戶的數(shù)據(jù)隱私免受串通攻擊,提出一種使用不可逆梯度變換的輕量級承諾方案。LI等[6]通過集 成Paillier 同態(tài)加 密和隨 機數(shù)生成技術(shù),保護所有梯度及其密文,并且引入一種基于離散對數(shù)的秘密共享方案,以抵御聚合服務(wù)器、惡意參與者和邊緣節(jié)點之間的潛在串通攻擊。然而,由于同態(tài)加密和密文擴展的計算復(fù)雜性,因此該方案具有較大的計算和通信開銷。TANG等[19]設(shè)計2 個零知識證明來驗證梯度的正確性,并提出一種保護局部梯度和全局模型隱私的可驗證擾動方案。YANG等[20]設(shè)計一種加權(quán)掩碼技術(shù)保護梯度數(shù)據(jù)并利用同態(tài)哈希函數(shù)和同態(tài)簽名構(gòu)建可驗證聚合標簽,但計算成本昂貴。XU等[21]提出在訓(xùn)練神經(jīng)網(wǎng)絡(luò)過程中進行驗證的隱私保護方法,設(shè)計一種基于同態(tài)哈希函數(shù)和偽隨機技術(shù)的可驗證方法來支持每個用戶的可驗證性。HAHN等[22]對文獻[21]方案中的安全和效率問題進行優(yōu)化,設(shè)計安全高效的跨設(shè)備聯(lián)邦學習可驗證安全聚合方案。文獻[23]指出文獻[22]方案仍然存在隱私安全問題。上述可驗證聯(lián)邦學習方案都能驗證惡意服務(wù)器對聚合梯度的偽造,但是大多數(shù)方案的驗證開銷代價昂貴并且有些方案沒有解決訓(xùn)練效率低的問題。因此,為了滿足輕量可驗證聚合結(jié)果的要求并提高訓(xùn)練效率,相比其他方案[15,22],本文提出更高效的可驗證聚合方案,解決異構(gòu)網(wǎng)絡(luò)聯(lián)邦訓(xùn)練問題,并提高訓(xùn)練效率。
Google 提出的FedAvg 算法[24]指出大 量去中 心化的數(shù)據(jù)存儲于移動設(shè)備,但數(shù)據(jù)隱私問題沒有得到解決。聯(lián)邦學習是一種分布式機器學習技術(shù),通過聚合局部計算梯度來訓(xùn)練集中的模型,而訓(xùn)練數(shù)據(jù)分發(fā)給每個終端用戶,并且不與其他終端用戶共享。邊緣服務(wù)器通過重復(fù)聚合局部梯度來協(xié)調(diào)訓(xùn)練過程,每輪包括以下過程:
終端用戶選擇:邊緣服務(wù)器選擇1 組終端用戶,并向他們提供當前的模型參數(shù)。這些終端用戶可以在整輪訓(xùn)練中存活下來,或者在當前一輪訓(xùn)練完成之前退出。
本地訓(xùn)練:每個終端用戶在本地進行模型更新。更新通常涉及1 個小批量隨機梯度下降規(guī)則的變體,該規(guī)則返回1 個梯度作為局部訓(xùn)練結(jié)果。
梯度聚合:邊緣服務(wù)器收集有效終端用戶發(fā)送的梯度,計算梯度模型聚合值。
全局模型更新:邊緣服務(wù)器使用聚合的梯度更新當前的全局模型。該全局模型將在后續(xù)一輪中發(fā)布。
盡管終端用戶的訓(xùn)練數(shù)據(jù)永遠不會離開每個用戶的本地存儲器,但是可以利用本地計算的模型參數(shù)來推斷訓(xùn)練數(shù)據(jù)。因此,在正確啟用局部模型參數(shù)聚合的同時,最好保持局部模型參數(shù)保密。
聯(lián)邦學習廣泛適用于2 種不同的場景:跨設(shè)備和跨孤島。在跨設(shè)備設(shè)置中,大量資源受限的終端用戶參與學習,而網(wǎng)絡(luò)條件是高度不可靠的。相比之下,跨孤島設(shè)置包含更穩(wěn)定的環(huán)境,其中少量擁有豐富計算資源的組織作為參與用戶,網(wǎng)絡(luò)通道是可靠的。本文設(shè)計的聯(lián)邦學習方案主要討論跨設(shè)備場景。
權(quán)重轉(zhuǎn)發(fā)技術(shù)來自于PHONG等[9]提出的服務(wù)器輔助網(wǎng)絡(luò)系統(tǒng),系統(tǒng)使用的訓(xùn)練器不共享梯度而共享神經(jīng)網(wǎng)絡(luò)權(quán)重的隱私保護系統(tǒng)來保護所有訓(xùn)練器的本地數(shù)據(jù)。在本文方案中訓(xùn)練器是每個終端設(shè)備,當某區(qū)域訓(xùn)練器在當前輪次的聯(lián)邦訓(xùn)練結(jié)束后,邊緣服務(wù)器負責與云服務(wù)器通信并轉(zhuǎn)發(fā)加密權(quán)重。
梯度向量ru被一種特殊的方式盲化,該盲化技術(shù)[25]可以通過盲化計算使聚合梯度向量可以被保密地計算出來。對于終端用戶IDu的下標是u,并且用(u,v)表示一對終端用戶IDu和IDv的下標。假設(shè)有隨機向量pu,v且u<v,如果終端用戶IDu將pu,v添加到向量ru中進行盲化,則在終端用戶IDv中添加向量pu,v的相反值進行盲化。當累加它們的盲化向量時掩碼將被抵消,它們的實際值將不會被暴露。每個終端用戶IDu的盲化值計算如下:
終端用戶IDu給邊緣服務(wù)器發(fā)送λu,邊緣服務(wù)器計算如下:
基于云-邊融合的可驗證隱私保護跨域聯(lián)邦學習架構(gòu)如圖1 所示。

圖1 3 層架構(gòu)的跨域聯(lián)邦學習系統(tǒng)模型Fig.1 Cross-domain federated learning system model with three layers architecture
本文提出云-邊融合的可驗證隱私保護跨域聯(lián)邦學習方案,該方案首先在多區(qū)域部署可驗證安全聚合算法,在此基礎(chǔ)上,提出可驗證隱私保護跨域聯(lián)邦學習訓(xùn)練算法。
可驗證安全聚合算法有4 個階段:系統(tǒng)初始化階段、梯度盲化及簽名產(chǎn)生階段、去盲化及聚合梯度產(chǎn)生階段、聚合梯度正確性驗證階段。圖2 所示為可驗證安全聚合算法的流程。

圖2 可驗證安全聚合算法流程Fig.2 Procedure of verifiable secure aggregation algorithm
在系統(tǒng)初始化階段,可信中心(TA)執(zhí)行以下步驟:
1)可信中心生成大整數(shù)2η并生成q階乘法循環(huán)群G,q(q<2η)是1 個大素數(shù),選取G的1 個生成元g,并且設(shè)置1 個安全的哈希函數(shù)H:→{0,1}η。
2)可信中心為β個區(qū)域中注冊成功的終端用戶IDu生成公私鑰對{pku,sku},其中pku=,sku?,可信中心將私鑰sku通過安全信道發(fā)送給每個終端用戶IDu。
3)可信中心設(shè)置偽隨機數(shù)發(fā)生器(PRG),將輸入種子映射到偽隨機輸出序列,并保證輸出分布在計算上與均勻分布難以區(qū)分。假設(shè)梯度向量是l維,使用PRG:{0,1}η→將1個輸入值擴展為l維輸出向量。
4)可信中心設(shè)置β個輔助向量的種子{seed(i)}1≤i≤β?{0,1}η,依次通 過安全 信道給β個區(qū)域中注冊成功的終端用戶發(fā)送對應(yīng)的種子。
在梯度盲化及簽名產(chǎn)生階段,有效終端用戶執(zhí)行以下步驟進行梯度盲化,并同時計算數(shù)字簽名。在時間周期T內(nèi),假設(shè)愿意貢獻梯度模型數(shù)據(jù)的有效終端用戶至少有t個(t為門限值),將每個有效終端用戶IDu的下標記錄到集合U1,并且t≤|U1| ≤n。有效終端用戶IDu(u?U1)執(zhí)行如下步驟;
1)對于下標集合U1中的每個終端用戶IDu,利用對應(yīng)的私鑰sku計算集合
2)IDu將集合中的元 素依次 擴展成l維隨機向量pu,v=Δu,v?PPRG(su,v),且有u>v則Δu,v=1;u<v則Δu,v=-1;u=v則Δu,v=0,對所有u≠v有pu,v+pv,u=0。
3)IDu通過本地梯度模型的訓(xùn)練,得到梯度模型可學習數(shù)據(jù)為向量ru=(ru(1),ru(2),…,ru(l))T,對梯度模型向量進行盲化
在去盲化及聚合梯度產(chǎn)生階段中,邊緣服務(wù)器EDi得到每個有效終端用戶IDu(u?U1)發(fā)送的可驗證梯度盲化信息{λu,σu},執(zhí)行如下步驟:
在聚合梯度正確性驗證階段中,隸屬于區(qū)域i的有效終端用戶IDu(u?U1)執(zhí)行以下步驟:每個參與者IDu(u?U1) 接收到(y,σ) 之 后,計算σ′=gai?y=驗證σ′=σ是否相等,相等則說明梯度模型信息沒有被篡改,并且邊緣服務(wù)器沒有惡意篡改聚合梯度,全局模型參數(shù)正確。
可信中心通過安全信道為各區(qū)域的邊緣服務(wù)器發(fā)送1 個對稱密鑰K,采用AES 作為加密算法。在方案中,m表示各區(qū)域重新訓(xùn)練次數(shù),τ表示各區(qū)域的全局模型迭代次數(shù),針對資源受限的設(shè)備設(shè)置較小τ值進行輕量訓(xùn)練,每個區(qū)域總共需要的迭代次數(shù)為m?τ次。圖3 所示為云-邊融合的可驗證隱私保護跨域聯(lián)邦學習訓(xùn)練權(quán)重轉(zhuǎn)發(fā)流程,在邊緣服務(wù)器之間不共享梯度而共享神經(jīng)網(wǎng)絡(luò)權(quán)重。

圖3 云-邊融合的可驗證隱私保護跨域聯(lián)邦學習訓(xùn)練流程Fig.3 Training procedure of cloud-edge fusion verifiable privacy-preserving cross-domain federated learning
訓(xùn)練算法的具體步驟如算法1 所示,算法1 的第1 行表示每個區(qū)域總共需要訓(xùn)練m輪次,算法1 的第2~6 行表示當i=1 處在訓(xùn)練的第1 輪時,可信中心生成初始權(quán)重W0,計算加密權(quán)重并發(fā)送給各個服務(wù)器。此時,第j個區(qū)域的邊緣服務(wù)器接收到加密權(quán)重,邊緣服務(wù)器EDj對權(quán)重進行解密:W0=DecAES(K,Enc(K,W0))。邊緣服務(wù)器EDj將權(quán)重W0發(fā)送給在本區(qū)域注冊成功的終端,在終端和邊緣之間執(zhí)行可驗證安全聚合算法VSA(W0,τ),邊緣服務(wù)器EDj得 到1 個更新權(quán)重W1,j,W1,j表示區(qū)域j完 成1 輪訓(xùn)練的權(quán)重。算法1 第7~14 行表示當訓(xùn)練處在第i(i≥2)輪時,邊緣服務(wù)器EDj將權(quán)重Wi-1,j通過密鑰K對稱加密發(fā)給云服務(wù)器,云服務(wù)器將加密權(quán)重按順序發(fā)給下1 個邊緣服務(wù)器EDj+1。第9 行表示EDj+1解密加密權(quán)重Wi-1,j=DecAES(K,Enc(K,Wi-1,j))。邊緣服務(wù)器EDj+1將權(quán)重Wi-1,j發(fā)送給在本區(qū)域注冊成功的終端。第10 行表示在終端和邊緣之間執(zhí)行可驗證安全 聚合算 法VSA(Wi-1,j,τ),最 終EDj+1得 到1 個更新權(quán)重Wi,j+1,Wi,j+1表示區(qū)域(j+1)完成i輪訓(xùn)練的權(quán)重。算法1 第12 行表示最后1 個邊緣服務(wù)器EDβ的加密權(quán)重發(fā)送給第1 個邊緣服務(wù)器進行解密。第13行Wi,1表示區(qū)域1 完成i輪訓(xùn)練的權(quán)重。
算法1可驗證隱私保護跨域聯(lián)邦學習訓(xùn)練算法
輸入m表示每個區(qū)域總共訓(xùn)練的輪次;τ表示每個區(qū)域每1 輪的全局模型迭代次數(shù);β表示區(qū)域的總數(shù);VSA(?)表示可驗證安全聚合算法;初始權(quán)重W0
定理1云-邊融合的可驗證隱私保護跨域聯(lián)邦學習方案可抵御區(qū)域間的合謀攻擊。
證明從區(qū)域獲得的是當前的輸入權(quán)重和輸出權(quán)重,輸入權(quán)重通過梯度下降法的迭代更新后得到輸出權(quán)重。假設(shè)全局迭代次數(shù)為n,梯度為G,輸入權(quán)重為W0=Winit,輸出權(quán)重為Wn=Wend并且(Xi,Yi)(1 ≤i≤n)表示當前區(qū)域數(shù)據(jù)集的隨機批次。梯度下降更新步驟如下:
根據(jù)以上梯度下降更新步驟可以推出如下等式:
即使共謀方在權(quán)重轉(zhuǎn)發(fā)過程中得到輸入權(quán)重Winit和輸出權(quán)重Wend,也只能計算梯度的加權(quán)和Winit-Wend=α1?G1+…+αn?Gn,而當前 區(qū)域本地數(shù)據(jù)集和每輪更新的聚合梯度Gi都是保密的,并且αi也會根據(jù)區(qū)域邊緣服務(wù)器的學習速率秘密變化。根據(jù)文獻[8]的安全分析,假設(shè)只有當前區(qū)域的邊緣服務(wù)器是誠實的,而云服務(wù)器和其他區(qū)域的邊緣服務(wù)器是惡意的。即使有這樣的合謀也不能恢復(fù)誠實邊緣服務(wù)器的任何數(shù)據(jù)項,除非1 個非線性方程(或1 個子集和問題)在多項式時間內(nèi)被解決。
定理2云-邊融合可驗證隱私保護跨域聯(lián)邦學習方案確保梯度模型訓(xùn)練過程與聚合計算結(jié)果完整性。
證明本文方案基于向量內(nèi)積的數(shù)字簽名算法,在梯度盲化及簽名產(chǎn)生階段使每個終端IDu都可以利用對應(yīng)的私鑰sku產(chǎn)生數(shù)字簽名。方案中的數(shù)字簽名算法滿足不可篡改性的可證明安全論證可以歸約到基于Diffie-Hellman(CDH)困難問題假設(shè)。下面分析方案在訓(xùn)練過程中梯度模型的完整性可得到保證,即敵手試圖篡改可驗證的梯度盲化信息或聚合梯度來通過完整性驗證在多項式時間內(nèi)是計算不可行的。
Game 2假設(shè)存在惡意邊緣服務(wù)器在去盲化及聚合梯度產(chǎn)生階段試圖以不可忽視的概率替換或篡改聚合梯度y*并生成聚合簽名信息其中U1表示正常用戶集合,并且在聚合梯度正確性驗證階段成功通過驗證方程σ′=σ。
方案中所有算法的實現(xiàn)都在處理器Intel?CoreTMi7-11800H @2.30 GHz、圖形處理器NVIDIA GeForce RTX 3060 Laptop GPU 和運行內(nèi)存16 GB的主機上運行。
訓(xùn)練實驗采用Python3.9、PyTorch 1.21.1 實現(xiàn),實驗設(shè)置4 個訓(xùn)練 集CIFAR10、MNIST、CIFAR100、SVHN,2 個深度學習模型ResNet18 和GoogleNet。實驗使用模型ResNet18 訓(xùn)練4 個數(shù)據(jù)集。4 個數(shù)據(jù)集等同于4 個區(qū)域中終端的本地數(shù)據(jù)集,把每個區(qū)域訓(xùn)練完成的模型通過AES加密安全發(fā)送給下1個區(qū)域進行訓(xùn)練,循環(huán)往復(fù)。同理GoogleNet模型訓(xùn)練方式同上。
密碼實驗的計算開銷時間都在C 語言環(huán)境下進行并使用版本號為7.0.0 密碼學函數(shù)庫Miracl 和pbc-0.5.14 密碼學函數(shù)庫。Tmm表示模乘運行時間,Tme表示模冪運行時間,Tha表示普通哈希函數(shù)運行時間,Tad表示模加法的運行時間,TPRG表示偽隨機數(shù)發(fā)生器生成1 次的運行時間。
本文將云-邊融合的可驗證隱私保護跨域聯(lián)邦學習方案與VerSA 方案[22]和文獻[15]方案[15]進行驗證階段的計算開銷比較。假設(shè)本文方案每個邊緣服務(wù)器負責區(qū)域下愿意貢獻梯度向量的終端用戶數(shù)為n,假設(shè)VerSA 方案和文獻[15]方案中愿意貢獻梯度向量的終端用戶數(shù)也是n,文獻[15]方案的輔助節(jié)點數(shù)為m并且后續(xù)沒有終端用戶退出。3 個方案梯度向量的維數(shù)是l維并且不計算初始化階段的計算開銷。
文獻[15]方案中終端用戶在保護梯度隱私過程中執(zhí)行m次(Tme+Tha)運算生成m個PRG(?)的種子,輸入m個種子生成m個l維向量并執(zhí)行l(wèi)?m次(TPRG+Tad)生成梯度的盲化向量。執(zhí)行l(wèi)次(Tad+Tmm)運算生成簽名向量。隨后輔助節(jié)點執(zhí)行n次(Tme+TPRG+Tha)運算和l?(n-1)次Tad運算生成解盲化參數(shù),最后終端執(zhí)行l(wèi)次(Tad+Tmm)運算驗證聚合梯度的完整性。終端的總計算開銷為(m+n)?Tme+(l?m+n)TPRG+l?(m+n+1)?Tad+(n+m)?Tha+2l?Tmm。服務(wù)器端執(zhí)行l(wèi)?(n+m-1)次Tad運算去除梯度的盲化值,執(zhí)行l(wèi)(n-1)次Tad運算生成驗證憑證。服務(wù)器端的計算開銷為l?(2n+m-2)?Tad。
VerSA 方案終端用戶執(zhí)行n次(Tha+Tme)運算生成n個PRG(?)的種子,執(zhí)行(n-1)次Tad運算生成1 個驗證種子,執(zhí)行l(wèi)?(n+1)次(TPRG+Tad)運算生成梯度的盲化向量,輸入驗證種子執(zhí)行2l次TPRG運算和l次(Tmm+Tad)生成驗證函數(shù)。執(zhí)行l(wèi)?(n+1)次(TPRG+Tad)運算生成簽名向量,最后終端執(zhí)行2l次Tmm運算和l次Tad運算驗證聚合梯度的完整性。終端的計算開銷為n?Tme+l?(2n+4)(TPRG+Tad)+TPRG+n?Tha+3l?Tmm。服務(wù)器端執(zhí)行l(wèi)?(2n-1)次Tad運算去除梯度的盲化值,執(zhí)行l(wèi)?(2n-1)次Tad運算生 成驗證憑證,服務(wù)器端的計算開銷為(4n-2)?l?Tad。
本文方案終端用戶執(zhí)行n次(Tha+Tme)運算生成n個PRG(?)的種子,執(zhí)行l(wèi)?n次(TPRG+Tad)運算生 成梯度的盲化向量,輸入輔助向量種子執(zhí)行l(wèi)次TPRG生成輔助向量。基于向量內(nèi)積執(zhí)行l(wèi)次Tmm運算和(l-1)次Tad運算并執(zhí)行1次Tme運算生成簽名,最后終端執(zhí)行l(wèi)次Tmm運算、(l-1)次Tad運算和1次Tme運算驗證聚合梯度的完整性。終端的總體計算開銷為(n+2)?Tme+l?(n+1)TPRG+(l?n+2l-2)?Tad+n?Tha+2l?Tmm。本文方案的邊緣服務(wù)器端就是服務(wù)器端,服務(wù)器端執(zhí)行l(wèi)?(n-1)次Tad運算去除梯度的盲化值,執(zhí)行(n-1)次Tmm運算生成驗證憑證,服務(wù)器端的計算開銷為l?(n-1)Tad+(n-1)?Tmm。
假設(shè)q是1 024 位的大素數(shù),向量的維度l是10 000 維,用戶數(shù)n分別設(shè) 置500 個、1 000 個 和1 500 個,根據(jù)文獻[15]方案中輔助節(jié)點的數(shù)量m隨著用戶數(shù)增多分別占用戶數(shù)的10%、30%和50%,則輔助節(jié)點m分別設(shè) 置50 個、300 個、750 個。不同方案的終端計算開銷對比如圖4 所示。在固定向量維度的情況下,隨著終端用戶數(shù)的增加,本文方案在終端的計算開銷是最低的。不同方案的服務(wù)器端計算開銷對比如圖5 所示。在固定向量維度的情況下,隨著終端用戶數(shù)的增加,本文方案在服務(wù)器端的計算開銷是最低的。綜上所述,在用戶端和服務(wù)器端,本文方案的計算開銷都比VerSA 方案和文獻[15]方案低,具有顯著的性能優(yōu)勢。

圖4 不同方案的終端計算開銷Fig.4 Terminal computional costs among different schemes
5.3.1 基于數(shù)據(jù)集訓(xùn)練次數(shù)的精度比較
在實驗設(shè)置系統(tǒng)中每個區(qū)域的用戶有100 個,使用模型ResNet18 在4 個區(qū)域分別訓(xùn)練CIFAR10、MNIST、CIFAR100 和SVHN 數(shù)據(jù)集。模型在4 個區(qū)域初始迭代訓(xùn)練15 次之后通過某種順序?qū)⑵浒l(fā)送給下1 個區(qū)域,然后接收到新模型的區(qū)域進行新一輪的訓(xùn)練,4 個區(qū)域重新訓(xùn)練4 次。從實驗結(jié)果中選出數(shù)據(jù)復(fù)雜度更高的CIFAR100 和SVHN,分別比較CIFAR100 和SVHN 數(shù)據(jù)集重新訓(xùn)練次數(shù)增加時的精度變化。基于重新訓(xùn)練次數(shù)的精度比較如圖6 所示。圖6(a)所示為CIFAR100 數(shù)據(jù)集初始訓(xùn)練、重新訓(xùn)練2 次和重新訓(xùn)練4 次的精度變化曲線,圖6(b)所示為SVHN 數(shù)據(jù)集初始訓(xùn)練、重新訓(xùn)練2 次和重新訓(xùn)練4 次的精度變化曲線。圖6(a)和圖6(b)表明當重新訓(xùn)練次數(shù)增加時,模型收斂速度越來越快,為此比較本文方案和經(jīng)典聯(lián)邦的訓(xùn)練時間,最終本文方案模型收斂的速度比經(jīng)典聯(lián)邦模型收斂速度平均提升21.6%。

圖6 基于重新訓(xùn)練次數(shù)的精度比較Fig.6 Accuracy comparison based on retraining times
5.3.2 經(jīng)典聯(lián)邦學習與本文方案精度比較
基于CIFAR10、MNIST、CIFAR100 和SVHN 4 個數(shù)據(jù)集,實驗使用2 個模型ResNet18 和GoogleNet 分別進行訓(xùn)練。在實驗中,設(shè)置系統(tǒng)每個區(qū)域有100 個用戶,將CIFAR10 訓(xùn)練樣本平均分配給每個用戶,每個用戶得到500 個樣本,同時設(shè)置該區(qū)域的用戶本地迭代次數(shù)為2 次,全局迭代次數(shù)為10 次,重新訓(xùn)練輪數(shù)為5 次。將MNIST 訓(xùn)練樣本平均分配給每個用戶,每個用戶得到600 個樣本,同時設(shè)置該區(qū)域的用戶本地迭代次數(shù)為1 次,全局迭代次數(shù)為5 次,重新訓(xùn)練輪數(shù)為5 次。將CIFAR100 訓(xùn)練樣本平均分配給每個用戶,每個用戶得到500 個樣本,同時設(shè)置該區(qū)域的用戶本地迭代次數(shù)為2 次,全局迭代次數(shù)為15 次,重新訓(xùn)練輪數(shù)為5 次。將SVHN訓(xùn)練樣本平均分配給每個用戶,每個用戶得到730 個樣本,同時設(shè)置該區(qū)域的用戶本地迭代次數(shù)為2 次,全局迭代次數(shù)為15 次,重新訓(xùn)練輪數(shù)為5 次。
本文將經(jīng)典聯(lián)邦學習方案和本文方案的迭代次數(shù)設(shè)置為相同的次數(shù),訓(xùn)練CIFAR10 數(shù)據(jù)集用戶本地迭代次數(shù)為2 次,全局迭代次數(shù)為50 次,訓(xùn)練MNIST 數(shù)據(jù)集用戶本地迭代次數(shù)為1 次,全局迭代次數(shù)為25 次,訓(xùn)練CIFAR100 數(shù)據(jù)集用戶本地迭代次數(shù)為2 次,全局迭代次數(shù)為75 次,訓(xùn)練SVHN 數(shù)據(jù)集本地迭代次數(shù)為2 次,全局迭代次數(shù)為75 次。
每個終端用戶接受1 個預(yù)先訓(xùn)練的模型,訓(xùn)練全連接層,同時保留卷積層的參數(shù),對每個測試集的準確性進行評估。經(jīng)典聯(lián)邦學習與本文方案的訓(xùn)練精度比較如圖7 所示。圖7(a)所示為使用模型ResNet18 訓(xùn)練4 個不同的數(shù)據(jù)集,圖7(b)所示為使用模型GoogleNet 訓(xùn)練4 個不同的數(shù)據(jù)集,由于數(shù)據(jù)集(MNIST、SVHN、CIFAR10、CIFAR100)之間復(fù)雜度不同,因此不同數(shù)據(jù)集所展示的精度標準是有差異的。從圖7 可以看出,本文方案在提升收斂速度和減少訓(xùn)練時間的基礎(chǔ)上,達到與經(jīng)典聯(lián)邦學習相當?shù)木取R虼耍疚姆桨冈诒WC精度的情況下性能優(yōu)勢更加顯著。

圖7 經(jīng)典聯(lián)邦學習與本文方案訓(xùn)練精度對比Fig.7 Comparison of training accuracy between classical federated learning and the proposed schemes
本文提出云-邊融合可驗證隱私保護跨域聯(lián)邦學習方案,其中訓(xùn)練算法旨在提高聯(lián)邦學習的穩(wěn)定性、可驗證性和可用不可見性。引入掩碼技術(shù)和基于向量內(nèi)積的簽名算法來構(gòu)建可驗證的隱私保護聯(lián)邦學習。算法架構(gòu)的關(guān)鍵思想是通過區(qū)域局部輕量訓(xùn)練來解決異構(gòu)網(wǎng)絡(luò)設(shè)備計算能力參差不齊的問題,并通過模型權(quán)重轉(zhuǎn)發(fā)使系統(tǒng)精度與經(jīng)典聯(lián)邦學習精度基本相同,在此基礎(chǔ)上還提高了模型的泛化性和收斂速度。實驗結(jié)果表明,該方案在確保梯度模型數(shù)據(jù)跨域流通的機密性與完整性的同時,保持了與經(jīng)典聯(lián)邦學習方案幾乎相同的訓(xùn)練精度,并且隨著系統(tǒng)各區(qū)域訓(xùn)練輪次的增加,模型收斂的速度平均提升了21.6%,具有更優(yōu)的泛化性。后續(xù)將設(shè)計基于余弦相似度的檢測算法來剔除惡意終端用戶,并設(shè)計支持在線終端用戶退出的系統(tǒng),從而提高系統(tǒng)的魯棒性。