摘 要:傳統(tǒng)的中心化聯(lián)邦學(xué)習(xí)需要一個受信賴的中央服務(wù)器負(fù)責(zé)模型聚合,容易產(chǎn)生單點故障?,F(xiàn)有的去中心化聯(lián)邦學(xué)習(xí)方案通常在每個迭代周期臨時選舉出一個節(jié)點負(fù)責(zé)模型的聚合,但不能保證被選節(jié)點的完全可信。為了解決上述問題,提出一種基于區(qū)塊鏈的聯(lián)邦學(xué)習(xí)模型聚合方案,把模型聚合工作交由眾多礦工而非某個單一節(jié)點負(fù)責(zé),礦工提出不同的候選聚合方案并生成相應(yīng)區(qū)塊,然后根據(jù)設(shè)計的準(zhǔn)確率最高鏈原則確定主鏈,以達(dá)成節(jié)點之間的共識;同時,為了抑制惡意訓(xùn)練節(jié)點,提出基于質(zhì)押“訓(xùn)練幣”的訓(xùn)練節(jié)點選擇方案,節(jié)點通過質(zhì)押“訓(xùn)練幣”獲取參與訓(xùn)練的機(jī)會,系統(tǒng)根據(jù)模型貢獻(xiàn)進(jìn)行獎懲。仿真實驗結(jié)果表明,當(dāng)系統(tǒng)中惡意節(jié)點比例分別為10%、20%、30%時,該方案所能達(dá)到的準(zhǔn)確率比聯(lián)邦平均(FedAvg)方案分別高8.64、19.89、22.93百分點,且在non-IID數(shù)據(jù)訓(xùn)練場景下也有良好的表現(xiàn)。綜上所述,該方案提高了聯(lián)邦學(xué)習(xí)聚合過程的可信度,并能同時保證聯(lián)邦學(xué)習(xí)訓(xùn)練效果。
關(guān)鍵詞:區(qū)塊鏈; 聯(lián)邦學(xué)習(xí); 去中心化; 模型聚合
中圖分類號:TP301 文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2024)08-005-2277-07
doi:10.19734/j.issn.1001-3695.2023.12.0604
Federated learning model aggregation scheme based on blockchain
Luo Fulin, Chen Yunfang, Chen Xu, Zhang Wei
(School of Computer Science, Nanjing University of Posts & Telecommunications, Nanjing 210023, China)
Abstract:Traditional centralized federated learning relies on a trusted central server for model aggregation, creating a vulnerability to single-point failures. In contrast, existing decentralized federated learning schemes elect a node temporarily in each iteration cycle to aggregate the model, but cannot ensure the complete trustworthiness of the elected node. To solve the aforementioned issues, this paper proposed a blockchain-based federated learning model aggregation approach that assigned the task of model aggregation to numerous miners instead of a single node. Miners proposed various candidate aggregation solutions and generated corresponding blocks, then it determined the main chain based on the higff1afc31ebc6b39c8a00b78715dcca16hest accuracy chain principle to achieve consensus among nodes. Additionally, to counteract malicious training nodes, it introduced a training node selection mechanism based on staking “training coins”, allowing nodes to participate in training by staking “training coins”, with the system rewarding or penalizing them based on their contribution to the model. Simulation results demonstrate that with 10%, 20%, and 30% malicious nodes in the system, the accuracy of this approach is respectively 8.64, 19.89, and 22.93 percent point higher than that of the federated averaging(FedAvg) scheme, and it also performs well in non-IID data training scenarios. In conclusion, this approach enhances the credibility of the federated learning aggregation process and ensures the effectiveness of federated learning training.
Key words:blockchain; federate learning; decentralization; model aggregation
0 引言
在人工智能飛速發(fā)展的時代,數(shù)據(jù)的重要性愈加凸顯,人們對數(shù)據(jù)的隱私保護(hù)也越來越重視。因此在進(jìn)行需要海量數(shù)據(jù)支持的機(jī)器學(xué)習(xí)時,數(shù)據(jù)所有者并不一定愿意分享他們的數(shù)據(jù)用于模型訓(xùn)練,因為這些數(shù)據(jù)往往包含著敏感信息,由此造成了“數(shù)據(jù)孤島”問題,極大阻礙了人工智能技術(shù)和應(yīng)用的發(fā)展。
為了連接“數(shù)據(jù)孤島”,Google于2016年提出聯(lián)邦學(xué)習(xí)(federate learning,F(xiàn)L)[1],在FL中,各參與方無須共享本地數(shù)據(jù),只需上傳經(jīng)本地訓(xùn)練得到的模型梯度,由中央服務(wù)器進(jìn)行聚合得到新一輪的全局模型后廣播給各參與方,各參與方在新的全局模型基礎(chǔ)上再進(jìn)行本地訓(xùn)練,重復(fù)該過程多輪,以達(dá)到分布式訓(xùn)練的效果。聯(lián)邦平均(FedAvg)方案是聯(lián)邦學(xué)習(xí)領(lǐng)域應(yīng)用最廣泛的方法之一,F(xiàn)edAvg按照預(yù)設(shè)比例從全部節(jié)點中隨機(jī)選擇一部分參與訓(xùn)練,訓(xùn)練節(jié)點使用自己的本地數(shù)據(jù)進(jìn)行訓(xùn)練,并在訓(xùn)練完成后上傳訓(xùn)練得到的局部模型,中央服務(wù)器將所有上傳的局部模型進(jìn)行加權(quán)求和平均得到全局模型。與傳統(tǒng)集中式機(jī)器學(xué)習(xí)方法相比,F(xiàn)L不要求參與方共享自己的私有數(shù)據(jù),極大地保護(hù)了參與方的數(shù)據(jù)隱私,可以廣泛應(yīng)用于醫(yī)療保健、娛樂、電子商務(wù)和自動駕駛等場景[2]。但傳統(tǒng)的聯(lián)邦學(xué)習(xí)需要一個受信賴的中央服務(wù)器負(fù)責(zé)模型的聚合和廣播過程,容易產(chǎn)生單點故障,一旦中央服務(wù)器受到攻擊,整個系統(tǒng)就會崩潰,模型的訓(xùn)練也將被迫中止,魯棒性較差,并且傳統(tǒng)的聯(lián)邦學(xué)習(xí)假設(shè)所有節(jié)點都是誠實的,如果參與訓(xùn)練的節(jié)點中混入惡意節(jié)點,將會影響最終的模型效果。
區(qū)塊鏈?zhǔn)且环N建立在P2P網(wǎng)絡(luò)基礎(chǔ)上的去中心化的分布式賬本技術(shù),采用分布式的存儲架構(gòu),且整條鏈的數(shù)據(jù)被完整保存在區(qū)塊鏈網(wǎng)絡(luò)中的所有節(jié)點上。區(qū)塊鏈通過密碼學(xué)和共識機(jī)制來保證數(shù)據(jù)的不可竄改性,即使個別節(jié)點受到攻擊,也不會影響整個區(qū)塊鏈網(wǎng)絡(luò)的正常運(yùn)行[3]。因此,如果利用區(qū)塊鏈技術(shù)的去中心化節(jié)點網(wǎng)絡(luò)來取代傳統(tǒng)聯(lián)邦學(xué)習(xí)中的中央服務(wù)器,可以很好地解決傳統(tǒng)聯(lián)邦學(xué)習(xí)的單點故障問題[4]。同時,由于區(qū)塊鏈的不可竄改性,存儲于區(qū)塊鏈上的模型梯度數(shù)據(jù)也可以得到安全保證。BlockFL[5]和Deepchain[6]就是兩種有影響力的去中心化聯(lián)邦學(xué)習(xí)解決方案。
目前,除了將區(qū)塊鏈用于存儲聯(lián)邦學(xué)習(xí)過程中產(chǎn)生的模型梯度數(shù)據(jù),也有不少工作從其他角度研究區(qū)塊鏈技術(shù)與聯(lián)邦學(xué)習(xí)的結(jié)合,例如在激勵機(jī)制、共識算法和數(shù)據(jù)隱私保護(hù)等方面進(jìn)行探索。同時,節(jié)點選擇策略也是一個值得研究的方向,區(qū)塊鏈可以幫助跟蹤和評估各個節(jié)點的貢獻(xiàn),這有助于在未來的迭代中作出更好的節(jié)點選擇決策,優(yōu)先選擇那些能提供高質(zhì)量數(shù)據(jù)或顯示出良好訓(xùn)練性能的節(jié)點;并且,區(qū)塊鏈可以利用智能合約自動執(zhí)行獎勵政策,這可以鼓勵更多節(jié)點積極參與聯(lián)邦學(xué)習(xí)過程,吸引高質(zhì)量的數(shù)據(jù)和計算資源。
本文從節(jié)點選擇的角度進(jìn)行研究,提出一種基于區(qū)塊鏈的去中心化聯(lián)邦學(xué)習(xí)模型聚合方案,主要工作和貢獻(xiàn)如下:
a)提出礦工負(fù)責(zé)模型聚合的方法,利用礦工的計算資源完成模型聚合工作,在模型聚合階段礦工提出不同的候選聚合方案并生成相應(yīng)區(qū)塊,然后根據(jù)本文提出的準(zhǔn)確率最高鏈原則確定主鏈以達(dá)成節(jié)點之間的共識。
b)提出基于質(zhì)押“訓(xùn)練幣”的訓(xùn)練節(jié)點選擇方案,各節(jié)點質(zhì)押其擁有的“訓(xùn)練幣”獲取參與訓(xùn)練的機(jī)會,系統(tǒng)根據(jù)“幣齡”隨機(jī)選取一組訓(xùn)練節(jié)點,最后根據(jù)模型貢獻(xiàn)進(jìn)行獎懲。
c)在真實數(shù)據(jù)集CIFAR-10[7]上進(jìn)行了仿真實驗,實驗驗證了方案的有效性、安全性和魯棒性。當(dāng)系統(tǒng)存在30%惡意節(jié)點時,本文方案所能達(dá)到的準(zhǔn)確率比FedAvg方案高22.93百分點,且本文方案在非獨(dú)立同分布(non-IID)數(shù)據(jù)訓(xùn)練場景下依然表現(xiàn)良好。
1 去中心化聯(lián)邦學(xué)習(xí)相關(guān)研究
由于傳統(tǒng)聯(lián)邦學(xué)習(xí)中央服務(wù)器帶來的單點故障問題,研究者們將區(qū)塊鏈和聯(lián)邦學(xué)習(xí)結(jié)合起來,利用區(qū)塊鏈的去中心化、不可竄改等特性對聯(lián)邦學(xué)習(xí)加以改進(jìn),改進(jìn)工作主要包括激勵機(jī)制、共識算法、數(shù)據(jù)隱私和模型安全三個方面。
在激勵機(jī)制方面,文獻(xiàn)[8]設(shè)計了一種基于區(qū)塊鏈的聯(lián)邦學(xué)習(xí)平臺的競爭激勵機(jī)制,某一輪中選擇的每個訓(xùn)練節(jié)點,選擇上一輪節(jié)點提交的最佳k個模型更新自己的模型,節(jié)點的獎勵是由下一輪訓(xùn)練節(jié)點投票決定的,模型越好意味著將獲得更多的獎勵。文獻(xiàn)[9]提出一種公平的激勵機(jī)制FGFL,可以有效地實時評估工人的可信度和效用,衡量節(jié)點的聲譽(yù)和貢獻(xiàn),任務(wù)發(fā)布者最終使用貢獻(xiàn)和聲譽(yù)指標(biāo)的乘積確定節(jié)點的獎勵份額。文獻(xiàn)[10]提出一種基于區(qū)塊鏈的混合激勵機(jī)制,包括信譽(yù)模塊和反向拍賣模塊,前者用于動態(tài)計算每個參與者的聲譽(yù)分?jǐn)?shù),后者負(fù)責(zé)啟動拍賣任務(wù),計算價格排名并分配相應(yīng)的代幣獎勵。
在共識算法方面,雖然工作量證明(proof-of-work,PoW)是區(qū)塊鏈領(lǐng)域使用的主流共識算法,但如果直接在基于區(qū)塊鏈的聯(lián)邦學(xué)習(xí)(federated learning based on blockchain,BFL)系統(tǒng)中部署PoW,會給系統(tǒng)中的節(jié)點帶來高成本的計算資源需求。因此,一些研究選擇使用PoS或改進(jìn)PoS作為BFL系統(tǒng)的共識算法[11,12]。此外,還有一些研究提出新的共識算法以更加契合聯(lián)邦學(xué)習(xí)。文獻(xiàn)[13]提出聯(lián)邦學(xué)習(xí)證明(proof of federate learning,PoFL)共識算法,PoFL使用聯(lián)邦學(xué)習(xí)任務(wù)而不是哈希難題來達(dá)成共識,礦工解決的聯(lián)邦學(xué)習(xí)任務(wù)作為達(dá)成共識的工作量證明,使共識過程更加節(jié)能。文獻(xiàn)[14]提出訓(xùn)練質(zhì)量證明(proof of training quality,PoQ)共識算法,PoQ將聯(lián)邦學(xué)習(xí)的模型訓(xùn)練與共識過程相結(jié)合,利用節(jié)點的計算資源來保證模型訓(xùn)練的質(zhì)量。
在數(shù)據(jù)隱私和模型安全方面,主要是為了保證參與方的數(shù)據(jù)隱私不被泄露以及訓(xùn)練得到的模型的機(jī)密性和完整性。文獻(xiàn)[15]提出一種基于區(qū)塊鏈的聯(lián)邦學(xué)習(xí)系統(tǒng),通過集成聯(lián)邦學(xué)習(xí)和區(qū)塊鏈訓(xùn)練和保存模型更新來保護(hù)隱私,同時使用分布式哈希表在每個客戶端上本地保存數(shù)據(jù),以解決霧計算隱私泄露和中毒攻擊相關(guān)的問題。文獻(xiàn)[16]提出了一種基于分片的區(qū)塊鏈協(xié)議,可以很好地保護(hù)模型梯度參數(shù)和模型聚合,防止訓(xùn)練過程受到拜占庭攻擊。文獻(xiàn)[17]提出使用差分隱私技術(shù)來保護(hù)聯(lián)邦學(xué)習(xí)參與方的數(shù)據(jù)隱私,且經(jīng)過訓(xùn)練的局部模型由發(fā)送方進(jìn)行加密和簽名,以防止攻擊者和冒名頂替者竊取模型,保護(hù)模型安全。
還有一些工作從聯(lián)邦學(xué)習(xí)節(jié)點選擇的角度引入?yún)^(qū)塊鏈。節(jié)點選擇包括兩類,一類是選擇哪些節(jié)點參與訓(xùn)練,另一類是選擇哪些訓(xùn)練節(jié)點上傳的局部模型參與聚合。在選擇訓(xùn)練節(jié)點方面,文獻(xiàn)[18]采用聲譽(yù)值來衡量參與節(jié)點的可靠性和可信度,選取聲譽(yù)值高的節(jié)點參與訓(xùn)練,并且使用區(qū)塊鏈來計算和保存節(jié)點的聲譽(yù)值,利用區(qū)塊鏈的不可竄改性,實現(xiàn)安全的聲譽(yù)管理。但是,聲譽(yù)評分易受節(jié)點的主觀影響,導(dǎo)致評分不夠準(zhǔn)確和公正,且聲譽(yù)與獎勵并無直接關(guān)聯(lián),無法對參與節(jié)點進(jìn)行有效激勵。文獻(xiàn)[19]提出了一種基于區(qū)塊鏈的細(xì)粒度信譽(yù)系統(tǒng),通過前端向聯(lián)邦學(xué)習(xí)系統(tǒng)的所有參與者提供信譽(yù)信息的訪問,系統(tǒng)信譽(yù)分?jǐn)?shù)的哈希值被報告給鏈上智能合約,智能合約匯總并計算每個節(jié)點的信譽(yù),以進(jìn)行節(jié)點選擇。在選擇局部模型方面,文獻(xiàn)[20]提出建立一個由少數(shù)誠實節(jié)點組成的委員會,訓(xùn)練節(jié)點上傳的局部模型由委員會進(jìn)行驗證并打分,每個訓(xùn)練節(jié)點的得分取n個(委員會成員數(shù)量)分?jǐn)?shù)的中位數(shù),最后根據(jù)分?jǐn)?shù)從高到低選取m個(根據(jù)聚合所需要的局部模型個數(shù)而定)梯度更新保存到區(qū)塊鏈上并進(jìn)行聚合。然而,委員會成員在打分時會更加偏好擁有與自己本地數(shù)據(jù)分布相同數(shù)據(jù)的訓(xùn)練節(jié)點,這導(dǎo)致該方案在非獨(dú)立同分布(non-IID)數(shù)據(jù)訓(xùn)練場景下可能會有較差的表現(xiàn)。
盡管現(xiàn)有的聯(lián)邦學(xué)習(xí)和區(qū)塊鏈結(jié)合的方案提出了基于聲譽(yù)機(jī)制的節(jié)點選擇以及委員會模型來驗證和選擇局部模型,但這些方法存在一定的局限性。聲譽(yù)機(jī)制容易受到主觀因素的影響,導(dǎo)致評分的準(zhǔn)確性和公正性得不到保證,同時,依賴于少數(shù)委員會成員的模型選擇不能代表所有節(jié)點成員,在處理非獨(dú)立同分布數(shù)據(jù)時可能會出現(xiàn)偏差。本文從節(jié)點選擇的角度研究區(qū)塊鏈與聯(lián)邦學(xué)習(xí)的結(jié)合,首先提出將區(qū)塊鏈的共識過程和聯(lián)邦學(xué)習(xí)的模型聚合過程進(jìn)行整合,由眾多礦工完成聚合工作,聚合方案優(yōu)劣的唯一評判標(biāo)準(zhǔn)就是準(zhǔn)確率,確??陀^公正;在此基礎(chǔ)上,提出基于質(zhì)押“訓(xùn)練幣”的訓(xùn)練節(jié)點選擇方案,節(jié)點被選中參與訓(xùn)練的概率與其所持有的“訓(xùn)練幣”數(shù)量有直接關(guān)系,而節(jié)點持有的“訓(xùn)練幣”數(shù)量的增減則取決于節(jié)點是否對準(zhǔn)確率最高的聚合方案作出貢獻(xiàn)。相比于根據(jù)聲譽(yù)進(jìn)行選擇,該方案能夠避免某些節(jié)點的主觀偏見以及惡意打分,且“訓(xùn)練幣”作為區(qū)塊鏈系統(tǒng)中的一種代幣,可以輔助完成聯(lián)邦學(xué)習(xí)后期的獎勵分配和貢獻(xiàn)確定環(huán)節(jié),能夠?qū)⑴c節(jié)點產(chǎn)生更好的激勵作用。
2 基于區(qū)塊鏈的模型聚合方案
2.1 框架結(jié)構(gòu)
根據(jù)BFL系統(tǒng)中節(jié)點的職能,可以將BFL系統(tǒng)模型分為解耦模型、耦合模型和重疊模型三類[21]。在解耦模型中,一個節(jié)點只能在聯(lián)邦學(xué)習(xí)系統(tǒng)和區(qū)塊鏈系統(tǒng)兩者之一上工作;在耦合模型中,節(jié)點擁有雙重身份,可以同時充當(dāng)這兩個系統(tǒng)的工作節(jié)點;重疊模型則是一種折中方案,節(jié)點的角色能夠進(jìn)行動態(tài)調(diào)整,自由選擇工作身份。
本文設(shè)計的BFL系統(tǒng)基于重疊模型,系統(tǒng)中的每個節(jié)點既可以作為訓(xùn)練節(jié)點參與聯(lián)邦學(xué)習(xí)的訓(xùn)練,也可以作為區(qū)塊鏈系統(tǒng)中的礦工節(jié)點負(fù)責(zé)生成和驗證區(qū)塊。BFL系統(tǒng)的框架結(jié)構(gòu)如圖1所示,聯(lián)邦學(xué)習(xí)過程的每個迭代周期由七個步驟組成。為了保證模型安全以及實現(xiàn)權(quán)限控制,本文框架中所使用的區(qū)塊鏈為聯(lián)盟區(qū)塊鏈,只有經(jīng)過授權(quán)的節(jié)點才能訪問聯(lián)邦學(xué)習(xí)過程中的信息。且考慮到參與聯(lián)邦學(xué)習(xí)的節(jié)點所擁有的存儲能力的不一致,框架中引入星際文件系統(tǒng)(interplanetary file system,IPFS),將每一個迭代周期中各訓(xùn)練節(jié)點訓(xùn)練得到的局部模型和更新后的全局模型參數(shù)存放至IPFS,區(qū)塊鏈中只保存相應(yīng)數(shù)據(jù)在IPFS中的索引地址,降低節(jié)點維護(hù)區(qū)塊鏈的存儲成本。
聯(lián)邦學(xué)習(xí)過程的一個完整迭代周期包括如下步驟:
a)根據(jù)本文提出的訓(xùn)練節(jié)點選擇方案,從所有節(jié)點中選出一部分參與該輪訓(xùn)練;
b)訓(xùn)練節(jié)點根據(jù)所維護(hù)的區(qū)塊鏈最新區(qū)塊中保存的索引地址,從IPFS獲取上一輪聚合得到的全局模型;
c)在上一輪全局模型的基礎(chǔ)上,各訓(xùn)練節(jié)點使用自己的私有數(shù)據(jù)在本地進(jìn)行訓(xùn)練,得到新一輪的局部模型;
d)各訓(xùn)練節(jié)點將自己訓(xùn)練得到的局部模型上傳至IPFS,并將其在IPFS中的索引地址放入局部模型池;
e)當(dāng)最后一個訓(xùn)練節(jié)點訓(xùn)練完畢并提交其局部模型后,礦工根據(jù)索引地址從IPFS中獲取所有局部模型;
f)礦工根據(jù)所有訓(xùn)練節(jié)點本輪提交的局部模型開始競爭提出聚合方案,并使用公共測試集驗證準(zhǔn)確率,然后將根據(jù)各自提出的聚合方案所得到的全局模型上傳至IPFS,最后生成相應(yīng)區(qū)塊;
g)模型聚合步驟限定的時間結(jié)束后,根據(jù)準(zhǔn)確率最高鏈原則確定主鏈,位于主鏈上的區(qū)塊的產(chǎn)出礦工獲得本輪挖礦獎勵。
2.2 準(zhǔn)確率最高鏈原則
在區(qū)塊鏈技術(shù)領(lǐng)域中,共識機(jī)制一般分為兩類,一類是基于競爭的共識機(jī)制,另一類是基于通信的共識機(jī)制。前者首先在鏈上追加區(qū)塊,然后達(dá)成共識,而后者則是在追加區(qū)塊之前達(dá)成協(xié)議。對于基于競爭的共識機(jī)制,最常用的兩類共識原則就是最長鏈原則和最重鏈原則。最長鏈原則規(guī)定包含最多區(qū)塊的鏈,即最長的鏈?zhǔn)侵麈湥瑓^(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點應(yīng)基于主鏈生成新的區(qū)塊;而最重鏈原則強(qiáng)調(diào)區(qū)塊鏈的有效性不僅由鏈的長度決定,還取決于區(qū)塊的權(quán)重,這個權(quán)重通常根據(jù)PoW或其他共識算法的規(guī)則來確定,最重鏈原則規(guī)定鏈上所有區(qū)塊權(quán)重之和最大的鏈?zhǔn)侵麈湣?/p>
本文針對所提出的基于區(qū)塊鏈的去中心化聯(lián)邦學(xué)習(xí)模型聚合方案,提出準(zhǔn)確率最高鏈原則用于確定主鏈,以達(dá)成共識。在本文設(shè)計的區(qū)塊結(jié)構(gòu)中,每個區(qū)塊會包含一種聚合方案以及該聚合方案在公共測試集上的準(zhǔn)確率。準(zhǔn)確率最高鏈原則規(guī)定,鏈上所有區(qū)塊所包含的聚合方案在公共測試集上的準(zhǔn)確率之和最高的鏈為主鏈,如圖2所示。
區(qū)塊鏈的每一層分別對應(yīng)聯(lián)邦學(xué)習(xí)一個迭代周期的聚合過程,在聚合過程中,眾多礦工可以提出不同的候選聚合方案并生成相應(yīng)的區(qū)塊,然后依據(jù)準(zhǔn)確率最高鏈原則確定每一層位于主鏈上的區(qū)塊。如圖2所示,在聯(lián)邦學(xué)習(xí)第i+1個迭代周期,在眾多礦工生成的區(qū)塊中,其中礦工E、A、C提出的聚合方案在公共測試集上的準(zhǔn)確率分別為36%、32%、29%,依據(jù)準(zhǔn)確率最高鏈原則,礦工E所提聚合方案準(zhǔn)確率最高,因此礦工E所提區(qū)塊為區(qū)塊鏈第i+1層位于主鏈的區(qū)塊。在聯(lián)邦學(xué)習(xí)第i+2個迭代周期中所產(chǎn)生的區(qū)塊應(yīng)基于聯(lián)邦學(xué)習(xí)第i+1個迭代周期中礦工E所產(chǎn)生的區(qū)塊,同理可得,礦工H在第i+2個迭代周期中所提區(qū)塊為區(qū)塊鏈第i+2層位于主鏈的區(qū)塊。
與最長鏈原則以及最重鏈原則不同的是,準(zhǔn)確率最高鏈原則在區(qū)塊鏈的每一層只會進(jìn)行一次確定主鏈的共識過程,確定后不再更改,即使之后有礦工提出了比當(dāng)前主鏈上準(zhǔn)確率更高的聚合方案并生成區(qū)塊,該區(qū)塊也不會被網(wǎng)絡(luò)中的節(jié)點所承認(rèn)。因為在聯(lián)邦學(xué)習(xí)中,一旦確定了主鏈,達(dá)成了共識,就會開始進(jìn)行下一輪訓(xùn)練,而下一輪的訓(xùn)練是基于上一輪中所確定的主鏈上最后一個區(qū)塊中所包含的聚合方案的,如果已經(jīng)基于主鏈訓(xùn)練多輪后修改之前的區(qū)塊,那么從修改的那一層開始,后續(xù)所做的訓(xùn)練工作都是無用的,系統(tǒng)不得不從修改的那一層開始重新進(jìn)行訓(xùn)練,極大浪費(fèi)了系統(tǒng)的計算資源。因此,本文在每一層生成區(qū)塊時設(shè)置了一個限定時間,不在該限定時間內(nèi)生成的區(qū)塊被認(rèn)為是無效的,限定時間結(jié)束后進(jìn)行本輪共識過程,詳細(xì)內(nèi)容見2.3節(jié)。
2.3 基于準(zhǔn)確率最高鏈原則的模型聚合方案
傳統(tǒng)的聯(lián)邦學(xué)習(xí)中,模型聚合由中央服務(wù)器負(fù)責(zé),各節(jié)點將自己訓(xùn)練得到的局部模型發(fā)送給中央服務(wù)器,服務(wù)器根據(jù)聚合規(guī)則進(jìn)行聚合,得到新一輪的全局模型并進(jìn)行廣播。在目前已有的去中心化聯(lián)邦學(xué)習(xí)框架中,大多是根據(jù)一些預(yù)設(shè)規(guī)則選擇或選舉某一個節(jié)點臨時充當(dāng)中央服務(wù)器,負(fù)責(zé)本輪模型的聚合和廣播工作。在一組局部模型中,可能有一些并不適合參與本輪聚合,甚至還可能存在惡意節(jié)點上傳的毒害局部模型,如果將其用于聚合將會影響全局模型的效果以及后續(xù)的訓(xùn)練過程。因此,必須有選擇地對訓(xùn)練節(jié)點提交的局部模型進(jìn)行聚合,而選擇哪些局部模型參與聚合,則是聚合工作要考慮的首要問題。為了篩選出對全局模型有利的局部模型,并找到最佳的聚合方案,最直接的方法就是對所有局部模型以及所有可能的聚合方案進(jìn)行驗證,但是如果只使用一個節(jié)點負(fù)責(zé)聚合工作,驗證所有可能的聚合方案所需要的時間會非常長,從而降低聯(lián)邦學(xué)習(xí)的效率。
因此,在本文提出的去中心化聯(lián)邦學(xué)習(xí)模型聚合方案中,不使用某個單一的節(jié)點完成模型的聚合,而是將模型聚合工作交給眾多礦工,利用礦工的計算資源完成聚合,并將礦工提出的聚合方案作為其競爭生成區(qū)塊并獲得獎勵的衡量條件。模型聚合階段的主要流程如下:
a)把每個訓(xùn)練節(jié)點提交局部模型看作是發(fā)起一個交易,當(dāng)最后一個訓(xùn)練節(jié)點完成訓(xùn)練并提交其局部模型后,記錄此刻時間,礦工可以根據(jù)交易信息中包含的索引地址從IPFS獲取本輪所有提交的局部模型,并提出各自的聚合方案以及生成相應(yīng)區(qū)塊,每個區(qū)塊所包含的信息如圖3所示。
其中每個礦工生成的區(qū)塊中的區(qū)塊體部分應(yīng)該是一致的,都包含本輪所有訓(xùn)練節(jié)點提交的局部模型。區(qū)塊頭中的poly_opt是該區(qū)塊提出的聚合方案,記錄該聚合方案使用了哪些訓(xùn)練節(jié)點上傳的局部模型;global_model是一個IPFS的索引地址,根據(jù)該地址可以從IPFS得到由該聚合方案進(jìn)行聚合所得到的模型梯度;accuracy則是根據(jù)該聚合方案聚合得到的全局模型在測試集上的準(zhǔn)確率,所有礦工共用一個測試集,且該準(zhǔn)確率由礦工自行測試并上傳,為防止礦工虛報,在共識過程中所有礦工都可以驗證其他礦工提出的聚合方案以及相應(yīng)準(zhǔn)確率。
b)在限定時間LIMIT_TIME之內(nèi),礦工可以提出多個聚合方案并生成相應(yīng)區(qū)塊,最終根據(jù)區(qū)塊中的時間戳信息判斷該區(qū)塊是否有效。LIMIT_TIME應(yīng)根據(jù)參與訓(xùn)練的節(jié)點數(shù)、聚合需要的最少局部模型數(shù)量、驗證一個聚合方案的時間以及礦工的數(shù)量動態(tài)調(diào)整。LIMIT_TIME的計算公式為
LIMIT_TIME=T×∑Ni=LCiNM(1)
其中:N為參與訓(xùn)練的節(jié)點數(shù);L(L≤N)為至少需要聚合的局部模型個數(shù);T為驗證一個聚合方案的時間;M為礦工的數(shù)量;CiN表示從N個局部模型中選擇i個。假設(shè)N為10,L為5,則一共有∑10i=5Ci10,即638種聚合方案。
LIMIT_TIME設(shè)置得太小,會導(dǎo)致礦工來不及驗證所有聚合方案,提出的聚合方案中可能不包含最佳方案;設(shè)置得太大,則會增加系統(tǒng)的時間開銷。之所以設(shè)置LIMIT_TIME,是為了防止有惡意礦工為了獲得更多獎勵發(fā)動塊扣留攻擊,在找到高準(zhǔn)確率的聚合方案后隱瞞不公布,待聯(lián)邦學(xué)習(xí)進(jìn)入下一輪后再將其公布出來,使得所有節(jié)點不得不重新確定主鏈,影響整個聯(lián)邦學(xué)習(xí)。
c)限定時間結(jié)束后,礦工停止生成區(qū)塊,所有節(jié)點根據(jù)準(zhǔn)確率最高鏈原則確定主鏈,即鏈上包含的所有區(qū)塊中,提出的聚合方案在測試集上的準(zhǔn)確率之和最高的鏈為主鏈,后續(xù)的模型聚合階段礦工應(yīng)基于主鏈生成新的區(qū)塊。
確定主鏈后即可開始聯(lián)邦學(xué)習(xí)下一個迭代周期,選出新一輪訓(xùn)練節(jié)點后,訓(xùn)練節(jié)點根據(jù)主鏈上的最新區(qū)塊中包含的索引地址,從IPFS獲取新一輪的全局模型,并進(jìn)行本地訓(xùn)練。
2.4 基于質(zhì)押“訓(xùn)練幣”的訓(xùn)練節(jié)點選擇方案
PoS是區(qū)塊鏈網(wǎng)絡(luò)中一種常用的共識算法,其采用偽隨機(jī)選舉方式,從一組節(jié)點中選擇一個驗證者生成下一區(qū)塊。主要思想是通過節(jié)點質(zhì)押代幣的方式,根據(jù)各節(jié)點的“幣齡”來選擇驗證者,“幣齡”越大,被選中的概率也越大。其中“幣齡”為節(jié)點質(zhì)押的代幣數(shù)量與節(jié)點持有代幣時長的乘積,為了防止權(quán)益大的節(jié)點主宰區(qū)塊鏈,當(dāng)一個節(jié)點被選為驗證者后,其“幣齡”將會清零。
本文提出的訓(xùn)練節(jié)點選擇方案借鑒了PoS的思想,提出節(jié)點通過質(zhì)押“訓(xùn)練幣”來獲取參與訓(xùn)練的機(jī)會。當(dāng)節(jié)點經(jīng)過授權(quán)加入聯(lián)盟鏈時,系統(tǒng)會給節(jié)點發(fā)放k個初始“訓(xùn)練幣”,在聯(lián)邦學(xué)習(xí)的每個迭代周期的訓(xùn)練節(jié)點選擇階段,節(jié)點會質(zhì)押其擁有的“訓(xùn)練幣”,系統(tǒng)根據(jù)“幣齡”的大小,隨機(jī)選擇一組節(jié)點作為本輪的訓(xùn)練節(jié)點。其中“幣齡”是節(jié)點持有“訓(xùn)練幣”的數(shù)量與節(jié)點持有幣的時長的乘積,這里的時長是指聯(lián)邦學(xué)習(xí)的迭代周期數(shù)。
在聯(lián)邦學(xué)習(xí)第1個迭代周期,由于每個節(jié)點的“幣齡”都是相同的,所以每個節(jié)點被選為訓(xùn)練節(jié)點的概率也是相同的,但是從第2個迭代周期開始,某些節(jié)點的“幣齡”就會發(fā)生改變,從而各個節(jié)點被選為訓(xùn)練節(jié)點的概率也會發(fā)生變化。假設(shè)在聯(lián)邦學(xué)習(xí)每個迭代周期,系統(tǒng)中有n個節(jié)點,節(jié)點集合為S={S1,S2,…,Si,…,Sn},每個節(jié)點當(dāng)前擁有的“訓(xùn)練幣”數(shù)量為B={B1,B2,…,Bi,…,Bn},每個節(jié)點持有其“訓(xùn)練幣”的時長為R={R1,R2,…,Ri,…,Rn},本輪參與訓(xùn)練的節(jié)點集合為Train_S,Train_S是S的一個子集。則節(jié)點Si在該輪被選擇為訓(xùn)練節(jié)點,即節(jié)點Si被選入子集Train_S的概率為
Pi=Bi×Ri∑nk=1Bk×Rk(2)
當(dāng)一組節(jié)點被選中作為訓(xùn)練節(jié)點后,Train_S集合中所有節(jié)點的持有“訓(xùn)練幣”的時長需從1重新計算,如果Train_S集合中某個節(jié)點訓(xùn)練的局部模型被用于本輪主鏈上的區(qū)塊所記錄的聚合方案,即本輪準(zhǔn)確率最高的聚合方案中,將該節(jié)點質(zhì)押的“訓(xùn)練幣”全部返還,并額外獎勵其p個“訓(xùn)練幣”,否則只返還該節(jié)點所質(zhì)押的q%(0<q<100)“訓(xùn)練幣”。該訓(xùn)練節(jié)點選擇過程偽代碼如算法1所示。
算法1 訓(xùn)練節(jié)點選擇
輸入:B,S,R。
輸出:Train_S。
1 for Si:i=1,2,…,n:
2 Pi=Bi×Ri∑nk=1Bk×Rk //計算每個節(jié)點被選擇的概率
3 Train_S=SelectNodes(S,P) //根據(jù)概率隨機(jī)選擇訓(xùn)練節(jié)點
4 for Si:i=1,2,…,n:
5 if Si not in Train_S: //如果節(jié)點Si未被選為訓(xùn)練節(jié)點
6 Ri+=1
7 else
8 Ri=1
9 aggr = {aggr1,aggr2,…,aggrn} //礦工提出聚合方案
10 best_aggr=MaxAccuracy(aggr)// 準(zhǔn)確率最高聚合方案
11 for Si in Train_S:
12 if Si in best_aggr: /*如果節(jié)點Si訓(xùn)練的局部模型參與了準(zhǔn)確率最高方案的聚合*/
13 Bi+=p
14 else
15 Bi *=q%
16 end
該訓(xùn)練節(jié)點選擇方案可以在一定程度上抑制惡意節(jié)點,降低它們被選為訓(xùn)練節(jié)點的概率。在聯(lián)邦學(xué)習(xí)的整個過程中,相比惡意節(jié)點,行為誠實、為聯(lián)邦學(xué)習(xí)作出積極貢獻(xiàn)的節(jié)點將有更大的概率被選中成為訓(xùn)練節(jié)點;同時,由于資源限制而在某些輪次未被選中的誠實節(jié)點,隨著它們持有“訓(xùn)練幣”的時長增加,也能獲得成為訓(xùn)練節(jié)點并獲取獎勵的機(jī)會。該方案綜合考慮節(jié)點的歷史貢獻(xiàn)、當(dāng)前資源及誠實程度,既能懲罰惡意節(jié)點,也讓誠實節(jié)點獲得更多參與訓(xùn)練的機(jī)會,從長遠(yuǎn)看可以促進(jìn)聯(lián)邦學(xué)習(xí)的健康發(fā)展。
3 實驗分析
為了驗證本文方案的有效性,實驗在64位Windows操作系統(tǒng),CPU為Intel i5-12490F 6核 3.00 GHz,GPU為RTX2080,內(nèi)存為16 GB的計算機(jī)上運(yùn)行。實驗所使用的數(shù)據(jù)集為CIFAR-10[7],CIFAR-10是一個用于普適物體識別的計算機(jī)視覺數(shù)據(jù)集,包含50 000個訓(xùn)練樣本和10 000個測試樣本,每個樣本都是一張32×32的RGB彩色圖片,總共10個類別。實驗將訓(xùn)練集平均分成80份,每份包含625個訓(xùn)練樣本,但只使用了其中50份數(shù)據(jù)進(jìn)行聯(lián)邦學(xué)習(xí)訓(xùn)練。實驗中的網(wǎng)絡(luò)模型選用ResNet50網(wǎng)絡(luò),它由49個卷積層和1個全連接層組成。在模擬惡意節(jié)點時利用標(biāo)簽反轉(zhuǎn)進(jìn)行攻擊,將CIFAR-10數(shù)據(jù)集中的源標(biāo)簽全部改為目標(biāo)標(biāo)簽“3”。實驗所涉及的一些其他參數(shù)的設(shè)置如表1所示。
3.1 訓(xùn)練節(jié)點選擇實驗
為了驗證本文所提訓(xùn)練節(jié)點選擇方案的有效性,實驗在50個客戶端中分別設(shè)置5、10、15、20個惡意節(jié)點,聯(lián)邦學(xué)習(xí)終止條件為達(dá)到80輪迭代,實驗中本文訓(xùn)練節(jié)點選擇方案參數(shù)設(shè)置k為10,p為10,q為20,即聯(lián)邦學(xué)習(xí)系統(tǒng)為每個節(jié)點發(fā)放10個初始“訓(xùn)練幣”,如果節(jié)點訓(xùn)練的局部模型被用于聚合本輪最優(yōu)全局模型,則額外獎勵該節(jié)點10個“訓(xùn)練幣”,否則只返還該節(jié)點20%所質(zhì)押的“訓(xùn)練幣”以示懲罰。
實驗在使用本文訓(xùn)練節(jié)點選擇方案情況下,在聯(lián)邦學(xué)習(xí)每一輪迭代開始時統(tǒng)計誠實節(jié)點和惡意節(jié)點擁有的幣齡,并分別計算系統(tǒng)中誠實節(jié)點和惡意節(jié)點在每一輪迭代中被選為訓(xùn)練節(jié)點的平均概率,結(jié)果如圖4所示。節(jié)點總數(shù)為50,每一輪迭代選擇10個節(jié)點作為訓(xùn)練節(jié)點,所以初始時每個節(jié)點被選擇的概率都是2%。隨著聯(lián)邦學(xué)習(xí)迭代周期的增加,誠實節(jié)點由于積極為訓(xùn)練模型作出貢獻(xiàn)受到獎勵,所以它們被選擇的平均概率能一直保持甚至超過2%。與之相反,惡意節(jié)點在迭代過程中被系統(tǒng)懲罰,被選擇的平均概率會一直下降并趨于0。
實驗分別統(tǒng)計FedAvg方案和本文訓(xùn)練節(jié)點選擇方案在聯(lián)邦學(xué)習(xí)80輪迭代過程中選擇惡意節(jié)點參與訓(xùn)練的總次數(shù),統(tǒng)計結(jié)果如圖5所示。隨著惡意節(jié)點的比例增加,雖然本文方案選擇惡意節(jié)點作為訓(xùn)練節(jié)點的總次數(shù)也在小幅增長,但是相比于FedAvg方案,無論是增長的幅度還是選擇惡意節(jié)點參與訓(xùn)練的總次數(shù)都大大減少,在聯(lián)邦學(xué)習(xí)80輪迭代過程中選擇惡意節(jié)點參與訓(xùn)練的總次數(shù)只有FedAvg方案的20%左右。
以上實驗可以證明本文所提出的聯(lián)邦學(xué)習(xí)訓(xùn)練節(jié)點選擇方案在系統(tǒng)存在惡意節(jié)點時,能夠在一定程度上抑制惡意節(jié)點,降低惡意節(jié)點被選為訓(xùn)練節(jié)點的概率,從而能在有限的聯(lián)邦學(xué)習(xí)迭代周期中將更多的訓(xùn)練機(jī)會分配給誠實節(jié)點,提高模型的訓(xùn)練效果。
3.2 模型聚合實驗
為了驗證本文模型聚合方案的有效性,分別從系統(tǒng)存在不同惡意節(jié)點比例下模型準(zhǔn)確率、使用非獨(dú)立同分布(non-IID)數(shù)據(jù)訓(xùn)練情況下的模型準(zhǔn)確率、LIMIT_TIME的設(shè)置這三個方面進(jìn)行實驗。實驗將本文方案與FedAvg[1]、BFLC[20]以及FedPNS[22]進(jìn)行對比,聯(lián)邦學(xué)習(xí)終止條件為迭代80輪。BFLC方案實驗中設(shè)置委員會由5個誠實節(jié)點組成,委員會成員使用自己的數(shù)據(jù)集進(jìn)行驗證并打分,每一輪選取得分最高的5個局部模型進(jìn)行聚合。FedPNS方案的思想是根據(jù)局部模型梯度與全局模型梯度的內(nèi)積來識別并排除不利的局部更新,從而找出每輪參與聚合的最優(yōu)子集,并根據(jù)最優(yōu)聚合的輸出動態(tài)改變每個節(jié)點被選擇的概率。在本文實驗中,根據(jù)文獻(xiàn)[22]中的說明,將FedPNS方案中的參數(shù)α設(shè)為2,β設(shè)為0.7,這兩個參數(shù)用于控制節(jié)點被選概率下降的大小。
3.2.1 不同惡意節(jié)點比例下模型準(zhǔn)確率
實驗分別在無惡意節(jié)點、存在10%惡意節(jié)點、存在20%惡意節(jié)點、存在30%惡意節(jié)點的情況下測試模型準(zhǔn)確率,即存在惡意節(jié)點時,訓(xùn)練得到的模型在CIFAR-10數(shù)據(jù)集的測試集上分類正確的樣本占總樣本的比例。實驗結(jié)果如圖6所示。
當(dāng)系統(tǒng)中無惡意節(jié)點時,本文方案和FedAvg方案的準(zhǔn)確率幾乎相同,但是當(dāng)系統(tǒng)中存在惡意節(jié)點時,本文方案的準(zhǔn)確率明顯高于FedAvg方案,且隨著惡意節(jié)點比例的增加,本文方案依然能保持較高的準(zhǔn)確率。在這四種不同惡意節(jié)點比例情況下,本文方案和FedAvg、BFLC以及FedPNS方案所能達(dá)到的最高準(zhǔn)確率如表2所示。當(dāng)系統(tǒng)中惡意節(jié)點比例分別為10%、20%、30%時,本文方案的準(zhǔn)確率比FedAvg方案分別高8.64、19.89、22.93百分點。
為了進(jìn)一步比較本文方案和BFLC以及FedPNS在系統(tǒng)存在大量惡意節(jié)點情況下的模型訓(xùn)練效果,實驗將惡意節(jié)點數(shù)量增加到40%。結(jié)果表明,雖然本文方案所能達(dá)到的最高準(zhǔn)確率相比于更少惡意節(jié)點情況下有所下降,但仍能達(dá)到70%以上,而BFLC方案在系統(tǒng)存在40%惡意節(jié)點情況下,最高準(zhǔn)確率低于60%,且在訓(xùn)練過程中準(zhǔn)確率出現(xiàn)了非常大的波動,F(xiàn)edPNS方案所能達(dá)到的最高準(zhǔn)確率同樣低于本文方案,如圖7所示。這進(jìn)一步驗證了本文方案在應(yīng)對大量惡意節(jié)點的場景下,仍然能夠保持更好的模型訓(xùn)練效果。
3.2.2 non-IID數(shù)據(jù)訓(xùn)練情況下模型準(zhǔn)確率
在實際的聯(lián)邦學(xué)習(xí)應(yīng)用中,本地客戶端的數(shù)據(jù)往往是non-IID的,即不同客戶端的數(shù)據(jù)可能擁有不同的分布,這給模型的訓(xùn)練帶來了很大的挑戰(zhàn)。因此,驗證聯(lián)邦學(xué)習(xí)方案在non-IID數(shù)據(jù)下的性能,對于評估方案的魯棒性和適用范圍具有重要意義。
為了評估本文模型聚合方案在non-IID數(shù)據(jù)訓(xùn)練下的表現(xiàn),實驗劃分了一份non-IID的數(shù)據(jù)集。具體地,就是將CIFAR-10數(shù)據(jù)集按照標(biāo)簽類別進(jìn)行劃分,使得50個節(jié)點所擁有的數(shù)據(jù)量各不相同,且不同節(jié)點只擁有某些特定類別的數(shù)據(jù),例如1號節(jié)點可能只擁有標(biāo)簽為“2”和標(biāo)簽為“5”的數(shù)據(jù)。在本文實驗中,劃分的這份non-IID數(shù)據(jù)集僅使用了CIFAR-10數(shù)據(jù)集50 000個訓(xùn)練樣本中的一部分。在此訓(xùn)練場景下,實驗測試了本文方案、FedAvg以及BFLC的準(zhǔn)確率。實驗結(jié)果如圖8所示,可以看出,在non-IID數(shù)據(jù)訓(xùn)練情況下,本文方案所能達(dá)到的準(zhǔn)確率相比于在正常數(shù)據(jù)集上的訓(xùn)練有一定程度的下降,略低于FedPNS方案,但是仍明顯優(yōu)于FedAvg和BFLC。這表明本文方案在non-IID數(shù)據(jù)訓(xùn)練場景下仍表現(xiàn)良好,具有較強(qiáng)的魯棒性和適用性。
3.2.3 LIMIT_TIME設(shè)置
如2.2節(jié)所述,在所有訓(xùn)練節(jié)點提交局部模型后,需設(shè)置一個限定時間LIMIT_TIME,作為所有礦工提出并驗證聚合方案以及生成有效區(qū)塊的時間。LIMIT_TIME必須設(shè)置為合適大小才能保證系統(tǒng)達(dá)到最優(yōu)性能。如果設(shè)置得過小,礦工驗證聚合方案的時間太少,可能來不及驗證所有聚合方案,提出的準(zhǔn)確率最高方案并不一定最優(yōu);如果設(shè)置得過大,礦工驗證完所有聚合方案后還有時間剩余,平白增加系統(tǒng)的時間開銷,降低聯(lián)邦學(xué)習(xí)的效率。
為了驗證式(1)的有效性,實驗在系統(tǒng)存在30%惡意節(jié)點、礦工數(shù)量為40的情況下進(jìn)行,實驗所用計算機(jī)驗證一次聚合方案的時間約為1 s,根據(jù)式(1)計算可得LIMIT_TIME應(yīng)設(shè)置為15.95 s。實驗設(shè)置不同的LIMIT_TIME并對比準(zhǔn)確率,假設(shè)所有節(jié)點不會中途退出,且實驗參數(shù)不會中途更改,即LIMIT_TIME無須動態(tài)變化,實驗結(jié)果如圖9所示。
可以看到,當(dāng)LIMIT_TIME設(shè)置得比15.95 s更小時,聯(lián)邦學(xué)習(xí)所能達(dá)到的準(zhǔn)確率也隨之降低,且LIMIT_TIME越小,準(zhǔn)確率越低;當(dāng)LIMIT_TIME設(shè)置得比15.95 s大時,聯(lián)邦學(xué)習(xí)所能達(dá)到的準(zhǔn)確率也并無明顯提高。
3.3 方案對比總結(jié)
通過上述實驗,可以看到本文方案在多個關(guān)鍵方面與現(xiàn)有的其他方案有顯著的不同,表3對比了本文方案與其他方案在若干重要特性上的表現(xiàn)。
在聯(lián)邦學(xué)習(xí)領(lǐng)域,F(xiàn)edAvg方案作為一種廣泛使用的方法,雖然在普遍情況下表現(xiàn)良好,但它并沒有充分考慮惡意節(jié)點的影響,這在安全性要求較高的應(yīng)用場景中可能成為一個重要的局限。而BFLC方案通過引入?yún)^(qū)塊鏈技術(shù),有效提高了系統(tǒng)對惡意節(jié)點的抵抗能力,但它并不適用于non-IID數(shù)據(jù)訓(xùn)練場景,限制了在數(shù)據(jù)多樣性環(huán)境中的應(yīng)用。FedPNS方案雖然在處理惡意節(jié)點和適應(yīng)non-IID數(shù)據(jù)訓(xùn)練方面表現(xiàn)出色,但它仍然是一個中心化的解決方案,這可能帶來中心化系統(tǒng)所固有的風(fēng)險和局限。本文方案則結(jié)合了區(qū)塊鏈的去中心化優(yōu)勢,能夠在保證準(zhǔn)確率的同時,有效地應(yīng)對大量惡意節(jié)點的挑戰(zhàn),并且同樣適用于non-IID數(shù)據(jù)訓(xùn)練場景。這使得本文方案在安全性、適應(yīng)性和去中心化等多個維度上展現(xiàn)出較其他方案更加全面和均衡的性能優(yōu)勢。
4 結(jié)束語
本文從聯(lián)邦學(xué)習(xí)模型聚合以及節(jié)點選擇的角度研究區(qū)塊鏈與聯(lián)邦學(xué)習(xí)的結(jié)合,提出一種基于區(qū)塊鏈的去中心化聯(lián)邦學(xué)習(xí)模型聚合方案,將聚合工作交給眾多礦工而非某個單一節(jié)點完成,利用礦工的計算資源來完成模型聚合,并且把礦工所提出的聚合方案在公共測試集上的準(zhǔn)確率作為達(dá)成共識的標(biāo)準(zhǔn),將區(qū)塊鏈的共識過程和聯(lián)邦學(xué)習(xí)的模型聚合過程進(jìn)行整合,大大降低了聯(lián)邦學(xué)習(xí)系統(tǒng)的計算負(fù)擔(dān),且保證了模型聚合方案的最優(yōu)性。同時,基于該模型聚合方案,提出在訓(xùn)練節(jié)點選擇階段使用“訓(xùn)練幣”,根據(jù)“幣齡”的大小隨機(jī)選取訓(xùn)練節(jié)點,提高積極對系統(tǒng)做貢獻(xiàn)節(jié)點的被選中概率,同時降低惡意節(jié)點的機(jī)會。實驗結(jié)果表明,本文方案在系統(tǒng)存在大量惡意節(jié)點時仍然能保持較高的準(zhǔn)確率,具有較好的安全性和魯棒性。但在選擇聚合方案時只根據(jù)準(zhǔn)確率進(jìn)行貪心選擇,有可能會陷入局部最優(yōu),下一步將研究設(shè)計更公平且有效的選擇策略,以提高聯(lián)邦學(xué)習(xí)訓(xùn)練效果。
參考文獻(xiàn):
[1]McMahan B, Moore E, Ramage D, et al. Communication-efficient learning of deep networks from decentralized data[C]//Proc of International Conference on Artificial Intelligence and Statistics. San Francisco: Morgan Kaufmann, 2017: 1273-1282.
[2]Banabilah S, Aloqaily M, Alsayed E, et al. Federated learning review: fundamentals, enabling technologies, and future applications[J]. Information Processing & Management, 2022,59(6): 103061.
[3]Berdik D, Otoum S, Schmidt N, et al. A survey on blockchain for information systems management and security[J]. Information Processing & Management, 2021, 58(1): 102397.
[4]李凌霄, 袁莎, 金銀玉. 基于區(qū)塊鏈的聯(lián)邦學(xué)習(xí)技術(shù)綜述[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]Kim H, Park J, Bennis M, et al. Blockchained on-device federated learning[J]. IEEE Communications Letters, 2019, 24(6): 1279-1283.
[6]Weng Jiasi, Weng Jian, Zhang Jilian, 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.
[7]Krizhevsky A. Learning multiple layers of features from tiny images[D]. Toronto :University of Toronto, 2009.
[8]Toyoda K, Zhang A N. Mechanism design for an incentive-aware blockchain-enabled federated learning platform[C]//Proc of IEEE International Conference on Big Data. Piscataway, NJ: IEEE Press, 2019: 395-403.
[9]Gao Liang, Li Li, Chen Yingwen, et al. FGFL: a blockchain-based fair incentive governor for federated learning[J]. Journal of Parallel and Distributed Computing, 2022, 163: 283-299.
[10]Qi Minfeng, Wang Ziyuan, Chen Shiping, et al. A hybrid incentive mechanism for decentralized federated learning[J]. Distributed Ledger Technologies: Research and Practice, 2022,1(1): 1-15.
[11]Ramanan P, Nakayama K. BAFFLE: blockchain based aggregator free federated learning[C]//Proc of IEEE International Conference on Blockchain. Piscataway, NJ: IEEE Press, 2020: 72-81.
[12]Yu Feng, Lin Hui, Wang Xiaoding, et al. Blockchain-empowered secure federated learning system: architecture and applications[J]. Computer Communications, 2022,196: 55-65.
[13]Qu Xidi, Wang Shengling, Hu Qin, et al. Proof of federated lear-ning: a novel energy-recycling consensus algorithm[J]. IEEE Trans on Parallel and Distributed Systems, 2021, 32(8): 2074-2085.
[14]Lu Yunlong, Huang Xiaohong, Dai Yueyue, et al. Blockchain and federated learning for privacy-preserved data sharing in industrial IoT[J]. IEEE Trans on Industrial Informatics, 2019, 16(6): 4177-4186.
[15]Jin Hai, Dai Xiaohai, Xiao Jiang, et al. Cross-cluster federated learning and blockchain for Internet of medical Things[J]. IEEE Internet of Things Journal, 2021, 8(21): 15776-15784.
[16]Zhou Sicong, Huang Huawei, Chen Wuhui, et al. Pirate: a blockchain-based secure framework of distributed machine learning in 5G networks[J]. IEEE Network, 2020, 34(6): 84-91.
[17]Zhao Yang, Zhao Jun, Jiang Linshan, et al. Privacy-preserving blockchain-based federated learning for IoT devices[J]. IEEE Internet of Things Journal, 2020, 8(3): 1817-1829.
[18]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.
[19]Ur Rehman M H, Salah K, Damiani E, et al. Towards blockchain-based reputation-aware federated learning[C]//Proc of IEEE Confe-rence on Computer Communications Workshops. Piscataway, NJ: IEEE Press, 2020: 183-188.
[20]Li Yuzheng, Chen Chuan, Liu Nan, et al. A blockchain-based decentralized federated learning framework with committee consensus[J]. IEEE Network, 2020, 35(1): 234-241.
[21]Zhu Juncen, Cao Jiannong, Saxena D, et al. Blockchain-empowered federated learning: challenges, solutions, and future directions[J]. ACM Computing Surveys, 2023, 55(11): 1-31.
[22]Wu Hongda, Wang Ping. Node selection toward faster convergence for federated learning on non-IID data[J]. IEEE Trans on Network Science and Engineering, 2022, 9(5): 3099-3111.