• 
    

    
    

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

      ?

      一種基于區(qū)塊鏈和梯度壓縮的去中心化聯(lián)邦學(xué)習(xí)模型

      2024-08-13 00:00:00劉煒馬杰夏玉潔唐琮軻郭海偉田釗

      摘要: 聯(lián)邦學(xué)習(xí)可在保護數(shù)據(jù)隱私的前提下完成模型的訓(xùn)練,但實際應(yīng)用中存在的安全問題阻礙了聯(lián)邦學(xué)習(xí)的發(fā)展。提出一種基于區(qū)塊鏈和梯度壓縮的去中心化聯(lián)邦學(xué)習(xí)模型。首先,利用區(qū)塊鏈存儲訓(xùn)練數(shù)據(jù),訓(xùn)練參與方通過全局模型本地更新的方式取代中心服務(wù)器并使用智能合約實現(xiàn)對鏈上數(shù)據(jù)的訪問控制。其次,提出一種梯度壓縮方法,對模型參數(shù)進行壓縮以減少參與方與區(qū)塊鏈之間的數(shù)據(jù)傳輸量且有效防止了梯度隱私泄露。最后,為減弱梯度壓縮對全局模型收斂速度的影響,使用熱身訓(xùn)練的方式提升全局模型的收斂速度以縮短整體訓(xùn)練時間。實驗結(jié)果表明,該模型在減少傳輸數(shù)據(jù)量的情況下對全局模型準(zhǔn)確率有較小影響且提升了聯(lián)邦學(xué)習(xí)訓(xùn)練效率。

      關(guān)鍵詞: 區(qū)塊鏈; 聯(lián)邦學(xué)習(xí); 智能合約; 梯度壓縮; 隱私保護

      中圖分類號: TP302

      文獻標(biāo)志碼: A

      文章編號: 1671-6841(2024)05-0047-08

      DOI: 10.13705/j.issn.1671-6841.2023013

      A Decentralized Federated Learning Model Based on Blockchain and

      Gradient Compression

      LIU Wei1,2,3, MA Jie1,2, XIA Yujie1,2, TANG Congke1,2, GUO Haiwei4, TIAN Zhao1,2

      (1.School of Cyber Science and Engineering, Zhengzhou University, Zhengzhou 450002,China;

      2.Zhengzhou Key Laboratory of Blockchain and Data Intelligence, Zhengzhou 450002,China;

      3.Henan Collaborative Innovation Center of Internet Medical and Health Services, Zhengzhou University,

      Zhengzhou 450052, China; 4.Information Management Center, Zhongyuan Oilfield Branch of

      Sinopec, Puyang 457001,China)

      Abstract: Federated learning could complete the training of models while protecting data privacy, but security issues in practical applications hindered the development of federated learning. A decentralized federation learning model based on blockchain and gradient compression was proposed. Firstly, a blockchain was used to store training data, and the training participants replaced the central server by local updates of the global model and used smart contracts to achieve access control to the data on the chain. Secondly, a gradient compression method was proposed to compress the model parameters to reduce the amount of data transmission between the participants and the blockchain and effectively to prevent the gradient privacy leakage. Finally, to reduce the impact of gradient compression on the convergence speed of the global model, a warm-up training method was used to improve the convergence speed of the global model to shorten the overall training time. The experimental results showed that the model had a small impact on the global model accuracy and improved the federal learning training efficiency with the reduced amount of transmitted data.

      Key words: blockchain; federal learning; smart contract; gradient compression; privacy protection

      0 引言

      聯(lián)邦學(xué)習(xí)(federated learning,F(xiàn)L)[1]作為一種隱私計算解決方案,其目的是在保護數(shù)據(jù)隱私的前提下完成模型訓(xùn)練的相關(guān)任務(wù),與傳統(tǒng)的集中式機器學(xué)習(xí)相比,聯(lián)邦學(xué)習(xí)可以在數(shù)據(jù)不出本地的情況下完成模型訓(xùn)練,可有效打破“數(shù)據(jù)孤島”。聯(lián)邦學(xué)習(xí)的快速發(fā)展,使其在實際應(yīng)用過程中也產(chǎn)生了一系列安全問題。

      1) 中心化服務(wù)器[2]。中心化聯(lián)邦學(xué)習(xí)對全局模型的更新依賴中心服務(wù)器,這種服務(wù)器常由不可信第三方進行提供,當(dāng)?shù)谌讲豢尚呕蛑行姆?wù)器因遭受攻擊而宕機時,全局模型無法更新,導(dǎo)致聯(lián)邦學(xué)習(xí)過程被迫中止并造成全局模型的泄露。

      2) 梯度隱私泄露[3]。全局模型的更新需要聚合局部模型,局部模型中的數(shù)據(jù)包含參與方的數(shù)據(jù)隱私,惡意攻擊者可以利用DLG[4]方法或iDLG[5]方法從局部模型中推斷出參與方所持有的數(shù)據(jù)和標(biāo)簽,造成參與方的數(shù)據(jù)泄露。

      3) 網(wǎng)絡(luò)傳輸負擔(dān)[6]。聯(lián)邦學(xué)習(xí)中心服務(wù)器在每輪全局更新開始階段與結(jié)束階段需要與參與方進行數(shù)據(jù)交互,模型參數(shù)在數(shù)據(jù)交互中占比很大。隨著深度學(xué)習(xí)的發(fā)展,一個復(fù)雜的深度學(xué)習(xí)網(wǎng)絡(luò)包含的模型參數(shù)數(shù)據(jù)量高達數(shù)百兆[7]。當(dāng)訓(xùn)練參與方數(shù)量較多時,與中心服務(wù)器進行數(shù)據(jù)交互會產(chǎn)生通信瓶頸,影響聯(lián)邦學(xué)習(xí)的訓(xùn)練效率。

      區(qū)塊鏈?zhǔn)菍⒚艽a學(xué)、P2P、智能合約、共識機制結(jié)合起來形成的一個分布式共享賬本[8],具有去中心化、不可篡改、可追溯等特性。將區(qū)塊鏈和聯(lián)邦學(xué)習(xí)相結(jié)合可以解決聯(lián)邦學(xué)習(xí)的部分安全問題:利用區(qū)塊鏈去中心化的特點代替聯(lián)邦學(xué)習(xí)的中心服務(wù)器完成模型全局更新過程;利用區(qū)塊鏈不可篡改的特性記錄聯(lián)邦學(xué)習(xí)中參與方的局部模型以及全局模型,在遭受攻擊時或需要溯源時參與方節(jié)點進行追責(zé)。

      雖然區(qū)塊鏈和聯(lián)邦學(xué)習(xí)相結(jié)合提升了訓(xùn)練過程的安全性和可追溯性,但大批量數(shù)據(jù)的上鏈操作會嚴(yán)重影響區(qū)塊鏈的效率,拖慢整體訓(xùn)練速度,因此需要減少傳輸數(shù)據(jù)量,以加快整體訓(xùn)練速度。

      綜上所述,為提高參與方與區(qū)塊鏈網(wǎng)絡(luò)間的通信效率并增強隱私保護,本文構(gòu)建了一種基于區(qū)塊鏈和梯度壓縮的去中心化聯(lián)邦學(xué)習(xí)模型。首先,利用區(qū)塊鏈存儲訓(xùn)練數(shù)據(jù),訓(xùn)練參與方通過全局模型本地更新的方式取代中心服務(wù)器并使用智能合約實現(xiàn)對鏈上數(shù)據(jù)的訪問控制。其次,為提升區(qū)塊鏈網(wǎng)絡(luò)效率,提出一種梯度壓縮方法,通過對模型參數(shù)進行壓縮以減少參與方與區(qū)塊鏈之間的數(shù)據(jù)傳輸量且有效防止了梯度隱私泄露。最后,為減弱梯度壓縮對全局模型收斂速度的影響,使用熱身訓(xùn)練的方式提升全局模型的收斂速度以縮短整體訓(xùn)練時間。

      1 相關(guān)工作

      針對運用區(qū)塊鏈技術(shù)解決聯(lián)邦學(xué)習(xí)中存在的相關(guān)問題,眾多學(xué)者提出了相關(guān)方案。Hu等[9]提出了一個基于區(qū)塊鏈和邊緣計算的高效去中心化聯(lián)邦學(xué)習(xí)框架,同時將CKKS方案應(yīng)用于模型聚合和遠程評估,為模型構(gòu)建提供了一種通用方法。Sun等[10]提出了一種基于Hyperledger Fabric框架的聯(lián)邦學(xué)習(xí)系統(tǒng),通過區(qū)塊鏈記錄每個全局模型的更新過程并追蹤本地更新過程,使用同態(tài)加密來保護本地模型更新,在本地模型聚合之前添加差分隱私來保護隱私。Peng等[11]提出一個名為VFChain的基于區(qū)塊鏈系統(tǒng)的可驗證和可審計的聯(lián)邦學(xué)習(xí)框架,通過區(qū)塊鏈選擇一個委員會來聚合模型并在區(qū)塊鏈中記錄,并提出了一種新的區(qū)塊鏈認(rèn)證數(shù)據(jù)結(jié)構(gòu)以提高可驗證證明的搜索效率。Li等[12]設(shè)計了一個區(qū)塊鏈輔助分散聯(lián)邦學(xué)習(xí)框架BLADE-FL,每個參與方將其經(jīng)過訓(xùn)練的模型廣播給其他參與方,將自己的模型與接收的模型聚合,然后在下一輪本地訓(xùn)練之前競爭生成區(qū)塊,同時為廣播前的模型添加噪聲來防止隱私泄露。Liu等[13]提出一個名為FedAC的聯(lián)邦學(xué)習(xí)方法,利用區(qū)塊鏈網(wǎng)絡(luò)取代中央服務(wù)器來聚合全局模型,避免了異常本地設(shè)備訓(xùn)練失敗、專用攻擊等問題。Shlezinger等[14]提出了名為UVeQFed的聯(lián)邦學(xué)習(xí)通用矢量量化方法,通過此方法可以產(chǎn)生一個分散的訓(xùn)練系統(tǒng),其中訓(xùn)練模型的壓縮僅引起最小準(zhǔn)確率損失。Cui等[15]提出了一種名為BCFL的聯(lián)邦學(xué)習(xí)方法,其將聯(lián)邦學(xué)習(xí)和區(qū)塊鏈相結(jié)合,并使用一種梯度壓縮方法減小上傳的模型數(shù)據(jù)量。Desai等[16]提出了一個基于混合區(qū)塊鏈的聯(lián)邦學(xué)習(xí)框架,該框架使用智能合約自動檢測,并通過罰款懲罰惡意攻擊者,使用二進制壓縮方法對模型進行壓縮,提升了框架效率。

      上述研究主要是利用區(qū)塊鏈結(jié)構(gòu)的不可篡改性記錄聯(lián)邦學(xué)習(xí)過程中的模型及聚合過程,利用加密算法對模型進行加密,利用廣播的形式聚合全局模型取代中心服務(wù)器,在解決聯(lián)邦學(xué)習(xí)通信瓶頸時通過減少模型參數(shù)量進行優(yōu)化。本文提出的基于區(qū)塊鏈和梯度壓縮的去中心化聯(lián)邦學(xué)習(xí)模型,利用區(qū)塊鏈存儲訓(xùn)練數(shù)據(jù),參與方從區(qū)塊鏈上獲取訓(xùn)練數(shù)據(jù)后采用全局模型本地更新的方式取代中心服務(wù)器,利用梯度壓縮方法減少鏈上傳輸數(shù)據(jù)量,利用熱身訓(xùn)練方式減弱梯度壓縮對訓(xùn)練速度的影響。

      2 模型設(shè)計

      2.1 系統(tǒng)模型

      本文構(gòu)建了一個基于區(qū)塊鏈和梯度壓縮的去中心化聯(lián)邦學(xué)習(xí)模型。該模型主要由區(qū)塊鏈網(wǎng)絡(luò)、聯(lián)邦學(xué)習(xí)參與方和智能合約構(gòu)成?;趨^(qū)塊鏈和梯度壓縮的去中心化聯(lián)邦學(xué)習(xí)模型如圖1所示。

      1) 區(qū)塊鏈網(wǎng)絡(luò)。利用區(qū)塊鏈網(wǎng)絡(luò)存儲訓(xùn)練數(shù)據(jù),主要包括模型信息、身份信息、驗證信息和評價信息等數(shù)據(jù)。

      2) 聯(lián)邦學(xué)習(xí)參與方。聯(lián)邦學(xué)習(xí)參與方又分為任務(wù)發(fā)布方與訓(xùn)練參與方。任務(wù)發(fā)布方向訓(xùn)練參與方發(fā)布訓(xùn)練任務(wù)并授予身份信息;訓(xùn)練參與方利用本地數(shù)據(jù)進行訓(xùn)練并參與模型共識過程。

      3) 智能合約。智能合約為聯(lián)邦學(xué)習(xí)參與方與區(qū)塊鏈之間提供安全的數(shù)據(jù)接口,在共識階段通過調(diào)用智能合約對模型進行驗證及評價。

      在本文設(shè)計的模型中,任務(wù)發(fā)布方首先向訓(xùn)練參與方發(fā)布訓(xùn)練任務(wù)及身份信息,并向區(qū)塊鏈網(wǎng)絡(luò)傳輸初始全局模型,訓(xùn)練參與方獲取訓(xùn)練任務(wù)及身份信息后調(diào)用數(shù)據(jù)交互合約從區(qū)塊鏈中獲取初始全局模型,利用本地數(shù)據(jù)完成模型訓(xùn)練后獲得局部模型,對局部模型梯度壓縮后調(diào)用數(shù)據(jù)交互合約傳輸訓(xùn)練數(shù)據(jù)。其余參與方檢測到區(qū)塊長度增加后,調(diào)用模型驗證合約對該局部模型進行驗證,在驗證結(jié)束后調(diào)用模型評價合約對該局部模型進行評價記錄。訓(xùn)練參與方上傳局部模型后等待其余訓(xùn)練參與方完成訓(xùn)練并上傳局部模型,當(dāng)產(chǎn)生的局部模型數(shù)量達到更新閾值時,從區(qū)塊鏈上獲取其余參與方的局部模型后在本地生成新的全局模型并開展新一輪的模型訓(xùn)練,直至訓(xùn)練結(jié)束。

      2.2 智能合約

      2.2.1 智能合約設(shè)計

      本模型設(shè)計了四個智能合約來記錄和驗證模型數(shù)據(jù),分別為身份驗證合約、數(shù)據(jù)交互合約、模型驗證合約和模型評價合約。

      1) 身份驗證合約。為阻止未經(jīng)允許的參與方向區(qū)塊鏈網(wǎng)絡(luò)中上傳惡意信息,以及對局部模型的溯源操作,該合約對調(diào)用合約參與方進行身份驗證以控制鏈上數(shù)據(jù)訪問。

      2) 數(shù)據(jù)交互合約。提供參與方與區(qū)塊鏈之間數(shù)據(jù)接口,并記錄參與方的訪問時間與訪問次數(shù),參與方通過該合約上傳或下載全局輪次、模型類型、模型參數(shù)、全局模型哈希、模型準(zhǔn)確率等信息。

      3) 模型驗證合約。在聯(lián)邦學(xué)習(xí)中,惡意參與方會發(fā)起投毒攻擊以干擾聯(lián)邦學(xué)習(xí)訓(xùn)練,或是參與方不參與全局模型的更新,仍使用舊模型或其他模型進行訓(xùn)練而導(dǎo)致模型質(zhì)量下降。模型驗證合約對上傳的模型進行驗證。首先,驗證本輪次訓(xùn)練的全局模型,即驗證全局模型哈希是否正確。其次,利用本地數(shù)據(jù)計算該局部模型準(zhǔn)確率,判斷該模型是否為投毒攻擊。最后,對此模型投票,獲得半數(shù)以上票數(shù)則接受該模型,否則拒絕該局部模型。

      4) 模型評價合約。當(dāng)一個參與方所上傳的局部模型被多次拒絕,則有理由認(rèn)為該參與方可能為惡意參與方或該參與方所擁有的本地數(shù)據(jù)不符合聯(lián)邦學(xué)習(xí)訓(xùn)練要求。模型評價合約記錄各參與方所上傳的局部模型遭受拒絕次數(shù),當(dāng)某個參與方遭受拒絕次數(shù)達到拒絕閾值時,則移除該參與方的身份信息,拒絕參與此次聯(lián)邦學(xué)習(xí)訓(xùn)練。

      2.2.2 智能合約調(diào)用過程

      聯(lián)邦學(xué)習(xí)訓(xùn)練參與方調(diào)用智能合約過程如圖2所示。當(dāng)某個訓(xùn)練參與方完成聯(lián)邦學(xué)習(xí)局部模型的訓(xùn)練后,首先調(diào)用數(shù)據(jù)交互合約獲取數(shù)據(jù)接口,數(shù)據(jù)交互合約會調(diào)用身份驗證合約來驗證參與方的身份信息,以保證區(qū)塊鏈上數(shù)據(jù)訪問的安全性,身份驗證無誤后將數(shù)據(jù)模型上傳至區(qū)塊鏈網(wǎng)絡(luò)。

      共識小組由除該局部模型擁有者之外的其余訓(xùn)練參與方構(gòu)成。共識小組監(jiān)聽區(qū)塊鏈網(wǎng)絡(luò)長度變化,當(dāng)發(fā)現(xiàn)新的局部模型被上傳至區(qū)塊鏈網(wǎng)絡(luò)后,調(diào)用模型驗證合約對局部模型進行驗證。模型驗證合約將調(diào)用數(shù)據(jù)交互合約從區(qū)塊鏈網(wǎng)絡(luò)獲取新的局部模型,之后共識小組利用本地數(shù)據(jù)對該局部模型進行驗證并投票,并將該局部模型的驗證結(jié)果上傳至區(qū)塊鏈網(wǎng)絡(luò)。若該局部模型被拒絕,則調(diào)用模型評價合約對該局部模型擁有者進行記錄,并將評價信息上傳至區(qū)塊鏈網(wǎng)絡(luò)。

      2.3 梯度壓縮

      為減少訓(xùn)練參與方與區(qū)塊鏈網(wǎng)絡(luò)的數(shù)據(jù)傳輸量,本文使用梯度壓縮算法對模型進行壓縮,使用梯度解壓算法對模型進行還原,并使用熱身訓(xùn)練算法減弱梯度壓縮對模型收斂速度造成的影響。

      2.3.1 梯度壓縮算法

      在該模型下的聯(lián)邦學(xué)習(xí)中,訓(xùn)練參與方要與區(qū)塊鏈網(wǎng)絡(luò)之間傳輸大量的訓(xùn)練數(shù)據(jù),此過程不僅需要耗費時間和網(wǎng)絡(luò)帶寬,也降低了區(qū)塊鏈網(wǎng)絡(luò)的效率,此外在全局模型的本地聚合過程中下載其余參與方的局部模型也需要耗費大量的資源。在分布式架構(gòu)的深度學(xué)習(xí)模型中,99%的梯度交互通信是冗余的[17]。這些冗余的梯度耗費了大量的資源。本文提出一種梯度壓縮算法來降低訓(xùn)練參與方和區(qū)塊鏈網(wǎng)絡(luò)之間的通信數(shù)據(jù)量,該方法可以提升訓(xùn)練效率并防止梯度隱私泄露。

      梯度壓縮算法如算法1所示。本算法使用本輪本地模型與上輪全局模型的差值作為梯度(grad),逐層對梯度中的參數(shù)進行采樣,根據(jù)壓縮率p和采樣后的梯度參數(shù)確定選擇閾值(t),只選取梯度絕對值大于t的梯度進行傳輸。壓縮率p定義為

      p=size(select(Gw))/size(Gw),(1)

      其中:select(Gw)是選擇大于t進行傳輸?shù)奶荻葏?shù);size(Gw)是計算梯度參數(shù)的數(shù)量。

      使用top-k算法確定t時,若不使用分層采樣方式,需要對每層梯度的所有參數(shù)進行top-k運算,算法復(fù)雜度為O(n),n為梯度參數(shù)數(shù)量,此過程耗費大量的時間進行計算。因此在算法開始階段首先對每層梯度進行采樣,對采樣結(jié)果進行top-k運算可減少t的確定時間。

      采樣過程首先由式(2)確定每層梯度的采樣數(shù)量(sample),

      sample=q×size(Gw)。(2)

      由于每層梯度Gw的參數(shù)數(shù)量不同,為保證采樣質(zhì)量,根據(jù)式(3)設(shè)置最小采樣數(shù)量min_sample。采樣數(shù)量小于min_sample時對Gw進行全部采樣,

      min_sample=1/p。(3)

      本文使用固定間隔對每層梯度Gw中的參數(shù)進行抽取,使用式(4)確定采樣步長(step),若進行全部采樣則設(shè)置step為1。將固定間隔設(shè)置為step,對Gw進行采樣得到Gsample,

      step=1/q。(4)

      對采樣結(jié)果Gsample的絕對值執(zhí)行top-k運算,k值由式(5)確定,選取運算結(jié)果中的最小值即為t,

      k=p×size(Gsample)。(5)

      在確定t后,根據(jù)Gw生成相同形狀的掩碼矩陣Mask,存儲梯度參數(shù)位置。若Gw中的參數(shù)絕對值≥t,則將Mask的對應(yīng)位置設(shè)置為1,否則設(shè)置為0。然后將Gw與Mask進行點乘運算得到傳輸梯度G′w。將G′w和Mask轉(zhuǎn)為不含0的一維梯度值(values)與梯度坐標(biāo)(indices)后,作為梯度Gw進行輸出。

      算法1 梯度壓縮算法

      輸入: 梯度壓縮前集合grad={G1,…,Gn},壓縮率p,采樣率s。

      輸出: grad。

      1. for w←1 to W

      2. 采樣Gsample←s of Gw

      3. 確定選擇閾值t←p of Gsample

      4. Mask←Gw>t

      5. G′w←Gw⊙Mask

      6. indices←將Mask轉(zhuǎn)為不含0的一維張量

      7. values←將G′w轉(zhuǎn)為不含0的一維張量

      8. Gw←indices,values

      9. end for

      2.3.2 梯度解壓算法

      從區(qū)塊鏈下載得到壓縮后的局部模型,所含梯度的維度與參數(shù)量都與壓縮前的梯度不同,無法直接使用,需要使用梯度解壓算法將梯度還原成壓縮前的維度與所含參數(shù)量。

      梯度解壓算法如算法2所示。參與方將接收的局部模型中的梯度拆分為梯度坐標(biāo)(indices)與梯度值(values),因在聯(lián)邦學(xué)習(xí)過程中只改變模型相關(guān)參數(shù)而不改變模型形狀,故只讀取初始模型每層的初始形狀(shape)即可完成梯度解壓過程,而無須額外的參數(shù)傳輸。首先,按照每層shape轉(zhuǎn)為一維的形狀生成一維全0張量Gzero。然后,根據(jù)indices與values向全0張量Gzero相應(yīng)位置插入數(shù)據(jù),其余位置插入0。最后,將插入數(shù)據(jù)的張量轉(zhuǎn)為層梯度shape,從而完成整個梯度解壓的全過程,將梯度恢復(fù)至G′w。

      算法2 梯度解壓算法

      輸入: 梯度壓縮后集合grad={G1,…,Gn},初始模型M0。

      輸出: grad。

      1. for w←1 to W

      2. indices,values←Gw

      3. shape←讀取M0中Gw層的維度形狀

      4. Gzero←生成一維全0張量

      5. for i,v in indices,values

      6. Gzero[i]=v

      7. end for

      8. G′w←將Gzero轉(zhuǎn)為Gw維度形狀shape

      9. end for

      2.3.3 熱身訓(xùn)練算法 在聯(lián)邦學(xué)習(xí)全局輪次開始迭代初期,初始模型M0變化迅速,梯度變化幅度明顯且多樣化。梯度壓縮因其壓縮率的影響限制了模型的變化范圍,從而延長了模型急劇變化的周期,降低了模型的收斂速度。為了減弱梯度壓縮對前期模型快速變化周期的影響,本文采用熱身訓(xùn)練方法來幫助提升模型的收斂速度。熱身訓(xùn)練算法如算法3所示。

      在全局輪次g開始迭代初期,設(shè)置若干個周期為熱身輪次e,將壓縮率設(shè)置為熱身壓縮率wp,在這些周期內(nèi)增加傳輸?shù)奶荻葏?shù)量來減弱梯度壓縮對模型變化的影響,熱身輪次結(jié)束后仍按照基礎(chǔ)壓縮率bp進行梯度壓縮。通過這種方式使模型在熱身訓(xùn)練周期內(nèi)快速變化,加快模型的收斂速度。

      算法3 熱身訓(xùn)練算法

      輸入: 全局迭代次數(shù)g,熱身輪次e,熱身壓縮率wp,基礎(chǔ)壓縮率bp。

      輸出: 壓縮率p。

      1. for i←1 to g

      2. if 熱身訓(xùn)練

      3. ?;if i<e

      4. p←wp[e]

      5. 梯度壓縮 compression(grad,p,s)

      6. end if

      7. end if

      8. 梯度壓縮 compression(grad,bp,s)

      9. end for

      3 實驗分析

      3.1 實驗設(shè)置

      為了評估本文所提方法的性能,基于CIFAR-10數(shù)據(jù)集進行實驗,該數(shù)據(jù)集包含50 000張訓(xùn)練圖像和10 000張測試圖像,每個樣本是一個32×32×3的彩色圖像,共10種分類。resnet網(wǎng)絡(luò)作為深度學(xué)習(xí)領(lǐng)域中具有代表性的網(wǎng)絡(luò),其在分類任務(wù)與目標(biāo)檢測任務(wù)中都有較好的性能表現(xiàn),實驗分別訓(xùn)練測試resnet18、resnet50這兩種DNN模型的圖片分類性能。兩種模型都采用SGD優(yōu)化器更新策略,小批量尺寸為32,學(xué)習(xí)率0.01,動量0.01。在聯(lián)邦學(xué)習(xí)模型中設(shè)置10個訓(xùn)練參與方,本地迭代3輪。本實驗運行環(huán)境為Intel(R) Xeon(R) E5-2620 2.10 GHz CPU, 32 GB RAM,和兩個NVIDIA Tesla T4 GPU的硬件系統(tǒng)。

      3.2 更新閾值選取實驗

      為確定不同更新閾值對聯(lián)邦學(xué)習(xí)全局模型準(zhǔn)確率造成的影響,分別使用3、5、7作為更新閾值,使用resnet18、resnet50模型分別進行訓(xùn)練,并根據(jù)模型對數(shù)據(jù)集中的訓(xùn)練結(jié)果計算準(zhǔn)確率,以確定訓(xùn)練參與方從區(qū)塊鏈網(wǎng)絡(luò)下載其余參與方的局部模型的更新閾值。其結(jié)果如圖3所示。

      從實驗結(jié)果中可知,使用不同更新閾值的兩種模型,前50輪的全局模型準(zhǔn)確率隨著更新閾值的增長提升。resnet18模型三種更新閾值其第50輪準(zhǔn)確率分別為83.49%、85.2%、85.7%。resnet50模型三種更新閾值其第50輪準(zhǔn)確率分別為87.48%、88.28%、89.05%。k=3時的模型準(zhǔn)確率與k=5或7時的模型準(zhǔn)確率相比有較大差別。而k=5時與k=7時準(zhǔn)確率接近。k值的增加雖然會提升全局模型準(zhǔn)確率,但也會拖慢聯(lián)邦學(xué)習(xí)模型的效率。綜合考慮,本文使用k=5進行后續(xù)實驗。

      3.3 梯度壓縮實驗

      為測試不同壓縮率壓縮模型后的效果,本文使用不同壓縮率在兩種模型上分別進行了多次實驗。

      實驗首先將模型參數(shù)輸出至文件中計算模型的初始大小,然后分別使用0.1~0.5壓縮率對模型進行壓縮并輸出至相同格式的文件中,通過統(tǒng)計文件實際大小以得到壓縮后的模型尺寸。resnet18、resnet50模型壓縮前及不同壓縮率壓縮后的結(jié)果如表1所示。

      從壓縮結(jié)果來看,隨著壓縮率的不斷降低,壓縮 后的模型大小在不斷減小。模型實際壓縮率(ACR)由式(6)計算得到,

      ACR=CMS/MS,(6)

      其中:CMS為壓縮后的模型大??;MS為壓縮前的模型大小。

      根據(jù)2.3.1節(jié)的梯度壓縮算法可知,壓縮后的模型由大于閾值的梯度和梯度的坐標(biāo)構(gòu)成,故壓縮后的模型體積大于由壓縮率計算得出的模型體積。壓縮率為0.5時測得實際壓縮率為0.74,壓縮差值為0.24。模型壓縮率為0.1時測得實際壓縮率為0.14,超過的部分是由于需要將梯度坐標(biāo)保存在壓縮后的數(shù)據(jù)中而產(chǎn)生的數(shù)據(jù),壓縮率越低,實際壓縮率也越接近壓縮率。對比兩模型的結(jié)果可知,在相同的壓縮率下,不同模型的實際壓縮率基本相同,故該梯度壓縮方法可適用于不同的深度學(xué)習(xí)模型。

      為確定壓縮率對準(zhǔn)確率造成的影響,實驗測試在0.1~0.5壓縮率下的resnet18和resnet50模型準(zhǔn)確率的變化情況,對不同壓縮率下的同一模型執(zhí)行相同次數(shù)的局部與全局迭代,統(tǒng)計模型多次訓(xùn)練后的準(zhǔn)確率再進行平均,得到的兩種模型在不同壓縮率下的準(zhǔn)確率如表2所示。

      從不同壓縮率下準(zhǔn)確率的結(jié)果來看,隨著壓縮率的不斷減小,參與方傳輸?shù)臄?shù)據(jù)量在不斷減少,所獲取的全局模型準(zhǔn)確率也有所降低。使用壓縮率為0.5時兩種模型的準(zhǔn)確率幾乎沒有變化。使用壓縮率為0.1時,resnet18模型的準(zhǔn)確率僅降低了0.95%,resnet50模型準(zhǔn)確率僅降低了0.73%。整體上看,使用較低壓縮率對模型準(zhǔn)確率影響較小,因此本文提出的模型是有效且可行的。

      3.4 熱身訓(xùn)練實驗

      在使用梯度壓縮進行實驗的過程中觀察到使用較低的梯度壓縮率會減慢模型的收斂速度,雖經(jīng)過長時間的全局迭代后也能讓全局模型收斂并獲得較高的準(zhǔn)確率,但不能為了追求壓縮效率而減弱了聯(lián)邦學(xué)習(xí)整體效率。實驗首先統(tǒng)計了resnet18模型使用不同壓縮率前20輪準(zhǔn)確率變化情況,其結(jié)果如圖4所示。

      從圖4可以看出壓縮率(p)為0.3~0.5的收斂速度較為相似且較接近于壓縮率為1.0的收斂速度,而使用壓縮率為0.2的模型在第12輪左右也與使用壓縮率為0.3~0.5的模型準(zhǔn)確率較為接近,準(zhǔn)確率上升最慢的是壓縮率為0.1的模型,直至第20輪也未能完成模型的快速收斂過程并達到準(zhǔn)確率緩慢上升的階段。若在聯(lián)邦學(xué)習(xí)中直接使用較低壓縮率壓縮后的模型參與全局模型更新會影響聯(lián)邦學(xué)習(xí)的效率。在第20輪時,使用壓縮率為0.1的模型其準(zhǔn)確率僅為76.35%,而壓縮率為1.0的模型在第6輪準(zhǔn)確率就達到了76.65%,且在前5輪次中壓縮率為1.0的模型準(zhǔn)確率快速上升并處于快速收斂階段。因此在訓(xùn)練前期使用對模型收斂速度影響較小的壓縮率將提升聯(lián)邦學(xué)習(xí)的效率。

      根據(jù)這一觀察結(jié)果,在實驗中將全局迭代前5輪設(shè)置為熱身輪次,在此輪次里分別使用0.2~0.5作為熱身壓縮率,結(jié)束熱身訓(xùn)練輪次后壓縮率仍使用0.1進行壓縮,同時設(shè)置壓縮率為1.0與壓縮率為0.1且不使用熱身訓(xùn)練為對照,resnet18模型使用熱身訓(xùn)練前50輪準(zhǔn)確率變化情況如圖5所示。

      從實驗結(jié)果中可以看到,使用熱身訓(xùn)練方法的模型其收斂速度比不使用熱身訓(xùn)練方法的模型收斂速度快。同時在熱身輪次中,使用較高壓縮率的模型其收斂速度快于低壓縮率的模型。在第20輪左右用熱身壓縮率為0.5的模型準(zhǔn)確率開始緩慢上升。在訓(xùn)練結(jié)束的第50輪時,使用熱身壓縮率為0.5的模型其準(zhǔn)確率較不使用熱身訓(xùn)練的模型提升了0.35%。雖然在熱身輪次中使用較高壓縮率增加了數(shù)據(jù)傳輸量,但同時提升了模型準(zhǔn)確率,因此在熱身輪次使用對傳輸參數(shù)數(shù)量影響較小的壓縮率可有效提升模型收斂速度,縮短聯(lián)邦學(xué)習(xí)的訓(xùn)練時間。針對聯(lián)邦學(xué)習(xí)的復(fù)雜情況,熱身訓(xùn)練方法可適用于短時間低數(shù)據(jù)傳輸?shù)穆?lián)邦學(xué)習(xí)場景中。

      3.5 梯度隱私泄露實驗

      為驗證梯度壓縮對梯度隱私泄露的保護作用,分別使用不同壓縮率驗證在DLG和iDLG兩種梯度隱私攻擊方法中的隱私保護效果,實驗結(jié)果如圖6、圖7所示。

      從實驗結(jié)果可以看出,梯度壓縮對梯度隱私泄露有保護作用。隨著壓縮率的降低,使用DLG和iDLG兩種梯度隱私攻擊方法對圖片的還原效果逐漸降低。在壓縮率為1.0時,使用兩種梯度隱私攻擊方法可以完全還原圖片,使用梯度壓縮后,當(dāng)壓縮率為0.9時仍可判斷圖片;壓縮率為0.8時對比原始圖片隱約可看到圖片輪廓;使用更低的壓縮率后無法判斷還原出的圖片。從實驗結(jié)果可知,使用0.8以下的壓縮率可有效預(yù)防DLG和iDLG兩種梯度隱私攻擊方法。

      4 結(jié)論

      本文提出一種基于區(qū)塊鏈和梯度壓縮的去中心化聯(lián)邦學(xué)習(xí)模型。首先,利用區(qū)塊鏈存儲訓(xùn)練數(shù)據(jù),并采用全局模型本地更新的方式代替?zhèn)鹘y(tǒng)中心服務(wù)器。其次,因區(qū)塊鏈網(wǎng)絡(luò)傳輸數(shù)據(jù)效率較低且局部模型中存在大量冗余數(shù)據(jù),提出梯度壓縮算法,在確保模型準(zhǔn)確率的前提下減少各訓(xùn)練參與方的傳輸數(shù)據(jù)量,并有效保護了梯度隱私。最后,為減弱梯度壓縮對全局模型收斂速度的影響,采用熱身訓(xùn)練的方式加快模型收斂。經(jīng)實驗證明,本文所提出的聯(lián)邦學(xué)習(xí)模型在保證準(zhǔn)確率的情況下減少了數(shù)據(jù)傳輸且提升了聯(lián)邦學(xué)習(xí)訓(xùn)練效率。

      然而,基于區(qū)塊鏈和梯度壓縮的聯(lián)邦學(xué)習(xí)模型仍存在一些不足,在全局模型更新時,等待其余參與方上傳局部模型的過程中可能需要耗費大量時間,此過程也會減慢聯(lián)邦學(xué)習(xí)的效率。在接下來的工作中將采用激勵機制和異步更新的方法進行研究,以提高模型的效率。

      參考文獻:

      [1] MCMAHAN H B, MOORE E, RAMAGE D, et al. Federated learning of deep networks using model averaging[EB/OL]. (2016-02-17)[2022-09-20]. https:∥arxiv.org/abs/1602.05629.

      [2] 劉煒, 唐琮軻, 馬杰, 等. 區(qū)塊鏈在隱私計算中的應(yīng)用研究進展[J]. 鄭州大學(xué)學(xué)報(理學(xué)版), 2022, 54(6): 12-23.

      LIU W, TANG C K, MA J, et al. Application research and progress of blockchain in privacy computing[J]. Journal of Zhengzhou university (natural science edition), 2022, 54(6): 12-23.

      [3] 陳明鑫,張鈞波,李天瑞.聯(lián)邦學(xué)習(xí)攻防研究綜述[J].計算機科學(xué),2022: 49(7):310-323.

      CHEN M X,ZHANG J B,LI T R.A review of research on attack and defense of federal learning [J].Computer science, 2022: 49(7):310-323.

      [4] ZHU L,LIU Z,HAN S.Deep leakage from gradients [M].Federated Learning. Cham: Springer International Publishing, 2019.

      [5] ZHAO B, MOPURI K R, BILEN H. iDLG: improved deep leakage from gradients[EB/OL]. (2020-01-08)[2022-09-20]. https:∥arxiv.org/abs/2001.02610.

      [6] CHEN M Z, SHLEZINGER N, POOR H V, et al. Communication-efficient federated learning[J]. Proceedings of the national academy of sciences of the United States of America, 2021, 118(17): e2024789118.

      [7] HE K M, ZHANG X, REN S Q, et al. Deep residual learning for image recognition supplementary materials[EB/OL]. (2015-12-10)[2022-09-20]. https:∥doi.org/10.48550/arXiv.1512.03385.

      [8] MERMER G B, ZEYDAN E, ARSLAN S S. An overview of blockchain technologies: principles, opportunities and challenges[C]∥The 26th Signal Processing and Communications Applications Conference. Piscataway: IEEE Press, 2018: 1-4.

      [9] HU S L, LI J F, ZHANG C X, et al. The blockchain-based edge computing framework for privacy-preserving federated learning[C]∥IEEE International Conference on Blockchain. Piscataway: IEEE Press, 2022: 566-571.

      [10]SUN J, WU Y, WANG S P, et al. Permissioned blockchain frame for secure federated learning[J]. IEEE communications letters, 2022, 26(1): 13-17.

      [11]PENG Z, XU J L, CHU X W, et al. VFChain: enabling verifiable and auditable federated learning via blockchain systems[J]. IEEE transactions on network science and engineering, 2022, 9(1): 173-186.

      [12]LI J, SHAO Y M, WEI K, et al. Blockchain assisted decentralized federated learning (BLADE-FL): performance analysis and resource allocation[J]. IEEE transactions on parallel and distributed systems, 2022, 33(10): 2401-2415.

      [13]LIU Y H, QU Y Y, XU C H, et al. Blockchain-enabled asynchronous federated learning in edge computing[J]. Sensors, 2021, 21(10): 3335.

      [14]SHLEZINGER N, CHEN M Z, ELDAR Y C, et al. UVeQFed: universal vector quantization for federated learning[J]. IEEE transactions on signal processing, 2021, 69: 500-514.

      [15]CUI L Z, SU X X, ZHOU Y P. A fast blockchain-based federated learning framework with compressed communications[J]. IEEE journal on selected areas in communications, 2022, 40(12): 3358-3372.

      [16]DESAI H B, OZDAYI M S, KANTARCIOGLU M. BlockFLA: accountable federated learning via hybrid blockchain architecture[C]∥Proceedings of the Eleventh ACM Conference on Data and Application Security and Privacy. New York: ACM Press, 2021: 101-112.

      [17]CHEN T Y, SUN Y J, YIN W T. Communication-adaptive stochastic gradient methods for distributed learning[J]. IEEE transactions on signal processing, 2021, 69: 4637-4651.

      青田县| 江阴市| 辽阳市| 临武县| 双城市| 偃师市| 民勤县| 浮山县| 确山县| 隆子县| 鸡西市| 图们市| 安陆市| 朝阳县| 兴宁市| 湘阴县| 方山县| 确山县| 赣榆县| 三亚市| 广灵县| 浦城县| 汕头市| 泰兴市| 老河口市| SHOW| 甘孜县| 濮阳县| 莱芜市| 文安县| 启东市| 麻城市| 县级市| 衡阳市| 上栗县| 松阳县| 林州市| 元氏县| 明光市| 全南县| 承德市|