• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種改進(jìn)的BMUF訓(xùn)練框架及聯(lián)邦學(xué)習(xí) 系統(tǒng)實(shí)現(xiàn)

      2022-12-22 12:28:08中國(guó)科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心北京100083
      關(guān)鍵詞:拜占庭參與方聯(lián)邦

      1.中國(guó)科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心,北京 100083

      2.中國(guó)科學(xué)院大學(xué),北京 100049

      趙鑫博1,2,代闖闖1,2,陸忠華1*

      引 言

      近年來(lái),目標(biāo)檢測(cè)、圖像分類(lèi)、語(yǔ)義分割、自然語(yǔ)言處理等人工智能技術(shù)蓬勃發(fā)展,不僅在學(xué)術(shù)理論上取得優(yōu)異成果,還在各個(gè)領(lǐng)域中得到應(yīng)用并發(fā)揮出巨大優(yōu)勢(shì)。然而,深度學(xué)習(xí)模型能否得到充分訓(xùn)練并且獲得良好性能,與用于模型訓(xùn)練的數(shù)據(jù)規(guī)模有著直接關(guān)系[1-2]。

      在大數(shù)據(jù)時(shí)代,數(shù)據(jù)已經(jīng)成為重要的基礎(chǔ)資源。然而,數(shù)據(jù)在推動(dòng)人工智能等技術(shù)發(fā)展的同時(shí),也帶來(lái)許多社會(huì)問(wèn)題,例如個(gè)人隱私數(shù)據(jù)泄漏等。因此,社會(huì)和政府對(duì)數(shù)據(jù)權(quán)益保護(hù)愈發(fā)重視,國(guó)內(nèi)外針對(duì)數(shù)據(jù)保護(hù)的立法也逐步完善。在隱私保護(hù)日益嚴(yán)峻的環(huán)境下,醫(yī)療、金融等對(duì)隱私保護(hù)要求嚴(yán)苛的行業(yè)很難做到通過(guò)共享數(shù)據(jù)完成模型的訓(xùn)練,這也就造成一個(gè)個(gè)“數(shù)據(jù)孤島”的出現(xiàn)。谷歌在2016年提出聯(lián)邦學(xué)習(xí)概念[3],為解決“數(shù)據(jù)孤島”與“數(shù)據(jù)隱私”等問(wèn)題提供可行方案,即訓(xùn)練數(shù)據(jù)分散在各個(gè)設(shè)備上,通過(guò)聚合各方訓(xùn)練后所上傳的更新信息來(lái)完成全局模型的學(xué)習(xí)。

      傳統(tǒng)的聯(lián)邦學(xué)習(xí)架構(gòu)常常采用中心化參數(shù)服務(wù)器完成聚合任務(wù),雖然簡(jiǎn)單有效,但因?qū)⒏滦畔⒓杏谝慌_(tái)服務(wù)器上,帶來(lái)了額外的隱私風(fēng)險(xiǎn)和成本。區(qū)塊鏈作為一種去中心化分布式賬本,在與聯(lián)邦學(xué)習(xí)結(jié)合方面具有天然優(yōu)勢(shì),已有很多工作利用區(qū)塊鏈替代參數(shù)服務(wù)器作為聯(lián)邦學(xué)習(xí)系統(tǒng)的通信架構(gòu)。例如,Ramanan等[4]提出聯(lián)邦學(xué)習(xí)系統(tǒng)(BAFFLE),使用智能合約更新參數(shù)與聚合模型,并將全局模型存儲(chǔ)在區(qū)塊鏈上。Kim等[5]提出了基于區(qū)塊鏈的聯(lián)邦學(xué)習(xí)架構(gòu)(BlockFL),使用區(qū)塊鏈代替參數(shù)服務(wù)器,模型更新使用聯(lián)邦平均算法[6],并加入驗(yàn)證機(jī)制與相應(yīng)的獎(jiǎng)勵(lì)機(jī)制。Li等[7]提出了基于區(qū)塊鏈的聯(lián)邦學(xué)習(xí)框架(BFLC),定義了模型的存儲(chǔ)模式、訓(xùn)練過(guò)程與委員會(huì)共識(shí)機(jī)制,并對(duì)BFLC的可擴(kuò)展性、有效性與安全性進(jìn)行了分析。在系統(tǒng)的訓(xùn)練過(guò)程中,大部分都選擇使用FedSgd算法或FedAvg算法[6],其中FedAvg算法因在本地進(jìn)行多次迭代更新,可以節(jié)省較多通信成本。

      在聯(lián)邦學(xué)習(xí)系統(tǒng)中,需要關(guān)注惡意參與方的推理與攻擊行為,惡意參與方會(huì)針對(duì)梯度、參數(shù)等信息進(jìn)行反向推理與攻擊。針對(duì)這種行為,隱私保護(hù)手段在聯(lián)邦學(xué)習(xí)系統(tǒng)中得到廣泛應(yīng)用,其中常見(jiàn)的有同態(tài)加密與差分隱私。同態(tài)加密技術(shù)因其加密函數(shù)的同態(tài)特性,在聯(lián)邦系統(tǒng)中常被用于模型聚合前的數(shù)據(jù)或參數(shù)加密。Awan等[8]在系統(tǒng)中使用同態(tài)加密和代理重新加密技術(shù),即針對(duì)任務(wù)與代理產(chǎn)生兩種密鑰對(duì)傳輸參數(shù)進(jìn)行保護(hù)。Lugan等[9]在所提出聯(lián)邦學(xué)習(xí)系統(tǒng)TCLearn的C模式中,使用同態(tài)加密來(lái)確保模型的可跟蹤性和保密性。Zhu等[10]為了保證局部梯度隱私,在他們的聯(lián)邦學(xué)習(xí)系統(tǒng)Deep-Chain中引入了同態(tài)加密與秘密共享機(jī)制。在差分隱私技術(shù)方面,Chen等[11]在提出的LearningChain中,對(duì)本地訓(xùn)練后的梯度加入差分隱私噪聲來(lái)提供隱私保護(hù)。Lu等[12]使用差分隱私擾動(dòng)本地?cái)?shù)據(jù)來(lái)維護(hù)數(shù)據(jù)隱私。Liu等[13]通過(guò)本地化差分隱私技術(shù)來(lái)防止成員推理攻擊。相較于同態(tài)加密,差分隱私通過(guò)將隨機(jī)噪聲添加到數(shù)據(jù)或模型參數(shù)中來(lái)保證隱私,并不會(huì)帶來(lái)額外的計(jì)算成本。

      同樣值得關(guān)注的還有聯(lián)邦學(xué)習(xí)系統(tǒng)中可能存在的拜占庭攻擊問(wèn)題,即惡意參與方并不向聚合者發(fā)送通過(guò)本地訓(xùn)練所得到的真實(shí)信息,而是企圖通過(guò)發(fā)送拜占庭梯度來(lái)影響全局模型的性能?,F(xiàn)有的拜占庭攻擊容忍算法Draco[14]、Bulyan[15]、Multi-Krum[16]等有著較高的計(jì)算復(fù)雜度。Chen等[11]在系統(tǒng)LearningChain中,使用l-nearest算法來(lái)抵御拜占庭攻擊,即將前一輪梯度和作為良性梯度,計(jì)算本輪梯度與良性梯度間的余弦距離并選取前l(fā)個(gè)相近梯度進(jìn)行聚合。Mu?oz-González等[17]提出一種基于良性梯度去除惡意梯度的方法,即將本輪梯度的加權(quán)平均值作為良性梯度,計(jì)算其與每個(gè)梯度之間的余弦相似度,并將范圍外的梯度視為惡意梯度。

      針對(duì)上述幾個(gè)關(guān)鍵點(diǎn),提出了一個(gè)基于改進(jìn)BMUF框架的區(qū)塊鏈聯(lián)邦學(xué)習(xí)系統(tǒng)。本文貢獻(xiàn)可以概括為:

      (1)改進(jìn)BMUF框架并應(yīng)用,使系統(tǒng)在不同的數(shù)據(jù)分布場(chǎng)景下聚合效果較使用FedAvg算法更好;

      (2)在客戶(hù)端本地訓(xùn)練中使用Opacus[18]加入差分隱私機(jī)制保護(hù)本地隱私;

      (3)提出一種基于全局更新梯度的拜占庭檢測(cè)魯棒聚合算法,使聚合者可以檢測(cè)出系統(tǒng)中存在的拜占庭客戶(hù)端并完成魯棒聚合;

      (4)使用MNIST[27]數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),對(duì)所述系統(tǒng)與算法的有效性進(jìn)行驗(yàn)證。

      1 預(yù)備知識(shí)

      1.1 區(qū)塊鏈

      區(qū)塊鏈概念最早由“中本聰”在比特幣[19]論文中所提出,2016年中國(guó)工信部發(fā)布的《中國(guó)區(qū)塊鏈技術(shù)和應(yīng)用發(fā)展白皮書(shū)》中對(duì)其進(jìn)行定義:狹義來(lái)講,區(qū)塊鏈?zhǔn)且环N按照時(shí)間順序?qū)?shù)據(jù)區(qū)塊以順序相連的方式組合成的一種鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),并以密碼學(xué)方式保證的不可篡改和不可偽造的分布式賬本。廣義來(lái)講,區(qū)塊鏈技術(shù)是利用塊鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)來(lái)驗(yàn)證與存儲(chǔ)數(shù)據(jù)、利用分布式節(jié)點(diǎn)共識(shí)算法來(lái)生成和更新數(shù)據(jù)、利用密碼學(xué)的方式保證數(shù)據(jù)傳輸和訪(fǎng)問(wèn)的安全、利用由自動(dòng)化腳本代碼組成的智能合約來(lái)編程和操作數(shù)據(jù)的一種全新的分布式基礎(chǔ)架構(gòu)與計(jì)算 范式[20]。

      如圖1所示,區(qū)塊一般由區(qū)塊頭與區(qū)塊體兩部分構(gòu)成,其中區(qū)塊頭中記錄了當(dāng)前區(qū)塊的頭信息,包括前一個(gè)區(qū)塊的哈希值、本區(qū)塊的哈希值、時(shí)間戳等等;區(qū)塊體中存儲(chǔ)區(qū)塊的詳細(xì)數(shù)據(jù)信息,可以是交易信息或其他信息。

      圖1 區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)Fig.1 Blockchain data structure

      區(qū)塊鏈的很多特性與聯(lián)邦學(xué)習(xí)結(jié)合有著天然優(yōu)勢(shì)。例如,借助區(qū)塊鏈中的共識(shí)機(jī)制,如PoW、PoS、DPoS與PBFT等,實(shí)現(xiàn)對(duì)聯(lián)邦系統(tǒng)中各參與方的獎(jiǎng)勵(lì)與激勵(lì)機(jī)制;利用區(qū)塊鏈的可追溯性防御聯(lián)邦學(xué)習(xí)系統(tǒng)中的潛在攻擊,并給予相應(yīng)懲罰;利用區(qū)塊鏈的不可篡改性,將聯(lián)邦學(xué)習(xí)各參與方的相關(guān)信息存儲(chǔ)于區(qū)塊鏈中,防止惡意參與方對(duì)其進(jìn)行篡改。

      1.2 聯(lián)邦學(xué)習(xí)

      聯(lián)邦學(xué)習(xí)可以使各參與方在訓(xùn)練數(shù)據(jù)不離開(kāi)本地的前提下,通過(guò)交換模型相關(guān)信息來(lái)協(xié)同完成全局模型的訓(xùn)練,在交互過(guò)程中可以使用隱私技術(shù)保護(hù)參與方隱私。聯(lián)邦學(xué)習(xí)架構(gòu)如圖2所示,訓(xùn)練過(guò)程可描述如下:

      圖2 聯(lián)邦學(xué)習(xí)架構(gòu)Fig.2 Federated learning architecture

      (1)參與方在本地完成模型訓(xùn)練,并將加密或擾動(dòng)后的梯度、參數(shù)傳給參數(shù)服務(wù)器;

      (2)服務(wù)器收到足夠的更新信息后執(zhí)行安全聚合,并將聚合結(jié)果傳輸回參與方;

      (3)參與方使用服務(wù)器傳輸回的聚合結(jié)果更新自身模型。

      重復(fù)執(zhí)行上述三個(gè)步驟,直到全局模型的損失函數(shù)收斂或達(dá)到全局最大通信輪次即可完成聯(lián)邦學(xué)習(xí)的訓(xùn)練。

      1.3 BMUF框架

      BMUF框架,又稱(chēng)逐區(qū)塊更新濾波技術(shù),是一種深度學(xué)習(xí)模型的并行訓(xùn)練算法,由陳凱[21-22]提出用于改善模型平均(Model Average)算法可擴(kuò)展性差的特點(diǎn),MA算法將所有從機(jī)訓(xùn)練后得到模型的算數(shù)平均值作為本輪訓(xùn)練的全局模型。不同于MA算法,BMUF將全局模型更新過(guò)程視作block級(jí)的隨機(jī)優(yōu)化過(guò)程,改善了算法的收斂速度與可擴(kuò)展性[21],BMUF框架流程概括如下:

      啟動(dòng)從機(jī)i訓(xùn)練,等待從機(jī)訓(xùn)練完成;

      聚合所有從機(jī)優(yōu)化得到的模型:

      計(jì)算全局更新梯度:

      更新全局模型:

      使用CBM方式 :

      使用NBM方式 :

      1.4 差分隱私

      差分隱私由Dwork在2006年提出,其目的在于提供一種方法,當(dāng)用戶(hù)對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢(xún)操作時(shí),通過(guò)向查詢(xún)結(jié)果中添加隨機(jī)噪聲,使惡意用戶(hù)難以通過(guò)觀(guān)察結(jié)果推斷出原始信息[23]。目前差分隱私常用的擾動(dòng)機(jī)制包括拉普拉斯機(jī)制[24]、指數(shù)機(jī)制[25]與高斯機(jī)制[26]等,差分隱私定義如下:

      2 基于改進(jìn)BMUF框架的區(qū)塊鏈聯(lián)邦學(xué)習(xí)系統(tǒng)

      2.1 BMUF框架的改進(jìn)

      本文對(duì)聯(lián)邦學(xué)習(xí)環(huán)境下BMUF框架的改進(jìn)主要體現(xiàn)在以下兩個(gè)方面:

      (1)增量塊的定義

      原文中[20]作者對(duì)增量塊的定義面向分布式深度學(xué)習(xí)中的數(shù)據(jù)并行場(chǎng)景,每次主機(jī)迭代時(shí)N臺(tái)從機(jī)處理的Split構(gòu)成一個(gè)block。設(shè)整個(gè)訓(xùn)練數(shù)據(jù)集為D,并將其分割為M個(gè)block,作者將這種分割方式稱(chēng)為“N * M”,如圖3所示。

      圖3 數(shù)據(jù)分割方式Fig.3 Data segmentation method

      本文對(duì)增量塊定義面向聯(lián)邦學(xué)習(xí)場(chǎng)景,設(shè)有N臺(tái)客戶(hù)端參與聯(lián)邦學(xué)習(xí)訓(xùn)練,每次系統(tǒng)迭代時(shí),將參與本輪訓(xùn)練客戶(hù)端所處理本地?cái)?shù)據(jù)集的總和視為一個(gè)block。

      (2)聚合者針對(duì)更新信息的聚合方式

      原文中[21], 在每次迭代結(jié)束后,主機(jī)獲取從機(jī)的模型參數(shù),并使用模型平均算法與BMUF算法對(duì)其進(jìn)行聚合,聚合過(guò)程如1.3中所述,現(xiàn)針對(duì)框架中改進(jìn)部分作出說(shuō)明:

      本文面向聯(lián)邦學(xué)習(xí)場(chǎng)景,對(duì)更新信息的聚合方式定義如下:

      客戶(hù)端每次訓(xùn)練結(jié)束后,向聚合者傳遞更新梯度,聚合者使用基于數(shù)據(jù)量加權(quán)的方式進(jìn)行聚合,即:

      2.2 系統(tǒng)架構(gòu)

      本文提出一個(gè)基于改進(jìn)BMUF框架的區(qū)塊鏈聯(lián)邦學(xué)習(xí)系統(tǒng),系統(tǒng)訓(xùn)練過(guò)程如圖4所示,并可將其總結(jié)為算法1。目的在于解決當(dāng)下“數(shù)據(jù)孤島”與“數(shù)據(jù)隱私”等難題,使各參與方在去中心架構(gòu)下針對(duì)不同數(shù)據(jù)分布場(chǎng)景,保護(hù)自身數(shù)據(jù)隱私,抵御惡意客戶(hù)端的拜占庭攻擊,繼而完成全局模型的高效訓(xùn)練。系統(tǒng)執(zhí)行流程可分為兩個(gè)步驟:

      圖4 系統(tǒng)訓(xùn)練過(guò)程Fig.4 System training process

      (1)初始化過(guò)程

      初始化過(guò)程包括網(wǎng)絡(luò)初始化與模型參數(shù)初始化兩部分。所有參與方共同構(gòu)建一個(gè)去中心化的點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),并為接下來(lái)的訓(xùn)練過(guò)程初始化模型參數(shù)。

      (2)訓(xùn)練過(guò)程

      訓(xùn)練過(guò)程包括共識(shí)過(guò)程、客戶(hù)端本地訓(xùn)練與聚合者模型聚合三部分。首先,通過(guò)共識(shí)過(guò)程在參與方之間選舉出本輪聚合者;之后,客戶(hù)端開(kāi)始本地訓(xùn)練過(guò)程,過(guò)程中可以使用差分隱私機(jī)制保護(hù)本地隱私,并在完成訓(xùn)練后將更新信息傳遞給聚合者;聚合者收集到足夠多的更新信息后,開(kāi)始模型聚合過(guò)程,聚合完畢后將數(shù)據(jù)封裝入?yún)^(qū)塊,并添加到區(qū)塊鏈上;最后通過(guò)共識(shí)過(guò)程對(duì)本輪貢獻(xiàn)者進(jìn)行獎(jiǎng)勵(lì)。

      2.3 初始化過(guò)程

      2.3.1 網(wǎng)絡(luò)初始化

      網(wǎng)絡(luò)初始化步驟將在系統(tǒng)各參與方之間構(gòu)建一個(gè)點(diǎn)對(duì)點(diǎn)(Peer-to-Peer)系統(tǒng),用于后續(xù)訓(xùn)練過(guò)程中各參與方之間的信息交流。在初始化過(guò)程開(kāi)始時(shí),每位參與方都向系統(tǒng)中其他參與方宣布自身的存在,最終完成對(duì)等網(wǎng)絡(luò)的初始化。

      2.3.2 模型參數(shù)初始化

      在訓(xùn)練過(guò)程開(kāi)始前,通過(guò)模型參數(shù)初始化步驟,系統(tǒng)中所有參與方就初始模型參數(shù)達(dá)成共識(shí)。我們假設(shè)模型的初始權(quán)重與偏置項(xiàng)參數(shù)使用隨機(jī)數(shù)算法生成,并由可信的權(quán)威機(jī)構(gòu)發(fā)布在創(chuàng)世紀(jì)塊中。

      2.4 訓(xùn)練過(guò)程

      2.4.1 共識(shí)過(guò)程在系統(tǒng)中,區(qū)塊鏈被所有參與方所持有,但在訓(xùn)練過(guò)程結(jié)束后,應(yīng)只有一個(gè)參與方有權(quán)創(chuàng)建新的區(qū)塊并將其添加到區(qū)塊鏈上。在訓(xùn)練過(guò)程的初始階段,系統(tǒng)通過(guò)共識(shí)過(guò)程選舉產(chǎn)生一個(gè)聚合者來(lái)完成聚合任務(wù)并將新創(chuàng)建的區(qū)塊添加到區(qū)塊鏈上。我們使用類(lèi)似PoS共識(shí)中的權(quán)益概念來(lái)衡量參與方對(duì)全局模型的貢獻(xiàn)并完成共識(shí)選舉,設(shè)在第t輪通信中,k號(hào)參與方的權(quán)益量為,則每個(gè)參與方被選舉為聚合者的概率為:

      對(duì)于客戶(hù)端的權(quán)益增量,則取決于本輪其對(duì)全局模型的貢獻(xiàn)大小。系統(tǒng)在訓(xùn)練結(jié)束后,將對(duì)做出有益于系統(tǒng)行為的客戶(hù)端進(jìn)行獎(jiǎng)勵(lì),包括上傳正確更新信息與完成模型聚合任務(wù),并對(duì)上傳拜占庭更新信息的客戶(hù)端進(jìn)行懲罰。

      Algorithm 1 Summary of training process Notations: block momentum ; block learning rate ; the number of local epochs E ; the local learning rate ; the local batch size B; the clients indexed by k; index set of the clients participating in this round of computation Z; identification sign of the byzantine clients acc; the total amount of data n and the amount of data supplied by the client k ;while each round t =1,2... < Max communication rounds do Run consensus protocol to elect the aggregator ; Client:(1) Retrieve global model as from the block ;(2) The client calculates its local gradient : if not disable differential privacy then use Opacus to train model ; end if for each local epoch i =12...E do for b∈B do ; end for end for

      Algorithm 1 Summary of training process ;(3) Send the update information to the aggregator;Aggregator :(1) Wait for enough“update information”to aggregate the global model ;(2) Use Algorithm 2 to remove byzantine clients and compute G(t) ;(3) Set acc to false for byzantine clients ;(4) Retrieve global model from the block ;(5) The aggregator updates the global model : Use Nesterov block momentum scheme :(6) Create block and append it to the chain , the data contained in block : Datat = { , , {Infok t , k∈Z }};Reward aggregator and clients whose acc sign is true ;end while

      2.4.2 客戶(hù)端本地訓(xùn)練

      在客戶(hù)端本地訓(xùn)練步驟中,客戶(hù)端使用本地?cái)?shù)據(jù)集計(jì)算局部梯度,向聚合者共享本地更新信息,過(guò)程中可以通過(guò)差分隱私機(jī)制保護(hù)自身隱私,具體流程描述如下:

      (1)各客戶(hù)端從區(qū)塊鏈的最后一個(gè)區(qū)塊中獲取全局模型參數(shù)作為本地模型參數(shù)更新本地模型;

      (2)各客戶(hù)端根據(jù)預(yù)先設(shè)定好的超參數(shù),如學(xué)習(xí)率(learning rate)、批大小(batch size)、本地迭代次數(shù)(epochs)等,使用本地?cái)?shù)據(jù)集對(duì)模型進(jìn)行訓(xùn)練,可以在本地進(jìn)行多次迭代以減少通信成本;

      (3)本地迭代結(jié)束后,客戶(hù)端對(duì)更新信息進(jìn)行打包并將其發(fā)送至本輪聚合者處,更新信息中包含了客戶(hù)端索引(k)、本地更新梯度、參與本地訓(xùn)練數(shù)據(jù)量、拜占庭檢測(cè)標(biāo)志位(acc)、全局通信輪次(t),設(shè)在第t輪通信中,k號(hào)客戶(hù)端的更新信息為,則有:

      關(guān)于本地隱私保護(hù),系統(tǒng)中的差分隱私機(jī)制通過(guò)將Opacus[18]的PrivacyEngine接口鏈接至PyTorch優(yōu)化器實(shí)現(xiàn),可以在處理模型梯度的同時(shí)追蹤隱私預(yù)算。

      2.4.3 聚合者模型聚合

      在訓(xùn)練過(guò)程的初始階段,系統(tǒng)通過(guò)共識(shí)過(guò)程在各參與方之間選舉產(chǎn)生聚合者,聚合者不進(jìn)行本地訓(xùn)練,而是阻塞并收集各客戶(hù)端的更新信息。待收集足夠更新信息后,聚合者執(zhí)行算法2進(jìn)行拜占庭檢測(cè)與魯棒聚合,之后使用BMUF算法生成全局模型,最后將相關(guān)信息封裝入新的區(qū)塊并添加到區(qū)塊鏈上,具體流程如下:

      (1)等待各客戶(hù)端完成本地訓(xùn)練,收集足夠數(shù)量的更新信息;

      (2)執(zhí)行算法2進(jìn)行拜占庭檢測(cè)與魯棒聚合,對(duì)算法2分步驟描述如下:

      a.初始化相關(guān)參數(shù),將收集到的更新信息視作集合P(良性客戶(hù)端集合),并初始化空集B(拜占庭客戶(hù)端集合)與非空集R(臨時(shí)客戶(hù)端集合),根據(jù)預(yù)先設(shè)置的閾值(拜占庭檢測(cè)閾值)、(拜占庭檢測(cè)閾值增量)與(梯度裁剪閾值)執(zhí)行算法;

      c.當(dāng)集合R不為空集時(shí),繼續(xù)執(zhí)行步驟c與步驟d。將集合R置為空集并分別計(jì)算集合P中相似度的平均值、中位數(shù) 與標(biāo)準(zhǔn)差。設(shè)參與訓(xùn)練的客戶(hù)端數(shù)量為,其中拜占庭客戶(hù)端數(shù)量為,算法要求來(lái)保證算法的可行性與穩(wěn)健性,易證在時(shí),拜占庭客戶(hù)端數(shù)量恒小于參與訓(xùn)練客戶(hù)端數(shù)量的一半,即,所以中位數(shù)m所代表的相似度來(lái)自于良性客戶(hù)端;

      e.重復(fù)執(zhí)行步驟c與步驟d直到集合R為空集,即可完成拜占庭客戶(hù)端檢測(cè),接下來(lái)執(zhí)行步驟f進(jìn)行魯棒聚合;

      f.對(duì)集合P中所有更新梯度逐維度排序,并將每個(gè)維度中最大的個(gè)值與最小的個(gè)值在原梯度中置0,最后對(duì)集合P中的更新梯度進(jìn)行加權(quán)求合。因某些情況下,惡意梯度可以接近良性梯度來(lái)干擾模型收斂[15],步驟f使聚合結(jié)果更加魯棒。

      Algorithm 2 Byzantine detection and robust aggregation Notations: byzantine clients’set B ; good clients’set P ; temporary clients’set R ; gradients trim threshold β ; byzantine detection threshold ξ ; byzantine detection threshold incrementΔξ>0;1: Retrieve global model update Δ(t- 1) from the block Blockt-1;2: Compute the similarity Sk between Gk t andΔ(t- 1) ;3: while len(R)≠0 do 4: R=φ ;5: Compute mean (μ) of Sk for clients in P;6: Compute median (m) of Sk for clients in P;7: Compute standard deviation (σ) of Sk for clients in P ;8: if μ2β+1 then 12: R.append(k), P.remove(k) ;13: end if 14: end if 15: end for 16: else

      Algorithm 2 Byzantine detection and robust aggregation 17: for k in P do 18: if Sk> m+ξσ then 19: if len(P)>2β+1 then 20: R.append(k), P.remove(k) ;21: end if 22: end if 23: end for 24: end if 25: ξ=ξ+Δξ , B.append(R) ;26: end while 27: For dimention d , sort the dth dimension values of all gradients in P, and set the largest and smallest β values to 0 in original gradient ;28: ;29: return B,P,G(t) ;

      (3)將集合B中客戶(hù)端的拜占庭檢測(cè)標(biāo)志位acc置為False,判定其更新信息為惡意信息;

      (6)創(chuàng)建區(qū)塊,并將區(qū)塊添加到區(qū)塊鏈上,包含在區(qū)塊中的信息有全局模型參數(shù)、全局更新梯度與各客戶(hù)端上傳的更新信息,設(shè)在第t輪通信中向聚合者傳遞更新信息的客戶(hù)端索引集合為Z,包含在區(qū)塊中的信息為 ,則有:

      3 實(shí)驗(yàn)分析

      3.1 改進(jìn)BMUF框架實(shí)驗(yàn)

      3.1.1 實(shí)驗(yàn)數(shù)據(jù)集與實(shí)驗(yàn)環(huán)境

      實(shí)驗(yàn)采用MNIST[27]數(shù)據(jù)集,該數(shù)據(jù)集包含60,000個(gè)訓(xùn)練樣本和10,000個(gè)測(cè)試樣本,實(shí)例為0至9之間某一手寫(xiě)數(shù)字的灰度圖像,大小為28 × 28像素。

      實(shí)驗(yàn)環(huán)境如下:操作系統(tǒng)為Ubuntu 18.04.5,CPU為Intel(R) Core(TM) i9-10940X,GPU為GeForce RTX 2080 Ti,內(nèi)存64G,CUDA 11.1,Python 3.7.5,Pytorch 1.8.1。

      3.1.2實(shí)驗(yàn)方案

      本實(shí)驗(yàn)僅測(cè)試改進(jìn)BMUF框架聚合效果,模擬真實(shí)聯(lián)邦學(xué)習(xí)場(chǎng)景,將數(shù)據(jù)集中的訓(xùn)練樣本切分為100個(gè)索引集從而模 擬100個(gè)客戶(hù)端參與全局模型構(gòu)建。每輪隨機(jī)選取10個(gè)索引集,分別基于前一輪全局模型進(jìn)行訓(xùn)練并對(duì)訓(xùn)練產(chǎn)生的局部更新信息進(jìn)行收集,之后使用改進(jìn)BMUF框架或FedAvg算法完成全局模型聚合,如此迭代直至達(dá)到最大通信輪次?,F(xiàn)將數(shù)據(jù)集中的訓(xùn)練樣本針對(duì)Unbalanced與Non-IID兩種數(shù)據(jù)分布場(chǎng)景作如下切分:

      (1)Unbalanced(數(shù)據(jù)量分布不均):將數(shù)據(jù)集中的訓(xùn)練樣本打亂,生成總和為60,000的100個(gè)隨機(jī)數(shù),按照生成隨機(jī)數(shù)序列將訓(xùn)練樣本分配至100個(gè)客戶(hù)端處,每個(gè)客戶(hù)端所持有數(shù)據(jù)量如圖5所示。

      圖5 Unbalanced場(chǎng)景數(shù)據(jù)分布Fig.5 Data distribution in unbalanced scenario

      (2)Non-IID(數(shù)據(jù)非獨(dú)立同分布):根據(jù)樣本標(biāo)簽(0-9)對(duì)訓(xùn)練樣本進(jìn)行排序,將排序后樣本劃分為200份并平均分配至100個(gè)客戶(hù)端處,每個(gè)客戶(hù)端分得2份,可能為一個(gè)數(shù)字的600個(gè)樣本或兩個(gè)數(shù)字各300個(gè)樣本。

      本節(jié)實(shí)驗(yàn)采用卷積神經(jīng)網(wǎng)絡(luò),模型結(jié)構(gòu)如表1所示,使用Relu激活函數(shù),本地模型訓(xùn)練使用SGD算法,學(xué)習(xí)率設(shè)置為0.1,沖量設(shè)置為0.5。兩種數(shù)據(jù)分布場(chǎng)景中均將塊沖量設(shè)置為0.9,塊學(xué)習(xí)率設(shè)置為1。

      表1 CNN模型總結(jié)Table 1 Summary of the CNN model

      3.1.3 實(shí)驗(yàn)結(jié)果

      圖6展示了在本地訓(xùn)練中分別取不同迭代次數(shù)和批大小時(shí)全局模型的準(zhǔn)確率情況。從實(shí)驗(yàn)結(jié)果可以看出,Unbalanced場(chǎng)景下,模型準(zhǔn)確率在前 20 次通信中快速提高,并在第 50次通信前后基本收斂。Non-IID場(chǎng)景下,模型準(zhǔn)確率受非獨(dú)立同分布影響而出現(xiàn)波動(dòng),但整體呈上升趨勢(shì)并最終收斂。

      圖6 全局模型準(zhǔn)確率曲線(xiàn)Fig.6 Accuracy curve of the global model

      在對(duì)比實(shí)驗(yàn)中,設(shè)置本地迭代次數(shù)為1,批大小為50,圖7展示了聯(lián)邦學(xué)習(xí)在分別采用改進(jìn)BMUF與FedAvg時(shí)全局模型的準(zhǔn)確率情況。從實(shí)驗(yàn)結(jié)果可以看出,Unbalanced場(chǎng)景下,改進(jìn)BMUF較FedAvg準(zhǔn)確率提升更加迅速,并可在更少的通信輪次內(nèi)使模型達(dá)到收斂狀態(tài)。Non-IID場(chǎng)景下,改進(jìn)BMUF較FedAvg準(zhǔn)確率波動(dòng)小且提升更快,在第100次通信前后基本收斂,F(xiàn)edAvg則需要更多通信輪次來(lái)達(dá)到收斂狀態(tài)。

      圖7 改進(jìn)BMUF與FedAvg準(zhǔn)確率對(duì)比Fig.7 Accuracy comparison of improved BMUF and FedAvg

      3.2 聯(lián)邦學(xué)習(xí)系統(tǒng)實(shí)驗(yàn)

      3.2.1 實(shí)驗(yàn)數(shù)據(jù)集與實(shí)驗(yàn)環(huán)境

      實(shí)驗(yàn)采用MNIST[27]手寫(xiě)數(shù)字?jǐn)?shù)據(jù)集,簡(jiǎn)介見(jiàn)3.1.1。實(shí)驗(yàn)環(huán)境如下:操作系統(tǒng)為Ubuntu 18.04.5,CPU為Intel(R) Xeon(R) E5-2640,GPU為12張Tesla K80,內(nèi)存251G,CUDA 10.2,Python 3.7.10,Golang 1.16.4,Pytorch 1.10.0。

      3.2.2 實(shí)驗(yàn)方案

      本實(shí)驗(yàn)對(duì)文中所述聯(lián)邦學(xué)習(xí)系統(tǒng)與算法的有效性進(jìn)行驗(yàn)證,包括:(1)不同參與方規(guī)模下全局模型的準(zhǔn)確率情況;(2)差分隱私機(jī)制對(duì)全局模型準(zhǔn)確率的影響;(3)拜占庭檢測(cè)與魯棒聚合算法的防御效果。實(shí)驗(yàn)在偽分布式環(huán)境下進(jìn)行,我們?cè)诒镜夭渴鹇?lián)邦學(xué)習(xí)系統(tǒng)并使用不同端口模擬各參與方進(jìn)行全局模型構(gòu)建。

      數(shù)據(jù)分配方面,針對(duì)實(shí)驗(yàn)(1)與(2),將數(shù)據(jù)集中的訓(xùn)練樣本打亂后平均分給每個(gè)參與方,參與方之間數(shù)據(jù)無(wú)交集。針對(duì)實(shí)驗(yàn)(3),在所述分配方式基礎(chǔ)上,令拜占庭客戶(hù)端持有單一數(shù)字且標(biāo)簽錯(cuò)誤的數(shù)據(jù)集。在模型與超參數(shù)方面,實(shí)驗(yàn)采用多層感知機(jī)模型,模型分為三層,神經(jīng)元個(gè)數(shù)分別為784、32和10,使用Relu激活函數(shù),本地模型訓(xùn)練使用SGD算法,學(xué)習(xí)率設(shè)置為0.0005,沖量設(shè)置為0.5。針對(duì)參與訓(xùn)練客戶(hù)端的數(shù)量N,啟發(fā)式的將塊沖量設(shè)置為,塊學(xué)習(xí)率設(shè)置為1。在實(shí)驗(yàn)(1)與(2)中,將閾值 設(shè)置為2.0,設(shè)置為0.5,設(shè)置為0。在實(shí)驗(yàn)(3)中,將閾值設(shè)置為1.5,設(shè)置為0.3,設(shè)置為惡意參與方的數(shù)量。

      3.2.3 實(shí)驗(yàn)結(jié)果

      圖8展示了系統(tǒng)在參與方數(shù)目分別為10、15與20時(shí)全局模型的準(zhǔn)確率情況,從實(shí)驗(yàn)結(jié)果可以看出,三種情況下全局模型均在第150次通信前后達(dá)到收斂狀態(tài),參與方規(guī)模與本地所持?jǐn)?shù)據(jù)量對(duì)前期準(zhǔn)確率的提升有一定影響,但對(duì)收斂后的準(zhǔn)確率影響不大。

      圖8 不同參與方規(guī)模下全局模型的準(zhǔn)確率Fig.8 The accuracy of the global model under different participant scales

      表2展示了系統(tǒng)采用不同隱私預(yù)算對(duì)全局模型準(zhǔn)確率的影響,從實(shí)驗(yàn)結(jié)果可以看出,采用較小的隱私預(yù)算可以更好保護(hù)本地隱私,但會(huì)犧牲一定的模型準(zhǔn)確率。在實(shí)際應(yīng)用中,應(yīng)結(jié)合隱私保護(hù)要求對(duì)隱私預(yù)算進(jìn)行設(shè)置,使隱私保護(hù)與模型效用達(dá)到平衡。

      表2 差分隱私機(jī)制對(duì)全局模型準(zhǔn)確率的影響Table 2 The impacts of differential privacy mechanism on the accuracy of the global model

      圖9展示了拜占庭檢測(cè)與魯棒聚合算法的防御效果。實(shí)驗(yàn)共設(shè)置20個(gè)參與方且存在不同數(shù)目的惡意參與方。從實(shí)驗(yàn)結(jié)果可以看出,當(dāng)系統(tǒng)中存在10%與20%的惡意參與方時(shí),全局模型準(zhǔn)確率與無(wú)惡意參與方時(shí)相差無(wú)幾,算法可以有效剔除客戶(hù)端并進(jìn)行魯棒聚合。當(dāng)存在30%惡意參與方時(shí),算法依然可以保證全局模型以較高準(zhǔn)確率達(dá)到收斂狀態(tài)。

      圖9 拜占庭檢測(cè)與魯棒聚合算法效果Fig.9 The effect of byzantine detection and robust aggregation algorithm

      4 結(jié)論與展望

      本文對(duì)BMUF訓(xùn)練框架做聯(lián)邦學(xué)習(xí)環(huán)境下的適應(yīng)性改進(jìn),基于BMUF訓(xùn)練框架中的全局更新梯度提出了一種拜占庭檢測(cè)魯棒聚合算法,并實(shí)現(xiàn)了一個(gè)基于區(qū)塊鏈的隱私保護(hù)聯(lián)邦學(xué)習(xí)系統(tǒng),可以通過(guò)差分隱私機(jī)制有效保護(hù)客戶(hù)端隱私、抵御拜占庭攻擊并完成模型的高效訓(xùn)練。最后,通過(guò)多組實(shí)驗(yàn)對(duì)文中所述算法與系統(tǒng)的有效性進(jìn)行了驗(yàn)證。未來(lái)還可以在原型系統(tǒng)中引入模型壓縮等技術(shù)以支持更大規(guī)模的深度學(xué)習(xí)模型,進(jìn)一步優(yōu)化存儲(chǔ)與通信開(kāi)銷(xiāo),探索改進(jìn)BMUF框架在聯(lián)邦學(xué)習(xí)環(huán)境下的超參數(shù)設(shè)置規(guī)律等。聯(lián)邦學(xué)習(xí)是“數(shù)據(jù)孤島”、“數(shù)據(jù)隱私”等問(wèn)題的有效解決方案,研究探索聯(lián)邦學(xué)習(xí)技術(shù)對(duì)各行各業(yè)具有重要意義。

      利益沖突聲明

      所有作者聲明不存在利益沖突關(guān)系。

      猜你喜歡
      拜占庭參與方聯(lián)邦
      基于秘密分享的高效隱私保護(hù)四方機(jī)器學(xué)習(xí)方案
      一“炮”而紅 音聯(lián)邦SVSound 2000 Pro品鑒會(huì)完滿(mǎn)舉行
      拜占庭帝國(guó)的繪畫(huà)藝術(shù)及其多樣性特征初探
      303A深圳市音聯(lián)邦電氣有限公司
      淺談初中歷史教學(xué)中的邏輯補(bǔ)充——從拜占庭帝國(guó)滅亡原因談起
      《西方史學(xué)通史》第三卷“拜占庭史學(xué)”部分糾繆
      古代文明(2016年1期)2016-10-21 19:35:20
      綠色農(nóng)房建設(shè)伙伴關(guān)系模式初探
      涉及多參與方的系統(tǒng)及方法權(quán)利要求的撰寫(xiě)
      基于IPD模式的項(xiàng)目參與方利益分配研究
      拜占庭之光
      鳳凰生活(2016年2期)2016-02-01 12:41:05
      绥宁县| 阳江市| 登封市| 石楼县| 乌鲁木齐县| 尚义县| 静安区| 霍山县| 吉林市| 谢通门县| 漾濞| 玛沁县| 石家庄市| 抚远县| 万宁市| 修武县| 上杭县| 栾城县| 泗阳县| 榆林市| 吴忠市| 措美县| 潞城市| 翼城县| 辰溪县| 白朗县| 渝北区| 渭南市| 什邡市| 乌什县| 广平县| 阿瓦提县| 隆昌县| 台南市| 乳源| 定襄县| 青铜峡市| 高安市| 定远县| 通辽市| 尼玛县|