999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于區塊鏈的聯邦學習模型聚合方案

2024-08-15 00:00:00羅福林陳云芳陳序張偉
計算機應用研究 2024年8期

摘 要:傳統的中心化聯邦學習需要一個受信賴的中央服務器負責模型聚合,容易產生單點故障?,F有的去中心化聯邦學習方案通常在每個迭代周期臨時選舉出一個節點負責模型的聚合,但不能保證被選節點的完全可信。為了解決上述問題,提出一種基于區塊鏈的聯邦學習模型聚合方案,把模型聚合工作交由眾多礦工而非某個單一節點負責,礦工提出不同的候選聚合方案并生成相應區塊,然后根據設計的準確率最高鏈原則確定主鏈,以達成節點之間的共識;同時,為了抑制惡意訓練節點,提出基于質押“訓練幣”的訓練節點選擇方案,節點通過質押“訓練幣”獲取參與訓練的機會,系統根據模型貢獻進行獎懲。仿真實驗結果表明,當系統中惡意節點比例分別為10%、20%、30%時,該方案所能達到的準確率比聯邦平均(FedAvg)方案分別高8.64、19.89、22.93百分點,且在non-IID數據訓練場景下也有良好的表現。綜上所述,該方案提高了聯邦學習聚合過程的可信度,并能同時保證聯邦學習訓練效果。

關鍵詞:區塊鏈; 聯邦學習; 去中心化; 模型聚合

中圖分類號:TP301 文獻標志碼: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 引言

在人工智能飛速發展的時代,數據的重要性愈加凸顯,人們對數據的隱私保護也越來越重視。因此在進行需要海量數據支持的機器學習時,數據所有者并不一定愿意分享他們的數據用于模型訓練,因為這些數據往往包含著敏感信息,由此造成了“數據孤島”問題,極大阻礙了人工智能技術和應用的發展。

為了連接“數據孤島”,Google于2016年提出聯邦學習(federate learning,FL)[1],在FL中,各參與方無須共享本地數據,只需上傳經本地訓練得到的模型梯度,由中央服務器進行聚合得到新一輪的全局模型后廣播給各參與方,各參與方在新的全局模型基礎上再進行本地訓練,重復該過程多輪,以達到分布式訓練的效果。聯邦平均(FedAvg)方案是聯邦學習領域應用最廣泛的方法之一,FedAvg按照預設比例從全部節點中隨機選擇一部分參與訓練,訓練節點使用自己的本地數據進行訓練,并在訓練完成后上傳訓練得到的局部模型,中央服務器將所有上傳的局部模型進行加權求和平均得到全局模型。與傳統集中式機器學習方法相比,FL不要求參與方共享自己的私有數據,極大地保護了參與方的數據隱私,可以廣泛應用于醫療保健、娛樂、電子商務和自動駕駛等場景[2]。但傳統的聯邦學習需要一個受信賴的中央服務器負責模型的聚合和廣播過程,容易產生單點故障,一旦中央服務器受到攻擊,整個系統就會崩潰,模型的訓練也將被迫中止,魯棒性較差,并且傳統的聯邦學習假設所有節點都是誠實的,如果參與訓練的節點中混入惡意節點,將會影響最終的模型效果。

區塊鏈是一種建立在P2P網絡基礎上的去中心化的分布式賬本技術,采用分布式的存儲架構,且整條鏈的數據被完整保存在區塊鏈網絡中的所有節點上。區塊鏈通過密碼學和共識機制來保證數據的不可竄改性,即使個別節點受到攻擊,也不會影響整個區塊鏈網絡的正常運行[3]。因此,如果利用區塊鏈技術的去中心化節點網絡來取代傳統聯邦學習中的中央服務器,可以很好地解決傳統聯邦學習的單點故障問題[4]。同時,由于區塊鏈的不可竄改性,存儲于區塊鏈上的模型梯度數據也可以得到安全保證。BlockFL[5]和Deepchain[6]就是兩種有影響力的去中心化聯邦學習解決方案。

目前,除了將區塊鏈用于存儲聯邦學習過程中產生的模型梯度數據,也有不少工作從其他角度研究區塊鏈技術與聯邦學習的結合,例如在激勵機制、共識算法和數據隱私保護等方面進行探索。同時,節點選擇策略也是一個值得研究的方向,區塊鏈可以幫助跟蹤和評估各個節點的貢獻,這有助于在未來的迭代中作出更好的節點選擇決策,優先選擇那些能提供高質量數據或顯示出良好訓練性能的節點;并且,區塊鏈可以利用智能合約自動執行獎勵政策,這可以鼓勵更多節點積極參與聯邦學習過程,吸引高質量的數據和計算資源。

本文從節點選擇的角度進行研究,提出一種基于區塊鏈的去中心化聯邦學習模型聚合方案,主要工作和貢獻如下:

a)提出礦工負責模型聚合的方法,利用礦工的計算資源完成模型聚合工作,在模型聚合階段礦工提出不同的候選聚合方案并生成相應區塊,然后根據本文提出的準確率最高鏈原則確定主鏈以達成節點之間的共識。

b)提出基于質押“訓練幣”的訓練節點選擇方案,各節點質押其擁有的“訓練幣”獲取參與訓練的機會,系統根據“幣齡”隨機選取一組訓練節點,最后根據模型貢獻進行獎懲。

c)在真實數據集CIFAR-10[7]上進行了仿真實驗,實驗驗證了方案的有效性、安全性和魯棒性。當系統存在30%惡意節點時,本文方案所能達到的準確率比FedAvg方案高22.93百分點,且本文方案在非獨立同分布(non-IID)數據訓練場景下依然表現良好。

1 去中心化聯邦學習相關研究

由于傳統聯邦學習中央服務器帶來的單點故障問題,研究者們將區塊鏈和聯邦學習結合起來,利用區塊鏈的去中心化、不可竄改等特性對聯邦學習加以改進,改進工作主要包括激勵機制、共識算法、數據隱私和模型安全三個方面。

在激勵機制方面,文獻[8]設計了一種基于區塊鏈的聯邦學習平臺的競爭激勵機制,某一輪中選擇的每個訓練節點,選擇上一輪節點提交的最佳k個模型更新自己的模型,節點的獎勵是由下一輪訓練節點投票決定的,模型越好意味著將獲得更多的獎勵。文獻[9]提出一種公平的激勵機制FGFL,可以有效地實時評估工人的可信度和效用,衡量節點的聲譽和貢獻,任務發布者最終使用貢獻和聲譽指標的乘積確定節點的獎勵份額。文獻[10]提出一種基于區塊鏈的混合激勵機制,包括信譽模塊和反向拍賣模塊,前者用于動態計算每個參與者的聲譽分數,后者負責啟動拍賣任務,計算價格排名并分配相應的代幣獎勵。

在共識算法方面,雖然工作量證明(proof-of-work,PoW)是區塊鏈領域使用的主流共識算法,但如果直接在基于區塊鏈的聯邦學習(federated learning based on blockchain,BFL)系統中部署PoW,會給系統中的節點帶來高成本的計算資源需求。因此,一些研究選擇使用PoS或改進PoS作為BFL系統的共識算法[11,12]。此外,還有一些研究提出新的共識算法以更加契合聯邦學習。文獻[13]提出聯邦學習證明(proof of federate learning,PoFL)共識算法,PoFL使用聯邦學習任務而不是哈希難題來達成共識,礦工解決的聯邦學習任務作為達成共識的工作量證明,使共識過程更加節能。文獻[14]提出訓練質量證明(proof of training quality,PoQ)共識算法,PoQ將聯邦學習的模型訓練與共識過程相結合,利用節點的計算資源來保證模型訓練的質量。

在數據隱私和模型安全方面,主要是為了保證參與方的數據隱私不被泄露以及訓練得到的模型的機密性和完整性。文獻[15]提出一種基于區塊鏈的聯邦學習系統,通過集成聯邦學習和區塊鏈訓練和保存模型更新來保護隱私,同時使用分布式哈希表在每個客戶端上本地保存數據,以解決霧計算隱私泄露和中毒攻擊相關的問題。文獻[16]提出了一種基于分片的區塊鏈協議,可以很好地保護模型梯度參數和模型聚合,防止訓練過程受到拜占庭攻擊。文獻[17]提出使用差分隱私技術來保護聯邦學習參與方的數據隱私,且經過訓練的局部模型由發送方進行加密和簽名,以防止攻擊者和冒名頂替者竊取模型,保護模型安全。

還有一些工作從聯邦學習節點選擇的角度引入區塊鏈。節點選擇包括兩類,一類是選擇哪些節點參與訓練,另一類是選擇哪些訓練節點上傳的局部模型參與聚合。在選擇訓練節點方面,文獻[18]采用聲譽值來衡量參與節點的可靠性和可信度,選取聲譽值高的節點參與訓練,并且使用區塊鏈來計算和保存節點的聲譽值,利用區塊鏈的不可竄改性,實現安全的聲譽管理。但是,聲譽評分易受節點的主觀影響,導致評分不夠準確和公正,且聲譽與獎勵并無直接關聯,無法對參與節點進行有效激勵。文獻[19]提出了一種基于區塊鏈的細粒度信譽系統,通過前端向聯邦學習系統的所有參與者提供信譽信息的訪問,系統信譽分數的哈希值被報告給鏈上智能合約,智能合約匯總并計算每個節點的信譽,以進行節點選擇。在選擇局部模型方面,文獻[20]提出建立一個由少數誠實節點組成的委員會,訓練節點上傳的局部模型由委員會進行驗證并打分,每個訓練節點的得分取n個(委員會成員數量)分數的中位數,最后根據分數從高到低選取m個(根據聚合所需要的局部模型個數而定)梯度更新保存到區塊鏈上并進行聚合。然而,委員會成員在打分時會更加偏好擁有與自己本地數據分布相同數據的訓練節點,這導致該方案在非獨立同分布(non-IID)數據訓練場景下可能會有較差的表現。

盡管現有的聯邦學習和區塊鏈結合的方案提出了基于聲譽機制的節點選擇以及委員會模型來驗證和選擇局部模型,但這些方法存在一定的局限性。聲譽機制容易受到主觀因素的影響,導致評分的準確性和公正性得不到保證,同時,依賴于少數委員會成員的模型選擇不能代表所有節點成員,在處理非獨立同分布數據時可能會出現偏差。本文從節點選擇的角度研究區塊鏈與聯邦學習的結合,首先提出將區塊鏈的共識過程和聯邦學習的模型聚合過程進行整合,由眾多礦工完成聚合工作,聚合方案優劣的唯一評判標準就是準確率,確保客觀公正;在此基礎上,提出基于質押“訓練幣”的訓練節點選擇方案,節點被選中參與訓練的概率與其所持有的“訓練幣”數量有直接關系,而節點持有的“訓練幣”數量的增減則取決于節點是否對準確率最高的聚合方案作出貢獻。相比于根據聲譽進行選擇,該方案能夠避免某些節點的主觀偏見以及惡意打分,且“訓練幣”作為區塊鏈系統中的一種代幣,可以輔助完成聯邦學習后期的獎勵分配和貢獻確定環節,能夠對參與節點產生更好的激勵作用。

2 基于區塊鏈的模型聚合方案

2.1 框架結構

根據BFL系統中節點的職能,可以將BFL系統模型分為解耦模型、耦合模型和重疊模型三類[21]。在解耦模型中,一個節點只能在聯邦學習系統和區塊鏈系統兩者之一上工作;在耦合模型中,節點擁有雙重身份,可以同時充當這兩個系統的工作節點;重疊模型則是一種折中方案,節點的角色能夠進行動態調整,自由選擇工作身份。

本文設計的BFL系統基于重疊模型,系統中的每個節點既可以作為訓練節點參與聯邦學習的訓練,也可以作為區塊鏈系統中的礦工節點負責生成和驗證區塊。BFL系統的框架結構如圖1所示,聯邦學習過程的每個迭代周期由七個步驟組成。為了保證模型安全以及實現權限控制,本文框架中所使用的區塊鏈為聯盟區塊鏈,只有經過授權的節點才能訪問聯邦學習過程中的信息。且考慮到參與聯邦學習的節點所擁有的存儲能力的不一致,框架中引入星際文件系統(interplanetary file system,IPFS),將每一個迭代周期中各訓練節點訓練得到的局部模型和更新后的全局模型參數存放至IPFS,區塊鏈中只保存相應數據在IPFS中的索引地址,降低節點維護區塊鏈的存儲成本。

聯邦學習過程的一個完整迭代周期包括如下步驟:

a)根據本文提出的訓練節點選擇方案,從所有節點中選出一部分參與該輪訓練;

b)訓練節點根據所維護的區塊鏈最新區塊中保存的索引地址,從IPFS獲取上一輪聚合得到的全局模型;

c)在上一輪全局模型的基礎上,各訓練節點使用自己的私有數據在本地進行訓練,得到新一輪的局部模型;

d)各訓練節點將自己訓練得到的局部模型上傳至IPFS,并將其在IPFS中的索引地址放入局部模型池;

e)當最后一個訓練節點訓練完畢并提交其局部模型后,礦工根據索引地址從IPFS中獲取所有局部模型;

f)礦工根據所有訓練節點本輪提交的局部模型開始競爭提出聚合方案,并使用公共測試集驗證準確率,然后將根據各自提出的聚合方案所得到的全局模型上傳至IPFS,最后生成相應區塊;

g)模型聚合步驟限定的時間結束后,根據準確率最高鏈原則確定主鏈,位于主鏈上的區塊的產出礦工獲得本輪挖礦獎勵。

2.2 準確率最高鏈原則

在區塊鏈技術領域中,共識機制一般分為兩類,一類是基于競爭的共識機制,另一類是基于通信的共識機制。前者首先在鏈上追加區塊,然后達成共識,而后者則是在追加區塊之前達成協議。對于基于競爭的共識機制,最常用的兩類共識原則就是最長鏈原則和最重鏈原則。最長鏈原則規定包含最多區塊的鏈,即最長的鏈是主鏈,區塊鏈網絡中的節點應基于主鏈生成新的區塊;而最重鏈原則強調區塊鏈的有效性不僅由鏈的長度決定,還取決于區塊的權重,這個權重通常根據PoW或其他共識算法的規則來確定,最重鏈原則規定鏈上所有區塊權重之和最大的鏈是主鏈。

本文針對所提出的基于區塊鏈的去中心化聯邦學習模型聚合方案,提出準確率最高鏈原則用于確定主鏈,以達成共識。在本文設計的區塊結構中,每個區塊會包含一種聚合方案以及該聚合方案在公共測試集上的準確率。準確率最高鏈原則規定,鏈上所有區塊所包含的聚合方案在公共測試集上的準確率之和最高的鏈為主鏈,如圖2所示。

區塊鏈的每一層分別對應聯邦學習一個迭代周期的聚合過程,在聚合過程中,眾多礦工可以提出不同的候選聚合方案并生成相應的區塊,然后依據準確率最高鏈原則確定每一層位于主鏈上的區塊。如圖2所示,在聯邦學習第i+1個迭代周期,在眾多礦工生成的區塊中,其中礦工E、A、C提出的聚合方案在公共測試集上的準確率分別為36%、32%、29%,依據準確率最高鏈原則,礦工E所提聚合方案準確率最高,因此礦工E所提區塊為區塊鏈第i+1層位于主鏈的區塊。在聯邦學習第i+2個迭代周期中所產生的區塊應基于聯邦學習第i+1個迭代周期中礦工E所產生的區塊,同理可得,礦工H在第i+2個迭代周期中所提區塊為區塊鏈第i+2層位于主鏈的區塊。

與最長鏈原則以及最重鏈原則不同的是,準確率最高鏈原則在區塊鏈的每一層只會進行一次確定主鏈的共識過程,確定后不再更改,即使之后有礦工提出了比當前主鏈上準確率更高的聚合方案并生成區塊,該區塊也不會被網絡中的節點所承認。因為在聯邦學習中,一旦確定了主鏈,達成了共識,就會開始進行下一輪訓練,而下一輪的訓練是基于上一輪中所確定的主鏈上最后一個區塊中所包含的聚合方案的,如果已經基于主鏈訓練多輪后修改之前的區塊,那么從修改的那一層開始,后續所做的訓練工作都是無用的,系統不得不從修改的那一層開始重新進行訓練,極大浪費了系統的計算資源。因此,本文在每一層生成區塊時設置了一個限定時間,不在該限定時間內生成的區塊被認為是無效的,限定時間結束后進行本輪共識過程,詳細內容見2.3節。

2.3 基于準確率最高鏈原則的模型聚合方案

傳統的聯邦學習中,模型聚合由中央服務器負責,各節點將自己訓練得到的局部模型發送給中央服務器,服務器根據聚合規則進行聚合,得到新一輪的全局模型并進行廣播。在目前已有的去中心化聯邦學習框架中,大多是根據一些預設規則選擇或選舉某一個節點臨時充當中央服務器,負責本輪模型的聚合和廣播工作。在一組局部模型中,可能有一些并不適合參與本輪聚合,甚至還可能存在惡意節點上傳的毒害局部模型,如果將其用于聚合將會影響全局模型的效果以及后續的訓練過程。因此,必須有選擇地對訓練節點提交的局部模型進行聚合,而選擇哪些局部模型參與聚合,則是聚合工作要考慮的首要問題。為了篩選出對全局模型有利的局部模型,并找到最佳的聚合方案,最直接的方法就是對所有局部模型以及所有可能的聚合方案進行驗證,但是如果只使用一個節點負責聚合工作,驗證所有可能的聚合方案所需要的時間會非常長,從而降低聯邦學習的效率。

因此,在本文提出的去中心化聯邦學習模型聚合方案中,不使用某個單一的節點完成模型的聚合,而是將模型聚合工作交給眾多礦工,利用礦工的計算資源完成聚合,并將礦工提出的聚合方案作為其競爭生成區塊并獲得獎勵的衡量條件。模型聚合階段的主要流程如下:

a)把每個訓練節點提交局部模型看作是發起一個交易,當最后一個訓練節點完成訓練并提交其局部模型后,記錄此刻時間,礦工可以根據交易信息中包含的索引地址從IPFS獲取本輪所有提交的局部模型,并提出各自的聚合方案以及生成相應區塊,每個區塊所包含的信息如圖3所示。

其中每個礦工生成的區塊中的區塊體部分應該是一致的,都包含本輪所有訓練節點提交的局部模型。區塊頭中的poly_opt是該區塊提出的聚合方案,記錄該聚合方案使用了哪些訓練節點上傳的局部模型;global_model是一個IPFS的索引地址,根據該地址可以從IPFS得到由該聚合方案進行聚合所得到的模型梯度;accuracy則是根據該聚合方案聚合得到的全局模型在測試集上的準確率,所有礦工共用一個測試集,且該準確率由礦工自行測試并上傳,為防止礦工虛報,在共識過程中所有礦工都可以驗證其他礦工提出的聚合方案以及相應準確率。

b)在限定時間LIMIT_TIME之內,礦工可以提出多個聚合方案并生成相應區塊,最終根據區塊中的時間戳信息判斷該區塊是否有效。LIMIT_TIME應根據參與訓練的節點數、聚合需要的最少局部模型數量、驗證一個聚合方案的時間以及礦工的數量動態調整。LIMIT_TIME的計算公式為

LIMIT_TIME=T×∑Ni=LCiNM(1)

其中:N為參與訓練的節點數;L(L≤N)為至少需要聚合的局部模型個數;T為驗證一個聚合方案的時間;M為礦工的數量;CiN表示從N個局部模型中選擇i個。假設N為10,L為5,則一共有∑10i=5Ci10,即638種聚合方案。

LIMIT_TIME設置得太小,會導致礦工來不及驗證所有聚合方案,提出的聚合方案中可能不包含最佳方案;設置得太大,則會增加系統的時間開銷。之所以設置LIMIT_TIME,是為了防止有惡意礦工為了獲得更多獎勵發動塊扣留攻擊,在找到高準確率的聚合方案后隱瞞不公布,待聯邦學習進入下一輪后再將其公布出來,使得所有節點不得不重新確定主鏈,影響整個聯邦學習。

c)限定時間結束后,礦工停止生成區塊,所有節點根據準確率最高鏈原則確定主鏈,即鏈上包含的所有區塊中,提出的聚合方案在測試集上的準確率之和最高的鏈為主鏈,后續的模型聚合階段礦工應基于主鏈生成新的區塊。

確定主鏈后即可開始聯邦學習下一個迭代周期,選出新一輪訓練節點后,訓練節點根據主鏈上的最新區塊中包含的索引地址,從IPFS獲取新一輪的全局模型,并進行本地訓練。

2.4 基于質押“訓練幣”的訓練節點選擇方案

PoS是區塊鏈網絡中一種常用的共識算法,其采用偽隨機選舉方式,從一組節點中選擇一個驗證者生成下一區塊。主要思想是通過節點質押代幣的方式,根據各節點的“幣齡”來選擇驗證者,“幣齡”越大,被選中的概率也越大。其中“幣齡”為節點質押的代幣數量與節點持有代幣時長的乘積,為了防止權益大的節點主宰區塊鏈,當一個節點被選為驗證者后,其“幣齡”將會清零。

本文提出的訓練節點選擇方案借鑒了PoS的思想,提出節點通過質押“訓練幣”來獲取參與訓練的機會。當節點經過授權加入聯盟鏈時,系統會給節點發放k個初始“訓練幣”,在聯邦學習的每個迭代周期的訓練節點選擇階段,節點會質押其擁有的“訓練幣”,系統根據“幣齡”的大小,隨機選擇一組節點作為本輪的訓練節點。其中“幣齡”是節點持有“訓練幣”的數量與節點持有幣的時長的乘積,這里的時長是指聯邦學習的迭代周期數。

在聯邦學習第1個迭代周期,由于每個節點的“幣齡”都是相同的,所以每個節點被選為訓練節點的概率也是相同的,但是從第2個迭代周期開始,某些節點的“幣齡”就會發生改變,從而各個節點被選為訓練節點的概率也會發生變化。假設在聯邦學習每個迭代周期,系統中有n個節點,節點集合為S={S1,S2,…,Si,…,Sn},每個節點當前擁有的“訓練幣”數量為B={B1,B2,…,Bi,…,Bn},每個節點持有其“訓練幣”的時長為R={R1,R2,…,Ri,…,Rn},本輪參與訓練的節點集合為Train_S,Train_S是S的一個子集。則節點Si在該輪被選擇為訓練節點,即節點Si被選入子集Train_S的概率為

Pi=Bi×Ri∑nk=1Bk×Rk(2)

當一組節點被選中作為訓練節點后,Train_S集合中所有節點的持有“訓練幣”的時長需從1重新計算,如果Train_S集合中某個節點訓練的局部模型被用于本輪主鏈上的區塊所記錄的聚合方案,即本輪準確率最高的聚合方案中,將該節點質押的“訓練幣”全部返還,并額外獎勵其p個“訓練幣”,否則只返還該節點所質押的q%(0<q<100)“訓練幣”。該訓練節點選擇過程偽代碼如算法1所示。

算法1 訓練節點選擇

輸入:B,S,R。

輸出:Train_S。

1 for Si:i=1,2,…,n:

2 Pi=Bi×Ri∑nk=1Bk×Rk //計算每個節點被選擇的概率

3 Train_S=SelectNodes(S,P) //根據概率隨機選擇訓練節點

4 for Si:i=1,2,…,n:

5 if Si not in Train_S: //如果節點Si未被選為訓練節點

6 Ri+=1

7 else

8 Ri=1

9 aggr = {aggr1,aggr2,…,aggrn} //礦工提出聚合方案

10 best_aggr=MaxAccuracy(aggr)// 準確率最高聚合方案

11 for Si in Train_S:

12 if Si in best_aggr: /*如果節點Si訓練的局部模型參與了準確率最高方案的聚合*/

13 Bi+=p

14 else

15 Bi *=q%

16 end

該訓練節點選擇方案可以在一定程度上抑制惡意節點,降低它們被選為訓練節點的概率。在聯邦學習的整個過程中,相比惡意節點,行為誠實、為聯邦學習作出積極貢獻的節點將有更大的概率被選中成為訓練節點;同時,由于資源限制而在某些輪次未被選中的誠實節點,隨著它們持有“訓練幣”的時長增加,也能獲得成為訓練節點并獲取獎勵的機會。該方案綜合考慮節點的歷史貢獻、當前資源及誠實程度,既能懲罰惡意節點,也讓誠實節點獲得更多參與訓練的機會,從長遠看可以促進聯邦學習的健康發展。

3 實驗分析

為了驗證本文方案的有效性,實驗在64位Windows操作系統,CPU為Intel i5-12490F 6核 3.00 GHz,GPU為RTX2080,內存為16 GB的計算機上運行。實驗所使用的數據集為CIFAR-10[7],CIFAR-10是一個用于普適物體識別的計算機視覺數據集,包含50 000個訓練樣本和10 000個測試樣本,每個樣本都是一張32×32的RGB彩色圖片,總共10個類別。實驗將訓練集平均分成80份,每份包含625個訓練樣本,但只使用了其中50份數據進行聯邦學習訓練。實驗中的網絡模型選用ResNet50網絡,它由49個卷積層和1個全連接層組成。在模擬惡意節點時利用標簽反轉進行攻擊,將CIFAR-10數據集中的源標簽全部改為目標標簽“3”。實驗所涉及的一些其他參數的設置如表1所示。

3.1 訓練節點選擇實驗

為了驗證本文所提訓練節點選擇方案的有效性,實驗在50個客戶端中分別設置5、10、15、20個惡意節點,聯邦學習終止條件為達到80輪迭代,實驗中本文訓練節點選擇方案參數設置k為10,p為10,q為20,即聯邦學習系統為每個節點發放10個初始“訓練幣”,如果節點訓練的局部模型被用于聚合本輪最優全局模型,則額外獎勵該節點10個“訓練幣”,否則只返還該節點20%所質押的“訓練幣”以示懲罰。

實驗在使用本文訓練節點選擇方案情況下,在聯邦學習每一輪迭代開始時統計誠實節點和惡意節點擁有的幣齡,并分別計算系統中誠實節點和惡意節點在每一輪迭代中被選為訓練節點的平均概率,結果如圖4所示。節點總數為50,每一輪迭代選擇10個節點作為訓練節點,所以初始時每個節點被選擇的概率都是2%。隨著聯邦學習迭代周期的增加,誠實節點由于積極為訓練模型作出貢獻受到獎勵,所以它們被選擇的平均概率能一直保持甚至超過2%。與之相反,惡意節點在迭代過程中被系統懲罰,被選擇的平均概率會一直下降并趨于0。

實驗分別統計FedAvg方案和本文訓練節點選擇方案在聯邦學習80輪迭代過程中選擇惡意節點參與訓練的總次數,統計結果如圖5所示。隨著惡意節點的比例增加,雖然本文方案選擇惡意節點作為訓練節點的總次數也在小幅增長,但是相比于FedAvg方案,無論是增長的幅度還是選擇惡意節點參與訓練的總次數都大大減少,在聯邦學習80輪迭代過程中選擇惡意節點參與訓練的總次數只有FedAvg方案的20%左右。

以上實驗可以證明本文所提出的聯邦學習訓練節點選擇方案在系統存在惡意節點時,能夠在一定程度上抑制惡意節點,降低惡意節點被選為訓練節點的概率,從而能在有限的聯邦學習迭代周期中將更多的訓練機會分配給誠實節點,提高模型的訓練效果。

3.2 模型聚合實驗

為了驗證本文模型聚合方案的有效性,分別從系統存在不同惡意節點比例下模型準確率、使用非獨立同分布(non-IID)數據訓練情況下的模型準確率、LIMIT_TIME的設置這三個方面進行實驗。實驗將本文方案與FedAvg[1]、BFLC[20]以及FedPNS[22]進行對比,聯邦學習終止條件為迭代80輪。BFLC方案實驗中設置委員會由5個誠實節點組成,委員會成員使用自己的數據集進行驗證并打分,每一輪選取得分最高的5個局部模型進行聚合。FedPNS方案的思想是根據局部模型梯度與全局模型梯度的內積來識別并排除不利的局部更新,從而找出每輪參與聚合的最優子集,并根據最優聚合的輸出動態改變每個節點被選擇的概率。在本文實驗中,根據文獻[22]中的說明,將FedPNS方案中的參數α設為2,β設為0.7,這兩個參數用于控制節點被選概率下降的大小。

3.2.1 不同惡意節點比例下模型準確率

實驗分別在無惡意節點、存在10%惡意節點、存在20%惡意節點、存在30%惡意節點的情況下測試模型準確率,即存在惡意節點時,訓練得到的模型在CIFAR-10數據集的測試集上分類正確的樣本占總樣本的比例。實驗結果如圖6所示。

當系統中無惡意節點時,本文方案和FedAvg方案的準確率幾乎相同,但是當系統中存在惡意節點時,本文方案的準確率明顯高于FedAvg方案,且隨著惡意節點比例的增加,本文方案依然能保持較高的準確率。在這四種不同惡意節點比例情況下,本文方案和FedAvg、BFLC以及FedPNS方案所能達到的最高準確率如表2所示。當系統中惡意節點比例分別為10%、20%、30%時,本文方案的準確率比FedAvg方案分別高8.64、19.89、22.93百分點。

為了進一步比較本文方案和BFLC以及FedPNS在系統存在大量惡意節點情況下的模型訓練效果,實驗將惡意節點數量增加到40%。結果表明,雖然本文方案所能達到的最高準確率相比于更少惡意節點情況下有所下降,但仍能達到70%以上,而BFLC方案在系統存在40%惡意節點情況下,最高準確率低于60%,且在訓練過程中準確率出現了非常大的波動,FedPNS方案所能達到的最高準確率同樣低于本文方案,如圖7所示。這進一步驗證了本文方案在應對大量惡意節點的場景下,仍然能夠保持更好的模型訓練效果。

3.2.2 non-IID數據訓練情況下模型準確率

在實際的聯邦學習應用中,本地客戶端的數據往往是non-IID的,即不同客戶端的數據可能擁有不同的分布,這給模型的訓練帶來了很大的挑戰。因此,驗證聯邦學習方案在non-IID數據下的性能,對于評估方案的魯棒性和適用范圍具有重要意義。

為了評估本文模型聚合方案在non-IID數據訓練下的表現,實驗劃分了一份non-IID的數據集。具體地,就是將CIFAR-10數據集按照標簽類別進行劃分,使得50個節點所擁有的數據量各不相同,且不同節點只擁有某些特定類別的數據,例如1號節點可能只擁有標簽為“2”和標簽為“5”的數據。在本文實驗中,劃分的這份non-IID數據集僅使用了CIFAR-10數據集50 000個訓練樣本中的一部分。在此訓練場景下,實驗測試了本文方案、FedAvg以及BFLC的準確率。實驗結果如圖8所示,可以看出,在non-IID數據訓練情況下,本文方案所能達到的準確率相比于在正常數據集上的訓練有一定程度的下降,略低于FedPNS方案,但是仍明顯優于FedAvg和BFLC。這表明本文方案在non-IID數據訓練場景下仍表現良好,具有較強的魯棒性和適用性。

3.2.3 LIMIT_TIME設置

如2.2節所述,在所有訓練節點提交局部模型后,需設置一個限定時間LIMIT_TIME,作為所有礦工提出并驗證聚合方案以及生成有效區塊的時間。LIMIT_TIME必須設置為合適大小才能保證系統達到最優性能。如果設置得過小,礦工驗證聚合方案的時間太少,可能來不及驗證所有聚合方案,提出的準確率最高方案并不一定最優;如果設置得過大,礦工驗證完所有聚合方案后還有時間剩余,平白增加系統的時間開銷,降低聯邦學習的效率。

為了驗證式(1)的有效性,實驗在系統存在30%惡意節點、礦工數量為40的情況下進行,實驗所用計算機驗證一次聚合方案的時間約為1 s,根據式(1)計算可得LIMIT_TIME應設置為15.95 s。實驗設置不同的LIMIT_TIME并對比準確率,假設所有節點不會中途退出,且實驗參數不會中途更改,即LIMIT_TIME無須動態變化,實驗結果如圖9所示。

可以看到,當LIMIT_TIME設置得比15.95 s更小時,聯邦學習所能達到的準確率也隨之降低,且LIMIT_TIME越小,準確率越低;當LIMIT_TIME設置得比15.95 s大時,聯邦學習所能達到的準確率也并無明顯提高。

3.3 方案對比總結

通過上述實驗,可以看到本文方案在多個關鍵方面與現有的其他方案有顯著的不同,表3對比了本文方案與其他方案在若干重要特性上的表現。

在聯邦學習領域,FedAvg方案作為一種廣泛使用的方法,雖然在普遍情況下表現良好,但它并沒有充分考慮惡意節點的影響,這在安全性要求較高的應用場景中可能成為一個重要的局限。而BFLC方案通過引入區塊鏈技術,有效提高了系統對惡意節點的抵抗能力,但它并不適用于non-IID數據訓練場景,限制了在數據多樣性環境中的應用。FedPNS方案雖然在處理惡意節點和適應non-IID數據訓練方面表現出色,但它仍然是一個中心化的解決方案,這可能帶來中心化系統所固有的風險和局限。本文方案則結合了區塊鏈的去中心化優勢,能夠在保證準確率的同時,有效地應對大量惡意節點的挑戰,并且同樣適用于non-IID數據訓練場景。這使得本文方案在安全性、適應性和去中心化等多個維度上展現出較其他方案更加全面和均衡的性能優勢。

4 結束語

本文從聯邦學習模型聚合以及節點選擇的角度研究區塊鏈與聯邦學習的結合,提出一種基于區塊鏈的去中心化聯邦學習模型聚合方案,將聚合工作交給眾多礦工而非某個單一節點完成,利用礦工的計算資源來完成模型聚合,并且把礦工所提出的聚合方案在公共測試集上的準確率作為達成共識的標準,將區塊鏈的共識過程和聯邦學習的模型聚合過程進行整合,大大降低了聯邦學習系統的計算負擔,且保證了模型聚合方案的最優性。同時,基于該模型聚合方案,提出在訓練節點選擇階段使用“訓練幣”,根據“幣齡”的大小隨機選取訓練節點,提高積極對系統做貢獻節點的被選中概率,同時降低惡意節點的機會。實驗結果表明,本文方案在系統存在大量惡意節點時仍然能保持較高的準確率,具有較好的安全性和魯棒性。但在選擇聚合方案時只根據準確率進行貪心選擇,有可能會陷入局部最優,下一步將研究設計更公平且有效的選擇策略,以提高聯邦學習訓練效果。

參考文獻:

[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]李凌霄, 袁莎, 金銀玉. 基于區塊鏈的聯邦學習技術綜述[J]. 計算機應用研究, 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.

主站蜘蛛池模板: 东京热高清无码精品| 亚洲人成网址| 亚洲精品在线影院| 五月婷婷综合网| 中文无码毛片又爽又刺激| 91亚洲视频下载| 亚洲国产日韩欧美在线| 亚洲欧美另类视频| 欧美日韩理论| 97在线免费| 国产伦精品一区二区三区视频优播 | 久久黄色视频影| 色有码无码视频| 亚洲色图欧美| 精品中文字幕一区在线| 亚洲国产精品无码久久一线| 日韩欧美中文| 精品午夜国产福利观看| 国产人成网线在线播放va| 国产污视频在线观看| 亚洲精品成人片在线播放| 久久一本日韩精品中文字幕屁孩| 国产高颜值露脸在线观看| av在线手机播放| 日本午夜网站| 国产主播喷水| 91精品网站| 中文字幕永久视频| 亚洲综合极品香蕉久久网| 青青草国产免费国产| 精品视频一区在线观看| 美女无遮挡免费网站| 日本黄色a视频| 性色一区| 亚洲精品无码久久久久苍井空| 国产日韩欧美视频| 国产欧美精品一区二区| 欧洲欧美人成免费全部视频| 日韩精品成人网页视频在线| 婷婷色中文网| 国产精品19p| 国产一区二区免费播放| 日韩大乳视频中文字幕| 亚洲无码精品在线播放 | 538国产视频| 中文字幕首页系列人妻| 99久久国产综合精品2020| 国产精品视频观看裸模| 无码专区国产精品第一页| 97se亚洲综合| 9丨情侣偷在线精品国产| 好紧太爽了视频免费无码| a级毛片在线免费| 欧美国产精品不卡在线观看| 青草国产在线视频| 亚洲香蕉伊综合在人在线| 国产久操视频| 乱人伦中文视频在线观看免费| 99久久精品视香蕉蕉| 男女性午夜福利网站| 亚洲精品自拍区在线观看| 青青操国产视频| 国产区在线看| 一级做a爰片久久毛片毛片| 成人一级免费视频| 超清无码熟妇人妻AV在线绿巨人| 欧美日韩一区二区在线播放| 久久综合色视频| 久久国产精品夜色| 国产欧美另类| 欧洲一区二区三区无码| 亚洲v日韩v欧美在线观看| 中文字幕2区| 国产在线91在线电影| 久无码久无码av无码| 伊人色综合久久天天| a级毛片免费网站| 性做久久久久久久免费看| 亚洲人成人无码www| 在线毛片网站| 九九久久99精品| 亚洲国产看片基地久久1024 |