?

隱私保護的拜占庭魯棒聯邦學習算法

2023-09-07 08:47李海洋郭晶晶劉玖樽劉志全
西安電子科技大學學報 2023年4期
關鍵詞:拜占庭全局梯度

李海洋,郭晶晶,劉玖樽,劉志全

(1.西安電子科技大學 網絡與信息安全學院,陜西 西安 710071;2.暨南大學 信息科學技術學院,廣東 廣州 510632;3.數力聚(北京)科技有限公司,北京 100020)

1 引 言

隨著社會的發展,人工智能有著越來越多的實際應用。為應對人工智能面臨的數據孤島問題,聯邦學習(Federated Learning,FL)[1]應運而生。不同于傳統的數據集中式機器學習,聯邦學習是一種分布式機器學習架構,聯邦學習系統中節點的本地訓練集不出本地,節點間通過共享模型訓練的中間參數進行多方協作訓練得到共享的全局模型。根據節點的本地訓練集特征,聯邦學習可分為3種類型[2],分別是數據樣本ID空間重疊較少而數據特征空間重疊較多的橫向聯邦學習(Horizontal Federated Learning,HFL),數據樣本ID空間重疊較多而數據特征空間重疊較少的縱向聯邦學習(Vertical Federated Learning,VFL)以及數據樣本ID空間和數據特征空間均重疊較少的聯邦遷移學習(Federated Transfer Learning,FTL)。

橫向聯邦學習進行一輪訓練的流程如下:① 節點在本地進行模型訓練,獲得本地模型并將模型更新(梯度)上傳至聚合服務器;② 聚合服務器首先接收各節點上傳的本地模型梯度信息,然后進行聚合生成全局模型梯度,并將模型梯度信息下發至各節點;③ 節點接收全局模型梯度并以此更新本地模型。上述步驟一直循環執行,直至全局模型收斂或者達到預定義的模型迭代訓練輪數。

盡管流程①中節點的本地訓練集未出本地,但節點上傳的中間訓練參數同樣會泄露隱私[3-4]。針對這一問題,國內外學者提出了許多聯邦學習的隱私保護方案,這些方案通過對中間訓練參數進行隱私保護來避免節點的隱私泄露。當前的隱私保護方法主要分為以同態加密(Homomorphic Encryption,HE)、安全多方計算(Secure Multi-party Computation,SMC)為代表的加密方法和以差分隱私(Differential Privacy,DP)為代表的擾動方法[5-6]。同態加密是一種無需訪問數據本身便可處理數據的技術,即聚合服務器可對密文狀態的模型梯度信息進行計算。然而,同態加密計算復雜,要求節點有較高計算能力,因此在當前計算力條件下,同態加密在聯邦學習中的實用性不高。安全多方計算可在不泄露原始數據條件下實現全局模型的無損聚合。然而,安全多方計算通常需要復雜的流程設計,有較高的額外計算成本,因此效率不高。差分隱私通過添加噪聲來擾動原本極易識別的數據,避免數據的敏感信息泄露,且所添加的噪聲不會破壞數據原本的特征[7]。在每一輪聯邦學習訓練中,首先將節點的本地模型梯度信息進行差分隱私處理,然后再將其發往聚合服務器,從而防止節點隱私泄露?;诓罘蛛[私的橫向聯邦學習算法主要目標是在精度損失可接受范圍內實現隱私預算最小[8]。WEI等[9]提出CRD(Communication Rrounds Discaunting)算法,證明在給定隱私預算時存在一個最優的訓練輪數,可在滿足差分隱私的同時提升模型性能。差分隱私通過犧牲部分模型精度來實現隱私保護,實現簡便,計算開銷低,是一種實用的隱私保護技術。

由于聯邦學習的本質是一種分布式機器學習,因此易受拜占庭節點攻擊。拜占庭節點攻擊的常用手段是發起投毒攻擊破壞模型的完整性與可用性,致使聯邦學習系統的魯棒性極低。SHEJWALKAR等[10]提出一種模型投毒攻擊,在生成惡意梯度時,使其方向同正常模型梯度方向相反,然后將模型梯度的長度設置為系統防御機制可檢測的門限范圍內的邊緣值,以使惡意梯度的攻擊能力最大化。針對拜占庭節點的防御問題,文獻[10]中總結了以Krum、Multi-Krum、Buylan等為代表的統計學分析方法,其核心思路為:首先基于模型更新的某種數學指標進行安全聚合,例如中位值、均值等;文獻[11-12]這類基于變分自編碼器(Auto-Encoder,AE)識別惡意模型參數的機器學習方法,其核心思路為:首先聚合服務器預先在本地預訓練一個自編碼器模型,然后正式訓練過程中基于自編碼器計算各節點模型更新的重構誤差,以此重構誤差判斷模型更新的可靠性;文獻[13-15]這類基于生成對抗網絡(Generative Adversarial Network,GAN)的防御方法,其核心思路為:首先基于生成對抗網絡補足異常檢測模型訓練集,然后基于異常檢測模型進行拜占庭檢測;文獻[13-14,16]這類通過驗證模型參數精度來檢測惡意模型參數的方法,其核心思路為:首先聚合服務器利用根數據集在本地訓練一個同聯邦學習任務一致的本地模型,然后基于節點提供的模型,更新和聚合服務器本地訓練得到的模型,以更新的余弦相似度計算節點的信任值。無論是哪一類防御方法,其基本策略皆為對節點中間訓練參數的某項數據指標進行相互比較,從而找出離群值。而這樣的策略存在兩個問題:① 數據非獨立同分布。真實的橫向聯邦學習場景中節點間的數據是參差不齊的,如果節點訓練數據差別過大,那么節點的中間訓練參數的區別也會較大,則此類節點的中間訓練參數容易被系統檢測機制誤判為惡意數據。因此,現有的拜占庭魯棒算法一般不能直接用于數據非獨立同分布的聯邦學習環境。② 隱私保護環境。不論是加密還是擾動的隱私保護方法,其基本目的都是隱藏節點中間訓練參數的數據特征從而破壞其可分析性。以同態加密為代表的加密方法使得節點中間訓練參數的數據特征完全隱藏,致使檢測機制無法對密文進行分析;以差分穩私為代表的擾動方法使得節點中間訓練參數的數據特征部分隱藏,這使檢測機制執行難度增加。因此,現有的拜占庭魯棒算法一般不能直接用于隱私保護的聯邦學習環境。

針對上述問題,文中提出一種可在數據非獨立同分布和隱私保護環境下拜占庭魯棒的聯邦學習算法。首先,節點對本地梯度進行隱私保護處理;然后,聚合服務器將節點的歷史模型更新依次輸入自編碼器和長短期記憶(Long Short-Term Memory,LSTM)模型,比較長短期記憶模型輸出的預測值和實際值的差距以檢測拜占庭攻擊;最后,聚合服務器根據評估結果進行全局梯度聚合。針對隱私保護需求,所提算法采用差分隱私技術為節點的本地梯度進行隱私保護處理。針對數據非獨立同分布環境下的拜占庭魯棒需求,所提算法僅對節點上傳的歷史梯度進行縱向比較,以此對節點的可信度進行評估,不涉及節點間的橫向比較,因此不受數據非獨立同分布環境的影響。

2 支持隱私保護的拜占庭魯棒聯邦學習算法

2.1 系統模型與假設

系統模型如圖1所示,分為節點端和服務端2個部分。服務端由預處理模塊、數據檢測模塊和全局聚合模塊組成。預處理模塊負責注冊節點的基本信息,以及在聯邦學習正式開始前進行模型預訓練。數據檢測模塊負責更新和維護歷史模型更新信息(即節點上傳的本地梯度),并進行拜占庭檢測。全局聚合模塊則根據數據檢測模塊的檢測結果,選擇可信本地模型進行聚合生成全局梯度。

圖1 系統模型

節點端由正常節點和拜占庭節點共同組成,這兩類節點都持有本地訓練集。在聯邦學習訓練中,正常節點遵從聯邦學習協議參與訓練,而拜占庭節點則伺機發起投毒攻擊破壞聯邦學習訓練過程。根據惡意梯度的生成方式不同,文中將拜占庭節點的攻擊方法分為兩類:① 隨機生成與全局梯度同維度的惡意梯度;② 在本地梯度的基礎上添加一個反方向的干擾向量。此外,本方案中的拜占庭節點可選擇從第5輪或第10輪(此設置僅為觀察精度降低的攻擊效果)開始發起攻擊。

為進一步描述所提方案,作如下系統假設:

(1) 橫向聯邦學習系統中共有N個節點,用集合{P1,P2,…,PN}表示;

(2) 聚合服務器誠實且好奇,且持有根數據集,其與節點的本地訓練集類別一致,即均為MNIST/CIFAR10數據集;

(3) 拜占庭節點不在第1輪訓練就發起攻擊。

圖1所示的聯邦學習系統進行一輪協作訓練的步驟①~⑦的說明如下:

階段1 注冊階段。

① 節點向聚合服務器發起注冊請求并提交必要信息,例如本地訓練集的數據量。

② 聚合服務器響應節點請求,協助節點商定模型結構、相關參數設置等。

階段2 預處理階段。

③ 預處理模塊開始預訓練得到自編碼器和長短期記憶模型并將其發送給數據檢測模塊。

階段3 正式訓練階段。

④ 首先節點開始本地訓練得到本地梯度,然后將本地梯度用差分隱私處理后上傳聚合服務器,其中差分隱私使用的是(ε,δ)差分隱私,采用高斯機制(即添加高斯噪聲)實現。

⑤ 首先聚合服務器接收節點的本地梯度,然后數據檢測模塊進行拜占庭檢測,生成可信節點列表并將其發送給全局聚合模塊。

⑥ 首先全局聚合模塊選擇可信節點所對應的本地梯度,并根據其本地訓練集的數據量進行加權聚合得到全局梯度,然后將其下發可信節點。

⑦ 首先節點接收全局梯度并更新本地模型,然后返回步驟④,開始新一輪訓練。

上述預處理階段步驟③中提到的自編碼器是一種無監督機器學習,其輸入層神經網絡數量等于輸出層神經網絡數量,可用于特征提取和異常檢測。長短期記憶模型是一種時間循環網絡,可解決一般的循環神經網絡存在的長期依賴問題,用于處理序列數據。自編碼器[17]和長短期記憶模型[18]在多種場景下都得到了廣泛的應用。

2.2 所提算法

所提方案的具體流程分為3個階段:注冊階段、預處理階段和正式訓練階段。下面對各個階段進行詳細闡述。

① ift==1 then

③ else

⑧ end if

⑨ end if

2.2.1 注冊階段

此階段主要任務是節點在橫向聯邦學習系統內完成注冊,聚合服務器同節點協商網絡模型結構等訓練細節。

2.2.2 預處理階段

在預處理階段,聚合服務器首先收集差分時間序列數據集(Differential Time Series Data,DTSD),然后利用差分時間序列數據集先訓練自編碼器模型,再訓練長短期記憶模型,最后確定門限參考列表,為正式訓練階段提供準備。

算法2Pi第t輪信任度評估算法。

threshold ∥一級門限,對梯度每一層進行判斷

tolerance_tn ∥可信節點異常的模型層數的最大值

tolerance_htn ∥半可信節點異常的模型層數的最大值

輸出:Pi的信任度?!畏譃?可信節點TN,半可信節點HTN,不可信節點AN

① fork←1~4 do

⑤ origin←AEencoder(h4)

⑦ gradient_euler←‖origin-predict‖ ∥計算L2距離Pi的信任度劃分

⑧ ayer_state←0 ∥表示梯度中異常的層數

⑨ for gradient_euler in gradient_euler do

⑩ if layer_euler>threshold then

收集差分時間序列數據集:

(1) 聚合服務器創建初始模型(注冊階段所協商的模型),用根數據集進行n輪模型訓練,期間收集訓練過程中產生的模型梯度,得到時序梯度數據集G,其中G=,t=[1,n],gt為第t輪訓練的模型梯度;

(2) 針對G中的每一個梯度,聚合服務器計算其L2范數,選取其中值最大的m個L2范數,將其均值作為梯度裁剪的閾值c并向各節點廣播;

(3) 聚合服務器根據ct=gt/max(1,‖gt‖2/c)對G中的梯度進行裁剪,得到數據集C,其中C=;

(4) 聚合服務器根據dt=ct+1-ct計算C中相鄰梯度的差值,得到差分時間序列數據集DTSD,其中DTSD=,i=[1,n-1]。

獲取自編碼器模型:

聚合服務器首先創建自編碼器模型,用差分時間序列數據集作為訓練集來訓練自編碼器模型,然后保存模型。

獲取長短期記憶模型:

(1) 聚合服務器用自編碼器模型的編碼器模塊將差分時間序列數據集進行編碼處理,得到數據集DTSD_E。

(2) 聚合服務器用長度為4、步長為1的滑動窗口(此處滑動窗口的參數是經驗值,在實際情況中也可取其他的值)在DTSD_E上進行采樣,生成數據集DTSD_E_L,選取其中前80%的數據作為訓練集Data_Train,剩余20%的數據作為測試集Data_Test。

(3) 聚合服務器首先創建長短期記憶模型,用Data_Train訓練長短期記憶模型,然后保存模型。

確定門限參考列表:

將Data_Test輸入長短期記憶模型,計算每1條預測數據和實際數據的距離(歐式距離),得到門限參考列表euler_dis。在正式訓練階段選取euler_dis中最大的tm(虛門限)個值,計算其均值作為實際門限值。

2.2.3 正式訓練階段

正式訓練階段節點端與服務端的工作流程如下所示:

節點Pi:

(1)Pi設置相關模型參數;

(2)Pi開始第t輪訓練,收集本輪訓練的模型梯度gt;

(3)Pi對gt進行裁剪,得到ct,其中ct=gt/max(1,‖gt‖2/c);

(4)Pi對ct進行差分隱私處理,得到dt,其中dt=ct+N(0,σ2);

(5)Pi將dt上傳聚合服務器;

(6) 若t<5,返回步驟(2),開始新的一輪訓練;否則,進入下一步;

(7) 接收全局梯度gradient_globalt并更新本地模型;

(8) 返回步驟(2),開始新的一輪訓練。

服務端:

(1) 聚合服務器接收節點第t輪上傳的dt;

(2) 聚合服務器更新節點的歷史記錄ht(詳見算法1),其記錄的是節點上傳的本地梯度信息;

(3) 若t<5,則返回步驟(1),開始新的一輪訓練;否則,進入下一步;

(4) 聚合服務器根據ht、自編碼器模型以及長短期記憶模型評估節點的可信度(詳見算法2);

(5) 聚合服務器選取可信節點上傳的dt計算全局梯度gradient_globalt(詳見算法3);

(6) 聚合服務器向不可信節點發送假數據,向其余節點發送gradient_globalt;

(7) 返回步驟(1),開始新的一輪訓練。

在上述正式訓練階段,服務端使用了3個算法。算法1是節點歷史模型記錄(節點歷史模型記錄以雙端隊列形式存儲)更新算法,其中步驟①~⑤表示歷史記錄條數小于5時新的記錄直接進入隊尾,步驟⑥和⑦表示歷史記錄條數大于等于5時新的記錄進入隊尾的同時最早進入的記錄需要彈出隊頭,然后輸出節點的新歷史模型記錄。算法2給出了節點信任度評估方法,其中步驟①~⑦處理節點的歷史記錄,首先計算歷史記錄中相鄰梯度的差值,得到一個長度為4的差值列表,再用自編碼器模型將此列表中的每條數據進行編碼處理,然后將此列表的前3條數據作為長短期記憶的輸入得到預測值,最后計算此預測值和列表中第4條數據的歐氏距離gradient_eurler;步驟⑧~行將gradient_eurler中每層的值同各自的門限進行比較以得出每一層的異常狀態,然后根據總的異常層數判斷節點此時的可信度。算法3給出了全局模型聚合方案,以節點的本地訓練集的數據量為權重,對所有可信節點的本地梯度進行加權聚合得到全局模型梯度。

算法3全局梯度聚合算法。

經算法2篩選后有m個節點可信,1

輸出:第t輪的全局梯度gradient_globalt

③ return gradient_globalt

3 實驗分析

為驗證所提方案的有效性,文中開展了一系列的仿真實驗,下面首先介紹總體的實驗設置,然后給出實驗結果并對其進行分析。

3.1 實驗設置

本實驗所采用的平臺如表1所示,實驗所涉及符號的說明如表2所示。聯邦學習系統中節點的本地訓練集采用MNIST/CIFAR10數據集,數據分布分為獨立同分布(Independent and Identically Distributed,IID)和非獨立同分布(Non-Independent and Identically Distributed,Non-IID)兩類。其中,通過在MNIST/ CIFAR10數據集中隨機、均勻地選取一定數量(文中選取500、1 000條數據)的數據實現節點數據獨立同分布的聯邦學習環境,而節點數據非獨立同分布的聯邦學習環境則采用文獻[19]所提方法實現。具體方法如表3所示。節點的本地訓練模型采用多層感知機(Multi-Layer Perceptron,MLP)和卷積神經網絡(Convolutional Neural Network,CNN)這兩類模型,其中多層感知機模型結構為[784,256,10],卷積神經網絡自定義模型包含2個卷積層、2個池化層。

表1 實驗平臺表

表2 對工藝庫的遷移性評估

表3 非獨立同分布數據劃分

仿真實驗的基礎設置為:節點數量u=30,訓練輪數epoch=30,隱私預算epsilon=2,拜占庭節點比例mn=0.2。實驗結果的主要衡量指標為聚合服務器進行數據檢測的時間開銷、全局模型精度(由聚合服務器用完整的MNIST/CIFAR10測試集測試得出)以及數據檢測模塊的性能(誤檢率)。

3.2 結果分析

首先進行可行性分析。圖2給出了節點數據獨立同分布且訓練模型為卷積神經網絡模型的條件下,分別選擇MNIST和CIFAR10作為訓練集的全局模型精度隨訓練輪次的變化過程,其中ad表示聚合服務器端部署了所提方案,nad則表示無異常檢測。從圖2可以看出,在第5輪和第10輪全局模型的精度出現大幅度降低,這是因為拜占庭節點分為兩批發起攻擊,其中一批從第5輪開始發起攻擊,另一批從第10輪發起攻擊??梢钥闯?如果服務器部署了文中所提方案,則在第5輪與第10輪迭代后全局模型精度并未出現波動,在整個訓練過程中全局模型的精度均高于未部署所提方案時全局模型的精度。此外,實驗日志顯示,數據檢測模塊及時準確地檢測出了聯邦學習系統中所有拜占庭節點。因此,所提拜占庭節點檢測算法在節點數據獨立同分布條件下,可以準確地檢測出系統中的拜占庭節點。圖2中訓練集為CIFAR10時所得全局模型的精度低于訓練集為MNIST時所得全局模型的精度,這是由CIFAR10數據集特性以及本實驗所采用的簡單卷積神經網絡模型模型結構所致。在相同條件下,未部署所提方案的CIFAR10訓練集訓練得到的全局模型精度更低。

圖2 數據獨立同分布條件下卷積神經網絡模型的精度

圖3給出了MNIST數據集作為訓練集,訓練模型為卷積神經網絡模型,節點數據非獨立同分布條件下全局模型精度隨訓練輪次的變化過程。從圖3可以看出,不同非獨立同分布條件下全局模型的最終精度存在一定的差異。然而,相同非獨立同分布條件下,未部署所提異常檢測機制時在第5輪和第10輪訓練結束后全局模型均出現了精度突然降低的現象。因此,所提方案可在隱私保護且節點數據非獨立同分布條件下準確地檢測出系統中的拜占庭節點。圖3中節點數據分布為N2和N3兩種情況時得到的全局模型精度低于節點數據分布為N1時得到的全局模型精度,這是因為N1劃分主要體現了節點的本地訓練樣本數量的不同,而單個節點所擁有的數據較為完備,因而其精度遠高于另外兩種劃分時得到的全局模型精度。

圖3 數據非獨立同分布條件下卷積神經網絡模型的精度

接下來進行所提方案的計算開銷分析。圖4給出了MNIST數據集作為訓練集,訓練模型為卷積神經網絡模型,節點數據獨立同分布條件下數據檢測模塊進行異常檢測的時間開銷隨節點數量變化的過程。從圖4可以看出,不論是以多層感知機還是卷積神經網絡模型作為訓練模型,異常檢測的時間開銷隨著節點數量增加大體呈線性增長的態勢,多層感知機作為訓練模型時單個節點的檢測耗時在1~2 s之間,卷積神經網絡模型作為訓練模型時單個節點的檢測耗時在1 s以內。

圖4 異常檢測的計算開銷

為了分析隱私預算對數據檢測模塊的性能影響,圖5給出了節點數據獨立同分布,節點總數u=30,拜占庭節點比例mn=0.2條件下數據檢測模塊在不同隱私預算下的誤檢節點個數。從圖5可以看出,當隱私預算為0.000 1時,誤檢節點總數為24,即全部正常節點均被誤判為惡意節點,數據檢測模塊完全失效。隨著隱私預算逐漸增大,數據檢測模型誤檢的節點個數也逐漸減小。這是因為隱私預算越小,隱私保護越強,但數據可用性越弱,因此誤檢率高。

圖5 隱私預算對異常檢測的影響

采用虛門限tm替代實際門限值以給出更具體的門限設置參考。為了分析虛門限對數據檢測模塊的性能影響,圖6和圖7給出了節點數據獨立同分布條件下,分別以多層感知機和卷積神經網絡模型作為訓練模型時,數據檢測模塊在不同虛門限下的誤檢節點個數。從圖6和圖7可以看出,隨著虛門限的增加,數據檢測模塊誤檢節點數量隨之增加。這是因為虛門限越大,實際門限值越小,對數據的要求更加嚴格,因此誤檢情況會增加。

圖6 多層感知機模型下虛門限對異常檢測的影響

圖7 卷積神經網絡模型模型下虛門限對異常檢測的影響

為了分析拜占庭節點比例對數據檢測模塊的性能影響,圖8給出了節點數據獨立同分布條件下,不同拜占庭節點比例對應的聯邦學習環境的全局模型的最終精度。從圖8可以看出,隨著拜占庭節點比例從0.2增加至0.8,全局模型的精度幾乎未變,且實驗日志顯示全部拜占庭節點一旦發起攻擊便被數據檢測模塊識別,因此所提方案不受拜占庭節點比例的影響。其中,盡管正常節點數量在減少,然而全局模型精度卻基本保持不變。這是因為在實驗的節點數據獨立同分布設置下,單個節點分配的數據較多,僅需要少數節點甚至僅僅單個節點所訓練的模型精度就已近乎收斂。

圖8 拜占庭節點比例對異常檢測的影響

同現有的拜占庭魯棒聯邦學習算法相比,所提算法具有可在數據非獨立同分布和隱私保護環境下執行的優勢,為驗證上述優勢,選取Krum[20]和Median[21]這兩個經典的方案進行對照實驗。設置如下兩個實驗場景:①場景1:節點上傳數據為密文(文中使用差分隱私技術)、節點數據獨立同分布、本地訓練模型為卷積神經網絡模型,用以分析本方案與對比方案在隱私保護環境中的有效性;②場景2:節點上傳數據為明文、節點數據非獨立同分布(文中使用N1、N2和N3這3種劃分方式),本地訓練模型為卷積神經網絡模型,用以分析本方案與對比方案在數據非獨立同分布環境中的有效性。

圖9為所提方案與Krum和Median的對照實驗結果。在場景1中,所提算法的全局模型精度達到92%,而Krum和Median聚合方案的全局模型精度最高沒有超過50%。主要原因是Krum和Median只適用于數據以明文形式傳輸的環境,而此時數據是經過差分隱私處理的密文數據,導致Krum和Median在一定程度上失效。所提算法利用自編碼器模型對節點相鄰兩輪的本地模型梯度的差值進行編碼(提取特征),而差分隱私處理后的模型參數只損失部分精度,仍有可用性,因此數據的內在特征基本不變,所以自編碼器對原始數據和經過差分隱私處理的數據進行編碼的結果差別不大。在場景2中,所提算法的全局模型精度仍遠遠高于Krum和Median的全局模型精度,例如數據分布為N1時,所提算法的全局模型精度達到96.38%,而Median的全局模型精度只有40%左右。主要因為Krum和Median本質上是在眾多數據之間進行橫向比較,當節點數據非獨立同分布時,節點上傳的數據間的區別比較大,原本正常的數值此時容易被誤判為離群值。所提算法在設計之初便是基于節點歷史數據的角度(縱向比較)考慮,一個節點上傳的數據是否惡意僅與自己的歷史數據有關,同其它節點無關,因此可以有效解決數據非獨立同分布的問題。

圖9 對照實驗結果

文獻[22]和文獻[23]也在隱私保護場景下提出各自的拜占庭魯棒算法,因為這兩個算法和所提算法的隱私保護機制不同,因此僅從理論角度將其與本方案進行對比分析。文獻[22]首先利用掩碼加密模型更新信息,然后基于可驗證的秘密共享協議計算量化的秘密值之間的距離,以此距離值進行異常檢測。而本方案計算簡單,且基于差分隱私的隱私保護方案比基于掩碼加密的隱私保護方案更有普適性,所提算法可運行在任意基于差分隱私的隱私保護環境下。文獻[23]基于加法同態加密和安全兩方計算保護隱私,假設存在兩個非共謀服務器且存在根數據集,服務器首行基于此根數據集進行同步訓練,然后服務器計算節點上傳的模型更新和服務器本地模型更新的漢明距離進行異常檢測。文獻[23]本質是對各節點上傳的模型更新信息進行橫向比較,不適用于節點數據非獨立同分布的聯邦學習環境。而本方案的執行無需依賴同態加密這類高計算復雜度的運算過程,且本方案可在節點數據非獨立同分布的環境下有效檢測出拜占庭節點。

4 結束語

本方案提出一種可在隱私保護和數據非獨立同分布環境下拜占庭魯棒的聯邦學習算法。其首先采用差分隱私技術對模型梯度進行隱私保護處理,然后基于節點的歷史數據對節點進行信任度評估,最后聚合服務器根據評估結果對可信節點的數據進行加權聚合,得到全局模型梯度。不同于以往的拜占庭魯棒算法需要對系統中各節點間的本地梯度進行相互比較,所提算法僅對節點的歷史數據進行縱向比較,可應用于數據非獨立同分布環境,且不受拜占庭節點數量的影響。實驗結果表明,在拜占庭節點占比為20%~80%的聯邦學習環境下,所提算法對拜占庭節點進行檢測的誤檢率和漏檢率均可達到0%,其中檢測模塊對單個節點進行檢測的平均耗時約為1 s,并且檢測模塊的總耗時隨著正常節點數量的增加呈線性增長的態勢。然而,文中所提拜占庭檢測算法存在冷啟動問題,還有待優化。

下一步可從提高拜占庭檢測性能和降低系統假設限制這兩個方面進行研究。在第一個方面,可考慮選用性能更好的特征提取工具替換自編碼器,例如變分自編碼器;還可考慮選用更好的序列預測工具替換長短期記憶模型,例如長短期記憶模型的變體循環門單元(Gated Recurrent Unit,GRU)。在第二個方面,可考慮基于生成對抗網絡生成根數據集;還可考慮在模型預訓練時選用同聯邦學習訓練集同類型的已有數據集,例如兩者皆為語音數據集、圖像數據集等。

猜你喜歡
拜占庭全局梯度
Cahn-Hilliard-Brinkman系統的全局吸引子
量子Navier-Stokes方程弱解的全局存在性
一個改進的WYL型三項共軛梯度法
拜占庭帝國的繪畫藝術及其多樣性特征初探
一種自適應Dai-Liao共軛梯度法
一類扭積形式的梯度近Ricci孤立子
落子山東,意在全局
淺談初中歷史教學中的邏輯補充——從拜占庭帝國滅亡原因談起
《西方史學通史》第三卷“拜占庭史學”部分糾繆
拜占庭之光
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合