姜曉宇 顧瑞春 張歡
摘 要:聯(lián)邦學(xué)習(xí)是一種革命性的深度學(xué)習(xí)模式,可以保護用戶不暴露其私有數(shù)據(jù),同時合作訓(xùn)練全局模型。然而某些客戶端的惡意行為會導(dǎo)致單點故障以及隱私泄露的風(fēng)險,使得聯(lián)邦學(xué)習(xí)的安全性面臨極大挑戰(zhàn)。為了解決上述安全問題,在現(xiàn)有研究的基礎(chǔ)上提出了一種區(qū)塊鏈賦能多邊緣聯(lián)邦學(xué)習(xí)模型。首先,通過融合區(qū)塊鏈替代中心服務(wù)器來增強模型訓(xùn)練過程的穩(wěn)定性與可靠性;其次,提出了基于邊緣計算的共識機制,以實現(xiàn)更加高效的共識流程;此外,將聲譽評估融入到聯(lián)邦學(xué)習(xí)訓(xùn)練流程中,能夠透明地衡量每一個參與者的貢獻值,規(guī)范工作節(jié)點的行為。最后通過對比實驗證明,所提方案在惡意環(huán)境下仍然能夠保持較高的準(zhǔn)確度,與傳統(tǒng)的聯(lián)邦學(xué)習(xí)算法相比,該方案能夠抵抗更高的惡意比例。
關(guān)鍵詞:人工智能; 聯(lián)邦學(xué)習(xí); 區(qū)塊鏈; 邊緣計算; 共識機制
中圖分類號:TP?? 文獻標(biāo)志碼:A?? 文章編號:1001-3695(2024)01-004-0026-06
doi:10.19734/j.issn.1001-3695.2023.05.0208
Blockchain-empowered multiple edge secure federated learning model
Abstract:Federated learning is a revolutionary deep learning model, and it enables users to train the global model cooperatively without exposing their private data. However, malicious behaviors of some clients can lead to the risk of single point of failure and privacy disclosure, which pose a serious threat to the security of federated learning. In response to the above issues, based on the existing research, this paper proposed a blockchain empowered multi edge federated learning model. Firstly, this paper proposed to use blockchain instead of central server to enhance the stability and reliability of model training process. Secondly, this paper proposed a consensus mechanism based on edge computing to achieve a more efficient consensus process. In addition, incorporating reputation assessment into the federated learning training process, it could transparently measure the contribution value of each participant and standardize the behavior of work nodes. Finally, comparative experiments show that the scheme can maintain high accuracy in the malicious environment, and can resist higher malicious ratio compared with the traditional federated learning algorithms.
Key words:artificial intelligence; federated learning; blockchain; edge computing; consensus mechanism
0 引言
隨著5G以及人工智能技術(shù)的飛速發(fā)展,移動終端設(shè)備產(chǎn)生的數(shù)據(jù)也呈爆炸式增長,鑒于對數(shù)據(jù)隱私的關(guān)注以及數(shù)據(jù)共享激勵措施的匱乏,導(dǎo)致數(shù)據(jù)孤島[1]現(xiàn)象日益嚴(yán)重,數(shù)據(jù)在各個行業(yè)內(nèi)部以“孤島”的形式存在,導(dǎo)致數(shù)據(jù)量分布極不均勻。所以,集中式的機器學(xué)習(xí)已經(jīng)不再適用于對不均勻分布的數(shù)據(jù)進行分析處理。聯(lián)邦學(xué)習(xí)(federated learning,F(xiàn)L)是一個革命性的范式,可用于跨持有本地數(shù)據(jù)集的多個用戶進行AI模型的訓(xùn)練,它能夠使多個用戶共同協(xié)作訓(xùn)練模型,并且無須將自身的私有數(shù)據(jù)共享給其他參與者,從而能夠有效解決用戶之間直接交換數(shù)據(jù)導(dǎo)致的隱私泄露和信息劫持的風(fēng)險[2]。具體而言,在FL框架中,通常是由一個中心服務(wù)器以及多個分布式的設(shè)備構(gòu)成,F(xiàn)L允許分布式用戶在本地訓(xùn)練機器學(xué)習(xí)模型,之后用戶將本地訓(xùn)練模型的參數(shù)共享給中心服務(wù)器,在該服務(wù)器中聚合生成全局模型[3]。但是中心服務(wù)器的存在又面臨著新的安全問題,主要表現(xiàn)在兩個方面:一方面,單一的中心服務(wù)器是十分脆弱的,很容易受到攻擊,因此存在單點故障的隱患,如果它受到攻擊而無法繼續(xù)工作,那么聯(lián)邦學(xué)習(xí)進程將被迫中斷[4];另一方面,其無法排除某些中心服務(wù)器自身存在惡意行為,在模型訓(xùn)練過程中,惡意的中心服務(wù)器會竊取用戶的信息,造成隱私泄露,這類惡意行為導(dǎo)致了服務(wù)器缺乏信任[5],影響FL的正常運行。
如何解決以上問題是當(dāng)前的一個研究熱點。區(qū)塊鏈具有去中心化的特點,不會因為單個節(jié)點的故障而停止工作,同時區(qū)塊鏈上的數(shù)據(jù)不受任何單個實體的控制,所以選擇融合區(qū)塊鏈技術(shù)到聯(lián)邦學(xué)習(xí)框架中,來代替中心服務(wù)器,從而起到解決單點故障以及避免惡意攻擊等作用。區(qū)塊鏈?zhǔn)且环N新興的去中心化技術(shù),提供了透明可靠的數(shù)據(jù)來源和強有力的安全保障[6],智能區(qū)塊鏈技術(shù)通過同步節(jié)點的完整賬本,確保鏈上數(shù)據(jù)的透明性,能夠在多個參與者之間建立一個可靠的信息共享渠道,智能區(qū)塊鏈技術(shù)通過自動執(zhí)行預(yù)設(shè)的智能合約代碼[7],確保系統(tǒng)內(nèi)的工作節(jié)點只要遵守協(xié)議,就能夠得到相應(yīng)的報酬。
本文在現(xiàn)有研究的基礎(chǔ)之上,提出一種區(qū)塊鏈賦能多邊緣聯(lián)邦學(xué)習(xí)模型(blockchain-empowered multiple edge federated learning,BME-FL),使用區(qū)塊鏈來解決單點故障問題。在此基礎(chǔ)上,加入了邊緣計算技術(shù),邊緣計算是一種新型的計算模型,是指在靠近數(shù)據(jù)源頭的一側(cè),采用網(wǎng)絡(luò)、計算、存儲、應(yīng)用核心能力為一體的開放平臺,就近提供最近端服務(wù)[8]。傳統(tǒng)的計算平臺很難獨立提供龐大的計算,邊緣計算以其分布式的特性使計算能力分散,有助于在大規(guī)模分散節(jié)點上的操作,實現(xiàn)去中心化計算[9]。通過邊緣計算技術(shù),能夠進一步提高區(qū)塊鏈節(jié)點間的共識效率,并且在此基礎(chǔ)上,提出了一種聲譽機制來規(guī)范工作節(jié)點的行為,在保證準(zhǔn)確度的同時提高了訓(xùn)練速度和安全性。本文的貢獻如下:a)提出了多邊緣模型下的共識機制,通過少數(shù)計算能力強的邊緣節(jié)點來執(zhí)行共識過程,而不是廣播到每個工作節(jié)點并達成共識;b)提出了聲譽機制,通過聲譽計算能夠高效地衡量出每一個工作節(jié)點的貢獻值,進而找到更為可靠的節(jié)點;c)通過實驗證明本文方案能夠在保證準(zhǔn)確度的同時,有效應(yīng)對惡意攻擊,提升聯(lián)邦學(xué)習(xí)的安全性。
1 相關(guān)工作
隨著人工智能決策技術(shù)的不斷進步,機器學(xué)習(xí)和深度學(xué)習(xí)被廣泛地應(yīng)用到許多領(lǐng)域,如自動駕駛汽車、智能醫(yī)療、地震預(yù)測[10]等。傳統(tǒng)的方法是將生成的數(shù)據(jù)傳輸?shù)皆浦?,在云中進行分析,并在高性能服務(wù)器上訓(xùn)練模型,亞馬遜網(wǎng)絡(luò)、谷歌云和Azure是比較常見的機器學(xué)習(xí)服務(wù)提供商[11]。然而,數(shù)據(jù)的隱私正成為用戶日益關(guān)注的問題。這些數(shù)據(jù)可以是非常私人的,并且是任何類型的,例如個人身份信息、支付數(shù)據(jù)和受保護的健康信息等,當(dāng)這些數(shù)據(jù)與云共享時,用戶隱私很可能會受到竊聽攻擊,并且在基于云計算的方法中又出現(xiàn)了其他問題。一方面表現(xiàn)為高延遲,因為數(shù)據(jù)可能傳輸很遠的距離才能到達云中心;另一方面表現(xiàn)為高傳輸成本,因為通過網(wǎng)絡(luò)將數(shù)據(jù)移入和移出云計算都需要巨大的運算開銷[12]。為了應(yīng)對上述挑戰(zhàn),在2016年,谷歌提出了聯(lián)邦學(xué)習(xí)[13],其目標(biāo)是在訓(xùn)練高質(zhì)量集中式模型的同時,訓(xùn)練數(shù)據(jù)仍然保存在客戶端上。近年來,許多國內(nèi)外的研究人員在聯(lián)邦學(xué)習(xí)領(lǐng)域作出了不同的貢獻,如Sun等人[14]提出了一種基于差分隱私(differential privacy,DP)的聯(lián)邦學(xué)習(xí)方案,通過DP技術(shù)提高了模型聚合時的安全性。但是,由于單點故障的原因,使得集中式的聯(lián)邦學(xué)習(xí)服務(wù)器受到了越來越多的挑戰(zhàn)和質(zhì)疑,Hegedüs等人[15]提出將數(shù)據(jù)保留在邊緣設(shè)備上,無須聚合服務(wù)器或任何中心組件。
為了解決集中式服務(wù)器的單點故障,聯(lián)邦學(xué)習(xí)與區(qū)塊鏈系統(tǒng)相結(jié)合成為了一個新興的研究熱點,區(qū)塊鏈以其高穩(wěn)定性和高安全性,成為了解決聯(lián)邦學(xué)習(xí)框架下單點故障問題的最佳方案。Li等人[16]提出了一種區(qū)塊鏈輔助的去中心化聯(lián)邦學(xué)習(xí),能夠很好地解決傳統(tǒng)FL系統(tǒng)中存在的單點故障問題,但沒有處理隱私問題。Wu等人[17]設(shè)計了一種基于區(qū)塊鏈的框架,該框架是分散的,并且可以在沒有主節(jié)點的狀態(tài)下正常運行,具有良好的隱私性和魯棒性。Short等人[18]提出了一種基于區(qū)塊鏈的防御技術(shù),簡化了學(xué)習(xí)過程,并且提出了一種增強聯(lián)邦學(xué)習(xí)安全性的技術(shù),此技術(shù)針對模型中毒的攻擊表現(xiàn)出了更高的性能,具有更高的收斂性。Kim等人[19]分析了區(qū)塊鏈框架下FL的端到端延遲,當(dāng)移動設(shè)備參與模型訓(xùn)練過程時,網(wǎng)絡(luò)延遲會嚴(yán)重影響FL的性能。在確保數(shù)據(jù)安全的前提下,邊緣計算技術(shù)被應(yīng)用到聯(lián)邦學(xué)習(xí)框架中,在網(wǎng)絡(luò)的邊緣利用聯(lián)邦學(xué)習(xí)技術(shù),充分發(fā)揮邊緣節(jié)點的計算能力,從而實現(xiàn)了更加廣泛和高效的聯(lián)邦學(xué)習(xí)。Qu等人[20]提出了一種基于霧計算和區(qū)塊鏈的聯(lián)邦學(xué)習(xí)方案,在該方案中,霧層服務(wù)器生成全局更新,在鏈上只存儲更新指針,實現(xiàn)了較低的時間延遲。邢丹等人[21]提出了一種基于區(qū)塊鏈和邊緣計算的聯(lián)邦學(xué)習(xí)框架,該系統(tǒng)具有數(shù)據(jù)認(rèn)知功能強大、穩(wěn)健性良好的優(yōu)點。
然而,以上研究都沒有解決共識效率的問題。在區(qū)塊鏈框架下,對每一個封裝塊達成共識是一個不可避免的過程,考慮到聯(lián)邦學(xué)習(xí)過程中有大量節(jié)點,因此共識機制的計算和通信成本比較高。傳統(tǒng)的共識方案是需要經(jīng)過所有工作節(jié)點共同認(rèn)證之后,才能夠上傳至區(qū)塊鏈,這種方式安全性良好,但是廣播共識非常耗時并且共識效率低,因此,降低成本是非常重要的。本文提出的基于邊緣計算的共識機制能夠解決共識效率的問題。
2 模型設(shè)計實現(xiàn)
2.1 BME-FL總體模型設(shè)計
聯(lián)邦學(xué)習(xí)使機器學(xué)習(xí)算法能夠跨多個分布式客戶端進行訓(xùn)練,無須交換其數(shù)據(jù)樣本。在原始的聯(lián)邦學(xué)習(xí)框架中,由一個集中式服務(wù)器控制訓(xùn)練過程(包括客戶端管理、全局模型維護和梯度聚合),這種方式存在著一定的安全隱患。然而在本文框架中,使用區(qū)塊鏈來代替集中式服務(wù)器,從而避免其可能會導(dǎo)致的單點故障。如上所述,原有集中式服務(wù)器的功能可以由智能合約(smart contract,SC)來實現(xiàn),并由區(qū)塊鏈上的相關(guān)交易驅(qū)動。為了解決這一問題,本文提出了一個區(qū)塊鏈賦能多邊緣安全聯(lián)邦學(xué)習(xí)框架(BME-FL),該框架無須任何集中式服務(wù)器,所有參與節(jié)點通過區(qū)塊鏈執(zhí)行聯(lián)邦學(xué)習(xí)任務(wù),由區(qū)塊鏈來維護全局模型和本地更新??紤]到聯(lián)邦學(xué)習(xí)的通信成本,本文提出了一種新型的基于邊緣計算的共識機制,使用邊緣節(jié)點將終端工作節(jié)點和區(qū)塊鏈融合在一起,并由邊緣節(jié)點來處理更新驗證和區(qū)塊生成工作。本文框架主要包含三個部分。第一部分是終端節(jié)點,主要負(fù)責(zé)模型訓(xùn)練工作,終端工作節(jié)點下載最新的全局模型,并使用本地數(shù)據(jù)集對其進行更新,生成更新參數(shù),各個節(jié)點互不干擾,獨立工作,無須共享自身的私有數(shù)據(jù)。第二部分是邊緣節(jié)點,主要負(fù)責(zé)參數(shù)驗證以及塊生成的工作,終端節(jié)點生成的參數(shù)更新需要先經(jīng)過邊緣節(jié)點的驗證之后,才能夠添加到區(qū)塊鏈上。邊緣節(jié)點具有較多的計算資源,相比于終端節(jié)點,其擁有更加強大的計算能力,能夠在一定時間內(nèi)處理更多的數(shù)據(jù)。第三部分是區(qū)塊鏈層,主要負(fù)責(zé)參數(shù)聚合工作。首先初始化全局模型,之后終端節(jié)點可以通過訪問區(qū)塊鏈來獲取最新的全局模型,生成的更新參數(shù)經(jīng)過驗證后添加到鏈上,達到閾值時開始進行模型聚合,并將新的全局模型添加到區(qū)塊鏈上,鏈上的歷史區(qū)塊可以用于故障回退,提高了安全性。具體的模型框架如圖1所示。
框架具體流程如下:
a)聯(lián)邦學(xué)習(xí)任務(wù)的模型請求者發(fā)布任務(wù)請求,并根據(jù)終端節(jié)點的屬性選擇參與本次模型訓(xùn)練工作的節(jié)點。
b)被選中的節(jié)點成為工作節(jié)點,工作節(jié)點訪問區(qū)塊鏈獲取最新的全局模型。
c)工作節(jié)點使用本地數(shù)據(jù)訓(xùn)練模型,并將生成的模型參數(shù)發(fā)送給邊緣節(jié)點進行驗證。
d)由多個邊緣節(jié)點組成的共識層對模型進行驗證。
e)驗證通過之后,邊緣節(jié)點將參數(shù)更新打包生成新的區(qū)塊,并加入到區(qū)塊鏈上。
f)當(dāng)區(qū)塊鏈上的模型參數(shù)更新達到一個閾值的時候,觸發(fā)模型聚合,生成新的全局模型,并下發(fā)給各個工作節(jié)點進行下一輪迭代。
算法1 聯(lián)邦學(xué)習(xí)算法
算法1描述了聯(lián)邦學(xué)習(xí)框架的具體流程,當(dāng)選為工作節(jié)點的客戶端使用本地數(shù)據(jù)集更新全局模型,并提交給共識層的邊緣節(jié)點進行驗證打分,得分標(biāo)準(zhǔn)為模型損失水平,損失度下降則視為作出正向貢獻,反之為負(fù)面貢獻,取驗證分?jǐn)?shù)的中位數(shù)作為本輪的精度貢獻得分。模型聚合工作由鏈上的智能合約完成,工作節(jié)點獲取最新的全局模型進行下一輪學(xué)習(xí)。最后統(tǒng)計工作節(jié)點所有的貢獻得分,得到最終的聲譽值,聲譽值同樣由正向交互和負(fù)面交互兩部分決定。算法1中工作節(jié)點的選擇流程在算法2中作出詳細(xì)的說明;算法中邊緣節(jié)點的相關(guān)工作以及基于邊緣計算的共識流程將在2.2節(jié)中詳細(xì)介紹;聲譽值計算公式將在2.3節(jié)中具體說明。
算法2 選舉算法
輸入:候選客戶端列表DList={D1,D2,…,DN},參與者個數(shù)K。
輸出:被選舉作為工作者的節(jié)點列表Ut。
if 候選客戶端數(shù)量不足K個 //當(dāng)候選人不足時,返回失敗
return FAIL
end if
for Di∈DList[]
計算當(dāng)前候選客戶端的聲譽值R
end for
候選人根據(jù)聲譽值排序
取前K個客戶端組成工作節(jié)點列表Ut
在訓(xùn)練之前,首先要選擇出參與聯(lián)邦學(xué)習(xí)任務(wù)的客戶端,模型的性能取決于參與工作的節(jié)點,因此,節(jié)點管理是框架中的關(guān)鍵部分,參與節(jié)點不僅可以訪問全局模型,還可以上傳模型更新來影響全局模型。為了控制權(quán)限,本文方案主要會根據(jù)客戶端的聲譽值來選舉工作節(jié)點。當(dāng)某個設(shè)備出現(xiàn)了不當(dāng)行為(如提交誤導(dǎo)性更新、傳播私人模型)時,該設(shè)備將會被拒絕參加聯(lián)邦學(xué)習(xí)任務(wù)。
2.2 基于邊緣計算的共識機制
共識機制是任何基于區(qū)塊鏈系統(tǒng)的主干。通常,區(qū)塊鏈系統(tǒng)的參與者遵循共識機制,就鏈上區(qū)塊的內(nèi)容達成共識[22]。區(qū)塊在添加到鏈上之前,必須經(jīng)過共識機制的驗證。由于區(qū)塊鏈上共識機制的計算和通信成本比較高,所以本文模型使用了一種基于邊緣計算的共識機制。在此設(shè)置下,邊緣節(jié)點負(fù)責(zé)驗證局部梯度和塊生成。同時,工作節(jié)點執(zhí)行本地訓(xùn)練,并將模型更新發(fā)送給相近的邊緣節(jié)點,隨后邊緣節(jié)點驗證更新并對其評分,合并各個邊緣節(jié)點的模型精度貢獻分?jǐn)?shù)后,中位數(shù)將成為此次更新的最終得分。完成得分計算之后,邊緣節(jié)點將模型更新打包成塊,上傳到區(qū)塊鏈上。由于邊緣節(jié)點可以通過各種感知設(shè)備收集數(shù)據(jù),并能夠?qū)κ占降臄?shù)據(jù)進行傳遞以及分析處理,所以在本方案中,將邊緣節(jié)點自身數(shù)據(jù)視為驗證集來驗證局部更新,模型精度貢獻作為得分。這是一種十分安全快捷的方法。一方面,邊緣節(jié)點自身強大的計算和存儲能力能夠降低共識流程的時間消耗,提高共識效率;另一方面,參與同一個聯(lián)邦學(xué)習(xí)任務(wù)的邊緣節(jié)點收集到的數(shù)據(jù)在具體內(nèi)容上互不相同,但是在格式和類型上相同,這使得驗證分?jǐn)?shù)更加可靠。共識機制的流程如圖2所示。
a)工作節(jié)點使用本地數(shù)據(jù)集訓(xùn)練模型生成局部模型梯度,并將模型更新發(fā)送給邊緣節(jié)點。
b)由邊緣節(jié)點組成的共識層對模型更新進行驗證,邊緣節(jié)點檢測自身是否具有足夠的計算資源,如果計算資源不足,則將驗證任務(wù)卸載到其他的邊緣節(jié)點。
c)如果計算資源充足,則使用自身的數(shù)據(jù)集作為驗證集來計算模型更新精度,并計算貢獻分?jǐn)?shù)。
d)計算完成之后,將模型局部更新發(fā)送給共識層中的其他邊緣節(jié)點進行驗證。合并各個邊緣節(jié)點的評分后,取中位數(shù)作為最終得分。
e)隨后邊緣節(jié)點生成新區(qū)塊并在共識層內(nèi)廣播,將生成塊交給其他邊緣節(jié)點進行驗證。
f)在獲得認(rèn)可后,即可加入到區(qū)塊鏈中,否則將其丟棄。
基于邊緣計算的共識機制的優(yōu)勢如下:
a)高效。只有少數(shù)邊緣節(jié)點參與驗證更新,而不是廣播到每個工作節(jié)點并達成協(xié)議。邊緣節(jié)點具有更強的計算能力,相比于終端節(jié)點,邊緣節(jié)點能在更短的時間延遲下完成驗證以及塊生成。當(dāng)面臨計算能力不足以完成驗證工作時,便可將計算任務(wù)卸載,交由其他邊緣節(jié)點完成。
b)反惡意。根據(jù)模型精度貢獻得分,能夠高效地衡量出每一個工作節(jié)點的貢獻值,從而找到相對誠實可靠的節(jié)點;如果某一個邊緣節(jié)點受到攻擊而無法正常工作時,整個聯(lián)邦學(xué)習(xí)進程不會因此中斷。
c)可拓展。通過邊緣計算能夠?qū)⒏嗟慕K端節(jié)點聯(lián)合起來共同訓(xùn)練模型,提高模型精度。
2.3 聲譽值計算
聯(lián)邦學(xué)習(xí)是一種通常用于知識獲取的分布式機器學(xué)習(xí),以協(xié)作方式改進全局模型,從而保護用戶數(shù)據(jù)的隱私,模型性能的提升和安全性的提升同樣重要。不可靠的工作人員可能發(fā)起惡意攻擊并發(fā)送惡意更新,所以需要通過聲譽計算來選擇誠實工作節(jié)點。本文方案不允許低于特定閾值的節(jié)點參與聯(lián)邦學(xué)習(xí)過程,并從正向以及反向兩個方面進行分析,將兩部分結(jié)合起來,確定工作節(jié)點最終的聲譽值[23]。
聲譽評估分為積極性、精確度貢獻、時效性。
a)積極性。其用H表示,積極性越高,表示互動越多,根據(jù)交互的內(nèi)容又分為正向交互p和負(fù)面交互n。計算過程如下:
其中:I表示交互總數(shù);Hp表示正向交互比例;Hn表示負(fù)面交互比例。
b)精確度貢獻。其使用A表示,模型精度的提高程度被視為影響聲譽的另一個因素。假設(shè)在第t次交互前后,模型的損失分別表示為Lt-1和Lt,則第t次交互時工作節(jié)點的精確度貢獻計算如式(3)所示。
當(dāng)模型損失降低時,Lt-1>Lt,表示更新后的模型是有用的,At>0,作出了正向的貢獻;反之,當(dāng)模型損失增加時,Lt-1 c)時效性。其用S表示,隨著訓(xùn)練過程步步推進,模型不斷更新,但是模型精度對聲譽值的貢獻不總是相同的,認(rèn)為更近的模型精度貢獻應(yīng)該占有更高的權(quán)重。時效性計算如下: 其中:Tc是當(dāng)前時間,Tt是第t次共享本地模型的時間。這是一個加權(quán)函數(shù),其中模型貢獻被視為加權(quán)因子,共同考慮模型貢獻和及時性的重要性?;訒r效性也可分為正向價值和負(fù)面價值,如式(5)(6)所示。 其中:Ap和An分別表示正向模型精確度貢獻和負(fù)面模型精確度貢獻??紤]到上述因素,那么總體聲譽的計算如式(7)所示。 R=Hp×Sp+Hn×Sn(7) 其中:R表示總體聲譽。終端節(jié)點的正向行為將增加Hp×Sp的值,它總是不小于0;相反,Hn×Sn<0,所以負(fù)面行為越多,Hn×Sn的絕對值越大。將這兩部分結(jié)合起來計算終端節(jié)點的聲譽值。 2.4 案例分析 本文將以車聯(lián)網(wǎng)(Internet of Vehicle,IoV)作為案例,對所提方案進行性能分析。 車聯(lián)網(wǎng)的出現(xiàn)旨在以協(xié)作的方式感知、計算和處理環(huán)境數(shù)據(jù),提高用戶的體驗質(zhì)量[24]。為了實現(xiàn)上述目標(biāo),需要在實時場景中通過智能設(shè)備在路邊單元和車輛之間進行數(shù)據(jù)交換。然而,在此過程中依舊存在許多安全挑戰(zhàn),以往的工作側(cè)重于車輛之間的數(shù)據(jù)共享,但大量數(shù)據(jù)會導(dǎo)致冗余傳輸和網(wǎng)絡(luò)擁堵,還會出現(xiàn)隱私泄露和數(shù)據(jù)竄改等安全隱患;此外,如果沒有相關(guān)約束條件,那么車輛提供的數(shù)據(jù)質(zhì)量也會參差不齊,造成資源浪費;最后,在復(fù)雜的IoV環(huán)境下,交易時延和通信開銷也會嚴(yán)重影響共享的實時性和可靠性。 本文方案能夠解決上述問題。首先區(qū)塊鏈與聯(lián)邦學(xué)習(xí)相結(jié)合的技術(shù)能夠有效保護車輛的隱私數(shù)據(jù),防止數(shù)據(jù)遭受竄改,車輛的隱私數(shù)據(jù)保存在本地,能夠降低數(shù)據(jù)傳輸成本,減輕通信壓力;其次,基于邊緣計算的共識機制降低了通信延時,提高了共識效率,邊緣計算技術(shù)的去中心化能夠有效降低網(wǎng)絡(luò)擁堵,提高可拓展性;最后,聲譽值機制確保了用戶上傳模型的質(zhì)量,不僅能夠激勵誠實可靠的用戶,還能夠懲罰惡意用戶,有效應(yīng)對惡意攻擊,保證聯(lián)邦學(xué)習(xí)流程順利進行,減少數(shù)據(jù)資源的浪費。 3 實驗評估 3.1 實驗環(huán)境 本文方案采用Ubuntu 20.04作為實驗的基礎(chǔ)操作系統(tǒng),在區(qū)塊鏈方面使用了FISCO區(qū)塊鏈網(wǎng)絡(luò),這是一個開源的聯(lián)盟區(qū)塊鏈平臺,通過其提供的信息端口,可以檢查事務(wù)以及智能合約的詳細(xì)情況;同時使用Solidity編程語言編寫了智能合約;學(xué)習(xí)模型使用Python 3.7.6和TensorFlow 1.14.0實現(xiàn)。在數(shù)據(jù)集方面,使用了FEMNIST[25]數(shù)據(jù)集,該數(shù)據(jù)集包含62種不同的字符類別(10種數(shù)字,26種小寫,26種大寫)的像素圖片,圖片均為28×28像素大?。ㄒ部梢赃x擇將其轉(zhuǎn)為128×128),樣本數(shù)為805 263。 本文方案中的BME-FL框架分為三層,如圖1所示。第一層為終端工作節(jié)點層,負(fù)責(zé)本地模型更新;第二層為邊緣層,負(fù)責(zé)驗證模型更新以及區(qū)塊生成工作;第三層為區(qū)塊鏈層,負(fù)責(zé)聚合更新,生成新的全局模型。在實驗中惡意攻擊類型為高斯隨機噪聲擾動攻擊[26],高斯噪聲是指它的概率密度函數(shù)服從高斯分布的一類噪聲,分布公式如式(8)所示。 3.2 方案對比 本文就以下幾個方面對聯(lián)邦學(xué)習(xí)相關(guān)方案進行對比分析,如表1所示。文獻[27]提出了一種基于FL的高命中率數(shù)據(jù)緩存方案,由于未能集成安全解決方案,所以會出現(xiàn)信任危機以及數(shù)據(jù)易被竄改的風(fēng)險;文獻[28]提出了區(qū)塊鏈框架下的聯(lián)邦學(xué)習(xí)方案,分別實現(xiàn)了工作節(jié)點的激勵以及用戶隱私保護,但是存在著系統(tǒng)延時和通信成本較高的問題;文獻[29]在基于區(qū)塊鏈的FL框架中加入了邊緣計算技術(shù),能夠緩解系統(tǒng)的延時和成本較高的問題,但是難以保證系統(tǒng)的安全性。本文方案提出多邊緣共識機制,由算力強大的邊緣節(jié)點來執(zhí)行共識流程,并在此基礎(chǔ)上加入聲譽機制來規(guī)范工作節(jié)點的行為,能夠在惡意環(huán)境下保持較高的性能,保證了方案的安全性。 3.3 實驗結(jié)果和評估 邊緣節(jié)點個數(shù)同吞吐量的關(guān)系如圖3所示。吞吐量是指接收器從發(fā)送器到達的數(shù)據(jù)總量與接收器獲得最后一個數(shù)據(jù)包所需時間的比率。從圖中可以看出,隨著邊緣節(jié)點個數(shù)的增加,系統(tǒng)的吞吐量也呈上升趨勢。在本文方案中,由于邊緣節(jié)點執(zhí)行驗證以及塊生成的工作,所以當(dāng)系統(tǒng)中有更多邊緣節(jié)點時,吞吐量也會隨之上升。但是隨著邊緣節(jié)點個數(shù)的增多,會帶來更多的通信開銷,所以吞吐量整體的上升趨勢逐漸變緩。 本文還進行了準(zhǔn)確度性能的比較。實驗將本文方案與傳統(tǒng)聯(lián)邦學(xué)習(xí)模型和獨立訓(xùn)練框架作為基線進行比較。每個框架將經(jīng)典圖像分類模型AlexNet作為全局模型。根據(jù)實驗設(shè)置,本文將每輪活動節(jié)點的比例定義為m%?;綟L的訓(xùn)練節(jié)點比例也是m%,同時,獨立訓(xùn)練將利用整個數(shù)據(jù)集。在不同m值的條件下,其性能如圖4所示。由于在BME-FL框架中引入了邊緣節(jié)點共識方案,少數(shù)的邊緣節(jié)點處理更新驗證以及塊生成工作,所以在準(zhǔn)確度性能上與傳統(tǒng)的方案相比出現(xiàn)了輕微的損失。但是,本文方案的性能一直接近基本聯(lián)邦學(xué)習(xí)框架的效果,并且其可以通過基于邊緣計算的共識機制來減少共識消耗;聲譽機制能夠提高框架的安全性。所以本方案在確保了準(zhǔn)確性的前提下,能夠有效應(yīng)對惡意攻擊,安全性良好。 最后,比較了BME-FL、傳統(tǒng)聯(lián)邦學(xué)習(xí)和文獻[32]方案在應(yīng)對惡意攻擊時的表現(xiàn),結(jié)果如圖5所示。聯(lián)邦學(xué)習(xí)框架非常容易受到系統(tǒng)內(nèi)外攻擊者的攻擊,從而損害數(shù)據(jù)隱私和系統(tǒng)穩(wěn)健性,惡意的攻擊者會在聯(lián)邦學(xué)習(xí)的各個進程中發(fā)起攻擊,從節(jié)點獲取敏感數(shù)據(jù),降低聯(lián)邦學(xué)習(xí)全局模型的準(zhǔn)確性,并使全局模型無法收斂,甚至?xí)?dǎo)致隱私數(shù)據(jù)的泄露。 如圖5所示,在本次實驗中,假設(shè)惡意節(jié)點進行高斯隨機噪聲擾動攻擊,隨著惡意節(jié)點比例的上升,后兩者的準(zhǔn)確性水平都受到了嚴(yán)重的影響,在受到惡意攻擊時,兩者都沒有作出有效的防御措施。本文方案使用了基于聲譽值計算的防御措施,根據(jù)每個工作節(jié)點的行為來計算其各自的聲譽值,使正常工作的誠實節(jié)點能夠獲得高聲譽值,通過這種手段能夠篩選出一部分可靠的工作節(jié)點,從而提高應(yīng)對攻擊的能力。 4 結(jié)束語 隨著人工智能、大數(shù)據(jù)以及物聯(lián)網(wǎng)等技術(shù)的飛速發(fā)展,使得數(shù)據(jù)量激增以及隱私泄露問題日益嚴(yán)重。于是,聯(lián)邦學(xué)習(xí)這種新型的分布式模型訓(xùn)練框架應(yīng)運而生,但是聯(lián)邦學(xué)習(xí)的安全性同樣面臨著許多的挑戰(zhàn)。惡意的聯(lián)邦學(xué)習(xí)訓(xùn)練節(jié)點會破壞全局模型,而惡意的中央服務(wù)器也會泄露節(jié)點的私有數(shù)據(jù)。為了應(yīng)對這些挑戰(zhàn),本文利用安全穩(wěn)定的區(qū)塊鏈來替代中心服務(wù)器,全局模型以及模型更新參數(shù)的維護和管理工作由部署在鏈上的智能合約完成,區(qū)塊鏈系統(tǒng)以其不可竄改和去中心化的特點,保證了模型訓(xùn)練過程的安全可靠,能夠有效避免惡意中央服務(wù)器或惡意節(jié)點的影響。本文在區(qū)塊鏈系統(tǒng)的基礎(chǔ)上,提出了基于邊緣計算的共識機制,利用計算能力更強的邊緣節(jié)點來執(zhí)行共識過程,并且在共識流程中加入了聲譽值機制。本方案從正向價值和負(fù)面價值兩方面來衡量節(jié)點的最終聲譽值,不僅能夠激勵誠實的終端節(jié)點,而且可以使惡意節(jié)點受到懲罰,從而能夠方便地找到更為安全可靠的終端節(jié)點。最后本文采用FEMNIST數(shù)據(jù)集驗證了該框架的有效性。實驗表明,本文方案在保證準(zhǔn)確度的同時,能有效應(yīng)對惡意攻擊。 參考文獻: [1]呂騰波,楊震.搭建數(shù)據(jù)孤島間的信任橋梁[J].科學(xué)中國人,2021(29):46-47.(Lyu Tengbo, Yang Zhen. Building a trust bridge between data islands[J].Scientific Chinese,2021(29):46-47.) [2]Tian Li, Kumar S A, Talwalkar A, et al. Federated learning: challenges, methods, and future directions[J].IEEE Signal Processing Magazine,2020,37(3):50-60. [3]Liu Peng, Xu Xiangru, Wang Wen. Threats, attacks and defenses to federated learning:issues, taxonomy and perspectives[J].Cybersecurity,2022,5(1):1-19. [4]李凌霄,袁莎,金銀玉.基于區(qū)塊鏈的聯(lián)邦學(xué)習(xí)技術(shù)綜述[J].計算機應(yīng)用研究,2021,38(11):3222-3230.(Li Lingxiao, Yuan Sha, Jin Yinyu. Review of blockchain-based federated learning[J].Application Research of Computers,2021,38(11):3222-3230.) [5]Karthik V, Harmon S, Sanford T, et al. Federated learning improves site performance in multicenter deep learning without data sharing[J].Journal of the American Medical Informatics Association,2021,28(6):1259-1264. [6]Nguyen D C, Pathirana P, Ding Ming, et al. Blockchain for 5G and beyond networks:a state of the art survey[J].Journal of Network and Computer Applications,2020,166:102693. [7]孫毅,范靈俊,洪學(xué)海.區(qū)塊鏈技術(shù)發(fā)展及應(yīng)用:現(xiàn)狀與挑戰(zhàn)[J].中國工程科學(xué),2018,20(2):27-32.(Sun Yi, Fan Lingjun, Hong Xuehai. Technology development and application of blockchain:current status and challenges[J].Strategic Study of Chinese Academy of Engineering,2018,20(2):27-32.) [8]Xia Xiaoyu, Chen Feifei, He Qiang, et al. Cost-effective app data distribution in edge computing[J].IEEE Trans on Parallel and Distributed Systems,2020,32(1):31-44. [9]Yuan Liang, He Qiang, Tan Siyu, et al. CoopEdge: a decentralized blockchain-based platform for cooperative edge computing[C]//Proc of Web Conference.New York:ACM Press,2021:2245-2257. [10]Wang Qianlong, Guo Yan, Yu Lixing, et al. Earthquake prediction based on spatio-temporal data mining:an LSTM network approach[J].IEEE Trans on Emerging Topics in Computing,2017,8(1):148-158. [11]Abdulrahman S, Tout H, Ould-Slimane H, et al. A survey on federated learning: the journey from centralized to distributed on-site lear-ning and beyond[J].IEEE Internet of Things Journal,2020,8(7):5476-5497. [12]Assaf A, Iishamsir A W, Muhammad M. Benefits and risks of cloud computing in e-government tasks:a systematic review[C]//Proc of E3S Web of Conferences.[S.l.]:EDP Sciences,2021:04005. [13]Konecny J, McMahan H B, Yu F X, et al. Federated learning:stra-tegies for improving communication efficiency[EB/OL].(2017-10-30).https://arxiv.org/abs/1610.05492. [14]Sun Lichao, Qian Jianwei, Chen Xun. LDP-FL:practical private aggregation in federated learning with local differential privacy[EB/OL].(2021-05-21).https://arxiv.org/abs/2007.15789. [15]Hegedüs I, Danner G, Jelasity M. Gossip learning as a decentralized alternative to federated learning[C]//Proc of IFIP International Conference on Distributed Applications and Interoperable Systems.Berlin:Springer,2019:74-90. [16]Li Jun, Shao Yumeng, Kang Wei, et al. Blockchain assisted decentralized federated learning (BLADE-FL):performance analysis and resource allocation[J].IEEE Trans on Parallel and Distributed Systems,2021,33(10):2401-2415. [17]Wu Xin, Wang Zhi, Zhao Jian, et al. FedBC: blockchain-based decentralized federated learning[C]//Proc of IEEE International Conference on Artificial Intelligence and Computer Applications.Piscataway,NJ:IEEE Press,2020:217-221. [18]Short A R, Leligou H C, Papoutsidakis M, et al. Using blockchain technologies to improve security in federated learning systems[C]//Proc of the 44th Annual Computers, Software, and Applications Conference.Piscataway,NJ:IEEE Press,2020:1183-1188. [19]Kim H, Park J, Bennis M, et al. On-device federated learning via blockchain and its latency analysis[EB/OL].(2018-08-12).https://arxiv.org/abs/1808.03949v1. [20]Qu Youyang, Gao Longxiang, Xiang Yong, et al. Decentralized privacy using blockchain-enabled federated learning in fog computing[J].IEEE Internet of Things Journal,2020,7(6):5171-5183. [21]邢丹,徐琦,姚俊明.邊緣計算環(huán)境下基于區(qū)塊鏈和聯(lián)邦學(xué)習(xí)的醫(yī)療健康數(shù)據(jù)共享模型[J].醫(yī)學(xué)信息學(xué)雜志,2021,42(2):33-37.(Xing Dan, Xu Qi, Yao Junming. Medical and health data sharing model based on blockchain and federated learning in edge computing environment[J].Journal of Medical Informatics,2021,42(2):33-37.) [22]Liu Yi, Zhao Ruihui, Kang Jiawen, et al. Towards communication-efficient and attack-resistant federated edge learning for industrial Internet of Things[J].ACM Trans on Internet Technology,2021,22(3):1-22. [23]Kang Jiawen, Xiong Zehui, Niyato D, et al. Incentive mechanism for reliable federated learning:a joint optimization approach to combining reputation and contract theory[J].IEEE Internet of Things Journal,2019,6(6):10700-10714. [24]Hammoud A, Otrok H, Mourad A, et al. On demand fog federations for horizontal federated learning in IoV[J].IEEE Trans on Network and Service Management,2022,19(3):3062-3075. [25]Caldas S, Tian Li, Konecny J, et al. Leaf: a benchmark for federated settings[EB/OL].(2019-12-09).https://arxiv.org/abs/1812.01097. [26]Kairouz P, Liu Ziyu, Steinke T. The distributed discrete Gaussian mechanism for federated learning with secure aggregation[C]//Proc of International Conference on Machine Learning.2021:5201-5212. [27]Garg N, Sellathurai M, Bhatia V, et al. Online content popularity prediction and learning in wireless edge caching[J].IEEE Trans on Communications,2020,68(2):1087-1100. [28]Weng Jiasi, Li Ming, Luo Weiqi, et al. DeepChain:auditable and privacy-preserving deep learning with blockchain-based incentive[J].IEEE Trans on Dependable and Secure Computing,2019,18(5):2438-2455. [29]Chai Haoye, Chen Yijin, Zhang Ke, et al. A hierarchical blockchain-enabled federated learning algorithm for knowledge sharing in Internet of Vehicles[J].IEEE Trans on Intelligent Transportation Systems,2020,22(7):3975-3986. [30]Lugan S, Desbordes P, Brion E, et al. Secure architectures implementing trusted coalitions for blockchained distributed learning (TCLearn)[J].IEEE Access,2019,7:181789-181799. [31]Lu Yunlong, Huang Xiaohong, Zhang Kecheng, et al. Blockchain empowered asynchronous federated learning for secure data sharing in Internet of Vehicles[J].IEEE Trans on Vehicular Technology,2020,69(4):4298-4311. [32]Dong Yin, Chen Yudong, Ramchandran K, et al. Byzantine-robust distributed learning: towards optimal statistical rates[C]//Proc of International Conference on Machine Learning.2018:5650-5659.