国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于超級(jí)賬本的集群聯(lián)邦優(yōu)化模型

2023-01-27 08:27李尤慧子俞海濤殷昱煜高洪皓
計(jì)算機(jī)工程 2023年1期
關(guān)鍵詞:賬本聯(lián)邦客戶(hù)端

李尤慧子,俞海濤,殷昱煜,高洪皓

(1.杭州電子科技大學(xué) 計(jì)算機(jī)學(xué)院,杭州 310018;2.上海大學(xué) 計(jì)算機(jī)工程與科學(xué)學(xué)院,上海 200444;3.韓國(guó)嘉泉大學(xué) 計(jì)算機(jī)工程系,城南 461701)

0 概述

隨著人工智能的發(fā)展,機(jī)器學(xué)習(xí)模型[1-3]變得越發(fā)龐大復(fù)雜,需要的訓(xùn)練數(shù)據(jù)量也持續(xù)增加。例如,詞向量預(yù)訓(xùn)練模型GPT-2 訓(xùn)練語(yǔ)料規(guī)模達(dá)40 GB,參數(shù)量更是高達(dá)15 億。然而,隨著人們對(duì)數(shù)據(jù)隱私保護(hù)的愈加關(guān)注,海量數(shù)據(jù)難以直接共享。在法律層面,歐盟頒布了目前全球最嚴(yán)格也最健全的網(wǎng)絡(luò)數(shù)據(jù)隱私保護(hù)框架——《通用數(shù)據(jù)保護(hù)條例》,規(guī)范了企業(yè)收集、管理、刪除客戶(hù)和個(gè)人數(shù)據(jù)。全國(guó)人大常委會(huì)于2021 年8 月20 日表決通過(guò)了《中華人民共和國(guó)個(gè)人信息保護(hù)法》并于2021 年11 月施行。在醫(yī)療[4]、智慧城市[5]、移動(dòng)邊緣計(jì)算[6]等很多領(lǐng)域,由于數(shù)據(jù)屬于不同的組織和部門(mén),隱私敏感度高,極易導(dǎo)致機(jī)器學(xué)習(xí)算法因有效訓(xùn)練數(shù)據(jù)不足而準(zhǔn)確率低下的問(wèn)題。

為打破數(shù)據(jù)孤島困局,同時(shí)滿(mǎn)足數(shù)據(jù)隱私保護(hù)相關(guān)重要標(biāo)準(zhǔn),聯(lián)邦學(xué)習(xí)(Federated Learning,F(xiàn)L)[7]應(yīng)運(yùn)而生。作為一種特殊的分布式機(jī)器學(xué)習(xí)框架,聯(lián)邦學(xué)習(xí)訓(xùn)練不傳輸源數(shù)據(jù)而僅需傳輸模型參數(shù),因此具有一定的隱私保護(hù)能力,是目前最具吸引力的分布式機(jī)器學(xué)習(xí)框架。然而,多項(xiàng)研究[8-10]證明,聯(lián)邦學(xué)習(xí)仍存在隱私漏洞,攻擊者通過(guò)竊取參數(shù)服務(wù)器數(shù)據(jù),容易從梯度、模型參數(shù)中推斷源數(shù)據(jù)[11-12]。梯度攻擊的過(guò)程是隨機(jī)生成虛擬數(shù)據(jù)并計(jì)算虛擬梯度,然后將縮小虛擬梯度與真實(shí)梯度差距作為優(yōu)化目標(biāo),通過(guò)梯度下降反復(fù)迭代還原用戶(hù)隱私數(shù)據(jù)。其次,聯(lián)邦學(xué)習(xí)更適用于數(shù)據(jù)獨(dú)立同分布(IID)的場(chǎng)景,模型訓(xùn)練的準(zhǔn)確率和收斂速度表現(xiàn)良好,但是無(wú)法有效處理非獨(dú)立同分布(Non-IID)的數(shù)據(jù)[13-14]。LI等[15]從理論上對(duì)FedAvg[16]的收斂性進(jìn)行分析,證明了異構(gòu)數(shù)據(jù)會(huì)降低收斂速度。同時(shí),ZHAO 等[17]指出在嚴(yán)重偏態(tài)分布的CIFAR-10上進(jìn)行訓(xùn)練,模型準(zhǔn)確率會(huì)降低55%。此外,中心化的聯(lián)邦參數(shù)服務(wù)器難以應(yīng)對(duì)單點(diǎn)故障,一旦出現(xiàn)網(wǎng)絡(luò)故障或宕機(jī)問(wèn)題,短時(shí)間內(nèi)難以快速解決,導(dǎo)致模型訓(xùn)練中斷。區(qū)塊鏈技術(shù)因其去中心化特性可以解決單點(diǎn)故障問(wèn)題,也可以溯源監(jiān)測(cè)惡意攻擊者的破壞行為[18]。

本文構(gòu)建一種基于超級(jí)賬本(Hyperledger Fabric)的集群聯(lián)邦優(yōu)化模型,在保障跨部門(mén)跨設(shè)備協(xié)作訓(xùn)練不泄露數(shù)據(jù)隱私的同時(shí),優(yōu)化模型在非獨(dú)立同分布下的訓(xùn)練效果。本文對(duì)協(xié)作訓(xùn)練成員進(jìn)行身份控制,防止其獲取多輪參數(shù)進(jìn)行推理攻擊。針對(duì)中心參數(shù)服務(wù)器的單點(diǎn)故障問(wèn)題,設(shè)計(jì)基于超級(jí)賬本的參數(shù)傳輸模塊,選舉動(dòng)態(tài)領(lǐng)導(dǎo)者避免單點(diǎn)失效。針對(duì)數(shù)據(jù)異構(gòu)導(dǎo)致性能下降的問(wèn)題,提出客戶(hù)端重排算法,在訓(xùn)練前根據(jù)客戶(hù)端數(shù)據(jù)分布計(jì)算分布相似度進(jìn)行聚類(lèi),在聯(lián)邦訓(xùn)練過(guò)程中根據(jù)模型參數(shù)計(jì)算余弦相似度進(jìn)行聚類(lèi)。

1 相關(guān)研究

1.1 超級(jí)賬本

2008 年,中本聰提出了比特幣的概念[19],而區(qū)塊鏈技術(shù)正是起源于比特幣。區(qū)塊鏈作為一個(gè)去中心化、不可變、共享的分布式賬本和數(shù)據(jù)庫(kù),網(wǎng)絡(luò)中所有節(jié)點(diǎn)共同維護(hù)著分布式系統(tǒng)的一致性,規(guī)避了中心化系統(tǒng)數(shù)據(jù)可能泄露的弊端,加強(qiáng)了隱私保護(hù)和數(shù)據(jù)安全。

然而,比特幣使用的腳本語(yǔ)言只能實(shí)現(xiàn)簡(jiǎn)單的業(yè)務(wù)操作。超級(jí)賬本相對(duì)比特幣實(shí)現(xiàn)了更多創(chuàng)新的設(shè)計(jì),例如身份權(quán)限管理、細(xì)粒度隱私保護(hù)、可插拔模塊等。超級(jí)賬本是由IBM 牽頭發(fā)起的一個(gè)聯(lián)盟鏈項(xiàng)目,于2015 年底移交給Linux 基金會(huì)。類(lèi)似于比特幣網(wǎng)絡(luò),其本質(zhì)上是一個(gè)分布式賬本,并且賬本交互邏輯可以由使用者根據(jù)自身業(yè)務(wù)需求定制。但與比特幣、以太坊等公共非許可區(qū)塊鏈不同,超級(jí)賬本屬于聯(lián)盟鏈,存在準(zhǔn)入限制,較公鏈安全度更高。同時(shí),超級(jí)賬本具有去中心化、細(xì)粒度隱私保護(hù)、模塊可插拔等創(chuàng)新設(shè)計(jì)理念。超級(jí)賬本與聯(lián)邦學(xué)習(xí)相結(jié)合,既能保證數(shù)據(jù)的隱私,又能為分布式學(xué)習(xí)提供可靠的架構(gòu)基礎(chǔ)。

如圖1 所示,超級(jí)賬本是一個(gè)認(rèn)證性的網(wǎng)絡(luò)[20],區(qū)塊鏈參與者需要向網(wǎng)絡(luò)中的其他參與者證實(shí)身份才能在網(wǎng)絡(luò)中交易。CA 是網(wǎng)絡(luò)的證書(shū)授權(quán)中心,節(jié)點(diǎn)通過(guò)頒發(fā)的數(shù)字身份參與區(qū)塊鏈網(wǎng)絡(luò)。成員服務(wù)提供者(MSP)通過(guò)生成用于證實(shí)身份的公私鑰鍵值對(duì)來(lái)發(fā)放認(rèn)證信息。超級(jí)賬本網(wǎng)絡(luò)主要由Peer 節(jié)點(diǎn)組成,Peer 節(jié)點(diǎn)是網(wǎng)絡(luò)的基本元素,它們存儲(chǔ)了賬本和智能合約。Peer 節(jié)點(diǎn)主要分為記賬節(jié)點(diǎn)和背書(shū)節(jié)點(diǎn):記賬節(jié)點(diǎn)負(fù)責(zé)保存整個(gè)區(qū)塊鏈的賬本信息,包括世界狀態(tài)、歷史狀態(tài)等;背書(shū)節(jié)點(diǎn)對(duì)交易進(jìn)行檢查,如果交易合法,則為之背書(shū),并且計(jì)算交易執(zhí)行結(jié)果,之后將結(jié)果發(fā)送給排序服務(wù)節(jié)點(diǎn)。

圖1 超級(jí)賬本認(rèn)證網(wǎng)絡(luò)Fig.1 Hyperledger Fabric authentication network

在超級(jí)賬本網(wǎng)絡(luò)中,MSP 分為本地MSP 和通道MSP 兩種:本地MSP 是為客戶(hù)端和節(jié)點(diǎn)(Peer 節(jié)點(diǎn)和排序節(jié)點(diǎn))定義的;通道MSP(系統(tǒng)通道的MSP)在通道層面上定義了管理權(quán)和參與權(quán)。

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

在本節(jié)中,介紹聯(lián)邦學(xué)習(xí)和改進(jìn)的集群聯(lián)邦學(xué)習(xí)(Clustered Federated Learning,CFL)技術(shù)。聯(lián)邦學(xué)習(xí)技術(shù)最早由谷歌于2017 年4 月提出,目的是解決用戶(hù)終端設(shè)備上的輸入法預(yù)測(cè)問(wèn)題。以手機(jī)上人們每天使用的輸入法為例,每個(gè)人有不同的打字拼音習(xí)慣,手機(jī)根據(jù)輸入法中的數(shù)據(jù)進(jìn)行訓(xùn)練與用戶(hù)的打字習(xí)慣進(jìn)行匹配,那么用戶(hù)就會(huì)覺(jué)得輸入法越來(lái)越智能。集中式學(xué)習(xí)的做法是將用戶(hù)每天產(chǎn)生的行為數(shù)據(jù)上傳至云端服務(wù)器,服務(wù)器進(jìn)行數(shù)據(jù)處理和模型訓(xùn)練,然后更新模型參數(shù),最終在實(shí)際應(yīng)用時(shí),本地需要從云端獲取最新模型。由于云服務(wù)器獲取了全部用戶(hù)的源數(shù)據(jù),這種訓(xùn)練方式存在嚴(yán)重的隱私安全問(wèn)題,尤其是在隱私保護(hù)監(jiān)管越來(lái)越規(guī)范的情況下,難以得到推廣使用。

如圖2 所示,在聯(lián)邦學(xué)習(xí)框架[21]中,客戶(hù)端訓(xùn)練集數(shù)據(jù)不出域,模型訓(xùn)練都是在本地設(shè)備進(jìn)行的,僅上傳模型參數(shù)。具體訓(xùn)練過(guò)程如下:中心服務(wù)器初始化全局模型后發(fā)放至本地,本地模型訓(xùn)練完畢后將模型參數(shù)上傳至參數(shù)服務(wù)器,服務(wù)器接收到本地上傳的參數(shù)后進(jìn)行統(tǒng)一的聚合(通過(guò)加權(quán)平均得到新的模型參數(shù)),然后將聚合結(jié)果重新發(fā)放到本地,本地更新得到一個(gè)全新的模型,如此循環(huán)迭代。

圖2 聯(lián)邦學(xué)習(xí)過(guò)程Fig.2 Federated learning process

目前聯(lián)邦學(xué)習(xí)的主要挑戰(zhàn)之一是Non-IID。數(shù)據(jù)Non-IID 分布十分多樣,例如,不同客戶(hù)端的訓(xùn)練數(shù)據(jù)量相差懸殊。從數(shù)據(jù)偏移的角度分析,Non-IID包括:

1)協(xié)變量偏移(Covariate Shift):Pi(x)分布不相同而P(x|y)分布相同,例如IFCA[22]。

2)先驗(yàn)概率偏移(Prior Probability Shift):Pi(y)分布不相同而P(x|y)分布相同,例如FedRS[23]。

3)概念偏移(Concept Shift):P(x|y)分布不相同而Pi(y)分布相同,反之亦然。

傳統(tǒng)的聯(lián)邦學(xué)習(xí)可以在Non-IID 數(shù)據(jù)集上訓(xùn)練并獲取全局模型,但性能較差。因此,GHOSH 等[22]提出了IFCA 模型,隨機(jī)生成多個(gè)集群中心并將客戶(hù)端劃分為可最小化其損失值的集群。SATTLER等[24]提出了集群聯(lián)邦學(xué)習(xí)框架,將優(yōu)化目標(biāo)劃分為多個(gè)子目標(biāo)分別做個(gè)性化優(yōu)化。該框架包含一種基于梯度余弦距離聚類(lèi)的遞歸優(yōu)化算法,將集群內(nèi)客戶(hù)端遞歸地劃分成兩組。這種遞歸聚類(lèi)是一種后處理方式,只有在聯(lián)邦訓(xùn)練時(shí)才可以計(jì)算梯度進(jìn)行聚類(lèi)。為了提高集群聯(lián)邦學(xué)習(xí)的效率,DUAN 等[25]又提出了基于余弦歐氏距離的集群聯(lián)邦學(xué)習(xí)方法。然而,IFCA 雖然提升了效率,但同時(shí)訓(xùn)練K個(gè)模型會(huì)消耗更多的計(jì)算資源。本文根據(jù)客戶(hù)端分布信息,以JS 散度為度量進(jìn)行預(yù)處理聚類(lèi),加快收斂速度。

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

本文將成員準(zhǔn)入、去中心化、數(shù)據(jù)可溯源的超級(jí)賬本作為分布式訓(xùn)練的參數(shù)傳輸鏈,提出集群聯(lián)邦客戶(hù)端層級(jí)的重排算法,利用智能合約隨機(jī)選舉客戶(hù)端聚合模型參數(shù)。為了更好地應(yīng)對(duì)大模型參數(shù)傳輸問(wèn)題,選用星際文件系統(tǒng)(IPFS)存儲(chǔ)模型參數(shù),Hyperledger Fabric 僅記錄存儲(chǔ)在IPFS 中文件對(duì)應(yīng)的Hash,從而減小超級(jí)賬本網(wǎng)絡(luò)的通信負(fù)載。IPFS 是基于文件內(nèi)容的Hash,不同文件對(duì)應(yīng)的Hash 值不相同,Hash 值與文件內(nèi)容構(gòu)成鍵值對(duì)??蛻?hù)端上傳參數(shù)至IPFS 后返回該文件的存儲(chǔ)Hash 地址,其他客戶(hù)端可通過(guò)Hash 地址下載IPFS 中的參數(shù)。由于賬本記錄Hash 地址所需的空間遠(yuǎn)小于模型參數(shù),因此IPFS 減小了超級(jí)賬本網(wǎng)絡(luò)的通信壓力。此外,傳統(tǒng)聯(lián)邦學(xué)習(xí)中參數(shù)服務(wù)器同客戶(hù)端通信來(lái)完成聚合,而CFL 訓(xùn)練過(guò)程中客戶(hù)端不斷聚類(lèi),僅聚合簇內(nèi)的客戶(hù)端。IPFS 支持冗余備份技術(shù)Erasurecoding,客戶(hù)端可以自定義備份客戶(hù)端文件數(shù)量。本文設(shè)定客戶(hù)端是具有計(jì)算資源和通信能力的組織或者企業(yè),擁有大量可訓(xùn)練的用戶(hù)數(shù)據(jù)。

2.1 基于超級(jí)賬本的參數(shù)傳輸模塊

超級(jí)賬本是點(diǎn)對(duì)點(diǎn)通信的去中心化分布式賬本,因此,參與者需要向網(wǎng)絡(luò)中的其他參與者證實(shí)自己的身份來(lái)獲得交易的許可。在集群聯(lián)邦優(yōu)化模型中,客戶(hù)端只有經(jīng)過(guò)認(rèn)證才可以參與訓(xùn)練,基于證書(shū)授權(quán)中心(CA)和成員服務(wù)提供者(MSP)進(jìn)行成員身份認(rèn)證,認(rèn)證完成后方可參與訓(xùn)練,并且多通道可保證隱私安全和業(yè)務(wù)隔離,假設(shè)存在惡意攻擊者想要破壞訓(xùn)練,必須進(jìn)行身份驗(yàn)證后獲得對(duì)賬本操作的權(quán)限才能將錯(cuò)誤數(shù)據(jù)同步到其他賬本中。因此,Hyperledger Fabric 保證了組織成員之間的相互信任,為訓(xùn)練提供了隱私保護(hù)的架構(gòu)基礎(chǔ)。

在橫向聯(lián)邦學(xué)習(xí)中,全局模型和本地模型具有相同的結(jié)構(gòu)。假設(shè)模型有l(wèi)層參數(shù),每一層參數(shù)有參數(shù)向量Vl,將模型參數(shù)分為b(0<b≤l)個(gè)參數(shù)向量??蛻?hù)端同一層參數(shù)維度相同,所有簇內(nèi)客戶(hù)端上傳的參數(shù)塊中必然存在兩個(gè)或多個(gè)結(jié)構(gòu)相同的參數(shù)塊。對(duì)于每個(gè)參數(shù)塊,由參數(shù)分割傳輸模塊上傳至星際文件系統(tǒng)(IPFS),如圖3 所示,參數(shù)塊存入IPFS返回的Hash 值,封裝后存入超級(jí)賬本中。

圖3 基于超級(jí)賬本的集群聯(lián)邦優(yōu)化模型Fig.3 Cluster federated optimization model based on Hyperledger Fabric

如圖4 所示,客戶(hù)端A 和B 分別有3 層網(wǎng)絡(luò),將3 層網(wǎng)絡(luò)分割上傳。超級(jí)賬本虛線(xiàn)所指為訓(xùn)練成員A 的存儲(chǔ)示例,ParamHash 存儲(chǔ)的是客戶(hù)端A 的正確參數(shù)順序(Layer 代表上傳的3 層網(wǎng)絡(luò)參數(shù)),Hash(Layer)代表對(duì)應(yīng)層參數(shù)在星際文件系統(tǒng)中的哈希地址。服務(wù)層使用鏈碼富查詢(xún)方式查詢(xún)狀態(tài)數(shù)據(jù)庫(kù),根據(jù)聯(lián)邦訓(xùn)練成員是否為領(lǐng)導(dǎo)者進(jìn)行亂序操作:若為普通成員則由服務(wù)層將參數(shù)合并打亂順序;若為領(lǐng)導(dǎo)者則正常返回。在圖4 中,客戶(hù)端A 被選舉為領(lǐng)導(dǎo)者。若查詢(xún)者為領(lǐng)導(dǎo)者A,則返回各客戶(hù)端的參數(shù)Hash;若查詢(xún)者為普通成員B,則返回參數(shù)亂序集合。其中服務(wù)層的亂序操作過(guò)程是把各客戶(hù)端ParamHash 合并,然后用隨機(jī)函數(shù)將合并集合內(nèi)的順序打亂。普通成員返回亂序集合的目的是客戶(hù)端可根據(jù)返回集合驗(yàn)證參數(shù)上傳成功與否??蛻?hù)端B的查詢(xún)結(jié)果為一個(gè)亂序集合,對(duì)比上傳文件返回的Hash 查找驗(yàn)證集合中是否包含(包含什么)。

圖4 客戶(hù)端參數(shù)傳輸和查詢(xún)過(guò)程Fig.4 Client parameter transmission and query process

假設(shè)超級(jí)賬本內(nèi)部存在成員惡意攻擊,混亂的參數(shù)順序可以模糊真實(shí)的模型參數(shù)。假設(shè)分布式訓(xùn)練中有n個(gè)客戶(hù)端,客戶(hù)端對(duì)訓(xùn)練所得模型參數(shù)劃分b個(gè)參數(shù)塊。若客戶(hù)端最大化分割參數(shù)使b=l,那么相同結(jié)構(gòu)的參數(shù)塊會(huì)有n個(gè)。惡意攻擊者查詢(xún)獲得了亂序的集合,其在一個(gè)通信輪次中獲取正確模型的概率為:

由式(1)可知,客戶(hù)端數(shù)量越多,分割的參數(shù)層數(shù)越多,系統(tǒng)的安全性越高。因此,惡意攻擊者難以進(jìn)行梯度攻擊。C是集群內(nèi)客戶(hù)端參數(shù)集C={c1,c2,…,cn}。當(dāng)集群聯(lián)邦的通信輪次為R時(shí),攻擊者計(jì)算正確模型參數(shù)的難度指數(shù)級(jí)上升,攻擊成功概率為。同時(shí),每一通信輪次中領(lǐng)導(dǎo)者隨機(jī)選舉產(chǎn)生,同一客戶(hù)端獲得連續(xù)聚合參數(shù)機(jī)會(huì)的概率很小。

2.2 基于集群聯(lián)邦學(xué)習(xí)的客戶(hù)端重排算法

2.2.1 分布相似度

在實(shí)際應(yīng)用場(chǎng)景中,客戶(hù)端分布Non-IID 和IID情況是可以同時(shí)存在的。將分布均勻的客戶(hù)端單獨(dú)分為一組,可以降低聯(lián)邦訓(xùn)練的通信輪次,更快達(dá)到收斂狀態(tài)。對(duì)客戶(hù)端進(jìn)行分類(lèi)成為一個(gè)問(wèn)題,因?yàn)槁?lián)邦學(xué)習(xí)本身不會(huì)分析客戶(hù)端的生成分布或其他任何元信息。由于Hyperledger Fabric 是許可鏈,因此本文僅統(tǒng)計(jì)客戶(hù)端的分布信息,并不會(huì)泄露任何數(shù)據(jù)隱私。為度量客戶(hù)端之間的分布差異,實(shí)現(xiàn)良好的聚類(lèi)效果,在機(jī)器學(xué)習(xí)中,經(jīng)常使用KL 散度衡量不同分布的差異,但KL 散度本身是不對(duì)稱(chēng)的。基于KL 散度的變體,JS 散度解決了KL 散度不對(duì)稱(chēng)的問(wèn)題。一般地,JS 散度是對(duì)稱(chēng)的,其取值在0 到1 之間。由以下公式可計(jì)算JS 散度,其中P、Q分別代表兩個(gè)分布,P(xi)表示數(shù)據(jù)集中xi標(biāo)簽的數(shù)量。

當(dāng)客戶(hù)端數(shù)量為n時(shí),計(jì)算JS 散度可得到n×n的矩陣,使用K-means++進(jìn)行聚類(lèi)。由于客戶(hù)端數(shù)據(jù)分布在訓(xùn)練過(guò)程中不發(fā)生變化,因此根據(jù)分布相似度所得的JS 散度矩陣只在聯(lián)邦訓(xùn)練初始化階段用于聚類(lèi)。

2.2.2 梯度相似度

其中:lθ是損失函數(shù);yi是真實(shí)標(biāo)簽;f(xi)是預(yù)測(cè)結(jié)果;Di是客戶(hù)端數(shù)據(jù)分布。

由于模型參數(shù)不是一維的,因此本文使用Flatten方法,將多維的輸入一維化,余弦距離計(jì)算公式如下:

當(dāng)客戶(hù)端數(shù)量為n時(shí),計(jì)算客戶(hù)端的余弦距離可得到n×n的矩陣??蛻?hù)端之間的梯度優(yōu)化方向在聯(lián)邦訓(xùn)練中才可以計(jì)算,聯(lián)邦訓(xùn)練至收斂后且簇內(nèi)模型參數(shù)滿(mǎn)足聚類(lèi)規(guī)則,則根據(jù)余弦相似度矩陣進(jìn)行層次聚類(lèi)。聚類(lèi)得到的簇繼續(xù)聯(lián)邦訓(xùn)練,簇內(nèi)聚合其內(nèi)部客戶(hù)端的模型參數(shù)。模型訓(xùn)練收斂后若滿(mǎn)足聚類(lèi)規(guī)則,則根據(jù)余弦相似度矩陣聚類(lèi);若不滿(mǎn)足,則無(wú)須對(duì)該簇內(nèi)客戶(hù)端聚類(lèi)劃分。余弦相似度矩陣是該遞歸聚類(lèi)劃分過(guò)程中的數(shù)據(jù)特征。

2.2.3 客戶(hù)端重排算法

集群聯(lián)邦優(yōu)化(CFO)算法以自上而下的方式遞歸地對(duì)客戶(hù)端集群進(jìn)行二分區(qū)劃分。客戶(hù)端重排則是優(yōu)化的關(guān)鍵,算法執(zhí)行集群聯(lián)邦優(yōu)化的聚類(lèi)過(guò)程如圖5 所示[24]。

圖5 集群聯(lián)邦學(xué)習(xí)訓(xùn)練過(guò)程Fig.5 Cluster federated learning training process

客戶(hù)端余弦距離聚類(lèi)規(guī)則如下:1)集群內(nèi)模型訓(xùn)練已經(jīng)收斂到一個(gè)駐點(diǎn);2)客戶(hù)端的經(jīng)驗(yàn)風(fēng)險(xiǎn)函數(shù)接近真實(shí)風(fēng)險(xiǎn);3)根據(jù)經(jīng)驗(yàn)風(fēng)險(xiǎn)函數(shù)計(jì)算余弦相似度。上述3 個(gè)規(guī)則可由下式表達(dá):

式(6)表示集群聯(lián)邦訓(xùn)練簇內(nèi)模型參數(shù)變化最大的客戶(hù)端的值,該值大于ε則表示簇內(nèi)存在客戶(hù)端未收斂。式(7)表示簇內(nèi)所有客戶(hù)端參數(shù)的平均值,該值小于τ則表示簇內(nèi)客戶(hù)端整體已趨近于收斂。

總而言之,探究式教學(xué)是一種以學(xué)生為主體,充分發(fā)揮學(xué)生主動(dòng)性的教學(xué)模式.在該教學(xué)模式下,教師需要把握好自己引導(dǎo)者的角色,認(rèn)真分析教學(xué)內(nèi)容,精心設(shè)計(jì)教學(xué)活動(dòng)和問(wèn)題,不斷地引導(dǎo)鼓勵(lì)學(xué)生主動(dòng)地完成探究.該教學(xué)模式可以有效地提高學(xué)生的自學(xué)能力和探究能力,從而向著綜合性人才方向發(fā)展.

上述兩種分布相似度,分別在訓(xùn)練前和訓(xùn)練中聚類(lèi)使用。訓(xùn)練開(kāi)始前根據(jù)分布相似度公式(見(jiàn)式(3))生成客戶(hù)端JS 散度矩陣對(duì)客戶(hù)端進(jìn)行聚類(lèi),訓(xùn)練過(guò)程中根據(jù)梯度相似度公式(見(jiàn)式(5))計(jì)算余弦距離矩陣,對(duì)余弦距離矩陣進(jìn)行層次聚類(lèi),得到簇間余弦距離最大的兩組。

集群聯(lián)邦優(yōu)化算法訓(xùn)練過(guò)程如算法1 所示。首先,初始化客戶(hù)端集群c={c1,c2,…,cn}和模型參數(shù)θ0;然后,依據(jù)式(3)計(jì)算JS散度矩陣,使用K-means++算法進(jìn)行聚類(lèi),將客戶(hù)端劃分為Cp、Cq??蛻?hù)端預(yù)處理完成后,聚類(lèi)完成的各個(gè)簇(集群)開(kāi)始聯(lián)邦訓(xùn)練直到達(dá)到后處理聚類(lèi)要求。算法使用客戶(hù)端模型最大參數(shù)和平均參數(shù)表達(dá)余弦聚類(lèi)規(guī)則,滿(mǎn)足規(guī)則后進(jìn)行層次聚類(lèi)劃分客戶(hù)端集群,遞歸地二分區(qū);最后,訓(xùn)練結(jié)束,輸出目標(biāo)模型的平穩(wěn)解θ*。若新客戶(hù)端想要加入訓(xùn)練,則如算法2 所示加入訓(xùn)練。算法從聯(lián)邦優(yōu)化的參數(shù)劃分樹(shù)的根節(jié)點(diǎn)開(kāi)始遍歷,新客戶(hù)端將本地?cái)?shù)據(jù)集訓(xùn)練的模型參數(shù)與參數(shù)樹(shù)節(jié)點(diǎn)的客戶(hù)端進(jìn)行對(duì)比,匹配梯度優(yōu)化方向一致的簇。

算法1集群聯(lián)邦優(yōu)化(CFO)

算法2新客戶(hù)端加入集群

2.3 可信智能合約模塊

智能合約是運(yùn)行在區(qū)塊鏈上的一段代碼,代碼的邏輯定義了合約的內(nèi)容。超級(jí)賬本中智能合約被稱(chēng)為鏈碼,開(kāi)發(fā)人員實(shí)現(xiàn)接口則可通過(guò)API 實(shí)現(xiàn)對(duì)賬本的操作。超級(jí)賬本中的鏈碼分為系統(tǒng)鏈碼和用戶(hù)鏈碼,一般系統(tǒng)鏈碼無(wú)須安裝,用戶(hù)鏈碼則可由用戶(hù)自定義業(yè)務(wù)邏輯。用戶(hù)鏈碼安裝實(shí)例化后有2 種調(diào)用方式:1)直接使用命令調(diào)用;2)通過(guò)SDK 后端調(diào)用。命令行一般由開(kāi)發(fā)人員調(diào)用,SDK 更靈活且適合用戶(hù)。因此,本文選用第2 種方式。參與聯(lián)邦訓(xùn)練的客戶(hù)端共有2 種角色:領(lǐng)導(dǎo)者和普通成員。領(lǐng)導(dǎo)者和普通成員都可通過(guò)后端服務(wù)訪(fǎng)問(wèn)賬本,但不同的身份查詢(xún)參數(shù)會(huì)返回不同的結(jié)果。服務(wù)層通過(guò)鏈碼可以查詢(xún)獲得各個(gè)客戶(hù)端上傳的參數(shù),根據(jù)查詢(xún)者是否為領(lǐng)導(dǎo)者進(jìn)行參數(shù)亂序操作。

2.3.1 選舉

超級(jí)賬本為模型提供了去中心化的平臺(tái)和隱私保護(hù)的支持,可在安全的環(huán)境下對(duì)分散的模型進(jìn)行訓(xùn)練。集群聯(lián)邦優(yōu)化模型與聯(lián)邦學(xué)習(xí)相比省略了一個(gè)中心參數(shù)服務(wù)器,但客戶(hù)端集群仍需要一個(gè)全局模型??蛻?hù)端本地訓(xùn)練完成后,通過(guò)服務(wù)層將客戶(hù)端分割參數(shù)上傳至超級(jí)賬本。集群內(nèi)客戶(hù)端上傳參數(shù)后,服務(wù)層調(diào)用鏈碼選舉出領(lǐng)導(dǎo)者。本文采用隨機(jī)選舉的方式產(chǎn)生領(lǐng)導(dǎo)者,選舉的范圍是當(dāng)前通信輪次中傳輸參數(shù)的客戶(hù)端,選舉產(chǎn)生的結(jié)果記錄在超級(jí)賬本中。如圖4 所示,客戶(hù)端A 被選舉為領(lǐng)導(dǎo)者,其客戶(hù)端與簇的信息也會(huì)被同時(shí)記錄??蛻?hù)端被選舉為領(lǐng)導(dǎo)者后查詢(xún)客戶(hù)端參數(shù)Hash 并下載聚合,完成聚合后則上傳全局模型參數(shù)并更新賬本中領(lǐng)導(dǎo)者信息全局模型哈希地址(Global ModelHash),普通成員更新全局模型。領(lǐng)導(dǎo)者的功能是代替原有的中央服務(wù)器,動(dòng)態(tài)的領(lǐng)導(dǎo)者可以避免中心化訓(xùn)練的單點(diǎn)故障問(wèn)題[26],保證正常訓(xùn)練。當(dāng)模型訓(xùn)練趨于收斂時(shí),領(lǐng)導(dǎo)者可以執(zhí)行2.2.3 節(jié)中的客戶(hù)端重排算法。

領(lǐng)導(dǎo)者聚合時(shí)間為選舉結(jié)束至獲取參數(shù)聚合,若超時(shí)則重新選舉。因此,重新選舉后只需要更新賬本中的領(lǐng)導(dǎo)者信息,無(wú)須回滾。

2.3.2 聚合

目前,聯(lián)邦學(xué)習(xí)中廣泛應(yīng)用的聚合算法是FedAvg[16]。FedAvg 對(duì)客戶(hù)端的梯度更新進(jìn)行平均以形成全局更新,同時(shí)用當(dāng)前全局模型替換未采樣的客戶(hù)端。領(lǐng)導(dǎo)者聚合獲得全局模型并評(píng)估,將全局模型上傳至超級(jí)賬本,客戶(hù)端下載獲得最新全局模型。在下一通信輪次前,客戶(hù)端更新模型和超參數(shù)。集群聯(lián)邦學(xué)習(xí)在集群內(nèi)的聚合方式與FedAvg 相同,智能合約聚合方式如算法3 所示。

算法3聚合

3 實(shí)驗(yàn)與評(píng)估

基于超級(jí)賬本的集群聯(lián)邦優(yōu)化模型使用超級(jí)賬本作為底層平臺(tái),使用星際文件系統(tǒng)傳輸和存儲(chǔ)數(shù)據(jù)。本文實(shí)驗(yàn)在Ubuntu 20.04.4 LTS,4 GB 內(nèi)存,6 核處理器中部署超級(jí)賬本網(wǎng)絡(luò),服務(wù)層部署在裝有超級(jí)賬本容器的虛擬機(jī)上,聯(lián)邦客戶(hù)端訓(xùn)練環(huán)境為PyTorch 1.9.0,顯卡GTX-1660Ti。實(shí)驗(yàn)環(huán)境中后端服務(wù)僅單機(jī)部署,若需要應(yīng)對(duì)服務(wù)層故障,在實(shí)際場(chǎng)景下建議多機(jī)部署并使用Nginx 代理,保證服務(wù)的可用性。

3.1 數(shù)據(jù)集和模型

在MNIST、EMNIST 兩個(gè)公開(kāi)圖像數(shù)據(jù)集上評(píng)估本文方法的有效性。MNIST[27]中包含10 類(lèi)手寫(xiě)數(shù)字圖像分類(lèi)任務(wù),分別為0~9 的數(shù)字;因?yàn)樯窠?jīng)網(wǎng)絡(luò)模型在MNIST 上都有很高的精度,為了增加難度,所以選用Extended MNIST,分別加入26 類(lèi)小寫(xiě)字母和大寫(xiě)字母。訓(xùn)練模型具體如表1 所示。

表1 訓(xùn)練模型Table 1 Training model

3.2 實(shí)驗(yàn)結(jié)果分析

實(shí)驗(yàn)使用的超級(jí)賬本網(wǎng)絡(luò)含2 個(gè)組織,客戶(hù)端中包含IID和Non-IID數(shù)據(jù)。為了模擬數(shù)據(jù)在Non-IID下的情況,實(shí)驗(yàn)取部分?jǐn)?shù)據(jù)將其標(biāo)簽按狄利克雷分布劃分至客戶(hù)端,因?yàn)椴捎脴颖緲?biāo)簽分布來(lái)劃分Non-IID是簡(jiǎn)便有效的方法。MNIST和EMNIST 數(shù)據(jù)集均使用SGD 隨機(jī)梯度下降算法作為優(yōu)化器,客戶(hù)端c=10,學(xué)習(xí)率η=0.1,動(dòng)量參數(shù)momentum=0.9,批數(shù)據(jù)大小batch size=128。

MNIST、EMNIST 數(shù)據(jù)集所用模型前3 層基本相同:第1 層是單通道卷積層,卷積核大小為5×5,步長(zhǎng)為1;第2 層是池化層,最大池化窗口為2×2;第3 層是通道數(shù)為6 的卷積層,卷積核大小為5×5。由于2 個(gè)數(shù)據(jù)集標(biāo)簽類(lèi)別數(shù)不同,因此輸出使用的全連接層略有區(qū)別,激活函數(shù)均為ReLU。如算法1 集群聯(lián)邦優(yōu)化所描述,集群內(nèi)客戶(hù)端聯(lián)邦訓(xùn)練收斂至駐點(diǎn)且經(jīng)驗(yàn)風(fēng)險(xiǎn)函數(shù)接近真實(shí)風(fēng)險(xiǎn),算法才會(huì)執(zhí)行聚類(lèi)。

圖6 所示為MNIST 客戶(hù)端在IID 與Non-IID 不同比例下集群聯(lián)邦優(yōu)化后的測(cè)試集準(zhǔn)確率結(jié)果。圖6(d)異構(gòu)數(shù)據(jù)和非異構(gòu)數(shù)據(jù)比例相等,訓(xùn)練開(kāi)始前依據(jù)JS 散度相似度進(jìn)行客戶(hù)端聚類(lèi),測(cè)試集平均準(zhǔn)確率在第10 輪通信前已經(jīng)收斂到模型最優(yōu)解。實(shí)驗(yàn)證明,聚類(lèi)分布一致的客戶(hù)端在更小通信代價(jià)和更少的計(jì)算資源下得到了聯(lián)邦訓(xùn)練最優(yōu)解。由圖6(a)~圖6(c)可以看出,客戶(hù)端聚類(lèi)后測(cè)試準(zhǔn)確率明顯上升(圖中垂直豎線(xiàn)代表按余弦距離劃分客戶(hù)端)。在圖6(d)中,按梯度相似度聚類(lèi)后準(zhǔn)確率沒(méi)有明顯提高,原因是訓(xùn)練前根據(jù)分布相似度聚類(lèi)有效提高了模型訓(xùn)練效果。

圖6 MNIST 客戶(hù)端在IID 與Non-IID 不同比例下集群聯(lián)邦優(yōu)化后的測(cè)試集準(zhǔn)確率Fig.6 Test accuracy of the MNIST client after CFO under different ratios of IID and Non-IID

圖7 所示為EMNIST 客戶(hù)端在IID 與Non-IID 不同比例下集群聯(lián)邦優(yōu)化后測(cè)試集的準(zhǔn)確率結(jié)果,由于EMNIST 數(shù)據(jù)集相對(duì)MNIST 略微復(fù)雜,因此實(shí)驗(yàn)效果相對(duì)MNIST 更明顯。由圖7(a)~圖7(c)可以看出,依據(jù)梯度相似度聚類(lèi)(垂線(xiàn))后,準(zhǔn)確率明顯提高,同時(shí)圖7(d)充分說(shuō)明了分布相似度聚類(lèi)對(duì)模型收斂和性能提升有顯著效果。

圖7 EMNIST 客戶(hù)端在IID 與Non-IID 不同比例下集群聯(lián)邦優(yōu)化后的測(cè)試集準(zhǔn)確率Fig.7 Test accuracy of the EMNIST client after CFO under different ratios of IID and Non-IID

圖8(a)和圖8(b)分別為MNIST 和EMNIST 客戶(hù)端經(jīng)CFO 優(yōu)化后訓(xùn)練集準(zhǔn)確率對(duì)比,可見(jiàn)較FedAvg 分別提升了6.398%和17.260%,證明了集群聯(lián)邦優(yōu)化的有效性。

圖8 客戶(hù)端測(cè)試準(zhǔn)確率Fig.8 Client test accuracy

為了對(duì)比不同訓(xùn)練方式在數(shù)據(jù)Non-IID 下的表現(xiàn),本文分別在2 個(gè)數(shù)據(jù)集上實(shí)驗(yàn)了4 種不同的訓(xùn)練模式:集中訓(xùn)練,聯(lián)邦平均(FedAvg),集群聯(lián)邦(CFL),以及本文的優(yōu)化方法??蛻?hù)端含有IID 和Non-IID 數(shù)據(jù)(比例相等),如圖9 所示,可以看出:集中學(xué)習(xí)因數(shù)據(jù)集中統(tǒng)一訓(xùn)練,收斂速度和準(zhǔn)確率表現(xiàn)最優(yōu);FedAvg 表現(xiàn)最差;本文的優(yōu)化方法相較CFL 收斂更快,由圖9(b)可以看出,本文相較CFL 速度提升了36.3%。

圖9 Non-IID 對(duì)比實(shí)驗(yàn)結(jié)果Fig.9 Results of Non-IID comparison experiment

4 結(jié)束語(yǔ)

聯(lián)邦學(xué)習(xí)是一種主流的分布式機(jī)器學(xué)習(xí)框架,但其存在單點(diǎn)故障、參數(shù)服務(wù)器泄露用戶(hù)隱私數(shù)據(jù)風(fēng)險(xiǎn)以及數(shù)據(jù)偏態(tài)分布下訓(xùn)練性能較差的問(wèn)題。本文設(shè)計(jì)一種基于超級(jí)賬本的集群聯(lián)邦優(yōu)化模型,以超級(jí)賬本作為分布式訓(xùn)練隱私保護(hù)的架構(gòu)基礎(chǔ),使用星際文件系統(tǒng)存取參數(shù),結(jié)合集群聯(lián)邦學(xué)習(xí)對(duì)異構(gòu)數(shù)據(jù)進(jìn)行優(yōu)化,利用智能合約可信聚合參數(shù)。實(shí)驗(yàn)結(jié)果表明,該模型在保護(hù)數(shù)據(jù)隱私的同時(shí),較傳統(tǒng)聯(lián)邦學(xué)習(xí)模型具有更好的性能。下一步將研究如何度量參與訓(xùn)練客戶(hù)端的貢獻(xiàn)度,設(shè)計(jì)正向積極的激勵(lì)機(jī)制提升訓(xùn)練效率,擴(kuò)大模型的適用范圍。

猜你喜歡
賬本聯(lián)邦客戶(hù)端
一“炮”而紅 音聯(lián)邦SVSound 2000 Pro品鑒會(huì)完滿(mǎn)舉行
數(shù)說(shuō):重慶70年“賬本”展示
如何看待傳統(tǒng)媒體新聞客戶(hù)端的“斷舍離”?
303A深圳市音聯(lián)邦電氣有限公司
丟失的紅色賬本
大樹(shù)爺爺?shù)馁~本
縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶(hù)端
孵化垂直頻道:新聞客戶(hù)端新策略
大樞紐 云平臺(tái) 客戶(hù)端——中央人民廣播電臺(tái)的探索之路
丟失的紅色賬本