論文地址:https://ieeexplore.ieee.org/abstract/document/9293091
1. Introduction
文章提出了一種基于區(qū)塊鏈的去中心化、自治的 FL 架構(gòu)來應(yīng)對現(xiàn)階段所面臨的各種挑戰(zhàn)(架構(gòu)如Fig.1所示)。在FL節(jié)點(diǎn)管理上,基于聯(lián)盟鏈的架構(gòu)保證了節(jié)點(diǎn)的權(quán)限控制。在存儲方面,文章設(shè)計(jì)了模型和更新的鏈上存儲模式,通過這種模式,節(jié)點(diǎn)可以快速獲取最新的模型。每個經(jīng)過驗(yàn)證的更新都會記錄在區(qū)塊鏈上并保持不被篡改??紤]到區(qū)塊鏈上巨大的存儲消耗,部分節(jié)點(diǎn)可以放棄歷史區(qū)塊以釋放存儲空間。在區(qū)塊共識機(jī)制方面,提出了一種新穎的委員會共識機(jī)制,僅增加少量驗(yàn)證消耗,在惡意攻擊下獲得更高的穩(wěn)定性。在每一輪 FL 中,更新都會由少數(shù)節(jié)點(diǎn)(即委員會)進(jìn)行驗(yàn)證和打包。委員會共識機(jī)制讓最誠實(shí)的節(jié)點(diǎn)互相補(bǔ)充,不斷完善全局模型。少量不正確或惡意的節(jié)點(diǎn)更新將被忽略,以避免損壞全局模型。同時,BFLC(Blockchain-based Decentralized Federated Learning Framework with Committee Consensus)訓(xùn)練community具有靈活性,節(jié)點(diǎn)可以隨時加入或離開,不會破壞訓(xùn)練過程。結(jié)合有效的激勵機(jī)制,做出貢獻(xiàn)的節(jié)點(diǎn)可以獲得實(shí)際獎勵,從而促進(jìn)整個訓(xùn)練community的良性循環(huán)發(fā)展。
文章貢獻(xiàn)總結(jié)如下 :(1)提出了基于區(qū)塊鏈的聯(lián)邦學(xué)習(xí)框架BFLC,詳細(xì)定義了模型存儲模式、訓(xùn)練過程和新穎的委員會共識機(jī)制。(2)從技術(shù)上討論了BFLC的可擴(kuò)展性,包括community的節(jié)點(diǎn)管理、惡意節(jié)點(diǎn)攻擊的分析以及存儲優(yōu)化。(3)通過對真實(shí)世界 FL 數(shù)據(jù)集的實(shí)驗(yàn)證明了 BFLC 的有效性,還通過模擬惡意攻擊來驗(yàn)證 BFLC 的安全性。
2. The proposed framework
區(qū)塊鏈的去中心化特性可以取代傳統(tǒng)聯(lián)邦學(xué)習(xí)中央服務(wù)器的位置,其功能可以通過智能合約來實(shí)現(xiàn),并通過區(qū)塊鏈上的交易來驅(qū)動。BFLC中參與節(jié)點(diǎn)通過區(qū)塊鏈進(jìn)行FL,維護(hù)全局模型和本地更新??紤]到 FL 的通信成本,利用一種新穎的授權(quán)共識機(jī)制來解決梯度選擇和區(qū)塊生成的任務(wù)。
A. Blockchain Storge
為了實(shí)現(xiàn)權(quán)限控制,BFLC的存儲是聯(lián)盟區(qū)塊鏈系統(tǒng),只有授權(quán)的設(shè)備才能訪問FL訓(xùn)練內(nèi)容。區(qū)塊鏈中設(shè)計(jì)了兩種不同的區(qū)塊來存儲全局模型和本地更新,統(tǒng)稱為學(xué)習(xí)信息。為了簡單起見,假設(shè)一個塊中只放置一個學(xué)習(xí)信息。
首先,隨機(jī)初始化的模型被放入#0號塊中,然后開始第0輪訓(xùn)練。節(jié)點(diǎn)訪問當(dāng)前模型并進(jìn)行本地訓(xùn)練,并將驗(yàn)證后的本地梯度放入新的更新塊中。當(dāng)持續(xù)有足夠多的更新區(qū)塊時,智能合約觸發(fā)聚合,生成下一輪的新模型并上鏈。需要注意的是,F(xiàn)L訓(xùn)練僅依賴于最新的model block,并且存儲歷史塊以用于故障回滾和區(qū)塊驗(yàn)證。
將每輪所需的更新次數(shù)表示為 k k k,并將輪數(shù)表示為 t t t。# t × ( k + 1 ) t\times(k+1) t×(k+1)號區(qū)塊包含第 t t t輪的模型,稱為model block。# [ t × ( k + 1 ) + 1 ] [t\times(k+1)+1] [t×(k+1)+1]至# [ ( t + 1 ) × ( k + 1 ) ? 1 ] [(t+1)\times(k+1)-1] [(t+1)×(k+1)?1]號區(qū)塊存儲第t輪的模型更新,稱為update block。一個模型區(qū)塊包括:區(qū)塊頭、輪數(shù) t t t和全局模型。一個更新區(qū)塊包括:區(qū)塊頭、輪數(shù) t t t、本地更新梯度、上傳者地址、更新分?jǐn)?shù)(update score)。
B. Committee Consensus Mechanism
區(qū)塊鏈的鏈?zhǔn)浇Y(jié)構(gòu)保證了不可篡改。因此,將正確的區(qū)塊附加到鏈上是共識機(jī)制工作的關(guān)鍵組成部分?;诟偁幍墓沧R機(jī)制首先將區(qū)塊附加到鏈上,然后進(jìn)行共識。相反,基于通信的生成機(jī)制在附加塊之前達(dá)成一致。
考慮到共識的計(jì)算和通信成本,文章提出了一種高效且安全的委員會共識機(jī)制(Committee Consensus Mechanism, CCM),在將局部梯度附加到鏈之前對其進(jìn)行驗(yàn)證。在這種設(shè)置下,少數(shù)誠實(shí)的節(jié)點(diǎn)將組成一個委員會,負(fù)責(zé)局部梯度的驗(yàn)證和區(qū)塊的生成。與此同時,其余節(jié)點(diǎn)執(zhí)行本地訓(xùn)練并將本地更新發(fā)送給委員會。然后委員會驗(yàn)證更新并為其打分。只有符合條件的更新才會被打包到區(qū)塊鏈上。下一輪開始時,根據(jù)上一輪節(jié)點(diǎn)的得分選舉新的委員會。值得注意的是,更新驗(yàn)證是 CCM 的關(guān)鍵組成部分。因此,委員會成員通過將其數(shù)據(jù)視為驗(yàn)證集來驗(yàn)證本地更新,驗(yàn)證準(zhǔn)確性(validation accuracy)作為分?jǐn)?shù)。委員會無需進(jìn)行進(jìn)一步操作,只需要運(yùn)行學(xué)習(xí)模型的基本能力。綜合各委員會成員的分?jǐn)?shù)后,中位數(shù)將成為本次更新的分?jǐn)?shù)。
BFLC具有以下優(yōu)勢:(1)高效率(High efficiency),只有少數(shù)節(jié)點(diǎn)會驗(yàn)證模型更新,而不是廣播到各個節(jié)點(diǎn)達(dá)成共識。(2)K-fold交叉驗(yàn)證(K-fold cross-validation),委員會成員不參加本輪本地訓(xùn)練。因此,將委員會的本地?cái)?shù)據(jù)作為驗(yàn)證集。隨著每輪委員會成員的交替,驗(yàn)證集也會發(fā)生變化。在此設(shè)置中,實(shí)現(xiàn)了 FL 上的 K-fold交叉驗(yàn)證。(3)反惡意(Anti-malevolence),根據(jù)驗(yàn)證分?jǐn)?shù),智能合約將選出相應(yīng)性能較好的節(jié)點(diǎn),并組成新的委員會進(jìn)行下一輪的培訓(xùn)。這意味著所選的本地?cái)?shù)據(jù)分布是群居的并且節(jié)點(diǎn)沒有惡意。
C. Model Training
除委員會外的節(jié)點(diǎn)每輪進(jìn)行本地訓(xùn)練。在FL中,出于安全和隱私的考慮,原始數(shù)據(jù)將保存在本地節(jié)點(diǎn)中,這些節(jié)點(diǎn)只將梯度上傳到區(qū)塊鏈上。此外,還有兩個主要挑戰(zhàn):(1)本地?cái)?shù)據(jù)分布為non-IID。(2)設(shè)備并不總是可用。
為了解決第一個挑戰(zhàn),每輪只需要一定數(shù)量的本地更新,委員會共識機(jī)制可以通過委員會成員的數(shù)據(jù)分布驗(yàn)證本地更新來最大化全局模型的泛化能力。為了解決第二個問題,為節(jié)點(diǎn)設(shè)計(jì)了一種主動的本地學(xué)習(xí)進(jìn)程。節(jié)點(diǎn)可以隨時主動獲取當(dāng)前的全局模型并進(jìn)行本地訓(xùn)練。梯度將發(fā)送給委員會并進(jìn)行驗(yàn)證。當(dāng)符合條件的更新被打包到區(qū)塊鏈上時,作為獎勵,可以將代幣附加到它們上。
如上所述,每輪都需要一定數(shù)量的有效更新。因此,當(dāng)委員會驗(yàn)證足夠的本地更新時,聚合過程就會被激活。這些經(jīng)過驗(yàn)證的更新由委員會匯總成一個新的全局模型。聚合可以在局部梯度或局部模型上進(jìn)行,這兩種方法的網(wǎng)絡(luò)傳輸消耗是相等的。新的全局模型打包到區(qū)塊鏈上后,將再次選舉委員會,并開始下一輪的訓(xùn)練。
3. Discussion
A. Node management and incentive
BFLC的訓(xùn)練過程依賴于節(jié)點(diǎn)的相互促進(jìn),節(jié)點(diǎn)管理也是BFLC的關(guān)鍵部分。參與節(jié)點(diǎn)不僅可以訪問全局模型,還可以上傳更新來影響全局模型。為了控制權(quán)限,我們指定了構(gòu)成訓(xùn)練社區(qū)的初始節(jié)點(diǎn)負(fù)責(zé)節(jié)點(diǎn)管理,即管理者。每臺設(shè)備在加入訓(xùn)練社區(qū)之前都必須經(jīng)過管理人員的驗(yàn)證。此驗(yàn)證采用黑名單模式:如果設(shè)備因不當(dāng)行為(例如提交誤導(dǎo)性更新、傳播私有模型)而被踢出社區(qū),則該設(shè)備將被拒絕。
根據(jù)所提出的區(qū)塊鏈存儲結(jié)構(gòu),新節(jié)點(diǎn)加入后可以在鏈上快速找到最新的全局模型。節(jié)點(diǎn)可以立即使用模型完成本地任務(wù),也可以使用本地?cái)?shù)據(jù)更新模型,并在共識委員會驗(yàn)證后獲得鏈上分?jǐn)?shù)。值得注意的是,每輪聚合只需要一定數(shù)量的有效更新,并且也只有部分節(jié)點(diǎn)在線參與。因此,只要節(jié)點(diǎn)主動提交更新,就有可能參與全局模型更新并獲得分?jǐn)?shù)。同時,部分離線節(jié)點(diǎn)不會阻礙FL進(jìn)度。
社區(qū)中的節(jié)點(diǎn)始終可以使用模型而無需提交更新,因此需要有效的激勵來鼓勵節(jié)點(diǎn)向全局模型提供更新。為了解決這個問題,提出了一種稱為按貢獻(xiàn)分享利潤(profit sharing by contribution)的激勵機(jī)制。(1)權(quán)限費(fèi)用(Permission fee):每臺設(shè)備都需要支付全局模型的訪問權(quán)限費(fèi)用,這些費(fèi)用由管理者保留。然后,節(jié)點(diǎn)可以無限制地訪問社區(qū)中的最新模型。(2)利潤分享(Profit sharing):每輪匯總后,管理者根據(jù)所提交更新的得分向相應(yīng)節(jié)點(diǎn)分配獎勵。因此,頻繁提供更新可以獲得更多獎勵,不斷更新的全局模型將吸引更多節(jié)點(diǎn)參與。這種激勵機(jī)制具有很高的可擴(kuò)展性,可以適應(yīng)不同的現(xiàn)實(shí)應(yīng)用。許可費(fèi)用的配置、利潤分成比例或分紅模式都值得研究。
B. Committee Election
? 每輪結(jié)束時,都會從經(jīng)過驗(yàn)證的更新提供者中選出一個新的委員會。在去中心化的訓(xùn)練環(huán)境中,這次選舉會顯著影響全局模型的性能,因?yàn)槲瘑T會決定將聚合哪些本地更新。委員會選舉方式包括以下幾類:(1)隨機(jī)選舉:新的委員會成員從經(jīng)過驗(yàn)證的節(jié)點(diǎn)中隨機(jī)選出。從機(jī)器學(xué)習(xí)的角度來看,這種方法提高了模型的泛化性并減少了過度擬合。然而,惡意節(jié)點(diǎn)偽裝成正常節(jié)點(diǎn),對惡意攻擊的抵抗能力較弱。(2)按分?jǐn)?shù)選舉:驗(yàn)證分?jǐn)?shù)最高的提供商組成新委員會。由于委員會中缺少部分節(jié)點(diǎn),這可能會加劇樣本分布的不均勻。但對于惡意節(jié)點(diǎn)攻擊來說,這種方式顯著增加了攻擊成本,并帶來了更多的安全性和穩(wěn)定性。(3)多因素優(yōu)化:該方法考慮設(shè)備的多個因素(即網(wǎng)絡(luò)傳輸速率)和驗(yàn)證分?jǐn)?shù)來進(jìn)行最優(yōu)選擇。但這種優(yōu)化會帶來額外的計(jì)算開銷。因此,應(yīng)根據(jù)實(shí)際場景和相關(guān)要求來應(yīng)用該方法。
C. Malicious Nodes
惡意節(jié)點(diǎn)被定義為提交不正確的惡意模型更新的節(jié)點(diǎn)。在原始 FL 設(shè)置中,F(xiàn)edAvg將所有更新聚合到新的全局模型中。如果存在惡意更新,全局模型就會中毒并獲得較低的性能。如上所述,根據(jù)委員會共識機(jī)制,更新將在匯總之前由委員會驗(yàn)證。在本小節(jié)中,我們從理論上分析了惡意攻擊的因素和成功的可能性。
將所有節(jié)點(diǎn)的數(shù)量記為 N N N,其中委員會成員的數(shù)量為 M M M,其余 N ? M N?M N?M個節(jié)點(diǎn)為訓(xùn)練節(jié)點(diǎn)。顯然,當(dāng)且僅當(dāng)超過 M 2 \frac{M}{2} 2M?個委員會成員進(jìn)行合作時,惡意更新才會被接受。然而,該委員會成員是上一輪表現(xiàn)最好的 M M M個,這意味著這些惡意成員的更新被上一委員會中的其他 M 2 \frac{M}{2} 2M?個惡意節(jié)點(diǎn)所接受。這是一個無限依賴循環(huán),因此,只要第一個委員會中有超過 M 2 \frac{M}{2} 2M?個誠實(shí)節(jié)點(diǎn),就沒有惡意節(jié)點(diǎn)可以進(jìn)入委員會并損害全局模型。
考慮另一種極端情況:惡意節(jié)點(diǎn)合謀冒充正常節(jié)點(diǎn)來贏得委員會席位。當(dāng)惡意節(jié)點(diǎn)占據(jù)一半席位時,攻擊開始。為了分析這種攻擊模式,將參與節(jié)點(diǎn)的數(shù)量記為 A A A, A A A中惡意節(jié)點(diǎn)的百分比為 q ∈ ( 0 , 1 ) q\in(0,1) q∈(0,1),委員會的百分比為 p ∈ ( 0 , 1 ) p\in(0,1) p∈(0,1)。攻擊目標(biāo)是在委員會中擁有 A × p 2 \frac{A\times p}{2} 2A×p?個以上席位。假設(shè)每個節(jié)點(diǎn)的性能相似。因此,攻擊成功概率可以計(jì)算為該事件的概率:選取 A × p A×p A×p個節(jié)點(diǎn)來自全部節(jié)點(diǎn),其中一半以上來自 A × q A×q A×q(惡意節(jié)點(diǎn))。通過固定 A = 1000 A=1000 A=1000,在Figure 3 中繪制了沿 p p p和 q q q的概率變化。需要注意的是,只有當(dāng)惡意百分比大于50%時,攻擊成功概率才會明顯大于0。這個結(jié)論與PoW區(qū)塊鏈系統(tǒng)中的51%攻擊類似。換句話說,在去中心化的社區(qū)中,惡意節(jié)點(diǎn)應(yīng)該持有51%的計(jì)算資源來攻擊系統(tǒng),這樣的成本遠(yuǎn)遠(yuǎn)大于收益。此外,歷史模型和更新都存儲在區(qū)塊鏈上,因此,在攻擊發(fā)生后,故障恢復(fù)始終是一種選擇。
D. Storge Optimization
在實(shí)際應(yīng)用中,存儲開銷是決定訓(xùn)練設(shè)備硬件要求的重要因素?;谏鲜鰠^(qū)塊鏈存儲方案,可以快速找到最新的全局模型。歷史模型和更新雖然可以提供災(zāi)后恢復(fù)功能,但也占用了巨大的存儲空間。在這里,我們給出一個簡單可行的存儲開銷降低方案:容量不足的節(jié)點(diǎn)可以在本地刪除歷史區(qū)塊,只保留本輪的最新模型和更新。這樣可以解決部分節(jié)點(diǎn)存儲空間不足的問題,同時在核心節(jié)點(diǎn)上保留災(zāi)難恢復(fù)和區(qū)塊驗(yàn)證的能力。但這種方法的缺點(diǎn)也很明顯。區(qū)塊鏈的可信度隨著節(jié)點(diǎn)的刪除而降低。在相互不信任的訓(xùn)練社區(qū)中,出于安全考慮,每個節(jié)點(diǎn)可能不會使用此方案。
因此,可信可靠的第三方存儲可能是更好的解決方案。區(qū)塊鏈只維護(hù)每個模型或更新文件所在的網(wǎng)絡(luò)地址以及修改操作的記錄。其他節(jié)點(diǎn)與中心化存儲交互,獲取最新模型或上傳更新。這個集中存儲將負(fù)責(zé)災(zāi)難恢復(fù)備份和分布式文件存儲服務(wù)。
4. Experiment
A. Settings and Normal Training
將BFLC 與basic FL框架(fedAvg)和stand-alone訓(xùn)練框架作為基線進(jìn)行比較。每個框架都執(zhí)行經(jīng)典圖像分類模型AlexNet作為全局模型,并固定一組模型超參數(shù)以確保公平性。在實(shí)驗(yàn)設(shè)置上,將每輪active節(jié)點(diǎn)的比例定義為 k k k%,其中40%將在下一輪被選舉為BFLC的委員會成員。 Basic FL 的訓(xùn)練節(jié)點(diǎn)比例也是 k k k%。同時,stand-alone訓(xùn)練將利用整個數(shù)據(jù)集。在不同 k k k值的條件下,我們將它們的性能記錄在TABLE 1中。
從TABLE 1中可以看出,隨著active節(jié)點(diǎn)比例的增加,BFLC的性能不斷接近基本FL框架的效果,僅與完整數(shù)據(jù)集的stand-alone訓(xùn)練相比略有損失。值得一提的是,BFLC 通過委員會共識機(jī)制可以顯著減少共識的消耗。例如,如果訓(xùn)練節(jié)點(diǎn)數(shù)量為 P P P,委員會規(guī)模為 Q Q Q,則活躍節(jié)點(diǎn)為 P + Q P+Q P+Q。對于BFLC,每輪共識的計(jì)算量可以表示為 P × Q P×Q P×Q,而廣播方式是 ( P + Q ) 2 (P+Q)^2 (P+Q)2。與獨(dú)立訓(xùn)練相比,BFLC還具有聯(lián)邦學(xué)習(xí)的隱私數(shù)據(jù)保護(hù)功能,并且不需要可信的中心服務(wù)器來管理,從而顯著降低了隱私泄露的風(fēng)險。
B. Under Malicious Attack
訓(xùn)練社區(qū)中的惡意節(jié)點(diǎn)會產(chǎn)生有害更新,如果被集成,將顯著降低全局模型的性能。我們模擬惡意節(jié)點(diǎn)攻擊來演示所提出的 BFLC、basic FL 和 CwMed在active節(jié)點(diǎn)中不同惡意比例下將受到怎樣的影響。假設(shè)惡意節(jié)點(diǎn)的攻擊模式是帶有點(diǎn)狀高斯隨機(jī)噪聲的隨機(jī)擾動。
basic FL不會執(zhí)行任何防御措施,并且將集成隨機(jī)選擇的活動節(jié)點(diǎn)生成的模型更新。 CwMed 構(gòu)造一個全局梯度,其中每個條目是具有相同坐標(biāo)的局部梯度中條目的中值。 BFLC 依靠上述委員會共識來抵御攻擊。每次更新都會從委員會獲得一個分?jǐn)?shù)(即局部預(yù)測準(zhǔn)確度中位數(shù))。
為了增強(qiáng)攻擊的有效性,假設(shè)惡意節(jié)點(diǎn)是串通的,即惡意委員會的成員會對惡意更新給予隨機(jī)高分(例如,90%-100%)。活躍節(jié)點(diǎn)比例固定為10%,其中20%將當(dāng)選為下一輪委員會。如Figure 4所示,與對比方法相比,BFLC能夠抵抗更高的惡意節(jié)點(diǎn)比例。這說明了BFLC在委員會機(jī)制的幫助下的有效性。文章來源:http://www.zghlxwxcb.cn/news/detail-777667.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-777667.html
到了這里,關(guān)于【聯(lián)邦學(xué)習(xí)+區(qū)塊鏈】A Blockchain-based Decentralized Federated Learning Framework with Committee Consensus的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!