張曉均,李興鵬,唐偉,郝云溥,薛婧婷
(西南石油大學(xué)計(jì)算機(jī)科學(xué)學(xué)院網(wǎng)絡(luò)空間安全研究中心,四川 成都 610500)
人工智能[1]和物聯(lián)網(wǎng)(IoT)技術(shù)的深度融合推動(dòng)了聯(lián)邦學(xué)習(xí)的快速發(fā)展,特別是在計(jì)算機(jī)視覺(jué)、醫(yī)學(xué)預(yù)測(cè)、語(yǔ)音識(shí)別等領(lǐng)域[2-3]取得了突破性的成果。然而,部署聯(lián)邦學(xué)習(xí)實(shí)現(xiàn)分布式梯度模型訓(xùn)練面臨著巨大挑戰(zhàn),特別是來(lái)自于聯(lián)邦學(xué)習(xí)(FL)數(shù)據(jù)收集帶來(lái)的隱私問(wèn)題[4],用于訓(xùn)練的數(shù)據(jù)通常是敏感的,可能來(lái)自多個(gè)具有不同隱私要求的終端用戶。
除此之外,聯(lián)邦學(xué)習(xí)主要挑戰(zhàn)是梯度模型聚合計(jì)算結(jié)果的完整性問(wèn)題[5],在某些非法利益的驅(qū)動(dòng)下,惡意的邊緣服務(wù)器可能會(huì)向用戶返回不正確的結(jié)果,或者惡意偽造發(fā)送給終端用戶的梯度模型聚合計(jì)算結(jié)果[6]。此外,參與聯(lián)邦學(xué)習(xí)的設(shè)備存在異構(gòu)性[7],在設(shè)備間具有不同的計(jì)算和通信能力。在這種情況下,一些具有足夠計(jì)算能力和通信資源的設(shè)備可以在規(guī)定時(shí)間內(nèi)迅速完成本地訓(xùn)練和上傳,而其他資源受限的設(shè)備則無(wú)法在規(guī)定時(shí)間內(nèi)完成本輪更新,從而影響系統(tǒng)整體的訓(xùn)練性能,進(jìn)而影響全局梯度模型的精度。
針對(duì)資源受限的設(shè)備梯度隱私、梯度完整性、設(shè)備低延遲、高效訓(xùn)練[8]的問(wèn)題,本文提出一種云-邊融合的可驗(yàn)證隱私保護(hù)跨域聯(lián)邦學(xué)習(xí)框架。該框架設(shè)計(jì)3 層架構(gòu)的跨域聯(lián)邦學(xué)習(xí)系統(tǒng)模型。該系統(tǒng)模型基于經(jīng)典聯(lián)邦學(xué)習(xí)終端用戶對(duì)邊緣服務(wù)器的弱信任,提出可驗(yàn)證安全聚合算法,該算法利用單掩碼技術(shù)盲化梯度數(shù)據(jù)并采用輕量級(jí)驗(yàn)證方法防止邊緣服務(wù)器惡意篡改聚合梯度的模型參數(shù),在線終端用戶的訓(xùn)練梯度安全有效地被邊緣服務(wù)器聚合,聚合結(jié)果可以被終端用戶驗(yàn)證正確性。在可驗(yàn)證安全聚合算法的基礎(chǔ)上,本文提出一種可驗(yàn)證隱私保護(hù)跨域聯(lián)邦學(xué)習(xí)訓(xùn)練算法,該訓(xùn)練算法考慮局部輕量訓(xùn)練克服異構(gòu)網(wǎng)絡(luò)資源受限不能及時(shí)響應(yīng)的特性,提高了系統(tǒng)的穩(wěn)定性,使每個(gè)區(qū)域的在線終端設(shè)備都并行進(jìn)行同一輪次的局部輕量訓(xùn)練。最后,針對(duì)同一模型權(quán)重進(jìn)行局部輕量訓(xùn)練時(shí)收斂速度慢、泛化性差和局部輕量訓(xùn)練精度低等問(wèn)題,使用訓(xùn)練器不共享加密梯度而共享加密模型權(quán)重的訓(xùn)練模式[9]來(lái)加快收斂速度。
近年來(lái),已有研究人員對(duì)聯(lián)邦學(xué)習(xí)中的敏感數(shù)據(jù)機(jī)密性和完整性問(wèn)題進(jìn)行研究。GU等[10]提出隱私保護(hù)的異步去中心化聯(lián)邦隨機(jī)梯度下降算法。ZHANG等[11]采用非對(duì)稱加密和數(shù)字簽名技術(shù)保護(hù)用戶隱私并設(shè)置驗(yàn)證節(jié)點(diǎn),引入智能合約來(lái)評(píng)估和選擇最佳模型。AKTER等[12]采用傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型和人工噪聲函數(shù)來(lái)平衡隱私保護(hù)和模型性能。PAREKH等[13]提出在最后1 個(gè)卷積層的輸出中加密圖像的梯度加密技術(shù)。LEE等[14]提出基于貪婪算法解決聯(lián)邦學(xué)習(xí)的統(tǒng)計(jì)異質(zhì)性問(wèn)題并加速聯(lián)邦訓(xùn)練。上述4 個(gè)方案[11-14]主要關(guān)注梯度數(shù)據(jù)機(jī)密性而對(duì)梯度聚合結(jié)果的完整性驗(yàn)證沒(méi)有研究。目前,聯(lián)邦學(xué)習(xí)用戶希望及時(shí)驗(yàn)證服務(wù)器聚合結(jié)果的正確性。因此,實(shí)施具有可驗(yàn)證聚合的隱私保護(hù)聯(lián)邦學(xué)習(xí)方法是非常重要。為了實(shí)現(xiàn)這一目標(biāo),需要采取一種高效和安全的方法,然而上述解決方案在解決此問(wèn)題時(shí)存在一定的局限性。
為此,研究人員針對(duì)梯度聚合的完整性設(shè)計(jì)不同的可驗(yàn)證聯(lián)邦學(xué)習(xí)方案。ELTARAS等[15]利用單掩碼技術(shù)確保用戶隱私并提出雙聚合概念,以驗(yàn)證聚合結(jié)果。ZHANG等[16]使用雙聚合方法對(duì)模型進(jìn)行聚合,并采用分組鏈訓(xùn)練結(jié)構(gòu)提高訓(xùn)練效率,然而該結(jié)構(gòu)沒(méi)有考慮到惡意用戶對(duì)模型的影響。ZHOU等[17]提出一種反作用差分隱私噪聲保護(hù)用戶隱私,使用同態(tài)哈希函數(shù)設(shè)計(jì)一種非追溯性驗(yàn)證機(jī)制,但是噪聲會(huì)降低訓(xùn)練精度。GAO等[18]通過(guò)梯度分組和壓縮來(lái)優(yōu)化拉格朗日插值,以實(shí)現(xiàn)聯(lián)邦學(xué)習(xí)的有效可驗(yàn)證性,為保護(hù)用戶的數(shù)據(jù)隱私免受串通攻擊,提出一種使用不可逆梯度變換的輕量級(jí)承諾方案。LI等[6]通過(guò)集 成Paillier 同態(tài)加 密和隨 機(jī)數(shù)生成技術(shù),保護(hù)所有梯度及其密文,并且引入一種基于離散對(duì)數(shù)的秘密共享方案,以抵御聚合服務(wù)器、惡意參與者和邊緣節(jié)點(diǎn)之間的潛在串通攻擊。然而,由于同態(tài)加密和密文擴(kuò)展的計(jì)算復(fù)雜性,因此該方案具有較大的計(jì)算和通信開(kāi)銷。TANG等[19]設(shè)計(jì)2 個(gè)零知識(shí)證明來(lái)驗(yàn)證梯度的正確性,并提出一種保護(hù)局部梯度和全局模型隱私的可驗(yàn)證擾動(dòng)方案。YANG等[20]設(shè)計(jì)一種加權(quán)掩碼技術(shù)保護(hù)梯度數(shù)據(jù)并利用同態(tài)哈希函數(shù)和同態(tài)簽名構(gòu)建可驗(yàn)證聚合標(biāo)簽,但計(jì)算成本昂貴。XU等[21]提出在訓(xùn)練神經(jīng)網(wǎng)絡(luò)過(guò)程中進(jìn)行驗(yàn)證的隱私保護(hù)方法,設(shè)計(jì)一種基于同態(tài)哈希函數(shù)和偽隨機(jī)技術(shù)的可驗(yàn)證方法來(lái)支持每個(gè)用戶的可驗(yàn)證性。HAHN等[22]對(duì)文獻(xiàn)[21]方案中的安全和效率問(wèn)題進(jìn)行優(yōu)化,設(shè)計(jì)安全高效的跨設(shè)備聯(lián)邦學(xué)習(xí)可驗(yàn)證安全聚合方案。文獻(xiàn)[23]指出文獻(xiàn)[22]方案仍然存在隱私安全問(wèn)題。上述可驗(yàn)證聯(lián)邦學(xué)習(xí)方案都能驗(yàn)證惡意服務(wù)器對(duì)聚合梯度的偽造,但是大多數(shù)方案的驗(yàn)證開(kāi)銷代價(jià)昂貴并且有些方案沒(méi)有解決訓(xùn)練效率低的問(wèn)題。因此,為了滿足輕量可驗(yàn)證聚合結(jié)果的要求并提高訓(xùn)練效率,相比其他方案[15,22],本文提出更高效的可驗(yàn)證聚合方案,解決異構(gòu)網(wǎng)絡(luò)聯(lián)邦訓(xùn)練問(wèn)題,并提高訓(xùn)練效率。
Google 提出的FedAvg 算法[24]指出大 量去中 心化的數(shù)據(jù)存儲(chǔ)于移動(dòng)設(shè)備,但數(shù)據(jù)隱私問(wèn)題沒(méi)有得到解決。聯(lián)邦學(xué)習(xí)是一種分布式機(jī)器學(xué)習(xí)技術(shù),通過(guò)聚合局部計(jì)算梯度來(lái)訓(xùn)練集中的模型,而訓(xùn)練數(shù)據(jù)分發(fā)給每個(gè)終端用戶,并且不與其他終端用戶共享。邊緣服務(wù)器通過(guò)重復(fù)聚合局部梯度來(lái)協(xié)調(diào)訓(xùn)練過(guò)程,每輪包括以下過(guò)程:
終端用戶選擇:邊緣服務(wù)器選擇1 組終端用戶,并向他們提供當(dāng)前的模型參數(shù)。這些終端用戶可以在整輪訓(xùn)練中存活下來(lái),或者在當(dāng)前一輪訓(xùn)練完成之前退出。
本地訓(xùn)練:每個(gè)終端用戶在本地進(jìn)行模型更新。更新通常涉及1 個(gè)小批量隨機(jī)梯度下降規(guī)則的變體,該規(guī)則返回1 個(gè)梯度作為局部訓(xùn)練結(jié)果。
梯度聚合:邊緣服務(wù)器收集有效終端用戶發(fā)送的梯度,計(jì)算梯度模型聚合值。
全局模型更新:邊緣服務(wù)器使用聚合的梯度更新當(dāng)前的全局模型。該全局模型將在后續(xù)一輪中發(fā)布。
盡管終端用戶的訓(xùn)練數(shù)據(jù)永遠(yuǎn)不會(huì)離開(kāi)每個(gè)用戶的本地存儲(chǔ)器,但是可以利用本地計(jì)算的模型參數(shù)來(lái)推斷訓(xùn)練數(shù)據(jù)。因此,在正確啟用局部模型參數(shù)聚合的同時(shí),最好保持局部模型參數(shù)保密。
聯(lián)邦學(xué)習(xí)廣泛適用于2 種不同的場(chǎng)景:跨設(shè)備和跨孤島。在跨設(shè)備設(shè)置中,大量資源受限的終端用戶參與學(xué)習(xí),而網(wǎng)絡(luò)條件是高度不可靠的。相比之下,跨孤島設(shè)置包含更穩(wěn)定的環(huán)境,其中少量擁有豐富計(jì)算資源的組織作為參與用戶,網(wǎng)絡(luò)通道是可靠的。本文設(shè)計(jì)的聯(lián)邦學(xué)習(xí)方案主要討論跨設(shè)備場(chǎng)景。
權(quán)重轉(zhuǎn)發(fā)技術(shù)來(lái)自于PHONG等[9]提出的服務(wù)器輔助網(wǎng)絡(luò)系統(tǒng),系統(tǒng)使用的訓(xùn)練器不共享梯度而共享神經(jīng)網(wǎng)絡(luò)權(quán)重的隱私保護(hù)系統(tǒng)來(lái)保護(hù)所有訓(xùn)練器的本地?cái)?shù)據(jù)。在本文方案中訓(xùn)練器是每個(gè)終端設(shè)備,當(dāng)某區(qū)域訓(xùn)練器在當(dāng)前輪次的聯(lián)邦訓(xùn)練結(jié)束后,邊緣服務(wù)器負(fù)責(zé)與云服務(wù)器通信并轉(zhuǎn)發(fā)加密權(quán)重。
梯度向量ru被一種特殊的方式盲化,該盲化技術(shù)[25]可以通過(guò)盲化計(jì)算使聚合梯度向量可以被保密地計(jì)算出來(lái)。對(duì)于終端用戶IDu的下標(biāo)是u,并且用(u,v)表示一對(duì)終端用戶IDu和IDv的下標(biāo)。假設(shè)有隨機(jī)向量pu,v且u<v,如果終端用戶IDu將pu,v添加到向量ru中進(jìn)行盲化,則在終端用戶IDv中添加向量pu,v的相反值進(jìn)行盲化。當(dāng)累加它們的盲化向量時(shí)掩碼將被抵消,它們的實(shí)際值將不會(huì)被暴露。每個(gè)終端用戶IDu的盲化值計(jì)算如下:
終端用戶IDu給邊緣服務(wù)器發(fā)送λu,邊緣服務(wù)器計(jì)算如下:
基于云-邊融合的可驗(yàn)證隱私保護(hù)跨域聯(lián)邦學(xué)習(xí)架構(gòu)如圖1 所示。
圖1 3 層架構(gòu)的跨域聯(lián)邦學(xué)習(xí)系統(tǒng)模型Fig.1 Cross-domain federated learning system model with three layers architecture
本文提出云-邊融合的可驗(yàn)證隱私保護(hù)跨域聯(lián)邦學(xué)習(xí)方案,該方案首先在多區(qū)域部署可驗(yàn)證安全聚合算法,在此基礎(chǔ)上,提出可驗(yàn)證隱私保護(hù)跨域聯(lián)邦學(xué)習(xí)訓(xùn)練算法。
可驗(yàn)證安全聚合算法有4 個(gè)階段:系統(tǒng)初始化階段、梯度盲化及簽名產(chǎn)生階段、去盲化及聚合梯度產(chǎn)生階段、聚合梯度正確性驗(yàn)證階段。圖2 所示為可驗(yàn)證安全聚合算法的流程。
圖2 可驗(yàn)證安全聚合算法流程Fig.2 Procedure of verifiable secure aggregation algorithm
在系統(tǒng)初始化階段,可信中心(TA)執(zhí)行以下步驟:
1)可信中心生成大整數(shù)2η并生成q階乘法循環(huán)群G,q(q<2η)是1 個(gè)大素?cái)?shù),選取G的1 個(gè)生成元g,并且設(shè)置1 個(gè)安全的哈希函數(shù)H:→{0,1}η。
2)可信中心為β個(gè)區(qū)域中注冊(cè)成功的終端用戶IDu生成公私鑰對(duì){pku,sku},其中pku=,sku?,可信中心將私鑰sku通過(guò)安全信道發(fā)送給每個(gè)終端用戶IDu。
3)可信中心設(shè)置偽隨機(jī)數(shù)發(fā)生器(PRG),將輸入種子映射到偽隨機(jī)輸出序列,并保證輸出分布在計(jì)算上與均勻分布難以區(qū)分。假設(shè)梯度向量是l維,使用PRG:{0,1}η→將1個(gè)輸入值擴(kuò)展為l維輸出向量。
4)可信中心設(shè)置β個(gè)輔助向量的種子{seed(i)}1≤i≤β?{0,1}η,依次通 過(guò)安全 信道給β個(gè)區(qū)域中注冊(cè)成功的終端用戶發(fā)送對(duì)應(yīng)的種子。
在梯度盲化及簽名產(chǎn)生階段,有效終端用戶執(zhí)行以下步驟進(jìn)行梯度盲化,并同時(shí)計(jì)算數(shù)字簽名。在時(shí)間周期T內(nèi),假設(shè)愿意貢獻(xiàn)梯度模型數(shù)據(jù)的有效終端用戶至少有t個(gè)(t為門限值),將每個(gè)有效終端用戶IDu的下標(biāo)記錄到集合U1,并且t≤|U1| ≤n。有效終端用戶IDu(u?U1)執(zhí)行如下步驟;
1)對(duì)于下標(biāo)集合U1中的每個(gè)終端用戶IDu,利用對(duì)應(yīng)的私鑰sku計(jì)算集合
2)IDu將集合中的元 素依次 擴(kuò)展成l維隨機(jī)向量pu,v=Δu,v?PPRG(su,v),且有u>v則Δu,v=1;u<v則Δu,v=-1;u=v則Δu,v=0,對(duì)所有u≠v有pu,v+pv,u=0。
3)IDu通過(guò)本地梯度模型的訓(xùn)練,得到梯度模型可學(xué)習(xí)數(shù)據(jù)為向量ru=(ru(1),ru(2),…,ru(l))T,對(duì)梯度模型向量進(jìn)行盲化
在去盲化及聚合梯度產(chǎn)生階段中,邊緣服務(wù)器EDi得到每個(gè)有效終端用戶IDu(u?U1)發(fā)送的可驗(yàn)證梯度盲化信息{λu,σu},執(zhí)行如下步驟:
在聚合梯度正確性驗(yàn)證階段中,隸屬于區(qū)域i的有效終端用戶IDu(u?U1)執(zhí)行以下步驟:每個(gè)參與者IDu(u?U1) 接收到(y,σ) 之 后,計(jì)算σ′=gai?y=驗(yàn)證σ′=σ是否相等,相等則說(shuō)明梯度模型信息沒(méi)有被篡改,并且邊緣服務(wù)器沒(méi)有惡意篡改聚合梯度,全局模型參數(shù)正確。
可信中心通過(guò)安全信道為各區(qū)域的邊緣服務(wù)器發(fā)送1 個(gè)對(duì)稱密鑰K,采用AES 作為加密算法。在方案中,m表示各區(qū)域重新訓(xùn)練次數(shù),τ表示各區(qū)域的全局模型迭代次數(shù),針對(duì)資源受限的設(shè)備設(shè)置較小τ值進(jìn)行輕量訓(xùn)練,每個(gè)區(qū)域總共需要的迭代次數(shù)為m?τ次。圖3 所示為云-邊融合的可驗(yàn)證隱私保護(hù)跨域聯(lián)邦學(xué)習(xí)訓(xùn)練權(quán)重轉(zhuǎn)發(fā)流程,在邊緣服務(wù)器之間不共享梯度而共享神經(jīng)網(wǎng)絡(luò)權(quán)重。
圖3 云-邊融合的可驗(yàn)證隱私保護(hù)跨域聯(lián)邦學(xué)習(xí)訓(xùn)練流程Fig.3 Training procedure of cloud-edge fusion verifiable privacy-preserving cross-domain federated learning
訓(xùn)練算法的具體步驟如算法1 所示,算法1 的第1 行表示每個(gè)區(qū)域總共需要訓(xùn)練m輪次,算法1 的第2~6 行表示當(dāng)i=1 處在訓(xùn)練的第1 輪時(shí),可信中心生成初始權(quán)重W0,計(jì)算加密權(quán)重并發(fā)送給各個(gè)服務(wù)器。此時(shí),第j個(gè)區(qū)域的邊緣服務(wù)器接收到加密權(quán)重,邊緣服務(wù)器EDj對(duì)權(quán)重進(jìn)行解密:W0=DecAES(K,Enc(K,W0))。邊緣服務(wù)器EDj將權(quán)重W0發(fā)送給在本區(qū)域注冊(cè)成功的終端,在終端和邊緣之間執(zhí)行可驗(yàn)證安全聚合算法VSA(W0,τ),邊緣服務(wù)器EDj得 到1 個(gè)更新權(quán)重W1,j,W1,j表示區(qū)域j完 成1 輪訓(xùn)練的權(quán)重。算法1 第7~14 行表示當(dāng)訓(xùn)練處在第i(i≥2)輪時(shí),邊緣服務(wù)器EDj將權(quán)重Wi-1,j通過(guò)密鑰K對(duì)稱加密發(fā)給云服務(wù)器,云服務(wù)器將加密權(quán)重按順序發(fā)給下1 個(gè)邊緣服務(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ū)域注冊(cè)成功的終端。第10 行表示在終端和邊緣之間執(zhí)行可驗(yàn)證安全 聚合算 法VSA(Wi-1,j,τ),最 終EDj+1得 到1 個(gè)更新權(quán)重Wi,j+1,Wi,j+1表示區(qū)域(j+1)完成i輪訓(xùn)練的權(quán)重。算法1 第12 行表示最后1 個(gè)邊緣服務(wù)器EDβ的加密權(quán)重發(fā)送給第1 個(gè)邊緣服務(wù)器進(jìn)行解密。第13行Wi,1表示區(qū)域1 完成i輪訓(xùn)練的權(quán)重。
算法1可驗(yàn)證隱私保護(hù)跨域聯(lián)邦學(xué)習(xí)訓(xùn)練算法
輸入m表示每個(gè)區(qū)域總共訓(xùn)練的輪次;τ表示每個(gè)區(qū)域每1 輪的全局模型迭代次數(shù);β表示區(qū)域的總數(shù);VSA(?)表示可驗(yàn)證安全聚合算法;初始權(quán)重W0
定理1云-邊融合的可驗(yàn)證隱私保護(hù)跨域聯(lián)邦學(xué)習(xí)方案可抵御區(qū)域間的合謀攻擊。
證明從區(qū)域獲得的是當(dāng)前的輸入權(quán)重和輸出權(quán)重,輸入權(quán)重通過(guò)梯度下降法的迭代更新后得到輸出權(quán)重。假設(shè)全局迭代次數(shù)為n,梯度為G,輸入權(quán)重為W0=Winit,輸出權(quán)重為Wn=Wend并且(Xi,Yi)(1 ≤i≤n)表示當(dāng)前區(qū)域數(shù)據(jù)集的隨機(jī)批次。梯度下降更新步驟如下:
根據(jù)以上梯度下降更新步驟可以推出如下等式:
即使共謀方在權(quán)重轉(zhuǎn)發(fā)過(guò)程中得到輸入權(quán)重Winit和輸出權(quán)重Wend,也只能計(jì)算梯度的加權(quán)和Winit-Wend=α1?G1+…+αn?Gn,而當(dāng)前 區(qū)域本地?cái)?shù)據(jù)集和每輪更新的聚合梯度Gi都是保密的,并且αi也會(huì)根據(jù)區(qū)域邊緣服務(wù)器的學(xué)習(xí)速率秘密變化。根據(jù)文獻(xiàn)[8]的安全分析,假設(shè)只有當(dāng)前區(qū)域的邊緣服務(wù)器是誠(chéng)實(shí)的,而云服務(wù)器和其他區(qū)域的邊緣服務(wù)器是惡意的。即使有這樣的合謀也不能恢復(fù)誠(chéng)實(shí)邊緣服務(wù)器的任何數(shù)據(jù)項(xiàng),除非1 個(gè)非線性方程(或1 個(gè)子集和問(wèn)題)在多項(xiàng)式時(shí)間內(nèi)被解決。
定理2云-邊融合可驗(yàn)證隱私保護(hù)跨域聯(lián)邦學(xué)習(xí)方案確保梯度模型訓(xùn)練過(guò)程與聚合計(jì)算結(jié)果完整性。
證明本文方案基于向量?jī)?nèi)積的數(shù)字簽名算法,在梯度盲化及簽名產(chǎn)生階段使每個(gè)終端IDu都可以利用對(duì)應(yīng)的私鑰sku產(chǎn)生數(shù)字簽名。方案中的數(shù)字簽名算法滿足不可篡改性的可證明安全論證可以歸約到基于Diffie-Hellman(CDH)困難問(wèn)題假設(shè)。下面分析方案在訓(xùn)練過(guò)程中梯度模型的完整性可得到保證,即敵手試圖篡改可驗(yàn)證的梯度盲化信息或聚合梯度來(lái)通過(guò)完整性驗(yàn)證在多項(xiàng)式時(shí)間內(nèi)是計(jì)算不可行的。
Game 2假設(shè)存在惡意邊緣服務(wù)器在去盲化及聚合梯度產(chǎn)生階段試圖以不可忽視的概率替換或篡改聚合梯度y*并生成聚合簽名信息其中U1表示正常用戶集合,并且在聚合梯度正確性驗(yàn)證階段成功通過(guò)驗(yàn)證方程σ′=σ。
方案中所有算法的實(shí)現(xiàn)都在處理器Intel?CoreTMi7-11800H @2.30 GHz、圖形處理器NVIDIA GeForce RTX 3060 Laptop GPU 和運(yùn)行內(nèi)存16 GB的主機(jī)上運(yùn)行。
訓(xùn)練實(shí)驗(yàn)采用Python3.9、PyTorch 1.21.1 實(shí)現(xiàn),實(shí)驗(yàn)設(shè)置4 個(gè)訓(xùn)練 集CIFAR10、MNIST、CIFAR100、SVHN,2 個(gè)深度學(xué)習(xí)模型ResNet18 和GoogleNet。實(shí)驗(yàn)使用模型ResNet18 訓(xùn)練4 個(gè)數(shù)據(jù)集。4 個(gè)數(shù)據(jù)集等同于4 個(gè)區(qū)域中終端的本地?cái)?shù)據(jù)集,把每個(gè)區(qū)域訓(xùn)練完成的模型通過(guò)AES加密安全發(fā)送給下1個(gè)區(qū)域進(jìn)行訓(xùn)練,循環(huán)往復(fù)。同理GoogleNet模型訓(xùn)練方式同上。
密碼實(shí)驗(yàn)的計(jì)算開(kāi)銷時(shí)間都在C 語(yǔ)言環(huán)境下進(jìn)行并使用版本號(hào)為7.0.0 密碼學(xué)函數(shù)庫(kù)Miracl 和pbc-0.5.14 密碼學(xué)函數(shù)庫(kù)。Tmm表示模乘運(yùn)行時(shí)間,Tme表示模冪運(yùn)行時(shí)間,Tha表示普通哈希函數(shù)運(yùn)行時(shí)間,Tad表示模加法的運(yùn)行時(shí)間,TPRG表示偽隨機(jī)數(shù)發(fā)生器生成1 次的運(yùn)行時(shí)間。
本文將云-邊融合的可驗(yàn)證隱私保護(hù)跨域聯(lián)邦學(xué)習(xí)方案與VerSA 方案[22]和文獻(xiàn)[15]方案[15]進(jìn)行驗(yàn)證階段的計(jì)算開(kāi)銷比較。假設(shè)本文方案每個(gè)邊緣服務(wù)器負(fù)責(zé)區(qū)域下愿意貢獻(xiàn)梯度向量的終端用戶數(shù)為n,假設(shè)VerSA 方案和文獻(xiàn)[15]方案中愿意貢獻(xiàn)梯度向量的終端用戶數(shù)也是n,文獻(xiàn)[15]方案的輔助節(jié)點(diǎn)數(shù)為m并且后續(xù)沒(méi)有終端用戶退出。3 個(gè)方案梯度向量的維數(shù)是l維并且不計(jì)算初始化階段的計(jì)算開(kāi)銷。
文獻(xiàn)[15]方案中終端用戶在保護(hù)梯度隱私過(guò)程中執(zhí)行m次(Tme+Tha)運(yùn)算生成m個(gè)PRG(?)的種子,輸入m個(gè)種子生成m個(gè)l維向量并執(zhí)行l(wèi)?m次(TPRG+Tad)生成梯度的盲化向量。執(zhí)行l(wèi)次(Tad+Tmm)運(yùn)算生成簽名向量。隨后輔助節(jié)點(diǎn)執(zhí)行n次(Tme+TPRG+Tha)運(yùn)算和l?(n-1)次Tad運(yùn)算生成解盲化參數(shù),最后終端執(zhí)行l(wèi)次(Tad+Tmm)運(yùn)算驗(yàn)證聚合梯度的完整性。終端的總計(jì)算開(kāi)銷為(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運(yùn)算去除梯度的盲化值,執(zhí)行l(wèi)(n-1)次Tad運(yùn)算生成驗(yàn)證憑證。服務(wù)器端的計(jì)算開(kāi)銷為l?(2n+m-2)?Tad。
VerSA 方案終端用戶執(zhí)行n次(Tha+Tme)運(yùn)算生成n個(gè)PRG(?)的種子,執(zhí)行(n-1)次Tad運(yùn)算生成1 個(gè)驗(yàn)證種子,執(zhí)行l(wèi)?(n+1)次(TPRG+Tad)運(yùn)算生成梯度的盲化向量,輸入驗(yàn)證種子執(zhí)行2l次TPRG運(yùn)算和l次(Tmm+Tad)生成驗(yàn)證函數(shù)。執(zhí)行l(wèi)?(n+1)次(TPRG+Tad)運(yùn)算生成簽名向量,最后終端執(zhí)行2l次Tmm運(yùn)算和l次Tad運(yùn)算驗(yàn)證聚合梯度的完整性。終端的計(jì)算開(kāi)銷為n?Tme+l?(2n+4)(TPRG+Tad)+TPRG+n?Tha+3l?Tmm。服務(wù)器端執(zhí)行l(wèi)?(2n-1)次Tad運(yùn)算去除梯度的盲化值,執(zhí)行l(wèi)?(2n-1)次Tad運(yùn)算生 成驗(yàn)證憑證,服務(wù)器端的計(jì)算開(kāi)銷為(4n-2)?l?Tad。
本文方案終端用戶執(zhí)行n次(Tha+Tme)運(yùn)算生成n個(gè)PRG(?)的種子,執(zhí)行l(wèi)?n次(TPRG+Tad)運(yùn)算生 成梯度的盲化向量,輸入輔助向量種子執(zhí)行l(wèi)次TPRG生成輔助向量?;谙蛄?jī)?nèi)積執(zhí)行l(wèi)次Tmm運(yùn)算和(l-1)次Tad運(yùn)算并執(zhí)行1次Tme運(yùn)算生成簽名,最后終端執(zhí)行l(wèi)次Tmm運(yùn)算、(l-1)次Tad運(yùn)算和1次Tme運(yùn)算驗(yàn)證聚合梯度的完整性。終端的總體計(jì)算開(kāi)銷為(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運(yùn)算去除梯度的盲化值,執(zhí)行(n-1)次Tmm運(yùn)算生成驗(yàn)證憑證,服務(wù)器端的計(jì)算開(kāi)銷為l?(n-1)Tad+(n-1)?Tmm。
假設(shè)q是1 024 位的大素?cái)?shù),向量的維度l是10 000 維,用戶數(shù)n分別設(shè) 置500 個(gè)、1 000 個(gè) 和1 500 個(gè),根據(jù)文獻(xiàn)[15]方案中輔助節(jié)點(diǎn)的數(shù)量m隨著用戶數(shù)增多分別占用戶數(shù)的10%、30%和50%,則輔助節(jié)點(diǎn)m分別設(shè) 置50 個(gè)、300 個(gè)、750 個(gè)。不同方案的終端計(jì)算開(kāi)銷對(duì)比如圖4 所示。在固定向量維度的情況下,隨著終端用戶數(shù)的增加,本文方案在終端的計(jì)算開(kāi)銷是最低的。不同方案的服務(wù)器端計(jì)算開(kāi)銷對(duì)比如圖5 所示。在固定向量維度的情況下,隨著終端用戶數(shù)的增加,本文方案在服務(wù)器端的計(jì)算開(kāi)銷是最低的。綜上所述,在用戶端和服務(wù)器端,本文方案的計(jì)算開(kāi)銷都比VerSA 方案和文獻(xiàn)[15]方案低,具有顯著的性能優(yōu)勢(shì)。
圖4 不同方案的終端計(jì)算開(kāi)銷Fig.4 Terminal computional costs among different schemes
5.3.1 基于數(shù)據(jù)集訓(xùn)練次數(shù)的精度比較
在實(shí)驗(yàn)設(shè)置系統(tǒng)中每個(gè)區(qū)域的用戶有100 個(gè),使用模型ResNet18 在4 個(gè)區(qū)域分別訓(xùn)練CIFAR10、MNIST、CIFAR100 和SVHN 數(shù)據(jù)集。模型在4 個(gè)區(qū)域初始迭代訓(xùn)練15 次之后通過(guò)某種順序?qū)⑵浒l(fā)送給下1 個(gè)區(qū)域,然后接收到新模型的區(qū)域進(jìn)行新一輪的訓(xùn)練,4 個(gè)區(qū)域重新訓(xùn)練4 次。從實(shí)驗(yàn)結(jié)果中選出數(shù)據(jù)復(fù)雜度更高的CIFAR100 和SVHN,分別比較CIFAR100 和SVHN 數(shù)據(jù)集重新訓(xùn)練次數(shù)增加時(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)表明當(dāng)重新訓(xùn)練次數(shù)增加時(shí),模型收斂速度越來(lái)越快,為此比較本文方案和經(jīng)典聯(lián)邦的訓(xùn)練時(shí)間,最終本文方案模型收斂的速度比經(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)邦學(xué)習(xí)與本文方案精度比較
基于CIFAR10、MNIST、CIFAR100 和SVHN 4 個(gè)數(shù)據(jù)集,實(shí)驗(yàn)使用2 個(gè)模型ResNet18 和GoogleNet 分別進(jìn)行訓(xùn)練。在實(shí)驗(yàn)中,設(shè)置系統(tǒng)每個(gè)區(qū)域有100 個(gè)用戶,將CIFAR10 訓(xùn)練樣本平均分配給每個(gè)用戶,每個(gè)用戶得到500 個(gè)樣本,同時(shí)設(shè)置該區(qū)域的用戶本地迭代次數(shù)為2 次,全局迭代次數(shù)為10 次,重新訓(xùn)練輪數(shù)為5 次。將MNIST 訓(xùn)練樣本平均分配給每個(gè)用戶,每個(gè)用戶得到600 個(gè)樣本,同時(shí)設(shè)置該區(qū)域的用戶本地迭代次數(shù)為1 次,全局迭代次數(shù)為5 次,重新訓(xùn)練輪數(shù)為5 次。將CIFAR100 訓(xùn)練樣本平均分配給每個(gè)用戶,每個(gè)用戶得到500 個(gè)樣本,同時(shí)設(shè)置該區(qū)域的用戶本地迭代次數(shù)為2 次,全局迭代次數(shù)為15 次,重新訓(xùn)練輪數(shù)為5 次。將SVHN訓(xùn)練樣本平均分配給每個(gè)用戶,每個(gè)用戶得到730 個(gè)樣本,同時(shí)設(shè)置該區(qū)域的用戶本地迭代次數(shù)為2 次,全局迭代次數(shù)為15 次,重新訓(xùn)練輪數(shù)為5 次。
本文將經(jīng)典聯(lián)邦學(xué)習(xí)方案和本文方案的迭代次數(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 次。
每個(gè)終端用戶接受1 個(gè)預(yù)先訓(xùn)練的模型,訓(xùn)練全連接層,同時(shí)保留卷積層的參數(shù),對(duì)每個(gè)測(cè)試集的準(zhǔn)確性進(jìn)行評(píng)估。經(jīng)典聯(lián)邦學(xué)習(xí)與本文方案的訓(xùn)練精度比較如圖7 所示。圖7(a)所示為使用模型ResNet18 訓(xùn)練4 個(gè)不同的數(shù)據(jù)集,圖7(b)所示為使用模型GoogleNet 訓(xùn)練4 個(gè)不同的數(shù)據(jù)集,由于數(shù)據(jù)集(MNIST、SVHN、CIFAR10、CIFAR100)之間復(fù)雜度不同,因此不同數(shù)據(jù)集所展示的精度標(biāo)準(zhǔn)是有差異的。從圖7 可以看出,本文方案在提升收斂速度和減少訓(xùn)練時(shí)間的基礎(chǔ)上,達(dá)到與經(jīng)典聯(lián)邦學(xué)習(xí)相當(dāng)?shù)木取R虼?,本文方案在保證精度的情況下性能優(yōu)勢(shì)更加顯著。
圖7 經(jīng)典聯(lián)邦學(xué)習(xí)與本文方案訓(xùn)練精度對(duì)比Fig.7 Comparison of training accuracy between classical federated learning and the proposed schemes
本文提出云-邊融合可驗(yàn)證隱私保護(hù)跨域聯(lián)邦學(xué)習(xí)方案,其中訓(xùn)練算法旨在提高聯(lián)邦學(xué)習(xí)的穩(wěn)定性、可驗(yàn)證性和可用不可見(jiàn)性。引入掩碼技術(shù)和基于向量?jī)?nèi)積的簽名算法來(lái)構(gòu)建可驗(yàn)證的隱私保護(hù)聯(lián)邦學(xué)習(xí)。算法架構(gòu)的關(guān)鍵思想是通過(guò)區(qū)域局部輕量訓(xùn)練來(lái)解決異構(gòu)網(wǎng)絡(luò)設(shè)備計(jì)算能力參差不齊的問(wèn)題,并通過(guò)模型權(quán)重轉(zhuǎn)發(fā)使系統(tǒng)精度與經(jīng)典聯(lián)邦學(xué)習(xí)精度基本相同,在此基礎(chǔ)上還提高了模型的泛化性和收斂速度。實(shí)驗(yàn)結(jié)果表明,該方案在確保梯度模型數(shù)據(jù)跨域流通的機(jī)密性與完整性的同時(shí),保持了與經(jīng)典聯(lián)邦學(xué)習(xí)方案幾乎相同的訓(xùn)練精度,并且隨著系統(tǒng)各區(qū)域訓(xùn)練輪次的增加,模型收斂的速度平均提升了21.6%,具有更優(yōu)的泛化性。后續(xù)將設(shè)計(jì)基于余弦相似度的檢測(cè)算法來(lái)剔除惡意終端用戶,并設(shè)計(jì)支持在線終端用戶退出的系統(tǒng),從而提高系統(tǒng)的魯棒性。