摘 要:為了在保護(hù)數(shù)據(jù)隱私的前提下,充分利用異構(gòu)的工業(yè)物聯(lián)網(wǎng)節(jié)點(diǎn)數(shù)據(jù)訓(xùn)練高精度模型,提出了一種基于區(qū)塊鏈的隱私保護(hù)兩階段協(xié)作學(xué)習(xí)系統(tǒng)。首先,使用分組聯(lián)邦學(xué)習(xí)框架,根據(jù)參與節(jié)點(diǎn)的算力將其劃分為不同組,每組通過聯(lián)邦學(xué)習(xí)訓(xùn)練一個(gè)適合其算力的全局模型;其次,引入分割學(xué)習(xí),使節(jié)點(diǎn)能夠與移動邊緣計(jì)算服務(wù)器協(xié)作訓(xùn)練更大規(guī)模的模型,并采用差分隱私技術(shù)進(jìn)一步保護(hù)數(shù)據(jù)隱私,將訓(xùn)練好的模型存儲在區(qū)塊鏈上,通過區(qū)塊鏈的共識算法進(jìn)一步防止惡意節(jié)點(diǎn)的攻擊,保護(hù)模型安全;最后,為了結(jié)合多個(gè)異構(gòu)全局模型的優(yōu)點(diǎn)并進(jìn)一步提高模型精度,使用每個(gè)全局模型的特征提取器從用戶數(shù)據(jù)中提取特征,并將這些特征用作訓(xùn)練集訓(xùn)練更高精度的復(fù)雜模型。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)在Fashion-MNIST和CIFAR-10數(shù)據(jù)集上的性能優(yōu)于傳統(tǒng)聯(lián)邦學(xué)習(xí)的性能,能夠應(yīng)用于工業(yè)物聯(lián)網(wǎng)場景中以獲得高精度模型。
關(guān)鍵詞:區(qū)塊鏈; 工業(yè)物聯(lián)網(wǎng); 隱私保護(hù); 協(xié)作學(xué)習(xí); 聯(lián)邦學(xué)習(xí); 分割學(xué)習(xí)
中圖分類號:TP311 文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2024)08-004-2270-07
doi:10.19734/j.issn.1001-3695.2023.11.0572
Blockchain based Industrial Internet of Things privacyprotection collaborative learning system
Lin Fengbin1, Wang Can1, Wu Qiuxin1, Li Han1, Qin Yu2, Gong Gangjun3
(1.School of Applied Science, Beijing Information Science & Technology University, Beijing 100192, China; 2.Institute of Software, Chinese Academy of Sciences, Beijing 100190, China; 3.Beijing Engineering Research Center of Energy Electric Power Information Security, North China Electric Power University, Beijing 102206, China)
Abstract:To make full use of heterogeneous nodes data from IIoT to train high-accuracy models while protecting data privacy, this paper proposed a privacy-preserving two-stage collaborative learning system based on blockchain. Firstly, it used a grouped federated learning framework to divide participating nodes into different groups based on their computing power. Each group trained a global model suitable for its computing power through federated learning. Secondly, it introduced split learning to enable nodes to collaborate with mobile edge computing servers to train a larger scale model, and used differential privacy technology to further protect data privacy. It stored trained models on the blockchain, and used the consensus algorithm of the blockchain to further prevent attacks from malicious nodes and protect the security of the model. Finally, to combine the advan-tages of multiple heterogeneous global models and further improve model accuracy, it used the feature extractor of each global model to extract features from user data, and used these features as training datasets to train a higher accuracy complex model. Experimental results show that the performance of system on Fashion-MNIST and CIFAR-10 datasets is better than the performance of traditional federated learning. It is suitable for obtaining high-accuracy models in IIoT scenarios.
Key words:blockchain; Industrial Internet of Things(IIoT); privacy protection; collaborative learning; federated learning; split learning
0 引言
得益于智能傳感器在工業(yè)生產(chǎn)中的應(yīng)用以及5G技術(shù)的快速發(fā)展,大量分布在工業(yè)設(shè)備上的數(shù)據(jù)可以被實(shí)時(shí)記錄、跟蹤和共享,這正是目前受到學(xué)界廣泛關(guān)注的工業(yè)物聯(lián)網(wǎng)技術(shù)(IIoT)?,F(xiàn)如今工業(yè)物聯(lián)網(wǎng)已成為工業(yè)4.0發(fā)展的主要驅(qū)動力。借助工業(yè)物聯(lián)網(wǎng),傳統(tǒng)的工業(yè)已經(jīng)逐漸轉(zhuǎn)向智能化發(fā)展。這種智能化發(fā)展離不開工業(yè)物聯(lián)網(wǎng)設(shè)備生成的海量數(shù)據(jù)的支持,如何合理利用這些數(shù)據(jù)已成為當(dāng)前研究熱點(diǎn)。近年來,隨著機(jī)器學(xué)習(xí)研究的深入,海量數(shù)據(jù)可以用來訓(xùn)練高質(zhì)量的機(jī)器學(xué)習(xí)模型以提供預(yù)測服務(wù)。目前,機(jī)器學(xué)習(xí)技術(shù)已應(yīng)用于設(shè)備故障檢測、軸承剩余使用壽命預(yù)測、工業(yè)物聯(lián)網(wǎng)中的網(wǎng)絡(luò)流量預(yù)測[1~3]等工業(yè)場景。然而,數(shù)據(jù)通常以小規(guī)模形式分布在數(shù)千個(gè)工業(yè)物聯(lián)網(wǎng)設(shè)備中。為了獲得高精度模型,傳統(tǒng)的機(jī)器學(xué)習(xí)框架需要將這些分散的數(shù)據(jù)收集到中心服務(wù)器進(jìn)行數(shù)據(jù)預(yù)處理和模型訓(xùn)練。由于這
些數(shù)據(jù)往往包含敏感信息,當(dāng)中心服務(wù)器受到攻擊時(shí),大量隱私數(shù)據(jù)會被泄露,用戶隱私無法得到保障,這導(dǎo)致用戶不愿意共享本地?cái)?shù)據(jù)。因此,使用人工智能技術(shù)的企業(yè)越來越關(guān)注其數(shù)據(jù)的隱私和安全。此外,政府還出臺了相關(guān)法律法規(guī),限制隱私數(shù)據(jù)在數(shù)據(jù)市場的流通。這些因素導(dǎo)致了“數(shù)據(jù)孤島”現(xiàn)象的出現(xiàn)。在保護(hù)數(shù)據(jù)安全和隱私的前提下打破數(shù)據(jù)壁壘,已成為機(jī)器學(xué)習(xí)應(yīng)用于工業(yè)物聯(lián)網(wǎng)的重大挑戰(zhàn)。
鑒于上述問題,本文設(shè)計(jì)了一種基于區(qū)塊鏈的隱私保護(hù)協(xié)作學(xué)習(xí)系統(tǒng)。該系統(tǒng)主要分成兩個(gè)階段進(jìn)行:在第一階段中進(jìn)行了分組聯(lián)邦學(xué)習(xí)并引入了分割學(xué)習(xí),將模型分割成客戶端模型和MEC(mobile edge computing)端模型,由客戶端和MEC服務(wù)器共同完成模型的訓(xùn)練;在第二階段中,利用各組聯(lián)邦學(xué)習(xí)全局模型的前若干層作為特征提取器提取本地?cái)?shù)據(jù)集的特征,并將這些特征用于訓(xùn)練一個(gè)更高精度的復(fù)雜模型,以應(yīng)對在聯(lián)邦學(xué)習(xí)過程中存在的性能損失問題[4]。本文對協(xié)作學(xué)習(xí)過程中可能存在的數(shù)據(jù)隱私泄露問題引入了差分隱私技術(shù)進(jìn)一步保護(hù)工業(yè)物聯(lián)網(wǎng)節(jié)點(diǎn)數(shù)據(jù)的隱私性,并使用區(qū)塊鏈技術(shù)實(shí)現(xiàn)了去中心化的協(xié)作學(xué)習(xí)方案,避免了中心式服務(wù)器可能存在的單點(diǎn)故障問題。
1 預(yù)備知識
1.1 聯(lián)邦學(xué)習(xí)和分割學(xué)習(xí)
聯(lián)邦學(xué)習(xí)作為一種協(xié)作學(xué)習(xí)方案最早由Google于2016年提出[5]。與傳統(tǒng)的機(jī)器學(xué)習(xí)框架不同,聯(lián)邦學(xué)習(xí)的過程中,信息通過模型參數(shù)在服務(wù)器和節(jié)點(diǎn)之間傳輸,可以有效減少網(wǎng)絡(luò)流量,并在一定程度上保護(hù)數(shù)據(jù)隱私。在聯(lián)邦學(xué)習(xí)中,中心服務(wù)器將全局模型分發(fā)給所有參與節(jié)點(diǎn),這些節(jié)點(diǎn)使用各自的數(shù)據(jù)集在本地完成模型的訓(xùn)練。完成本地訓(xùn)練后,本地模型參數(shù)由節(jié)點(diǎn)上傳回中心服務(wù)器并在服務(wù)器上聚合以更新全局模型。服務(wù)器將更新后的全局模型參數(shù)重新下發(fā)給參與節(jié)點(diǎn),開始下一輪迭代。經(jīng)過多次重復(fù)迭代步驟,最終得到具有良好性能的機(jī)器學(xué)習(xí)模型。
分割學(xué)習(xí)也是一種協(xié)作學(xué)習(xí)方案,在分割學(xué)習(xí)中,深度學(xué)習(xí)模型的網(wǎng)絡(luò)結(jié)構(gòu)被分成兩部分并分布在不同的節(jié)點(diǎn)上,以便計(jì)算能力較低的客戶端和計(jì)算能力較高的服務(wù)器可以共同訓(xùn)練復(fù)雜的深度學(xué)習(xí)模型。參與分割學(xué)習(xí)的客戶端使用本地?cái)?shù)據(jù)集完成模型前半部分的前向傳播過程,然后將中間層的輸出發(fā)送到服務(wù)器。在服務(wù)器上,接收到的數(shù)據(jù)用于模型后半部分的前向傳播。然后服務(wù)器計(jì)算模型后半部分的反向傳播,并將中間層的梯度發(fā)送給客戶端,以完成模型前半部分的反向傳播過程。模型前半部分和后半部分的參數(shù)分別在客戶端和服務(wù)器上更新。利用高算力服務(wù)器的計(jì)算資源,可以讓算力較低的客戶端訓(xùn)練更大的模型。本文將聯(lián)邦學(xué)習(xí)和分割學(xué)習(xí)相結(jié)合應(yīng)用于工業(yè)物聯(lián)網(wǎng)場景中,使得低算力的工業(yè)物聯(lián)網(wǎng)設(shè)備能夠完成聯(lián)邦學(xué)習(xí)模型的訓(xùn)練。
1.2 區(qū)塊鏈
區(qū)塊鏈?zhǔn)怯伤袇⑴c節(jié)點(diǎn)維護(hù)的分布式賬本。區(qū)塊按照其生成的時(shí)間順序連接,每個(gè)區(qū)塊包含前一個(gè)區(qū)塊的哈希值、交易時(shí)間和其他信息。區(qū)塊鏈具有可追溯、去中心化、難以竄改的特點(diǎn)[6]。如果區(qū)塊鏈中的某些節(jié)點(diǎn)受到惡意攻擊,其余節(jié)點(diǎn)仍然可以正常運(yùn)行,這使得區(qū)塊鏈系統(tǒng)具有魯棒性。由于區(qū)塊鏈所具有的特性,本文系統(tǒng)采用區(qū)塊鏈記錄協(xié)作學(xué)習(xí)過程當(dāng)中產(chǎn)生的模型參數(shù)以及數(shù)據(jù)特征,并實(shí)現(xiàn)了去中心化的協(xié)作學(xué)習(xí)方案。
2 相關(guān)工作
聯(lián)邦學(xué)習(xí)作為一種熱門的協(xié)作學(xué)習(xí)技術(shù),受到了各界的廣泛關(guān)注。研究人員提出了各種框架來進(jìn)一步優(yōu)化聯(lián)邦學(xué)習(xí)。Duan等人[4]證明了聯(lián)邦學(xué)習(xí)過程中,節(jié)點(diǎn)數(shù)據(jù)的異構(gòu)性會導(dǎo)致模型性能下降,并提出了名為Astraea的聯(lián)邦學(xué)習(xí)框架來提高模型性能。Xu[7]提出了一種新穎的模型聚合框架,通過每個(gè)客戶端模型生成的偽樣本來訓(xùn)練聯(lián)邦學(xué)習(xí)的全局模型,從而提高聚合的效率和全局模型的準(zhǔn)確性。Duan等人[8]在服務(wù)器上使用重要性加權(quán)方法聚合模型參數(shù),該框架通過減少局部模型和全局模型之間的差異來提高聯(lián)邦學(xué)習(xí)模型的性能。Guo等人[9]設(shè)計(jì)了一種輕量級聯(lián)邦學(xué)習(xí)系統(tǒng),該系統(tǒng)通過僅聚合模型關(guān)鍵部分的參數(shù)來減少通信量。
分割學(xué)習(xí)作為另一種協(xié)作學(xué)習(xí)技術(shù)首次由Gupta等人[10]提出,他們分析了分割學(xué)習(xí)方案在多客戶端環(huán)境下的優(yōu)勢。Wang等人[11]將分割學(xué)習(xí)中模型的劃分問題轉(zhuǎn)換為最小代價(jià)圖搜索問題,從而實(shí)時(shí)為節(jié)點(diǎn)分配最佳決策以提高分割學(xué)習(xí)的效率。Ha等人[12]強(qiáng)調(diào)了分割學(xué)習(xí)是解決節(jié)點(diǎn)數(shù)據(jù)異構(gòu)性和保護(hù)數(shù)據(jù)隱私的有效技術(shù),并分析了其在醫(yī)療領(lǐng)域應(yīng)用的可行性。Vepakomma等人[13]提出了多種分割學(xué)習(xí)方案,以應(yīng)對不同場景的需求。Abuadbba等人[14]指出在分割學(xué)習(xí)過程中存在隱私泄露的情況,并提出了兩種隱私保護(hù)方案。
聯(lián)邦學(xué)習(xí)和分割學(xué)習(xí)都有其優(yōu)點(diǎn)和一些應(yīng)用限制。因此,一些研究人員試圖結(jié)合兩者的優(yōu)勢來構(gòu)建新的分布式學(xué)習(xí)框架。Duan等人[15]綜述了兩者所具有的獨(dú)特優(yōu)勢和局限性,并對未來聯(lián)邦學(xué)習(xí)與分割學(xué)習(xí)相結(jié)合的新型分布式學(xué)習(xí)架構(gòu)提出了一些構(gòu)想。Turina等人[16]提出了一種混合分布式學(xué)習(xí)框架,實(shí)現(xiàn)了聯(lián)邦學(xué)習(xí)和分割學(xué)習(xí)的互補(bǔ),并采用差分隱私技術(shù)來保護(hù)數(shù)據(jù)隱私。Thapa等人[17]提出了分割聯(lián)邦學(xué)習(xí)框架,顯著減少了聯(lián)邦學(xué)習(xí)過程所花費(fèi)的時(shí)間,同時(shí)保證了模型的準(zhǔn)確性。然而,上述研究依賴于具有中心服務(wù)器的聯(lián)邦學(xué)習(xí),在這種架構(gòu)下系統(tǒng)的魯棒性較低。
使用區(qū)塊鏈代替中心服務(wù)器節(jié)點(diǎn)進(jìn)行協(xié)作學(xué)習(xí)可以提高整個(gè)系統(tǒng)的魯棒性,許多研究人員已經(jīng)在這方面進(jìn)行了研究。Feng等人[18]提出了異步聯(lián)邦學(xué)習(xí)模型,并使用區(qū)塊鏈代替中心節(jié)點(diǎn)。該框架可以有效防止惡意節(jié)點(diǎn)的投毒攻擊,提高本地模型更新的有效性。Zhang等人[19]提出了一種基于區(qū)塊鏈的去中心化聯(lián)邦學(xué)習(xí)框架,用于工業(yè)界硬件故障檢測,并利用激勵機(jī)制激勵用戶參與學(xué)習(xí),使聯(lián)邦學(xué)習(xí)過程中有足夠的數(shù)據(jù)可用。Li等人[20]使用區(qū)塊鏈代替聯(lián)邦學(xué)習(xí)框架的中心服務(wù)器,并提出了一種新穎的共識委員會機(jī)制,以降低全局模型被惡意攻擊的風(fēng)險(xiǎn),并提高共識算法的有效性。Yi等人[21]設(shè)計(jì)了一個(gè)基于區(qū)塊鏈的聯(lián)邦學(xué)習(xí)激勵框架,通過Stackelberg博弈以最大化服務(wù)器效益并保證用戶獲得獎勵的公平性。Singh等人[22]將基于區(qū)塊鏈的聯(lián)邦學(xué)習(xí)安全架構(gòu)應(yīng)用于智能醫(yī)療場景,并分析了該框架的性能。Zhao等人[23]提出了一種基于區(qū)塊鏈的聯(lián)邦分割學(xué)習(xí)框架,將模型一部分的計(jì)算卸載到算力更高的MEC服務(wù)器上,提高本地模型訓(xùn)練的效率,并采用差分隱私技術(shù)保護(hù)用戶數(shù)據(jù)的安全。在聯(lián)邦學(xué)習(xí)過程當(dāng)中參與者無須上傳本地?cái)?shù)據(jù),一定程度上避免了數(shù)據(jù)隱私的泄露。然而現(xiàn)有攻擊方法仍然可以通過模型恢復(fù)部分?jǐn)?shù)據(jù),因此模型的保護(hù)成為聯(lián)邦學(xué)習(xí)過程中必不可少的一部分。本文和文獻(xiàn)[16,17,21,24~26]都采用了差分隱私技術(shù)來保護(hù)模型的隱私。
3 系統(tǒng)設(shè)計(jì)
本文提出的系統(tǒng)整體架構(gòu)如圖1所示。該系統(tǒng)主要由任務(wù)發(fā)起者、客戶端和區(qū)塊鏈三個(gè)部分組成。首先,任務(wù)發(fā)起者提出兩階段協(xié)作學(xué)習(xí)任務(wù),具有相關(guān)數(shù)據(jù)集的工業(yè)物聯(lián)網(wǎng)節(jié)點(diǎn)可以選擇作為客戶端加入?yún)f(xié)作學(xué)習(xí)任務(wù)。每個(gè)客戶端進(jìn)入與其計(jì)算能力相匹配的分組,每組分別進(jìn)行各自的聯(lián)邦學(xué)習(xí)。完成分組聯(lián)邦學(xué)習(xí)階段后,每個(gè)客戶端從區(qū)塊鏈中獲取所有組的客戶端模型,利用這些客戶端模型從本地?cái)?shù)據(jù)集中提取特征,這些特征經(jīng)過拼接之后將會被上傳到區(qū)塊鏈。最后,任務(wù)發(fā)起者從區(qū)塊鏈上獲取到數(shù)據(jù)集的拼接特征,并在具有高算力的云計(jì)算平臺上訓(xùn)練最終的復(fù)雜模型。
3.1 任務(wù)發(fā)起者
任務(wù)發(fā)起者是一個(gè)與各工業(yè)物聯(lián)網(wǎng)設(shè)備相連的服務(wù)器,它可以訪問區(qū)塊鏈和云計(jì)算服務(wù)器。任務(wù)發(fā)起者發(fā)起協(xié)作學(xué)習(xí)任務(wù)以獲得高精度的模型。由于不同客戶端之間算力的異構(gòu)性,在傳統(tǒng)的未分組聯(lián)邦學(xué)習(xí)架構(gòu)中,若全局模型較為復(fù)雜,則小算力節(jié)點(diǎn)將無法進(jìn)行模型訓(xùn)練,那么這些節(jié)點(diǎn)的數(shù)據(jù)無法被應(yīng)用于聯(lián)邦學(xué)習(xí),從而影響模型的泛化能力。如果采用簡化的全局模型,雖然可以利用這部分節(jié)點(diǎn)的數(shù)據(jù),但由于模型復(fù)雜度不夠,其精度可能無法達(dá)到要求。因此在協(xié)作學(xué)習(xí)第一階段當(dāng)中,任務(wù)發(fā)起者根據(jù)各個(gè)客戶端節(jié)點(diǎn)的算力對其進(jìn)行分組,不同組使用不同復(fù)雜度的模型進(jìn)行聯(lián)邦學(xué)習(xí),既不浪費(fèi)高算力節(jié)點(diǎn)的算力,又能充分利用低算力節(jié)點(diǎn)的數(shù)據(jù);然后在第二階段中利用這些模型提取數(shù)據(jù)特征并進(jìn)一步訓(xùn)練高精度模型。為了方便客戶端獲取模型,任務(wù)發(fā)起者為這些模型配置初始參數(shù)并將其存儲在區(qū)塊鏈上。完成分組聯(lián)邦學(xué)習(xí)任務(wù)后,每個(gè)客戶端使用所有組全局模型的特征提取器來提取其本地?cái)?shù)據(jù)集的特征,并將其上傳到區(qū)塊鏈。在第二階段中,任務(wù)發(fā)起者從區(qū)塊鏈中獲取所有客戶端數(shù)據(jù)的特征,這些特征用于在具有高計(jì)算能力的云服務(wù)器上訓(xùn)練更高精度的復(fù)雜模型。圖2記錄了兩階段協(xié)作學(xué)習(xí)任務(wù)的完整流程。最終,任務(wù)發(fā)起者獲得所有組的特征提取器和高精度的復(fù)雜模型。對于實(shí)際應(yīng)用中的測試樣本,任務(wù)發(fā)起者使用這些特征提取器提取特征,然后將其輸入復(fù)雜模型中以獲得預(yù)測結(jié)果。
3.2 客戶端
每個(gè)客戶端都是一個(gè)工業(yè)物聯(lián)網(wǎng)設(shè)備,存儲可用于機(jī)器學(xué)習(xí)模型訓(xùn)練的數(shù)據(jù)集。工業(yè)物聯(lián)網(wǎng)設(shè)備的計(jì)算能力較低,導(dǎo)致訓(xùn)練時(shí)間較長。為了提高聯(lián)邦學(xué)習(xí)的效率并使得工業(yè)物聯(lián)網(wǎng)節(jié)點(diǎn)能夠訓(xùn)練更大規(guī)模的模型,由客戶端與MEC共同完成本地模型的計(jì)算。由于MEC服務(wù)器存在信息泄露和被攻擊的風(fēng)險(xiǎn),每個(gè)客戶端在上傳特征之前都需要添加拉普拉斯噪聲,以保護(hù)本地?cái)?shù)據(jù)的隱私??蛻舯仨毻ㄟ^以下步驟才能完成協(xié)作學(xué)習(xí)任務(wù):
a)客戶端將自己的設(shè)備信息發(fā)送給任務(wù)發(fā)起者,申請加入?yún)f(xié)作學(xué)習(xí)任務(wù)。然后任務(wù)發(fā)起者按照每個(gè)客戶端的算力將其分成多組聯(lián)邦學(xué)習(xí)。每個(gè)客戶端使用區(qū)塊鏈來獲取其對應(yīng)組的全局模型的初始參數(shù)。
b)每個(gè)客戶端與其對應(yīng)的MEC服務(wù)器交互(一個(gè)MEC對應(yīng)一個(gè)客戶端),完成本地模型的訓(xùn)練。客戶端用于本地訓(xùn)練的模型將分成客戶端模型和MEC端模型兩個(gè)部分??蛻舳撕蚆EC服務(wù)器分四個(gè)階段執(zhí)行本地模型的前向和后向傳播。
(a)客戶端使用本地?cái)?shù)據(jù)集完成客戶端模型的前向傳播,得到中間層的輸出特征后為其添加上拉普拉斯噪聲擾動,并連同相應(yīng)的標(biāo)簽上傳到MEC服務(wù)器。
(b)MEC服務(wù)器利用接收到的特征完成MEC端模型的前向傳播過程并計(jì)算損失。
(c)MEC服務(wù)器執(zhí)行反向傳播并更新MEC端模型上的參數(shù),中間層的梯度將被發(fā)送到客戶端。
(d)客戶端接收MEC服務(wù)器返回的梯度,完成客戶端模型的反向傳播和參數(shù)更新。
c)客戶端將模型參數(shù)上傳到區(qū)塊鏈,并由區(qū)塊鏈中的“見證人”對其進(jìn)行兩階段驗(yàn)證,通過驗(yàn)證的客戶端模型參數(shù)才能被采用,并用于全局模型的聚合更新。
d)客戶端上傳本地?cái)?shù)據(jù)集的特征。當(dāng)所有組的聯(lián)邦學(xué)習(xí)完成后,每個(gè)客戶端從區(qū)塊鏈下載所有組的特征提取器用于提取本地?cái)?shù)據(jù)集的特征。如圖3所示,由不同特征提取器提取的樣本特征將被拼接起來??紤]到數(shù)據(jù)特征仍存在數(shù)據(jù)隱私泄露的風(fēng)險(xiǎn)[27],為了保護(hù)數(shù)據(jù)隱私,客戶端應(yīng)給特征添加差分隱私噪聲。最后,客戶端將添加了噪聲的特征上傳至區(qū)塊鏈。
3.3 區(qū)塊鏈
本文采用聯(lián)盟鏈來記錄每個(gè)分組聯(lián)邦學(xué)習(xí)過程中的全局和本地模型以及第一階段得到的數(shù)據(jù)特征。在聯(lián)盟鏈中采用了一種高效的共識協(xié)議,稱為DPoS(delegated proof of stake)。由于只有部分被選為見證人的節(jié)點(diǎn)擁有記賬權(quán),所以區(qū)塊驗(yàn)證的速度較快。見證人根據(jù)隨機(jī)算法打亂后得到記賬順序。一旦見證人生成了新的區(qū)塊,就必須將其傳遞給其余見證人進(jìn)行驗(yàn)證,并且只有超過四分之三的見證人驗(yàn)證通過后,該區(qū)塊才能被添加到區(qū)塊鏈中。在本文系統(tǒng)中,見證人的主要職責(zé)包括驗(yàn)證節(jié)點(diǎn)的交易、生成和驗(yàn)證新的區(qū)塊。在分組聯(lián)邦學(xué)習(xí)中,交易驗(yàn)證需要分兩個(gè)階段完成。首先,見證人驗(yàn)證交易的數(shù)字簽名,以確保是由授權(quán)節(jié)點(diǎn)發(fā)出交易;然后通過Multi-KRUM算法驗(yàn)證模型的有效性。由于區(qū)塊的大小限制,模型參數(shù)和數(shù)據(jù)特征無法完整存入一個(gè)區(qū)塊中。為此,本文引入星際文件系統(tǒng)(inter planetary file system,IPFS)來實(shí)現(xiàn)鏈下存儲。IPFS是一個(gè)分布式文件存儲系統(tǒng),其每個(gè)文件都有一個(gè)唯一地址。在本文系統(tǒng)中,當(dāng)客戶端或任務(wù)發(fā)起者需要將模型參數(shù)或數(shù)據(jù)特征上傳至區(qū)塊鏈時(shí),首先要將其上傳到IPFS上獲取對應(yīng)的文件地址,隨后將該地址進(jìn)行數(shù)字簽名后上傳到區(qū)塊鏈,并由見證者對數(shù)字簽名進(jìn)行驗(yàn)證,通過驗(yàn)證的地址才會被寫入?yún)^(qū)塊中。當(dāng)客戶端或任務(wù)發(fā)起者需要從區(qū)塊鏈獲取模型參數(shù)或數(shù)據(jù)特征時(shí),先從區(qū)塊鏈獲得文件的IPFS地址,隨后通過該地址從IPFS獲取模型參數(shù)或數(shù)據(jù)特征。這種鏈下存儲機(jī)制可以突破區(qū)塊的大小限制并顯著降低區(qū)塊鏈的存儲負(fù)載。
在區(qū)塊鏈上運(yùn)行所提系統(tǒng)的過程如下:首先,任務(wù)發(fā)起者生成不同復(fù)雜度的初始全局模型并將其上傳到區(qū)塊鏈,參與分組聯(lián)邦學(xué)習(xí)的客戶端基于區(qū)塊鏈獲取的全局模型參數(shù)進(jìn)行本地模型訓(xùn)練;隨后,這些模型參數(shù)由見證人進(jìn)行兩階段驗(yàn)證后用于全局模型參數(shù)的聚合,更新后的全局模型參數(shù)將被寫入新的區(qū)塊中并使用Gossip協(xié)議將新區(qū)塊廣播給其余見證人,其余見證人檢查區(qū)塊的有效性后,新區(qū)塊將被添加到區(qū)塊鏈中,在分組聯(lián)邦學(xué)習(xí)階段結(jié)束時(shí),每個(gè)客戶端從區(qū)塊鏈中獲取所有組的特征提取器用于提取本地?cái)?shù)據(jù)集的特征,這些數(shù)據(jù)集特征被拼接后上傳到區(qū)塊鏈;最后,任務(wù)發(fā)起者從區(qū)塊鏈上獲取特征用于在具有高算力的云服務(wù)器上訓(xùn)練高精度的復(fù)雜模型。設(shè)聯(lián)邦學(xué)習(xí)組數(shù)為K,全局迭代(global epoch)次數(shù)G,本地迭代(local epoch)次數(shù)L,每個(gè)本地迭代的批次數(shù)B,本地訓(xùn)練的學(xué)習(xí)率r。該系統(tǒng)的算法如算法1和2所示。
算法1 基于區(qū)塊鏈的隱私保護(hù)兩階段協(xié)作學(xué)習(xí)系統(tǒng)
輸入:K,G。
輸出:f1G,f2G,…,fKG,W。
任務(wù)發(fā)起者為K個(gè)不同復(fù)雜度的模型初始化參數(shù)p10,p20,…,pK0,并上傳到區(qū)塊鏈
for each group k in parallel do
for global epoch g=1,2,…,G do
for each client c of group k in parallel do
從區(qū)塊鏈上下載pkg-1
pk,cg←clientUpdate(pkg-1) //見算法2
上傳pk,cg到區(qū)塊鏈
end
見證者執(zhí)行Multi-KRUM算法(見3.5節(jié))獲取可信的客戶端集合Ckg和不可信客戶端集合Ukg
pkg←1Ckg∑c∈Ckgpk,cg
end
end
for each client c∪Kk=1∪Gg=1Ukg in parallel do
從區(qū)塊鏈上下載p1G,p2G,…,pKG并使用它們的前若干層f1G,f2G,…,fKG作為特征提取器
客戶端使用所有特征提取器從每個(gè)樣本s中提取特征并添加拉普拉斯噪聲后得到x1s,x2s,…,xKs
將特征x1s,x2s,…,xKs拼接起來得到xs
將所有xs上傳到區(qū)塊鏈
end
任務(wù)發(fā)起者下載所有客戶端樣本的xs并訓(xùn)練最終的復(fù)雜模型W
return f1G,f2G,…,fKG,W
算法2 clientUpdate
輸入:p,L,B,r。
輸出:本地更新后的p。
將p拆分為客戶端模型w和MEC端模型m
//在每個(gè)客戶端及其對應(yīng)的MEC服務(wù)器上運(yùn)行
for each local epoch l=1,2,…,L do
for each batch b=1,2,…,B do
在客戶端上進(jìn)行前向傳播
給中間層添加差分隱私噪聲(見3.4節(jié))并傳給MEC服務(wù)器
在MEC服務(wù)器上進(jìn)行前向傳播
在MEC服務(wù)器上進(jìn)行反向傳播
m←m-rmloss //更新MEC端模型參數(shù)
將中間層梯度傳給客戶端
在客戶端上進(jìn)行反向傳播
w←w-rwloss //更新客戶端模型參數(shù)
end
end
p←(w,m)
return p
3.4 差分隱私
如果一個(gè)隨機(jī)算法M對于任意兩個(gè)相鄰的數(shù)據(jù)集D與D′(D與D′中僅有一條記錄不同)滿足
Pr[M(D)∈S]≤eε Pr[M(D′)∈S]+δ(1)
則隨機(jī)算法M滿足(ε,δ)差分隱私。Pr[·]表示概率;S表示隨機(jī)算法M的所有可能輸出的集合。如果δ=0,則該算法滿足ε差分隱私,也稱為嚴(yán)格差分隱私。ε是隱私保護(hù)預(yù)算,ε越小,對于數(shù)據(jù)的隱私保護(hù)性越強(qiáng),但同時(shí)數(shù)據(jù)的可用性也就越低;ε越大對于數(shù)據(jù)施加的隱私保護(hù)性越弱,數(shù)據(jù)的可用性也就越高。
基于差分隱私的定義,滿足差分隱私的算法使得數(shù)據(jù)庫中信息的變化不會對算法的輸出產(chǎn)生很大的影響。因此,即使獲得了大量的輸出信息,差分隱私也使得攻擊者很難推斷出原始的用戶數(shù)據(jù)。差分隱私受到了各行業(yè)的關(guān)注,例如Google利用差分隱私開發(fā)了名為RAPPOR的隱私工具[28],在保護(hù)用戶隱私的前提下收集用戶數(shù)據(jù)。
本文在分割學(xué)習(xí)和上傳客戶端數(shù)據(jù)特征過程中都是通過在模型的中間層特征中添加拉普拉斯噪聲來實(shí)現(xiàn)差分隱私機(jī)制(見算法1和2)。由于差分隱私機(jī)制的后處理特性[23],最終模型仍然可以滿足差分隱私機(jī)制[29]。具體地,客戶端在上傳模型的中間層特征之前需要添加尺度參數(shù)為λ=Δf/ε、均值為0的拉普拉斯噪聲,其中Δf是特征取值的范圍。
3.5 Multi-KRUM算法
本文通過Multi-KRUM算法篩選出可信客戶端的模型參數(shù)與不可信客戶端的模型參數(shù)。Multi-KRUM算法使用歐氏距離來衡量兩個(gè)模型參數(shù)之間的距離。記第k組第g輪聯(lián)邦學(xué)習(xí)中第i個(gè)客戶端上傳的模型參數(shù)為pk,ig,區(qū)塊鏈中的見證者記錄與其最接近的T-P-2個(gè)模型參數(shù),記為Nk,ig。其中T表示總的模型數(shù)量,P表示需要拒絕的模型數(shù)量。將這T-P-2個(gè)模型參數(shù)與pk,ig距離的平方相加作為pk,ig的離群度,記為dk,ig。dk,ig定義如下:
dk,ig=∑j∈Nk,ig‖pk,ig-pk,jg‖2(2)
離群度最小的T-P個(gè)模型參數(shù)對應(yīng)的客戶端作為可信客戶端集合Ckg,其余P個(gè)模型參數(shù)對應(yīng)的客戶端作為不可信客戶端集合Ukg。
4 實(shí)驗(yàn)
4.1 實(shí)驗(yàn)準(zhǔn)備
實(shí)驗(yàn)中使用的設(shè)備是一臺配備Intel i7-12700H CPU(2.70 GHz)、GeForce GTX 3070Ti GPU和32 GB RAM的筆記本電腦。目前Fashion-MNIST和CIFAR-10常被用于檢測工業(yè)物聯(lián)網(wǎng)中聯(lián)邦學(xué)習(xí)系統(tǒng)的性能[30],因此本文采用這兩個(gè)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。Fashion-MNIST數(shù)據(jù)集包含7萬個(gè)樣本,共有10個(gè)類別,每個(gè)樣本都是28×28大小的灰度圖像,將其中5萬、1萬、1萬個(gè)樣本分別用作訓(xùn)練集、驗(yàn)證集和測試集。CIFAR-10數(shù)據(jù)集包含6萬個(gè)樣本,共有10個(gè)類別,每個(gè)樣本都是32×32大小的RGB圖像,將其中4萬、1萬、1萬個(gè)樣本分別用作訓(xùn)練集、驗(yàn)證集和測試集。實(shí)驗(yàn)共模擬了10個(gè)工業(yè)物聯(lián)網(wǎng)設(shè)備節(jié)點(diǎn)??紤]到工業(yè)物聯(lián)網(wǎng)中設(shè)備的數(shù)據(jù)量不同,且大多數(shù)設(shè)備數(shù)據(jù)量較小,本文進(jìn)行以下實(shí)驗(yàn)配置:10個(gè)客戶端中有5個(gè)客戶端為小型數(shù)據(jù)集擁有者,3個(gè)客戶端為中型數(shù)據(jù)集擁有者,另外2個(gè)客戶端是大型數(shù)據(jù)集擁有者。在實(shí)際應(yīng)用中,擁有大型數(shù)據(jù)集的客戶端往往擁有更多的計(jì)算資源。因此,擁有小型、中型、大型數(shù)據(jù)集的客戶端對應(yīng)擁有小型、中型、大型的算力。從而本文對于小型、中型、大型數(shù)據(jù)集的客戶端分別構(gòu)建了具有小型、中型、大型全局模型的分組聯(lián)邦學(xué)習(xí)。
本實(shí)驗(yàn)分三部分,第一部分對本文系統(tǒng)與現(xiàn)有流行的聯(lián)邦學(xué)習(xí)算法MOON[31]、FedProx[32]、FedAvg[5]、FedAvgM[33]、SCAFFOLD[34]進(jìn)行對比實(shí)驗(yàn)。第二部分驗(yàn)證使用分組聯(lián)邦學(xué)習(xí)框架的優(yōu)勢,為此設(shè)計(jì)了三個(gè)對比實(shí)驗(yàn),每個(gè)實(shí)驗(yàn)都使用未分組的傳統(tǒng)聯(lián)邦學(xué)習(xí)框架。在對比實(shí)驗(yàn)Ⅰ中,使用的全局模型是一個(gè)小模型,它使得所有客戶端都能夠參與聯(lián)邦學(xué)習(xí)。在對比實(shí)驗(yàn)Ⅱ中,采用的全局模型是中等模型,由于低算力的客戶端無法滿足計(jì)算要求,所以只有中、高算力的客戶端才能參與實(shí)驗(yàn)Ⅱ。在對比實(shí)驗(yàn)Ⅲ中,使用的全局模型是一個(gè)大模型,只有高算力的客戶端才能滿足本次實(shí)驗(yàn)的計(jì)算要求。為了對比的公平性,在實(shí)驗(yàn)Ⅰ、Ⅱ和Ⅲ中的聯(lián)邦學(xué)習(xí)后都增加了復(fù)雜模型訓(xùn)練環(huán)節(jié)。第三部分驗(yàn)證本文系統(tǒng)在不同分布數(shù)據(jù)集下的性能表現(xiàn)、Multi-KRUM算法的有效性以及研究相似特征對復(fù)雜模型性能的影響。
為了模擬客戶端之間異構(gòu)數(shù)據(jù)量的情況,兩個(gè)數(shù)據(jù)集按照表1進(jìn)行劃分。對于所有實(shí)驗(yàn),數(shù)據(jù)集分為10個(gè)部分,每個(gè)部分對應(yīng)一個(gè)客戶端。在獨(dú)立同分布(independent and identically distributed,IID)數(shù)據(jù)集中,每個(gè)客戶端(即數(shù)據(jù)集擁有者)擁有全部10個(gè)類別的數(shù)據(jù)。在非獨(dú)立同分布(not independent and identically distributed,non-IID)數(shù)據(jù)集中,每個(gè)小數(shù)據(jù)集擁有者擁有3個(gè)類別的數(shù)據(jù),所有小數(shù)據(jù)集的類別總數(shù)為6;每個(gè)中數(shù)據(jù)集擁有者擁有6個(gè)類別的數(shù)據(jù),所有中數(shù)據(jù)集的類別總數(shù)為8;每個(gè)大數(shù)據(jù)集擁有者都擁有全部10個(gè)類別的數(shù)據(jù)。
小模型、中模型和大模型都是CNN模型。Zagoruyko等人[35]提出神經(jīng)網(wǎng)絡(luò)的寬度和深度影響其復(fù)雜度,通過調(diào)整兩者的大小可以獲得不同復(fù)雜度的模型。為此,本文通過改變卷積層數(shù)、通道數(shù)、全連接層數(shù)以及每層神經(jīng)元數(shù)來生成不同復(fù)雜度的全局模型。通常,全連接層的參數(shù)數(shù)量遠(yuǎn)大于卷積層,這使得全連接層占用更多的計(jì)算資源。為了減少客戶端的計(jì)算量,客戶端模型主要由CNN的卷積層組成,且本實(shí)驗(yàn)在特征提取階段也將各組聯(lián)邦學(xué)習(xí)全局模型的卷積層部分用作特征提取器。MEC服務(wù)器負(fù)責(zé)CNN的全連接層的計(jì)算。此外,最后一個(gè)卷積層提取的特征由歸一化層[19]修改,使得特征的范圍限制在[-N-1,N-1],其中N表示批次大?。╞atch size)。這些特征的敏感度為2N-1,隱私預(yù)算ε設(shè)置為2。差分隱私層向每個(gè)特征添加均值為0、尺度參數(shù)為λ=2N-1/2的拉普拉斯噪聲,以滿足差分隱私機(jī)制。最后,本文使用修改后的ResNet-18作為復(fù)雜模型,基于從所有客戶端數(shù)據(jù)集中提取的特征進(jìn)行訓(xùn)練。表2和3記錄了實(shí)驗(yàn)中兩個(gè)數(shù)據(jù)集所對應(yīng)的小模型、中模型、大模型的整體結(jié)構(gòu),而表4記錄了復(fù)雜模型的結(jié)構(gòu)。在分組聯(lián)邦學(xué)習(xí)階段,將學(xué)習(xí)率設(shè)置為0.005,將批次大小設(shè)置為32,并將所有客戶端的本地迭代次數(shù)設(shè)置為5。在復(fù)雜模型訓(xùn)練階段,將學(xué)習(xí)率設(shè)置為0.01,將批次大小設(shè)置為32,并根據(jù)驗(yàn)證集準(zhǔn)確率采用早停策略。
4.2 實(shí)驗(yàn)結(jié)果
本文系統(tǒng)在Fashion-MNIST與CIFAR-10數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如圖4~12所示。在圖4和5中記錄了第一部分實(shí)驗(yàn)的結(jié)果,對比了本文方法和當(dāng)前主流的一些聯(lián)邦學(xué)習(xí)方案在使用全部客戶端時(shí)的測試集準(zhǔn)確率。實(shí)驗(yàn)結(jié)果表明,在兩種非獨(dú)立同分布的數(shù)據(jù)集下,本文設(shè)計(jì)的協(xié)作學(xué)習(xí)方案在相同的全局迭代次數(shù)下都具有更好的表現(xiàn)。相對于目前的聯(lián)邦學(xué)習(xí)架構(gòu),本文設(shè)計(jì)的兩階段學(xué)習(xí)方案,在第一階段中能夠使不同客戶端訓(xùn)練不同復(fù)雜度的模型,在第二階段中能利用聯(lián)邦學(xué)習(xí)模型提取的特征進(jìn)一步訓(xùn)練復(fù)雜模型,從而獲得更高精度的模型。
圖6和7展示了第二部分實(shí)驗(yàn)的結(jié)果。可以看到,分組聯(lián)邦學(xué)習(xí)框架得到的復(fù)雜模型準(zhǔn)確率高于所有未分組的傳統(tǒng)聯(lián)邦學(xué)習(xí)框架。這一結(jié)果進(jìn)一步證實(shí)在傳統(tǒng)聯(lián)邦學(xué)習(xí)中,盡管相對較小的模型可以利用計(jì)算能力較低的節(jié)點(diǎn)的數(shù)據(jù),但小模型的特征提取器無法提取足夠好的數(shù)據(jù)集特征用于后續(xù)復(fù)雜模型的訓(xùn)練;另一方面,使用更大的模型就無法利用所有節(jié)點(diǎn)的數(shù)據(jù),因此也會影響最終復(fù)雜模型的能力。
此外,為了驗(yàn)證框架中第一階段進(jìn)行聯(lián)邦學(xué)習(xí)獲取特征提取器的必要性,本文還進(jìn)行了如下對比實(shí)驗(yàn):不使用分組聯(lián)邦學(xué)習(xí)中的特征提取器,直接使用添加了拉普拉斯噪聲的數(shù)據(jù)作為訓(xùn)練第二階段復(fù)雜模型的特征。該實(shí)驗(yàn)在Fashion-MNIST數(shù)據(jù)集上的準(zhǔn)確度為84.48%(圖6中的灰色虛線),在CIFAR-10數(shù)據(jù)集上的準(zhǔn)確度為42.62%(圖7中的灰色虛線)。這些結(jié)果表明,從分組聯(lián)邦學(xué)習(xí)中獲取的特征提取器對于復(fù)雜模型達(dá)到更高的準(zhǔn)確率是必要的。
在圖8~11中記錄了第三部分實(shí)驗(yàn)的結(jié)果,展示出本文系統(tǒng)在Fashion-MNIST和CIFAR-10數(shù)據(jù)集上的每組全局模型以及復(fù)雜模型的準(zhǔn)確率表現(xiàn)。從圖中可以看出,該系統(tǒng)獲得的復(fù)雜模型在IID和non-IID數(shù)據(jù)集上都達(dá)到了較高的準(zhǔn)確率,顯著優(yōu)于每個(gè)分組聯(lián)邦學(xué)習(xí)模型,從而可以有效解決聯(lián)邦學(xué)習(xí)中的性能損失問題。此外,隨著每組聯(lián)邦學(xué)習(xí)的全局迭代次數(shù)的增加,每個(gè)全局模型的準(zhǔn)確率逐漸提高,復(fù)雜模型的準(zhǔn)確率也隨之提高。這表明,第一階段中訓(xùn)練更充分的CNN模型的卷積層具有更好的特征提取能力,這有助于第二階段訓(xùn)練的復(fù)雜模型達(dá)到更高的準(zhǔn)確率。
此外,為了測試Multi-KRUM算法對抗投毒攻擊的有效性,實(shí)驗(yàn)中將其中一個(gè)小數(shù)據(jù)擁有者設(shè)置為惡意攻擊者,該客戶端始終提供與全局模型參數(shù)相同分布的隨機(jī)值組成的惡意模型參數(shù)。如圖12所示,當(dāng)系統(tǒng)中采用Multi-KRUM算法時(shí),最終的復(fù)雜模型的準(zhǔn)確率得到顯著提高。這表明Multi-KRUM算法可以識別惡意攻擊者上傳的惡意參數(shù),從而提高本文系統(tǒng)的魯棒性。
最后,驗(yàn)證了相似特征對復(fù)雜模型性能的影響。由于不同組的聯(lián)邦學(xué)習(xí)模型使用的數(shù)據(jù)不同,模型結(jié)構(gòu)不同,所以不同組的特征提取器不會提取出完全相同的特征。但由于所有組的學(xué)習(xí)任務(wù)相同,其特征提取器可能會提取出相似特征。本文進(jìn)一步研究了刪除相似特征對于復(fù)雜模型性能的影響。具體地,經(jīng)過3輪全局訓(xùn)練后,使用各組聯(lián)邦學(xué)習(xí)模型的特征提取器提取客戶端的數(shù)據(jù)特征并拼接起來作為樣本(圖3)。隨機(jī)抽取一定數(shù)量的樣本,并針對每一個(gè)特征(即通道),將這些樣本在該特征上的特征圖拉直為一個(gè)向量作為該特征的表示向量,基于表示向量使用K-means算法和歐氏距離對特征進(jìn)行聚類。對每個(gè)類選擇與其他特征距離之和最短的一個(gè)特征作為該類的代表。對所有樣本只保留這些代表特征,然后用于復(fù)雜模型的訓(xùn)練。表5展示了在Fashion-MNIST non-IID數(shù)據(jù)集上不同代表特征數(shù)量(即類別數(shù)k)所對應(yīng)的復(fù)雜模型的準(zhǔn)確率。
實(shí)驗(yàn)結(jié)果表明,刪除相似特征會導(dǎo)致部分信息的丟失,從而影響復(fù)雜模型的精度。盡管保留這部分的特征可能會增加模型訓(xùn)練過程中的計(jì)算量,但在算力允許的情況下使用這部分特征能夠使得復(fù)雜模型具有更高的精度。綜上所述,針對節(jié)點(diǎn)的異構(gòu)性,本文系統(tǒng)采用分組聯(lián)邦學(xué)習(xí)框架,能夠允許不同客戶端采用不同架構(gòu)的模型,使不同客戶端的算力資源能夠得到充分利用。該系統(tǒng)在IID和non-IID數(shù)據(jù)集上都具有良好的性能,因此可以在節(jié)點(diǎn)高度異構(gòu)的工業(yè)物聯(lián)網(wǎng)中提供智能計(jì)算服務(wù)。
5 結(jié)束語
針對如何在保護(hù)數(shù)據(jù)隱私的前提下高效利用工業(yè)物聯(lián)網(wǎng)中的數(shù)據(jù),本文將區(qū)塊鏈與協(xié)作學(xué)習(xí)技術(shù)相結(jié)合,設(shè)計(jì)了一個(gè)基于區(qū)塊鏈的隱私保護(hù)兩階段協(xié)作學(xué)習(xí)系統(tǒng)。該系統(tǒng)首先在異構(gòu)節(jié)點(diǎn)上使用分組聯(lián)邦學(xué)習(xí)、分割學(xué)習(xí)技術(shù)完成特征提取器的訓(xùn)練;隨后用其提取的特征訓(xùn)練更為復(fù)雜的高精度模型;使用差分隱私技術(shù)保護(hù)了數(shù)據(jù)在傳輸過程中可能存在的泄露問題;使用區(qū)塊鏈技術(shù),實(shí)現(xiàn)了去中心化的協(xié)作學(xué)習(xí)以及對于客戶端上傳的模型可溯源、不可竄改;結(jié)合IPFS技術(shù)實(shí)現(xiàn)了區(qū)塊鏈的鏈下存儲,有效降低區(qū)塊鏈的存儲負(fù)載;模型的聚合由區(qū)塊鏈中的見證者們執(zhí)行,結(jié)合Multi-KRUM算法保護(hù)了系統(tǒng)不受惡意節(jié)點(diǎn)的攻擊。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)在數(shù)據(jù)、算力異構(gòu)的工業(yè)物聯(lián)網(wǎng)場景下能夠訓(xùn)練出高精度的模型,并有效保護(hù)了數(shù)據(jù)的隱私。未來,將使用實(shí)際的工業(yè)物聯(lián)網(wǎng)設(shè)備數(shù)據(jù)來測試本文系統(tǒng),以驗(yàn)證其實(shí)用性。同時(shí),將繼續(xù)探索節(jié)點(diǎn)劃分的更優(yōu)方案。
參考文獻(xiàn):
[1]Huang Huakun, Ding Shuxue, Zhao Lingjun, et al. Real-time fault detection for IIoT facilities using GBRBM-based DNN[J]. IEEE Internet of Things Journal, 2019, 7(7): 5713-5722.
[2]Ren Lei, Sun Yaqiang, Wang Hao, et al. Prediction of bearing remaining useful life with deep convolution neural network[J]. IEEE Access, 2018, 6: 13041-13049.
[3]Wang Ranran, Zhang Yin, Peng Limei, et al. Time-varying-aware network traffic prediction via deep learning in IIoT[J]. IEEE Trans on Industrial Informatics, 2022, 18(11): 8129-8137.
[4]Duan Moming, Liu Duo, Chen Xianzhang, et al. Self-balancing federa-ted learning with global imbalanced data in mobile systems[J]. IEEE Trans on Parallel and Distributed Systems, 2020, 32(1): 59-71.
[5]McMahan B, Moore E, Ramage D, et al. Communication-efficient learning of deep networks from decentralized data[C]//Proc of the 20th International Conference on Artificial Intelligence and Statistics. Fort Lauderdale:PMLR,2017: 1273-1282.
[6]潘雪, 袁凌云, 黃敏敏. 主從鏈下的物聯(lián)網(wǎng)隱私數(shù)據(jù)跨域安全共享模型[J]. 計(jì)算機(jī)應(yīng)用研究, 2022, 39(11): 3238-3243. (Pan Xue, Yuan Lingyun, Huang Minmin. Cross-domain sharing model of loT privacy data under master-slave chain[J]. Application Research of Computers, 2022, 39(11): 3238-3243.)
[7]Xu Mulin. FedPS: model aggregation with pseudo samples[C]//Proc of International Conference on Knowledge Science, Engineering and Management. Cham: Springer, 2021: 78-88.
[8]Duan J H, Li Wenzhong, Lu Sanglu. FedDNA: federated learning with decoupled normalization-layer aggregation for non-IID data[C]//Proc of Joint European Conference on Machine Learning and Knowledge Discovery in Databases. Cham: Springer, 2021: 722-737.
[9]Guo Jialin, Wu Jie, Liu Anfeng, et al. LightFed: an efficient and secure federated edge learning system on model splitting[J]. IEEE Trans on Parallel and Distributed Systems, 2021,33(11): 2701-2713.
[10]Gupta O, Raskar R. Distributed learning of deep neural network over multiple agents[J]. Journal of Network and Computer Applications, 2018, 116: 1-8.
[11]Wang Song, Zhang Xinyu, Uchiyama H, et al. HiveMind: towards cellular native machine learning model splitting[J]. IEEE Journal on Selected Areas in Communications, 2021, 40(2): 626-640.
[12]Ha Y J, Yoo M, Lee G, et al. Spatio-temporal split learning for privacy-preserving medical platforms: case studies with COVID-19 CT, X-ray, and cholesterol data[J]. IEEE Access, 2021, 9: 121046-121059.
[13]Vepakomma P, Gupta O, Swedish T, et al. Split learning for health: distributed deep learning without sharing raw patient data[EB/OL]. (2018-12-03)[2024-01-09]. http://arxiv.org/abs/1812.00564.
[14]Abuadbba S, Kim K, Kim M, et al. Can we use split learning on 1D CNN models for privacy preserving training?[C]//Proc of the 15th ACM Asia Conference on Computer and Communications Security. New York: ACM Press, 2020: 305-318.
[15]Duan Qiang, Hu Shijing, Deng Ruijun, et al. Combined federated and split learning in edge computing for ubiquitous intelligence in Internet of Things: state-of-the-art and future directions[J]. Sensors, 2022, 22(16): 5983.
[16]Turina V, Zhang Zongshun, Esposito F, et al. Federated or split? A performance and privacy analysis of hybrid split and federated learning architectures[C]//Proc of the 14th International Conference on Cloud Computing. Piscataway, NJ: IEEE Press, 2021: 250-260.
[17]Thapa C, Arachchige P C M, Camtepe S, et al. SplitFed: when fede-rated learning meets split learning[C]//Proc of AAAI Conference on Artificial Intelligence. Palo Alto, CA: AAAI Press, 2022: 8485-8493.
[18]Feng Lei, Zhao Yiqi, Guo Shaoyong, et al. BAFL: a blockchain-based asynchronous federated learning framework[J]. IEEE Trans on Computers, 2021, 71(5): 1092-1103.
[19]Zhang Weishan, Lu Qinghua, Yu Qiuyu, et al. Blockchain-based federated learning for device failure detection in industrial IoT[J]. IEEE Internet of Things Journal, 2020, 8(7): 5926-5937.
[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]Yi Zhenning, Jiao Yutao, Dai Wenting, et al. A Stackelberg incentive mechanism for wireless federated learning with differential privacy[J]. IEEE Wireless Communications Letters, 2022, 11(9): 1805-1809.
[22]Singh S, Rathore S, Alfarraj O, et al. A framework for privacy-preservation of IoT healthcare data using federated learning and blockchain technology[J]. Future Generation Computer Systems, 2022, 129: 380-388.
[23]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.
[24]Zhao Ping, Huang Haojun, Zhao Xiaohui, et al. P3: privacy-preserving scheme against poisoning attacks in mobile-edge computing[J]. IEEE Trans on Computational Social Systems, 2020, 7(3): 818-826.
[25]康海燕, 冀源蕊. 基于本地化差分隱私的聯(lián)邦學(xué)習(xí)方法研究[J]. 通信學(xué)報(bào), 2022, 43(10): 94-105. (Kang Haiyan, Ji Yuanrui. Research on federated learning approach based on local differential privacy[J]. Journal on Communications, 2022, 43(10): 94-105.)
[26]徐晨陽, 葛麗娜, 王哲,等. 基于差分隱私保護(hù)知識遷移的聯(lián)邦學(xué)習(xí)方法[J]. 計(jì)算機(jī)應(yīng)用研究, 2023, 40(8): 2473-2480. (Xu Chenyang, Ge Lina, Wang Zhe, et al. Federated learning method based on differential privacy protection knowledge transfer[J]. Application Research of Computers, 2023, 40(8): 2473-2480.)
[27]Hitaj B, Ateniese G, Perez-Cruz F. Deep models under the GAN: information leakage from collaborative deep learning[C]//Proc of the 24th ACM SIGSAC Conference on Computer and Communications Security. New York: ACM Press, 2017: 603-618.
[28]Erlingsson U, Pihur V, Korolova A. RAPPRO: randomized aggrega-table privacy-preserving ordinal response[C]//Proc of the 21st ACM SIGSAC Conference on Computer and Communications Security. New York: ACM Press, 2014: 1054-1067.
[29]Dwork C, McSherry F, Nissim K, et al. Calibrating noise to sensi-tivity in private data analysis[C]//Proc of the 3rd Theory of Cryptography Conference. Berlin: Springer, 2006: 265-284.
[30]Chen Junbao, Xue Jingfeng, Wang Yong, et al. Privacy-preserving and traceable federated learning for data sharing in industrial IoT app-lications[J]. Expert Systems with Applications, 2023, 213: 119036.
[31]Li Qinbin, He Bingsheng, Song D. Model-contrastive federated lear-ning[C]//Proc of IEEE/CVF conference on computer vision and pattern recognition. Piscataway, NJ: IEEE Press, 2021: 10713-10722.
[32]Li Tian, Sahu A K, Zaheer M, et al. Federated optimization in hete-rogeneous networks[EB/OL]. (2018-12-14)[2024-01-09]. http://arxiv.org/abs/1812.06127.
[33]Hsu T M H, Qi Hang, Brown M. Measuring the effects of non-identical data distribution for federated visual classification[EB/OL]. (2019-09-13)[2024-01-09]. http://arxiv. org/abs/1909. 06335.
[34]Karimireddy S P, Kale S, Mohri M, et al. SCAFFOLD: stochastic controlled averaging for federated learning[C]//Proc of the 37th International Conference on Machine Learning.[S.l]: JMLR.org, 2020: 5132-5143.
[35]Zagoruyko S, Komodakis N. Wide residual networks[EB/OL]. (2016-05-23)[2024-01-09]. http://arxiv. org/abs/1605.07146.