姜曉宇 顧瑞春 張歡



摘 要:聯(lián)邦學(xué)習(xí)是一種革命性的深度學(xué)習(xí)模式,可以保護(hù)用戶不暴露其私有數(shù)據(jù),同時(shí)合作訓(xùn)練全局模型。然而某些客戶端的惡意行為會導(dǎo)致單點(diǎn)故障以及隱私泄露的風(fēng)險(xiǎn),使得聯(lián)邦學(xué)習(xí)的安全性面臨極大挑戰(zhàn)。為了解決上述安全問題,在現(xiàn)有研究的基礎(chǔ)上提出了一種區(qū)塊鏈賦能多邊緣聯(lián)邦學(xué)習(xí)模型。首先,通過融合區(qū)塊鏈替代中心服務(wù)器來增強(qiáng)模型訓(xùn)練過程的穩(wěn)定性與可靠性;其次,提出了基于邊緣計(jì)算的共識機(jī)制,以實(shí)現(xiàn)更加高效的共識流程;此外,將聲譽(yù)評估融入到聯(lián)邦學(xué)習(xí)訓(xùn)練流程中,能夠透明地衡量每一個(gè)參與者的貢獻(xiàn)值,規(guī)范工作節(jié)點(diǎn)的行為。最后通過對比實(shí)驗(yàn)證明,所提方案在惡意環(huán)境下仍然能夠保持較高的準(zhǔn)確度,與傳統(tǒng)的聯(lián)邦學(xué)習(xí)算法相比,該方案能夠抵抗更高的惡意比例。
關(guān)鍵詞:人工智能; 聯(lián)邦學(xué)習(xí); 區(qū)塊鏈; 邊緣計(jì)算; 共識機(jī)制
中圖分類號:TP?? 文獻(xiàn)標(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ù)共享激勵(lì)措施的匱乏,導(dǎo)致數(shù)據(jù)孤島[1]現(xiàn)象日益嚴(yán)重,數(shù)據(jù)在各個(gè)行業(yè)內(nèi)部以“孤島”的形式存在,導(dǎo)致數(shù)據(jù)量分布極不均勻。所以,集中式的機(jī)器學(xué)習(xí)已經(jīng)不再適用于對不均勻分布的數(shù)據(jù)進(jìn)行分析處理。聯(lián)邦學(xué)習(xí)(federated learning,F(xiàn)L)是一個(gè)革命性的范式,可用于跨持有本地?cái)?shù)據(jù)集的多個(gè)用戶進(jìn)行AI模型的訓(xùn)練,它能夠使多個(gè)用戶共同協(xié)作訓(xùn)練模型,并且無須將自身的私有數(shù)據(jù)共享給其他參與者,從而能夠有效解決用戶之間直接交換數(shù)據(jù)導(dǎo)致的隱私泄露和信息劫持的風(fēng)險(xiǎn)[2]。具體而言,在FL框架中,通常是由一個(gè)中心服務(wù)器以及多個(gè)分布式的設(shè)備構(gòu)成,F(xiàn)L允許分布式用戶在本地訓(xùn)練機(jī)器學(xué)習(xí)模型,之后用戶將本地訓(xùn)練模型的參數(shù)共享給中心服務(wù)器,在該服務(wù)器中聚合生成全局模型[3]。但是中心服務(wù)器的存在又面臨著新的安全問題,主要表現(xiàn)在兩個(gè)方面:一方面,單一的中心服務(wù)器是十分脆弱的,很容易受到攻擊,因此存在單點(diǎn)故障的隱患,如果它受到攻擊而無法繼續(xù)工作,那么聯(lián)邦學(xué)習(xí)進(jìn)程將被迫中斷[4];另一方面,其無法排除某些中心服務(wù)器自身存在惡意行為,在模型訓(xùn)練過程中,惡意的中心服務(wù)器會竊取用戶的信息,造成隱私泄露,這類惡意行為導(dǎo)致了服務(wù)器缺乏信任[5],影響FL的正常運(yùn)行。
如何解決以上問題是當(dāng)前的一個(gè)研究熱點(diǎn)。區(qū)塊鏈具有去中心化的特點(diǎn),不會因?yàn)閱蝹€(gè)節(jié)點(diǎn)的故障而停止工作,同時(shí)區(qū)塊鏈上的數(shù)據(jù)不受任何單個(gè)實(shí)體的控制,所以選擇融合區(qū)塊鏈技術(shù)到聯(lián)邦學(xué)習(xí)框架中,來代替中心服務(wù)器,從而起到解決單點(diǎn)故障以及避免惡意攻擊等作用。區(qū)塊鏈?zhǔn)且环N新興的去中心化技術(shù),提供了透明可靠的數(shù)據(jù)來源和強(qiáng)有力的安全保障[6],智能區(qū)塊鏈技術(shù)通過同步節(jié)點(diǎn)的完整賬本,確保鏈上數(shù)據(jù)的透明性,能夠在多個(gè)參與者之間建立一個(gè)可靠的信息共享渠道,智能區(qū)塊鏈技術(shù)通過自動執(zhí)行預(yù)設(shè)的智能合約代碼[7],確保系統(tǒng)內(nèi)的工作節(jié)點(diǎn)只要遵守協(xié)議,就能夠得到相應(yīng)的報(bào)酬。
本文在現(xiàn)有研究的基礎(chǔ)之上,提出一種區(qū)塊鏈賦能多邊緣聯(lián)邦學(xué)習(xí)模型(blockchain-empowered multiple edge federated learning,BME-FL),使用區(qū)塊鏈來解決單點(diǎn)故障問題。在此基礎(chǔ)上,加入了邊緣計(jì)算技術(shù),邊緣計(jì)算是一種新型的計(jì)算模型,是指在靠近數(shù)據(jù)源頭的一側(cè),采用網(wǎng)絡(luò)、計(jì)算、存儲、應(yīng)用核心能力為一體的開放平臺,就近提供最近端服務(wù)[8]。傳統(tǒng)的計(jì)算平臺很難獨(dú)立提供龐大的計(jì)算,邊緣計(jì)算以其分布式的特性使計(jì)算能力分散,有助于在大規(guī)模分散節(jié)點(diǎn)上的操作,實(shí)現(xiàn)去中心化計(jì)算[9]。通過邊緣計(jì)算技術(shù),能夠進(jìn)一步提高區(qū)塊鏈節(jié)點(diǎn)間的共識效率,并且在此基礎(chǔ)上,提出了一種聲譽(yù)機(jī)制來規(guī)范工作節(jié)點(diǎn)的行為,在保證準(zhǔn)確度的同時(shí)提高了訓(xùn)練速度和安全性。本文的貢獻(xiàn)如下:a)提出了多邊緣模型下的共識機(jī)制,通過少數(shù)計(jì)算能力強(qiáng)的邊緣節(jié)點(diǎn)來執(zhí)行共識過程,而不是廣播到每個(gè)工作節(jié)點(diǎn)并達(dá)成共識;b)提出了聲譽(yù)機(jī)制,通過聲譽(yù)計(jì)算能夠高效地衡量出每一個(gè)工作節(jié)點(diǎn)的貢獻(xiàn)值,進(jìn)而找到更為可靠的節(jié)點(diǎn);c)通過實(shí)驗(yàn)證明本文方案能夠在保證準(zhǔn)確度的同時(shí),有效應(yīng)對惡意攻擊,提升聯(lián)邦學(xué)習(xí)的安全性。
1 相關(guān)工作
隨著人工智能決策技術(shù)的不斷進(jìn)步,機(jī)器學(xué)習(xí)和深度學(xué)習(xí)被廣泛地應(yīng)用到許多領(lǐng)域,如自動駕駛汽車、智能醫(yī)療、地震預(yù)測[10]等。傳統(tǒng)的方法是將生成的數(shù)據(jù)傳輸?shù)皆浦校谠浦羞M(jìn)行分析,并在高性能服務(wù)器上訓(xùn)練模型,亞馬遜網(wǎng)絡(luò)、谷歌云和Azure是比較常見的機(jī)器學(xué)習(xí)服務(wù)提供商[11]。然而,數(shù)據(jù)的隱私正成為用戶日益關(guān)注的問題。這些數(shù)據(jù)可以是非常私人的,并且是任何類型的,例如個(gè)人身份信息、支付數(shù)據(jù)和受保護(hù)的健康信息等,當(dāng)這些數(shù)據(jù)與云共享時(shí),用戶隱私很可能會受到竊聽攻擊,并且在基于云計(jì)算的方法中又出現(xiàn)了其他問題。一方面表現(xiàn)為高延遲,因?yàn)閿?shù)據(jù)可能傳輸很遠(yuǎn)的距離才能到達(dá)云中心;另一方面表現(xiàn)為高傳輸成本,因?yàn)橥ㄟ^網(wǎng)絡(luò)將數(shù)據(jù)移入和移出云計(jì)算都需要巨大的運(yùn)算開銷[12]。為了應(yīng)對上述挑戰(zhàn),在2016年,谷歌提出了聯(lián)邦學(xué)習(xí)[13],其目標(biāo)是在訓(xùn)練高質(zhì)量集中式模型的同時(shí),訓(xùn)練數(shù)據(jù)仍然保存在客戶端上。近年來,許多國內(nèi)外的研究人員在聯(lián)邦學(xué)習(xí)領(lǐng)域作出了不同的貢獻(xiàn),如Sun等人[14]提出了一種基于差分隱私(differential privacy,DP)的聯(lián)邦學(xué)習(xí)方案,通過DP技術(shù)提高了模型聚合時(shí)的安全性。但是,由于單點(diǎn)故障的原因,使得集中式的聯(lián)邦學(xué)習(xí)服務(wù)器受到了越來越多的挑戰(zhàn)和質(zhì)疑,Hegedüs等人[15]提出將數(shù)據(jù)保留在邊緣設(shè)備上,無須聚合服務(wù)器或任何中心組件。
為了解決集中式服務(wù)器的單點(diǎn)故障,聯(lián)邦學(xué)習(xí)與區(qū)塊鏈系統(tǒng)相結(jié)合成為了一個(gè)新興的研究熱點(diǎn),區(qū)塊鏈以其高穩(wěn)定性和高安全性,成為了解決聯(lián)邦學(xué)習(xí)框架下單點(diǎn)故障問題的最佳方案。Li等人[16]提出了一種區(qū)塊鏈輔助的去中心化聯(lián)邦學(xué)習(xí),能夠很好地解決傳統(tǒng)FL系統(tǒng)中存在的單點(diǎn)故障問題,但沒有處理隱私問題。Wu等人[17]設(shè)計(jì)了一種基于區(qū)塊鏈的框架,該框架是分散的,并且可以在沒有主節(jié)點(diǎn)的狀態(tài)下正常運(yùn)行,具有良好的隱私性和魯棒性。Short等人[18]提出了一種基于區(qū)塊鏈的防御技術(shù),簡化了學(xué)習(xí)過程,并且提出了一種增強(qiáng)聯(lián)邦學(xué)習(xí)安全性的技術(shù),此技術(shù)針對模型中毒的攻擊表現(xiàn)出了更高的性能,具有更高的收斂性。Kim等人[19]分析了區(qū)塊鏈框架下FL的端到端延遲,當(dāng)移動設(shè)備參與模型訓(xùn)練過程時(shí),網(wǎng)絡(luò)延遲會嚴(yán)重影響FL的性能。在確保數(shù)據(jù)安全的前提下,邊緣計(jì)算技術(shù)被應(yīng)用到聯(lián)邦學(xué)習(xí)框架中,在網(wǎng)絡(luò)的邊緣利用聯(lián)邦學(xué)習(xí)技術(shù),充分發(fā)揮邊緣節(jié)點(diǎn)的計(jì)算能力,從而實(shí)現(xiàn)了更加廣泛和高效的聯(lián)邦學(xué)習(xí)。Qu等人[20]提出了一種基于霧計(jì)算和區(qū)塊鏈的聯(lián)邦學(xué)習(xí)方案,在該方案中,霧層服務(wù)器生成全局更新,在鏈上只存儲更新指針,實(shí)現(xiàn)了較低的時(shí)間延遲。邢丹等人[21]提出了一種基于區(qū)塊鏈和邊緣計(jì)算的聯(lián)邦學(xué)習(xí)框架,該系統(tǒng)具有數(shù)據(jù)認(rèn)知功能強(qiáng)大、穩(wěn)健性良好的優(yōu)點(diǎn)。
然而,以上研究都沒有解決共識效率的問題。在區(qū)塊鏈框架下,對每一個(gè)封裝塊達(dá)成共識是一個(gè)不可避免的過程,考慮到聯(lián)邦學(xué)習(xí)過程中有大量節(jié)點(diǎn),因此共識機(jī)制的計(jì)算和通信成本比較高。傳統(tǒng)的共識方案是需要經(jīng)過所有工作節(jié)點(diǎn)共同認(rèn)證之后,才能夠上傳至區(qū)塊鏈,這種方式安全性良好,但是廣播共識非常耗時(shí)并且共識效率低,因此,降低成本是非常重要的。本文提出的基于邊緣計(jì)算的共識機(jī)制能夠解決共識效率的問題。
2 模型設(shè)計(jì)實(shí)現(xiàn)
2.1 BME-FL總體模型設(shè)計(jì)
聯(lián)邦學(xué)習(xí)使機(jī)器學(xué)習(xí)算法能夠跨多個(gè)分布式客戶端進(jìn)行訓(xùn)練,無須交換其數(shù)據(jù)樣本。在原始的聯(lián)邦學(xué)習(xí)框架中,由一個(gè)集中式服務(wù)器控制訓(xùn)練過程(包括客戶端管理、全局模型維護(hù)和梯度聚合),這種方式存在著一定的安全隱患。然而在本文框架中,使用區(qū)塊鏈來代替集中式服務(wù)器,從而避免其可能會導(dǎo)致的單點(diǎn)故障。如上所述,原有集中式服務(wù)器的功能可以由智能合約(smart contract,SC)來實(shí)現(xiàn),并由區(qū)塊鏈上的相關(guān)交易驅(qū)動。為了解決這一問題,本文提出了一個(gè)區(qū)塊鏈賦能多邊緣安全聯(lián)邦學(xué)習(xí)框架(BME-FL),該框架無須任何集中式服務(wù)器,所有參與節(jié)點(diǎn)通過區(qū)塊鏈執(zhí)行聯(lián)邦學(xué)習(xí)任務(wù),由區(qū)塊鏈來維護(hù)全局模型和本地更新。考慮到聯(lián)邦學(xué)習(xí)的通信成本,本文提出了一種新型的基于邊緣計(jì)算的共識機(jī)制,使用邊緣節(jié)點(diǎn)將終端工作節(jié)點(diǎn)和區(qū)塊鏈融合在一起,并由邊緣節(jié)點(diǎn)來處理更新驗(yàn)證和區(qū)塊生成工作。本文框架主要包含三個(gè)部分。第一部分是終端節(jié)點(diǎn),主要負(fù)責(zé)模型訓(xùn)練工作,終端工作節(jié)點(diǎn)下載最新的全局模型,并使用本地?cái)?shù)據(jù)集對其進(jìn)行更新,生成更新參數(shù),各個(gè)節(jié)點(diǎn)互不干擾,獨(dú)立工作,無須共享自身的私有數(shù)據(jù)。第二部分是邊緣節(jié)點(diǎn),主要負(fù)責(zé)參數(shù)驗(yàn)證以及塊生成的工作,終端節(jié)點(diǎn)生成的參數(shù)更新需要先經(jīng)過邊緣節(jié)點(diǎn)的驗(yàn)證之后,才能夠添加到區(qū)塊鏈上。邊緣節(jié)點(diǎn)具有較多的計(jì)算資源,相比于終端節(jié)點(diǎn),其擁有更加強(qiáng)大的計(jì)算能力,能夠在一定時(shí)間內(nèi)處理更多的數(shù)據(jù)。第三部分是區(qū)塊鏈層,主要負(fù)責(zé)參數(shù)聚合工作。首先初始化全局模型,之后終端節(jié)點(diǎn)可以通過訪問區(qū)塊鏈來獲取最新的全局模型,生成的更新參數(shù)經(jīng)過驗(yàn)證后添加到鏈上,達(dá)到閾值時(shí)開始進(jìn)行模型聚合,并將新的全局模型添加到區(qū)塊鏈上,鏈上的歷史區(qū)塊可以用于故障回退,提高了安全性。具體的模型框架如圖1所示。
框架具體流程如下:
a)聯(lián)邦學(xué)習(xí)任務(wù)的模型請求者發(fā)布任務(wù)請求,并根據(jù)終端節(jié)點(diǎn)的屬性選擇參與本次模型訓(xùn)練工作的節(jié)點(diǎn)。
b)被選中的節(jié)點(diǎn)成為工作節(jié)點(diǎn),工作節(jié)點(diǎn)訪問區(qū)塊鏈獲取最新的全局模型。
c)工作節(jié)點(diǎn)使用本地?cái)?shù)據(jù)訓(xùn)練模型,并將生成的模型參數(shù)發(fā)送給邊緣節(jié)點(diǎn)進(jìn)行驗(yàn)證。
d)由多個(gè)邊緣節(jié)點(diǎn)組成的共識層對模型進(jìn)行驗(yàn)證。
e)驗(yàn)證通過之后,邊緣節(jié)點(diǎn)將參數(shù)更新打包生成新的區(qū)塊,并加入到區(qū)塊鏈上。
f)當(dāng)區(qū)塊鏈上的模型參數(shù)更新達(dá)到一個(gè)閾值的時(shí)候,觸發(fā)模型聚合,生成新的全局模型,并下發(fā)給各個(gè)工作節(jié)點(diǎn)進(jìn)行下一輪迭代。
算法1 聯(lián)邦學(xué)習(xí)算法
算法1描述了聯(lián)邦學(xué)習(xí)框架的具體流程,當(dāng)選為工作節(jié)點(diǎn)的客戶端使用本地?cái)?shù)據(jù)集更新全局模型,并提交給共識層的邊緣節(jié)點(diǎn)進(jìn)行驗(yàn)證打分,得分標(biāo)準(zhǔn)為模型損失水平,損失度下降則視為作出正向貢獻(xiàn),反之為負(fù)面貢獻(xiàn),取驗(yàn)證分?jǐn)?shù)的中位數(shù)作為本輪的精度貢獻(xiàn)得分。模型聚合工作由鏈上的智能合約完成,工作節(jié)點(diǎn)獲取最新的全局模型進(jìn)行下一輪學(xué)習(xí)。最后統(tǒng)計(jì)工作節(jié)點(diǎn)所有的貢獻(xiàn)得分,得到最終的聲譽(yù)值,聲譽(yù)值同樣由正向交互和負(fù)面交互兩部分決定。算法1中工作節(jié)點(diǎn)的選擇流程在算法2中作出詳細(xì)的說明;算法中邊緣節(jié)點(diǎn)的相關(guān)工作以及基于邊緣計(jì)算的共識流程將在2.2節(jié)中詳細(xì)介紹;聲譽(yù)值計(jì)算公式將在2.3節(jié)中具體說明。
算法2 選舉算法
輸入:候選客戶端列表DList={D1,D2,…,DN},參與者個(gè)數(shù)K。
輸出:被選舉作為工作者的節(jié)點(diǎn)列表Ut。
if 候選客戶端數(shù)量不足K個(gè) //當(dāng)候選人不足時(shí),返回失敗
return FAIL
end if
for Di∈DList[]
計(jì)算當(dāng)前候選客戶端的聲譽(yù)值R
end for
候選人根據(jù)聲譽(yù)值排序
取前K個(gè)客戶端組成工作節(jié)點(diǎn)列表Ut
在訓(xùn)練之前,首先要選擇出參與聯(lián)邦學(xué)習(xí)任務(wù)的客戶端,模型的性能取決于參與工作的節(jié)點(diǎn),因此,節(jié)點(diǎn)管理是框架中的關(guān)鍵部分,參與節(jié)點(diǎn)不僅可以訪問全局模型,還可以上傳模型更新來影響全局模型。為了控制權(quán)限,本文方案主要會根據(jù)客戶端的聲譽(yù)值來選舉工作節(jié)點(diǎn)。當(dāng)某個(gè)設(shè)備出現(xiàn)了不當(dāng)行為(如提交誤導(dǎo)性更新、傳播私人模型)時(shí),該設(shè)備將會被拒絕參加聯(lián)邦學(xué)習(xí)任務(wù)。
2.2 基于邊緣計(jì)算的共識機(jī)制
共識機(jī)制是任何基于區(qū)塊鏈系統(tǒng)的主干。通常,區(qū)塊鏈系統(tǒng)的參與者遵循共識機(jī)制,就鏈上區(qū)塊的內(nèi)容達(dá)成共識[22]。區(qū)塊在添加到鏈上之前,必須經(jīng)過共識機(jī)制的驗(yàn)證。由于區(qū)塊鏈上共識機(jī)制的計(jì)算和通信成本比較高,所以本文模型使用了一種基于邊緣計(jì)算的共識機(jī)制。在此設(shè)置下,邊緣節(jié)點(diǎn)負(fù)責(zé)驗(yàn)證局部梯度和塊生成。同時(shí),工作節(jié)點(diǎn)執(zhí)行本地訓(xùn)練,并將模型更新發(fā)送給相近的邊緣節(jié)點(diǎn),隨后邊緣節(jié)點(diǎn)驗(yàn)證更新并對其評分,合并各個(gè)邊緣節(jié)點(diǎn)的模型精度貢獻(xiàn)分?jǐn)?shù)后,中位數(shù)將成為此次更新的最終得分。完成得分計(jì)算之后,邊緣節(jié)點(diǎn)將模型更新打包成塊,上傳到區(qū)塊鏈上。由于邊緣節(jié)點(diǎn)可以通過各種感知設(shè)備收集數(shù)據(jù),并能夠?qū)κ占降臄?shù)據(jù)進(jìn)行傳遞以及分析處理,所以在本方案中,將邊緣節(jié)點(diǎn)自身數(shù)據(jù)視為驗(yàn)證集來驗(yàn)證局部更新,模型精度貢獻(xiàn)作為得分。這是一種十分安全快捷的方法。一方面,邊緣節(jié)點(diǎn)自身強(qiáng)大的計(jì)算和存儲能力能夠降低共識流程的時(shí)間消耗,提高共識效率;另一方面,參與同一個(gè)聯(lián)邦學(xué)習(xí)任務(wù)的邊緣節(jié)點(diǎn)收集到的數(shù)據(jù)在具體內(nèi)容上互不相同,但是在格式和類型上相同,這使得驗(yàn)證分?jǐn)?shù)更加可靠。共識機(jī)制的流程如圖2所示。
a)工作節(jié)點(diǎn)使用本地?cái)?shù)據(jù)集訓(xùn)練模型生成局部模型梯度,并將模型更新發(fā)送給邊緣節(jié)點(diǎn)。
b)由邊緣節(jié)點(diǎn)組成的共識層對模型更新進(jìn)行驗(yàn)證,邊緣節(jié)點(diǎn)檢測自身是否具有足夠的計(jì)算資源,如果計(jì)算資源不足,則將驗(yàn)證任務(wù)卸載到其他的邊緣節(jié)點(diǎn)。
c)如果計(jì)算資源充足,則使用自身的數(shù)據(jù)集作為驗(yàn)證集來計(jì)算模型更新精度,并計(jì)算貢獻(xiàn)分?jǐn)?shù)。
d)計(jì)算完成之后,將模型局部更新發(fā)送給共識層中的其他邊緣節(jié)點(diǎn)進(jìn)行驗(yàn)證。合并各個(gè)邊緣節(jié)點(diǎn)的評分后,取中位數(shù)作為最終得分。
e)隨后邊緣節(jié)點(diǎn)生成新區(qū)塊并在共識層內(nèi)廣播,將生成塊交給其他邊緣節(jié)點(diǎn)進(jìn)行驗(yàn)證。
f)在獲得認(rèn)可后,即可加入到區(qū)塊鏈中,否則將其丟棄。
基于邊緣計(jì)算的共識機(jī)制的優(yōu)勢如下:
a)高效。只有少數(shù)邊緣節(jié)點(diǎn)參與驗(yàn)證更新,而不是廣播到每個(gè)工作節(jié)點(diǎn)并達(dá)成協(xié)議。邊緣節(jié)點(diǎn)具有更強(qiáng)的計(jì)算能力,相比于終端節(jié)點(diǎn),邊緣節(jié)點(diǎn)能在更短的時(shí)間延遲下完成驗(yàn)證以及塊生成。當(dāng)面臨計(jì)算能力不足以完成驗(yàn)證工作時(shí),便可將計(jì)算任務(wù)卸載,交由其他邊緣節(jié)點(diǎn)完成。
b)反惡意。根據(jù)模型精度貢獻(xiàn)得分,能夠高效地衡量出每一個(gè)工作節(jié)點(diǎn)的貢獻(xiàn)值,從而找到相對誠實(shí)可靠的節(jié)點(diǎn);如果某一個(gè)邊緣節(jié)點(diǎn)受到攻擊而無法正常工作時(shí),整個(gè)聯(lián)邦學(xué)習(xí)進(jìn)程不會因此中斷。
c)可拓展。通過邊緣計(jì)算能夠?qū)⒏嗟慕K端節(jié)點(diǎn)聯(lián)合起來共同訓(xùn)練模型,提高模型精度。
2.3 聲譽(yù)值計(jì)算
聯(lián)邦學(xué)習(xí)是一種通常用于知識獲取的分布式機(jī)器學(xué)習(xí),以協(xié)作方式改進(jìn)全局模型,從而保護(hù)用戶數(shù)據(jù)的隱私,模型性能的提升和安全性的提升同樣重要。不可靠的工作人員可能發(fā)起惡意攻擊并發(fā)送惡意更新,所以需要通過聲譽(yù)計(jì)算來選擇誠實(shí)工作節(jié)點(diǎn)。本文方案不允許低于特定閾值的節(jié)點(diǎn)參與聯(lián)邦學(xué)習(xí)過程,并從正向以及反向兩個(gè)方面進(jìn)行分析,將兩部分結(jié)合起來,確定工作節(jié)點(diǎn)最終的聲譽(yù)值[23]。
聲譽(yù)評估分為積極性、精確度貢獻(xiàn)、時(shí)效性。
a)積極性。其用H表示,積極性越高,表示互動越多,根據(jù)交互的內(nèi)容又分為正向交互p和負(fù)面交互n。計(jì)算過程如下:
其中:I表示交互總數(shù);Hp表示正向交互比例;Hn表示負(fù)面交互比例。
b)精確度貢獻(xiàn)。其使用A表示,模型精度的提高程度被視為影響聲譽(yù)的另一個(gè)因素。假設(shè)在第t次交互前后,模型的損失分別表示為Lt-1和Lt,則第t次交互時(shí)工作節(jié)點(diǎn)的精確度貢獻(xiàn)計(jì)算如式(3)所示。
當(dāng)模型損失降低時(shí),Lt-1>Lt,表示更新后的模型是有用的,At>0,作出了正向的貢獻(xiàn);反之,當(dāng)模型損失增加時(shí),Lt-1 c)時(shí)效性。其用S表示,隨著訓(xùn)練過程步步推進(jìn),模型不斷更新,但是模型精度對聲譽(yù)值的貢獻(xiàn)不總是相同的,認(rèn)為更近的模型精度貢獻(xiàn)應(yīng)該占有更高的權(quán)重。時(shí)效性計(jì)算如下: 其中:Tc是當(dāng)前時(shí)間,Tt是第t次共享本地模型的時(shí)間。這是一個(gè)加權(quán)函數(shù),其中模型貢獻(xiàn)被視為加權(quán)因子,共同考慮模型貢獻(xiàn)和及時(shí)性的重要性。互動時(shí)效性也可分為正向價(jià)值和負(fù)面價(jià)值,如式(5)(6)所示。 其中:Ap和An分別表示正向模型精確度貢獻(xiàn)和負(fù)面模型精確度貢獻(xiàn)。考慮到上述因素,那么總體聲譽(yù)的計(jì)算如式(7)所示。 R=Hp×Sp+Hn×Sn(7) 其中:R表示總體聲譽(yù)。終端節(jié)點(diǎn)的正向行為將增加Hp×Sp的值,它總是不小于0;相反,Hn×Sn<0,所以負(fù)面行為越多,Hn×Sn的絕對值越大。將這兩部分結(jié)合起來計(jì)算終端節(jié)點(diǎn)的聲譽(yù)值。 2.4 案例分析 本文將以車聯(lián)網(wǎng)(Internet of Vehicle,IoV)作為案例,對所提方案進(jìn)行性能分析。 車聯(lián)網(wǎng)的出現(xiàn)旨在以協(xié)作的方式感知、計(jì)算和處理環(huán)境數(shù)據(jù),提高用戶的體驗(yàn)質(zhì)量[24]。為了實(shí)現(xiàn)上述目標(biāo),需要在實(shí)時(shí)場景中通過智能設(shè)備在路邊單元和車輛之間進(jìn)行數(shù)據(jù)交換。然而,在此過程中依舊存在許多安全挑戰(zhàn),以往的工作側(cè)重于車輛之間的數(shù)據(jù)共享,但大量數(shù)據(jù)會導(dǎo)致冗余傳輸和網(wǎng)絡(luò)擁堵,還會出現(xiàn)隱私泄露和數(shù)據(jù)竄改等安全隱患;此外,如果沒有相關(guān)約束條件,那么車輛提供的數(shù)據(jù)質(zhì)量也會參差不齊,造成資源浪費(fèi);最后,在復(fù)雜的IoV環(huán)境下,交易時(shí)延和通信開銷也會嚴(yán)重影響共享的實(shí)時(shí)性和可靠性。 本文方案能夠解決上述問題。首先區(qū)塊鏈與聯(lián)邦學(xué)習(xí)相結(jié)合的技術(shù)能夠有效保護(hù)車輛的隱私數(shù)據(jù),防止數(shù)據(jù)遭受竄改,車輛的隱私數(shù)據(jù)保存在本地,能夠降低數(shù)據(jù)傳輸成本,減輕通信壓力;其次,基于邊緣計(jì)算的共識機(jī)制降低了通信延時(shí),提高了共識效率,邊緣計(jì)算技術(shù)的去中心化能夠有效降低網(wǎng)絡(luò)擁堵,提高可拓展性;最后,聲譽(yù)值機(jī)制確保了用戶上傳模型的質(zhì)量,不僅能夠激勵(lì)誠實(shí)可靠的用戶,還能夠懲罰惡意用戶,有效應(yīng)對惡意攻擊,保證聯(lián)邦學(xué)習(xí)流程順利進(jìn)行,減少數(shù)據(jù)資源的浪費(fèi)。 3 實(shí)驗(yàn)評估 3.1 實(shí)驗(yàn)環(huán)境 本文方案采用Ubuntu 20.04作為實(shí)驗(yàn)的基礎(chǔ)操作系統(tǒng),在區(qū)塊鏈方面使用了FISCO區(qū)塊鏈網(wǎng)絡(luò),這是一個(gè)開源的聯(lián)盟區(qū)塊鏈平臺,通過其提供的信息端口,可以檢查事務(wù)以及智能合約的詳細(xì)情況;同時(shí)使用Solidity編程語言編寫了智能合約;學(xué)習(xí)模型使用Python 3.7.6和TensorFlow 1.14.0實(shí)現(xiàn)。在數(shù)據(jù)集方面,使用了FEMNIST[25]數(shù)據(jù)集,該數(shù)據(jù)集包含62種不同的字符類別(10種數(shù)字,26種小寫,26種大寫)的像素圖片,圖片均為28×28像素大小(也可以選擇將其轉(zhuǎn)為128×128),樣本數(shù)為805 263。 本文方案中的BME-FL框架分為三層,如圖1所示。第一層為終端工作節(jié)點(diǎn)層,負(fù)責(zé)本地模型更新;第二層為邊緣層,負(fù)責(zé)驗(yàn)證模型更新以及區(qū)塊生成工作;第三層為區(qū)塊鏈層,負(fù)責(zé)聚合更新,生成新的全局模型。在實(shí)驗(yàn)中惡意攻擊類型為高斯隨機(jī)噪聲擾動攻擊[26],高斯噪聲是指它的概率密度函數(shù)服從高斯分布的一類噪聲,分布公式如式(8)所示。 3.2 方案對比 本文就以下幾個(gè)方面對聯(lián)邦學(xué)習(xí)相關(guān)方案進(jìn)行對比分析,如表1所示。文獻(xiàn)[27]提出了一種基于FL的高命中率數(shù)據(jù)緩存方案,由于未能集成安全解決方案,所以會出現(xiàn)信任危機(jī)以及數(shù)據(jù)易被竄改的風(fēng)險(xiǎn);文獻(xiàn)[28]提出了區(qū)塊鏈框架下的聯(lián)邦學(xué)習(xí)方案,分別實(shí)現(xiàn)了工作節(jié)點(diǎn)的激勵(lì)以及用戶隱私保護(hù),但是存在著系統(tǒng)延時(shí)和通信成本較高的問題;文獻(xiàn)[29]在基于區(qū)塊鏈的FL框架中加入了邊緣計(jì)算技術(shù),能夠緩解系統(tǒng)的延時(shí)和成本較高的問題,但是難以保證系統(tǒng)的安全性。本文方案提出多邊緣共識機(jī)制,由算力強(qiáng)大的邊緣節(jié)點(diǎn)來執(zhí)行共識流程,并在此基礎(chǔ)上加入聲譽(yù)機(jī)制來規(guī)范工作節(jié)點(diǎn)的行為,能夠在惡意環(huán)境下保持較高的性能,保證了方案的安全性。 3.3 實(shí)驗(yàn)結(jié)果和評估 邊緣節(jié)點(diǎn)個(gè)數(shù)同吞吐量的關(guān)系如圖3所示。吞吐量是指接收器從發(fā)送器到達(dá)的數(shù)據(jù)總量與接收器獲得最后一個(gè)數(shù)據(jù)包所需時(shí)間的比率。從圖中可以看出,隨著邊緣節(jié)點(diǎn)個(gè)數(shù)的增加,系統(tǒng)的吞吐量也呈上升趨勢。在本文方案中,由于邊緣節(jié)點(diǎn)執(zhí)行驗(yàn)證以及塊生成的工作,所以當(dāng)系統(tǒng)中有更多邊緣節(jié)點(diǎn)時(shí),吞吐量也會隨之上升。但是隨著邊緣節(jié)點(diǎn)個(gè)數(shù)的增多,會帶來更多的通信開銷,所以吞吐量整體的上升趨勢逐漸變緩。 本文還進(jìn)行了準(zhǔn)確度性能的比較。實(shí)驗(yàn)將本文方案與傳統(tǒng)聯(lián)邦學(xué)習(xí)模型和獨(dú)立訓(xùn)練框架作為基線進(jìn)行比較。每個(gè)框架將經(jīng)典圖像分類模型AlexNet作為全局模型。根據(jù)實(shí)驗(yàn)設(shè)置,本文將每輪活動節(jié)點(diǎn)的比例定義為m%。基本FL的訓(xùn)練節(jié)點(diǎn)比例也是m%,同時(shí),獨(dú)立訓(xùn)練將利用整個(gè)數(shù)據(jù)集。在不同m值的條件下,其性能如圖4所示。由于在BME-FL框架中引入了邊緣節(jié)點(diǎn)共識方案,少數(shù)的邊緣節(jié)點(diǎn)處理更新驗(yàn)證以及塊生成工作,所以在準(zhǔn)確度性能上與傳統(tǒng)的方案相比出現(xiàn)了輕微的損失。但是,本文方案的性能一直接近基本聯(lián)邦學(xué)習(xí)框架的效果,并且其可以通過基于邊緣計(jì)算的共識機(jī)制來減少共識消耗;聲譽(yù)機(jī)制能夠提高框架的安全性。所以本方案在確保了準(zhǔn)確性的前提下,能夠有效應(yīng)對惡意攻擊,安全性良好。 最后,比較了BME-FL、傳統(tǒng)聯(lián)邦學(xué)習(xí)和文獻(xiàn)[32]方案在應(yīng)對惡意攻擊時(shí)的表現(xiàn),結(jié)果如圖5所示。聯(lián)邦學(xué)習(xí)框架非常容易受到系統(tǒng)內(nèi)外攻擊者的攻擊,從而損害數(shù)據(jù)隱私和系統(tǒng)穩(wěn)健性,惡意的攻擊者會在聯(lián)邦學(xué)習(xí)的各個(gè)進(jìn)程中發(fā)起攻擊,從節(jié)點(diǎn)獲取敏感數(shù)據(jù),降低聯(lián)邦學(xué)習(xí)全局模型的準(zhǔn)確性,并使全局模型無法收斂,甚至?xí)?dǎo)致隱私數(shù)據(jù)的泄露。 如圖5所示,在本次實(shí)驗(yàn)中,假設(shè)惡意節(jié)點(diǎn)進(jìn)行高斯隨機(jī)噪聲擾動攻擊,隨著惡意節(jié)點(diǎn)比例的上升,后兩者的準(zhǔn)確性水平都受到了嚴(yán)重的影響,在受到惡意攻擊時(shí),兩者都沒有作出有效的防御措施。本文方案使用了基于聲譽(yù)值計(jì)算的防御措施,根據(jù)每個(gè)工作節(jié)點(diǎn)的行為來計(jì)算其各自的聲譽(yù)值,使正常工作的誠實(shí)節(jié)點(diǎn)能夠獲得高聲譽(yù)值,通過這種手段能夠篩選出一部分可靠的工作節(jié)點(diǎn),從而提高應(yīng)對攻擊的能力。 4 結(jié)束語 隨著人工智能、大數(shù)據(jù)以及物聯(lián)網(wǎng)等技術(shù)的飛速發(fā)展,使得數(shù)據(jù)量激增以及隱私泄露問題日益嚴(yán)重。于是,聯(lián)邦學(xué)習(xí)這種新型的分布式模型訓(xùn)練框架應(yīng)運(yùn)而生,但是聯(lián)邦學(xué)習(xí)的安全性同樣面臨著許多的挑戰(zhàn)。惡意的聯(lián)邦學(xué)習(xí)訓(xùn)練節(jié)點(diǎn)會破壞全局模型,而惡意的中央服務(wù)器也會泄露節(jié)點(diǎn)的私有數(shù)據(jù)。為了應(yīng)對這些挑戰(zhàn),本文利用安全穩(wěn)定的區(qū)塊鏈來替代中心服務(wù)器,全局模型以及模型更新參數(shù)的維護(hù)和管理工作由部署在鏈上的智能合約完成,區(qū)塊鏈系統(tǒng)以其不可竄改和去中心化的特點(diǎn),保證了模型訓(xùn)練過程的安全可靠,能夠有效避免惡意中央服務(wù)器或惡意節(jié)點(diǎn)的影響。本文在區(qū)塊鏈系統(tǒng)的基礎(chǔ)上,提出了基于邊緣計(jì)算的共識機(jī)制,利用計(jì)算能力更強(qiáng)的邊緣節(jié)點(diǎn)來執(zhí)行共識過程,并且在共識流程中加入了聲譽(yù)值機(jī)制。本方案從正向價(jià)值和負(fù)面價(jià)值兩方面來衡量節(jié)點(diǎn)的最終聲譽(yù)值,不僅能夠激勵(lì)誠實(shí)的終端節(jié)點(diǎn),而且可以使惡意節(jié)點(diǎn)受到懲罰,從而能夠方便地找到更為安全可靠的終端節(jié)點(diǎn)。最后本文采用FEMNIST數(shù)據(jù)集驗(yàn)證了該框架的有效性。實(shí)驗(yàn)表明,本文方案在保證準(zhǔn)確度的同時(shí),能有效應(yīng)對惡意攻擊。 參考文獻(xiàn): [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].計(jì)算機(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]邢丹,徐琦,姚俊明.邊緣計(jì)算環(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.