









摘 要:利用自編碼器模型檢測惡意模型更新的聯(lián)邦學習框架是一種優(yōu)秀的投毒攻擊防御框架,但現(xiàn)有的基于自編碼器的模型存在訓練困難、異常檢測能力不足等問題。針對以上問題,提出了一種基于β-VAE的聯(lián)邦學習異常更新檢測算法:服務器端通過抑制訓練樣本的隨機屬性,生成更穩(wěn)定的訓練數據集,并使用該數據集對β-VAE異常檢測模型進行即時訓練。利用該模型計算客戶端上傳的任務模型更新的異常分數,然后根據動態(tài)閾值來檢測并移除異常更新。通過三個聯(lián)邦學習任務對算法進行了驗證,即在MNIST數據集上使用邏輯回歸(logistic regression,LR)模型進行分類、在FEMNIST數據集上使用卷積神經網絡(convolutional neural network,CNN)進行分類以及在Shakespeare數據集上使用循環(huán)神經網絡(recurrent neural network,RNN)進行字符預測。實驗結果表明,在多種攻擊場景下,該算法下的任務模型相較于其他防御算法都取得了更高的準確率。這表明在非獨立同分布場景下,該算法對聯(lián)邦學習投毒攻擊具有良好的魯棒性。
關鍵詞:聯(lián)邦學習; 異常檢測; 投毒攻擊; 防御機制; 深度學習
中圖分類號:TP18;TP309 文獻標志碼:A
文章編號:1001-3695(2024)08-035-2496-06
doi:10.19734/j.issn.1001-3695.2023.11.0553
Algorithm for detecting malicious model updates offederated learning based on β-VAE
Zhang Renbina,b, Cui Yuhanga, Zhang Zishia
(a.School of Computer Science & Information Engineering, b.Anhui Province Key Laboratory of Industry Safety & Emergency Technology, Hefei University of Technology, Hefei 230601, China)
Abstract:The federated learning framework that uses autoencoder model to detect malicious model updates is an excellent defense framework for poisoning attacks. However, the existing autoencoder-based models face several challenges such as training difficulties and limited anomaly detection capability. In view of the above problems, this paper proposed an algorithm for detecting malicious model updates of federated learning based on β-VAE: the central server stabilized the training dataset by suppressing random attributes of the training samples, and used the dataset to train β-VAE anomaly detection model in real time. The model computed the anomaly score of task model updates uploaded by the clients, and then to detect and exclude malicious model updates based on the dynamic threshold of anomaly score. This paper evaluated the performance of the proposed algorithm on three federated learning tasks. Specifically, these tasks include classification on the MNIST dataset using the logistic regression(LR) model, classification on the FEMNIST dataset using the convolutional neural network(CNN) model, and character prediction on the Shakespeare dataset using the recurrent neural network(RNN) model. The experimental results show that, the task model under this algorithm achieves higher accuracy compared to other defense algorithms. This indicates that in Non-IID scenarios, the algorithm exhibits strong robustness against poisoning attacks in federated learning.
Key words:federated learning; anomaly detection; poisoning attack; defense mechanism; deep learning
谷歌提出的聯(lián)邦學習(federated learning,F(xiàn)L)[1]為數據價值的利用與隱私數據保護的矛盾[2]提供了解決方案。然而,傳統(tǒng)聯(lián)邦學習框架很容易遭受惡意客戶端的投毒攻擊[3,4],即通過修改本地訓練數據集或局部模型來影響全局模型的性能和準確性。對于惡意客戶端的攻擊,服務器端無法直接阻止或糾正其行為,需要采取其他聯(lián)邦學習安全保護機制來確保聯(lián)邦學習系統(tǒng)的安全性和可靠性。研究表明,基于深度學習的異常檢測方法可以識別并過濾異常模型更新。然而,異常檢測模型的訓練過程需要耗費大量的共享數據和算力,這在聯(lián)邦學習框架下難以實現(xiàn)。為了緩解服務器端對資源的過度依賴,同時增強聯(lián)邦學習框架的魯棒性,本文提出了一種基于β-VAE的聯(lián)邦學習異常更新檢測算法。服務器端首先通過降低訓練樣本的隨機性來生成更可控的訓練數據集。然后使用該數據集對β-VAE異常檢測模型進行即時訓練。最后,利用該模型計算客戶端上傳的模型更新的異常分數,并根據動態(tài)閾值識別和移除異常模型更新。
1 相關工作
在聯(lián)邦學習中,客戶端的本地訓練數據集是私有的,且服務器端不會直接參與客戶端模型的訓練過程,因此惡意客戶端發(fā)起投毒攻擊的可能性非常高。投毒攻擊主要分為數據投毒和模型投毒:數據投毒通過修改訓練數據集,降低模型對某一類數據或全體數據的分類精度;模型投毒則通過直接修改模型參數影響全局模型。實際上,模型投毒比數據投毒更有效[5,6]。
專門針對數據投毒的防御方法有數據清洗[7],通過過濾掉可疑的訓練數據點來緩解數據投毒的影響,一些研究[8,9]致力于利用不同的穩(wěn)健統(tǒng)計模型來改進數據清洗技術。Koh等人[10]的工作指出,更強的數據投毒可能打破數據清洗防御。更普遍的防御方法是服務器端對模型更新進行檢測[11,12]。其中一種是基于統(tǒng)計的異常檢測方法,Chen等人[13]提出了GeoMed(geometric median)方法,使用局部模型更新的幾何中值來生成全局模型。Blanchard等人[14]提出了基于歐氏距離的Krum方法,選擇一個與其他局部模型更新最相似的局部模型更新來生成全局模型。雖然這些穩(wěn)健的統(tǒng)計方法簡單且與底層學習系統(tǒng)高度解耦,但是無法消除異常模型對全局模型的影響。另外一種是基于深度學習的異常檢測方法,利用神經網絡模型識別并移除異常模型更新,保證全局模型的聚合過程不受異常模型更新影響。Zhao等人[15]提出了基于生成對抗網絡(generative adversarial network,GAN)的防御策略PDGAN(poisoning defense GAN),PDGAN從模型更新中重建訓練數據,并通過生成的數據來審計每個局部模型的準確率,準確率低于預定義閾值的模型將被識別為異常模型,并且異常模型更新將從本輪迭代的聚合過程中移除。由于需要使用局部模型來訓練PDGAN,所以這種方法在迭代初期無法檢測到異常模型更新。Sattler等人[16]提出了CFL(clustered federated learning)[17]算法的魯棒性應用,根據模型更新的余弦相似度將更新分為正常模型更新和異常模型更新。該算法僅在IID設置下有效,且需要經過多個輪次才能準確劃分模型更新,未被識別的惡意攻擊對模型性能的影響在后續(xù)幾輪中持續(xù)存在[11]。Li等人[18]利用變分自動編碼器(variational autoencoder,VAE)計算模型更新的異常分數,將大于動態(tài)閾值的更新識別為異常更新,并將異常更新從本輪迭代中移除。Gu等人[19]在此基礎上進一步考慮每一輪更新的差異,使用條件變分自動編碼器(conditional VAE,CVAE)融入時間信息。然而,隨著任務模型在訓練過程中逐漸收斂,相鄰輪次的更新差異逐漸減小,因此使用時間信息作為標簽來區(qū)分不同輪次的更新并不合適。基于自編碼器的異常檢測模型中,為了能夠準確地區(qū)分異常模型和正常模型,通常需要使用大量的共享數據進行耗時的訓練,然而在實際部署中,很難滿足模型訓練過程中對共享數據和計算資源的需求。
綜上,針對以上研究方法的不足,且為了緩解服務器端對資源的過度依賴,同時為了增強聯(lián)邦學習框架的魯棒性,本文提出了基于β-VAE的聯(lián)邦學習異常更新檢測算法。在共享數據受限的情況下,服務器端首先利用初始化的全局任務模型,降低訓練數據集的隨機偏差,生成更加穩(wěn)定的訓練數據集。然后使用該數據集對β-VAE異常檢測模型進行即時訓練,以鼓勵其學習正常數據更有效的潛在表示。最后,利用該模型計算客戶端上傳的模型更新的異常分數,并根據異常分數的動態(tài)閾值檢測和排除異常更新,使用FedAvg算法[20]對正常更新進行聚合操作,以實現(xiàn)對聯(lián)邦學習的保護。
2 聯(lián)邦學習異常更新檢測算法
聯(lián)邦學習框架分為兩種:客戶端-服務器架構[21]和對等網絡架構[22]。本文提出的聯(lián)邦學習異常更新檢測算法是基于客戶端-服務器架構設計的,算法框架如圖1所示。本文算法包含n個客戶端和1個服務器端。服務器端包含少量的共享數據Ds、1個β-VAE異常檢測模型和1個全局模型w。共享數據Ds劃分為多個非獨立同分布數據集,用于訓練多個異構的虛擬任務模型。
結合圖1,本文算法的流程如下:
a)初始化全局模型w0;
b)使用w0在非獨立同分布數據集上訓練多個異構的虛擬任務模型,得到模型參數集合Ws;
c)提取集合Ws中每個模型參數的低維代理向量,得到異常檢測模型的訓練集Dt;
d)對β-VAE異常檢測模型進行即時訓練;
e)將全局模型w0分發(fā)給每個客戶端進行迭代訓練;
f)客戶端k(k=1,2,…,n)根據第t輪迭代的全局模型wt-1,訓練本地數據集,獲得局部模型wtk;
g)每個客戶端將局部模型上傳到服務器端;
h)服務器端使用β-VAE異常檢測模型識別并移除異常更新;
i)使用FedAvg算法對正常更新進行聚合,將聚合得到的全局模型wt分發(fā)給客戶端;
j)重復步驟f)~i),直至全局模型收斂。
本文提出的異常檢測模型的即時訓練方法涉及步驟a)~e),將在2.1節(jié)中詳細闡述。步驟h)的異常檢測過程將在2.2節(jié)中詳細闡述。
2.1 異常檢測模型的即時訓練方法
聯(lián)邦學習中,基于自編碼器的異常檢測模型的性能,受限于服務器端共享數據的數量和質量。本文試圖尋找一種有效的訓練方法,在共享數據受限的場景下依然可以訓練出性能良好的異常檢測模型。對于異常檢測模型而言,其關鍵在于如何準確識別出異常數據。為了實現(xiàn)這一目標,通常會使用異常分數的均值作為動態(tài)閾值來區(qū)分異常數據和正常數據,在這個過程中,只需要保證異常數據和正常數據在異常分數上具有一定的區(qū)分度即可。在無監(jiān)督學習中,異常檢測模型需要從訓練數據集中學習正常的行為模式,因此為了提高模型的準確性和泛化能力,應盡量確保訓練數據具有更多與正常數據相似的特征。
在本文中,虛擬任務模型和真實任務模型的模型參數將作為異常檢測模型的輸入數據。由于服務器端持有的共享數據有限,虛擬任務模型無法充分訓練以更新模型的大部分參數值,而其中的隨機值可能會影響異常檢測模型對正常數據潛在表示的學習。針對這個問題,本文試圖通過統(tǒng)一虛擬任務模型和真實任務模型的初始化參數,以降低虛擬任務模型之間、虛擬任務模型與真實任務模型之間的隨機偏差,從而生成具有高度一致性特征的訓練數據集。本文認為,在服務器端共享數據有限的場景下,相同的初始化模型在同一個任務下訓練得到的模型之間具有較高的相似度,不同的初始化模型在同一個任務下訓練得到的模型之間具有較低的相似度。為了驗證這一想法的正確性,在聯(lián)邦學習框架下,本文使用聯(lián)邦學習開源的基準數據集LEAF提供的異構MNIST數據集對LR模型進行實驗。
首先,初始化w*和wk(k=1,…,n)共n+1個模型參數。然后,模擬服務器端在小規(guī)模測試集上使用w*訓練n個正常模型于集合T*={w*i|1≤i≤n},使用wk(k=1,…,n)訓練n個正常模型于集合TK={wki|1≤i=k≤n},每個模型訓練10輪,接下來,模擬真實客戶端在訓練集上使用w*訓練n個正常模型于集合TN={wNi|1≤i≤n}和n個異常模型于集合TA={wAi|1≤i≤n},每個模型訓練100輪。最后,使用式(1)分別計算集合T*、TK與集合TN、TA之間的相似度:
sim(A,B)=1n2∑ni=1∑nj=111+d(ai,bj)(1)
其中:sim(A,B)代表集合A和B的相似度;d(ai,bj)代表模型ai和bj之間歐氏距離,ai∈A且bj∈B,本實驗中n=50。
實驗結果如表1所示。從表1中可以看出,相比于集合TK,集合T*與TN和TA相似度差異更大。表明集合T*中的模型具有更多可以區(qū)分集合TN和TA中模型的特征,這些特征與集合TN中的模型特征更為相似,從而為異常檢測模型提供了更有益的學習環(huán)境,使其能夠更好地學習集合TN中的正常模型的行為E5vujLJRrBzpiWMtRrZCHQ==模式。
因此,在聯(lián)邦學習中,可以通過使用相同初始化模型參數來減小虛擬任務模型之間的隨機差異,生成更穩(wěn)定的訓練數據集。根據以上結論,本文提出一種異常檢測模型的即時訓練方法。結合圖1,異常檢測模型的即時訓練方法具體流程如下:服務器端在初始化全局模型w0后,使用該模型參數和有限的共享數據訓練多個異構的虛擬任務模型,并收集虛擬任務模型參數。為了避免維度過高的問題,采用隨機采樣的方法提取出模型參數的低維代理向量,并作為訓練數據訓練異常檢測模型。完成訓練之后,將w0分發(fā)給客戶端開始聯(lián)邦學習的協(xié)同訓練過程。考慮到共享數據有限,為了防止虛擬任務模型和異常檢測模型過擬合,同時減少服務器端的計算量,訓練過程只進行若干輪次。此外,由于服務器端獲取的共享數據質量無法保證,所以服務器端訓練的多個虛擬任務模型應當具有異構性。
基于自編碼器的異常檢測模型[18,19]在特定的環(huán)境和條件下訓練完成后,可以重復使用并具有一定的穩(wěn)定性。然而,當環(huán)境和條件發(fā)生變化時,該模型的可用性可能會受到影響,并且重新訓練模型需要耗費大量的時間和資源。相比之下,本文的訓練方法具有即時性和靈活性,在任務模型和相關參數確定后,只需要使用少量的共享數據進行一次簡單的訓練即可。
由于異常檢測模型的訓練集是從虛擬任務模型訓練初期的參數集中提取的,這可能導致異常檢測模型過度擬合任務模型訓練初期的參數。聯(lián)邦學習的協(xié)同訓練過程在異常檢測模型訓練完成后開始,隨著迭代次數的增加,由于訓練數據和學習率等因素的影響,模型參數的變化逐漸增大,使得每一輪的模型參數和訓練初期的模型參數相差越來越大,導致正常更新的異常分數逐漸上升。一般情況下,異常更新試圖縮小與正常模型的差異,異常更新的異常分數也會隨之增長,并不會影響基于動態(tài)閾值的分類方法的準確性。
2.2 基于β-VAE的異常檢測模型
利用上述訓練方法中的數據集生成方式,可以得到與真實客戶端的模型更新更相似的虛擬模型更新,在此基礎上,使用基于歐氏距離的相似性檢測算法來識別異常更新。然而,這種無監(jiān)督方法在面對高維數據的情況下缺乏效率,并且在識別異常更新中潛在異常因子方面存在難度。為了解決這些問題,本文采用了數據降維技術和特征提取的技術,以有效應對上述挑戰(zhàn)。VAE[23]是一個具備數據降維和特征提取功能的無監(jiān)督神經網絡模型,編碼器模塊將原始數據x投影到低維嵌入z,然后解碼器模塊從這些低維嵌入重建原始數據。異常數據的重建誤差會顯著大于正常數據,因而常被用于數據的異常檢測[24]。首先,原始數據x通過編碼器近似得到后驗分布q(z|x)。再選取具有獨立特性的高斯分布作為先驗分布p(z)~N(0,1),從中采樣得到符合后驗分布的潛在變量z,即z~q(z|x)。最后將潛在變量z輸入解碼器近似生成分布pθ(x|z),采樣得到重建數據。和θ分別是編碼器和解碼器的模型參數。VAE的損失函數如式(2)所示。
L(x)=Euclid Math TwoEApq(z|x)[log pθ(x|z)]-DKL(q(z|x)‖p(z))(2)
其中:-DKL(q(z|x)‖p(z))稱為KL散度項,反映先驗分布p(z)和后驗分布q(z|x)之間的相似性,具有獨立特性的先驗分布p(z),鼓勵神經網絡學習到可分離的潛在變量表示z,在一定程度上具備了解耦的性能。為了加強模型對數據的有效解耦,Higgins等人[25]提出了β-VAE模型,在VAE的損失函數中增加了一個大于1的超參數β,進一步約束模型對潛在變量的學習,提升解耦性能,鼓勵分解更多的潛在表征[26]。β-VAE的損失函數如式(3)所示。
L(x)=Euclid Math TwoEApq(z|x)[log pθ(x|z)]-βDKL(q(z|x)‖p(z))(3)
本文基于β-VAE設計異常檢測模型,在聯(lián)邦學習協(xié)同訓練開始前,在使用2.1節(jié)的數據集生成方式得到穩(wěn)定的訓練數據集上,以式(3)為損失函數,對異常檢測模型進行訓練。
在模型檢測階段,將客戶端上傳的模型更新的低維代理向量xtest輸入到編碼器中并映射到潛在空間得到低維嵌入z,再利用解碼器重建出test。對于異常模型更新,β-VAE難以有效地縮小輸入xtest和重構輸出test之間的誤差以及后驗分布q(z|xtest)和先驗分布p(z)之間的分布距離,因此本文使用損失函數值作為給定模型更新的異常分數。通過計算輸入xtest和重構輸出的test之間的均方誤差(mean square error,MSE),得到重構分數Scorerecon,如式(4)所示。
Scorerecon=MSE(xtest,test)(4)
通過計算后驗分布q(z|xtest)和先驗分布p(z)之間的KL散度,得到KL分數ScoreKL,如式(5)所示。
ScoreKL=βKL(q(z|xtest)‖p(z))(5)
結合上述兩種分數得到最終的異常分數Scoreano。
Scoreano=Scorerecon+ScoreKL(6)
本文將檢測閾值設置為所有異常分數的平均值,異常分數高于閾值的更新被視為異常更新。參數β的大小影響著異常檢測模型的訓練和檢測。當增大β時,目標函數中的重建誤差項所占的比重減小,而KL散度項所占的比重增大。這意味著模型更加注重優(yōu)化潛在空間的結構,而不是簡單地通過最小化重建誤差來學習潛在變量。在檢測階段,高β值一定程度上減弱了重構分數的正常增長對異常分數的影響,解決了使用本文的即時訓練方法可能導致的問題。因此,適當增大β的值,對提升算法的魯棒性和穩(wěn)定性具有重要作用。
由于修改后的訓練目標懲罰了重構質量,高β值可能會導致重構質量的下降[27],但是該模型的主要目標并非僅僅是重建輸入數據,而更為關鍵的是提高對潛在變異因素的辨別能力。
3 實驗及分析
3.1 實驗設置
本文使用三個訓練任務來評價所提算法在非獨立同分布場景下對拜占庭攻擊和后門攻擊的魯棒性。第一個訓練任務是使用LR模型對MNIST數據集[28]進行分類。本文將MNIST數據集分布到100個客戶端中,每個客戶端只擁有兩個標簽的樣本,以模擬數據非獨立同分布的情況。在每一輪通信中,隨機選取50個客戶端參與聚合,每個客戶端使用0.01的學習率訓練5輪。第二個訓練任務是使用CNN模型對FEMNIST(federated extended MNIST)數據集[29]進行分類。FEMNIST數據集是通過基于不同的手寫作者對extended MNIST中的數據進行分區(qū)來構建的,每個客戶端只擁有一個作者的手寫數據,符合數據的非獨立同分布。在每一輪通信中,隨機選取30%的客戶端參與聚合,每個客戶端使用0.01的學習率訓練5輪。第三個訓練任務是使用RNN模型對Shakespeare數據集[1,29]進行字符預測。Shakespeare數據集是由莎士比亞完整作品[30]構建的數據集,每個客戶端擁有一個角色的臺詞數據,符合數據的非獨立同分布。在每一輪通信中,隨機選取30%的客戶端參與聚合,每個客戶端使用0.8的學習率訓練1輪。
本文使用的實驗數據全部來自于聯(lián)邦學習開源的基準數據集LEAF[29],具體統(tǒng)計信息如表2所示。
在異常檢測模型訓練階段,從測試數據集中選取5%的數據用于虛擬客戶端的訓練,虛擬客戶端使用相同的參數配置訓練10輪,從模型更新中提取低維代理向量作為異常檢測模型的訓練數據。使用0.003的學習率和0.000 1的權重衰退值對β-VAE模型訓練10輪。攻擊者通常需要在攻擊成功率和攻擊效果之間進行權衡,為了增強攻擊效果,異常更新往往需要具備更多或更強的異常因子,以盡可能讓全局模型偏離正常模型,但這也會增加被服務器端檢測出的風險。例如在同值攻擊中,Gu等人[19]將異常模型參數全部設置為100,而正常模型參數往往都較小,以至于這種攻擊的攻擊效果良好但隱蔽性較差,以此來證明所提算法在防御投毒攻擊的優(yōu)越性并不合適。因此,本實驗的同值攻擊將異常模型參數全部設置為0,一方面保留異常特征,另一方面加強異常更新的隱蔽性。本文的其他攻擊模式與文獻[18]中描述的類似。
為了驗證所提算法對拜占庭攻擊和后門攻擊的防御性能,本文采用任務模型的準確率作為實驗的主要評價指標。由于后門攻擊只針對某些特定的子任務,對主任務的準確率影響較小,所以使用后門攻擊的成功率作為額外的評價指標。
3.2 實驗結果及分析
將本文算法與經典聯(lián)邦學習算法FedAvg以及多種聯(lián)邦學習防御方法進行對比。傳統(tǒng)方法包括基于歐氏距離的GeoMed方法和Krum方法。基于自編碼器的異常檢測方法包括Fedvae[18]和Fedcvae[19]。為確保實驗結果的可靠性,本文進行了一系列實驗,涉及數據集、攻擊方式、防御策略以及惡意客戶端占比等多個變量。每個變量均包含多個取值。對于每一組變量取值,都進行了三次獨立實驗,并以這三次實驗結果的均值作為該組變量取值對應的實驗結果,以提高實驗結果的穩(wěn)定性和可信度。具體而言,本文考慮了三種拜占庭攻擊,分別是噪聲攻擊、符號翻轉攻擊和同值攻擊。分別在惡意客戶端占比為30%和50%兩種環(huán)境下評估本文算法的性能。除此之外,本文還評估了各種算法在MNIST數據集下面對后門攻擊的魯棒性。實驗基于云環(huán)境,使用Python 3.7下PyTorch框架進行模型搭建。主要硬件參數為CPU Intel Xeon Platinum 8350 C,內存42 GB,GPU NVIDIA GeForce RTX 3090,12 GB顯存。
噪聲攻擊,惡意客戶端將高斯噪聲添加到模型參數中,即wk=k+ε,其中k是第k個客戶端訓練得到的真實模型參數,是一個來自高斯分布的向量。在本實驗中,~N(0,0.1)。實驗結果如圖2所示,在附加噪聲攻擊下,基于自編碼器的異常更新檢測算法的性能相近,而本文算法在MNIST數據集和FEMNIST數據集中表現(xiàn)得更好,任務模型準確率平均提升了約0.7%和0.8%,在Shakespeare數據集上的性能略低于Fedvae。GeoMed在三個數據集獲得的準確率均優(yōu)于Fed-Avg和Krum,這表明相較于其他傳統(tǒng)算法,GeoMed對噪聲攻擊具有更強的魯棒性。
符號翻轉攻擊,惡意客戶端翻轉其模型參數的符號,即wk=σk,其中k是真實模型參數,σ是一個常數。在本實驗中,σ=-1。實驗結果如圖3所示,在本文算法下,任務模型獲得了更快的收斂速度和更高的準確率。相較于Fedvae,本文算法在MNIST數據集和FEMNIST數據集上的任務模型準確率分別平均提升了約0.3%和3%。在Shakespeare數據集上,F(xiàn)edvae和Fedcvae的任務模型準確率不穩(wěn)定,并且只有30%左右,甚至比Krum算法的表現(xiàn)還要差。而Fedcvae在三個深度學習方法中的效果最差,F(xiàn)edcvae在Fedvae的基礎上添加了每一輪的時間信息,試圖讓自編碼器學習到更多知識,但這種方法增強了時間信息對異常分數的影響,減弱了原始數據的重構分數對異常分數的影響,進而降低了異常檢測的性能。GeoMed在惡意客戶端占比不同的場景下,模型準確率表現(xiàn)出隨惡意客戶端占比提高而下降的趨勢,原因在于惡意攻擊者試圖移動所有更新的幾何中心遠離真實的中心。在惡意客戶端占比較高的場景下,Krum通過選取與其他模型相似度最高的模型作為全局模型,在一定程度上可以保證模型準確率的穩(wěn)定性。
同值攻擊,惡意客戶端將模型參數直接修改為wk=c1,其中1∈Euclid ExtraaBpd是一個全1的向量,c是一個常數。在本實驗中,c=0。實驗結果如圖4所示,在本文算法下,任務模型依舊獲得了穩(wěn)定的收斂速度和準確率,而Fedvae和Fedcvae在FEMNIST數據集和Shakespeare數據集上的準確率穩(wěn)定在5%和18%。這是因為在同值攻擊中,惡意客戶端將模型參數設置為0,則可能出現(xiàn)異常更新反而獲得更小的異常分數的情況。在使用基于動態(tài)閾值的分類方法進行異常檢測時,就會將異常更新判定為正常的更新,將正常更新判定為異常的更新。如果異常檢測結果完全錯誤,那么全局模型的參數將被竄改成0。客戶端難以執(zhí)行模型參數的梯度下降算法,最終導致全局模型發(fā)散。在惡意客戶端占比為50%的場景下,GeoMed和Krum在FEMNIST數據集和Shakespeare數據集上同樣喪失了防御能力,這表明全0的模型更新不僅會使得所有更新的幾何中心遠離真實的中心,還會增加異常更新與其他模型更新的相似性度量值,導致GeoMed和Krum計算或選擇了異常的模型作為全局模型。
后門攻擊是一種定向的模型投毒攻擊[5]。在后門攻擊中,惡意客戶端的目標是在保證主任務的準確率的同時,誘導目標子任務的失敗。例如,在圖像分類任務中,后門攻擊通過將標簽為“7”的圖像錯誤標記為“5”,導致模型在標簽為“7”的圖像上的錯誤分類。但是由于聯(lián)邦學習的客戶端很多,參數聚合時抵消了后門攻擊的大部分貢獻,這種樸素的后門攻擊難以成功植入[6]。本實驗使用基于放大模型參數的模型替換攻擊,將后門模型的權重按比例增大,提高攻擊成功率。在MNIST數據集上的實驗結果如圖5所示。
如圖5所示,在基于自編碼器的深度學習算法下的任務模型都獲得了較高的準確率和較低的后門成功率,且在本文算法下,任務模型擁有較高的準確率和較快的收斂速度,后門攻擊的成功率更低。雖然GeoMed獲得較高的準確率,但后門成功率并不穩(wěn)定,表明GeoMed不能完全消除后門攻擊對子任務的影響。Krum無法識別出異常模型更新中隱藏的后門攻擊,因此任務模型的后門成功率較高。
為了探究本文算法中重要參數β的影響,設計算法在FEMNIST數據集上對同值攻擊下參數β的影響進行了分析實驗。實驗結果如圖6所示,參數β取值分別為6、8和8.5時,全局模型準確率分別在第30輪、第40輪和第110輪達到第一峰值后驟降,之后緩慢上升到達第二峰值后再次驟降,反復循環(huán),最終生成了如圖6所示的峰形折線圖。而每次達到的峰值呈現(xiàn)下降趨勢,最終降至最低。準確率曲線出現(xiàn)這種走勢主要是兩個原因疊加造成的:一是本文的訓練方法具有一定的局限性,二是同值攻擊本身具有特殊的攻擊形式。
首先,異常檢測模型的訓練數據相對于測試數據并不是無偏的,虛擬任務模型只完成了初期的訓練,導致異常檢測模型過于適應任務模型訓練初期的參數。在異常檢測階段,隨著迭代次數的增加,正常更新的異常分數緩慢增長。其次,在同值攻擊環(huán)境下,每一輪迭代的異常更新保持不變,異常分數穩(wěn)定在一個較高的分數上。最終,正常更新的異常分數呈現(xiàn)上升追趕的趨勢,在某一時刻超過異常更新的異常分數,導致這一輪的檢測錯誤率較高,全局模型準確率驟降。下一輪的正常更新的重構分數重新回到較低的值,異常檢測模型可以再次準確識別,全局模型準確率緩慢上升。伴隨著多次檢測失敗,正常更新的異常因子逐漸增多,導致全局模型完全被異常更新污染,最終無法收斂。本文通過適當增大參數β的值,試圖減少重構分數的正常增長對異常分數的影響,對異常檢測模型的即時訓練方法進行修正。圖6的實驗結果也證實了這一方法的有效性,通過逐漸增大參數β的值,曲線的第一次驟降時刻逐漸后延,當β取值為10時,準確率持續(xù)上升并保持穩(wěn)定。這是因為全局模型已經逐漸收斂,正常模型更新的異常分數也趨于穩(wěn)定,準確率不會再出現(xiàn)驟降的情況。
根據上述分析,適度增大β值可以提高算法的穩(wěn)定性和魯棒性。另外,任務模型的復雜度、本地訓練的次數等影響模型收斂快慢的因素,也可能會影響β的取值。針對不同的任務模型,β應當如何取值是今后工作需要關注的問題。
4 結束語
本文主要針對現(xiàn)有聯(lián)邦學習異常檢測框架中自編碼器模型存在的訓練困難以及異常檢測能力不足等問題,提出一種新的聯(lián)邦學習系統(tǒng)異常更新檢測算法。本文提出了一種異常檢測模型的即時訓練方法,通過提高訓練數據和測試數據之間的相似度來優(yōu)化訓練數據集,使異常檢測模型學習到更有利于正常數據的數據特征。同時,在保證可用性的前提下,有效降低了服務器端對共享數據和算力的需求。為了進一步提高聯(lián)邦學習框架的魯棒性,本文利用β-VAE模型優(yōu)異的特征解耦和分離能力設計了異常檢測模型,從而提高了識別變異因子的能力。實驗結果表明,相較于各種防御算法,本文算法在任務模型準確率方面表現(xiàn)更佳,驗證了本文算法的有效性。未來將考慮針對更復雜的攻擊方式設計自適應的防御算法。
參考文獻:
[1]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. San Francisco: Morgan Kaufmann Publishers, 2017: 1273-1282.
[2]Li Li, Fan Yuxi, Lin Kuoyi. A survey on federated learning[C]//Proc of International Conference on Control & Automation. Pisca-taway,NJ: IEEE Press, 2020: 791-796.
[3]Kairouz P, McMahan H B, Avent B, et al. Advances and open problems in federated learning[J]. Foundations and Trends in Machine Learning, 2021, 14(1-2): 1-210.
[4]孫爽, 李曉會, 劉妍, 等. 不同場景的聯(lián)邦學習安全與隱私保護研究綜述[J]. 計算機應用研究, 2021, 38(12): 3527-3534. (Sun Shuang, Li Xiaohui, Liu Yan, et al. Survey on security and privacy protection in different scenarios of federated learning[J]. Application Research of Computers, 2021, 38(12): 3527-3534.)
[5]Bhagoji A N, Chakraborty S, Mittal P, et al. Analyzing federated learning through an adversarial lens[C]//Proc of International Conference on Machine Learning.[S.l.]: JMLR.org. 2019: 634-643.
[6]Bagdasaryan E, Veit A, Hua Y, et al. How to backdoor federated learning[C]//Proc of International Conference on Artificial Intelligence and Statistics. Cambridge, MA: MIT Press, 2020: 2938-2948.
[7]Cretu G F, Stavrou A, Locasto M E, et al. Casting out demons: sanitizing training data for anomaly sensors[C]//Proc of IEEE Symposium on Security and Privacy. Piscataway, NJ: IEEE Press, 2008: 81-95.
[8]Shen Yanyao, Sanghavi S. Learning with bad training data via iterative trimmed loss minimization[C]//Proc of International Conference on Machine Learning.[S.l.]: JMLR.org. 2019: 5739-5748.
[9]Tran B, Li J, Madry A. Spectral signatures in backdoor attacks[C]//Proc of Annual Conference on Neural Information Processing Systems. Amsterdam: Elsevier, 2018: 8000-8010.
[10]Koh P W, Steinhardt J, Liang P. Stronger data poisoning attacks break data sanitization defenses[J]. Machine Learning, 2022, 111(1): 1-47.
[11]Sun Jingwei, Li Ang, DiValentin L, et al. FL-WBC: enhancing robustness against model poisoning attacks in federated learning from a client perspective[C]//Proc of the Annual Conference on Neural Information Processing Systems. Amsterdam: Elsevier, 2021: 12613-12624.
[12]Lu Shiwei, Li Ruihu, Chen Xuan, et al. Defense against local model poisoning attacks to Byzantine-robust federated learning[J]. Frontiers of Computer Science, 2022, 16(6): 166337.
[13]Chen Yudong, Su Lili, Xu Jiaming. Distributed statistical machine lear-ning in adversarial settings: Byzantine gradient descent[C]//Proc of ACM on Measurement and Analysis of Computing Systems.New York:ACM Press, 2017: 1-25.
[14]Blanchard P, El Mhamdi E M, Guerraoui R, et al. Machine learning with adversaries: Byzantine tolerant gradient descent[C]//Proc of Annual Conference on Neural Information Processing Systems. Amsterdam: Elsevier, 2017.
[15]Zhao Ying, Chen Junjun, Zhang Jiale, et al. PDGAN: A novel poisoning defense method in federated learning using generative adversa-rial network[C]//Proc of International Conference on Algorithms and Architectures for Parallel Processing. Cham: Springer, 2019: 595-609.
[16]Sattler F, Müller K R, Samek W. Clustered federated learning: model-agnostic distributed multitask optimization under privacy constraints[J]. IEEE Trans on Neural Networks and Learning Systems, 2020, 32(8): 3710-3722.
[17]Sattler F, Müller K R, Wiegand T, et al. On the Byzantine robustness of clustered federated learning[C]//Proc of IEEE International Conference on Acoustics, Speech and Signal Processing. Piscataway,NJ: IEEE Press, 2020: 8861-8865.
[18]Li Suyi, Cheng Yong, Wang Wei, et al. Learning to detect malicious clients for robust federated learning[EB/OL]. (2020-02-01) . https://arxiv.org/pdf/2002.00211.pdf.
[19]Gu Zhipin, Yang Yuexiang. Detecting malicious model updates from federated learning on conditional variational autoencoder[C]//Proc of IEEE International Parallel and Distributed Processing Symposium. Piscataway, NJ: IEEE Press, 2021: 671-680.
[20]McMahan H B, Moore E, Ramage D, et al. Federated learning of deep networks using model averaging[EB/OL]. (2016-02-17) . https://arxiv.org/pdf/1602.05629.pdf.
[21]Konecˇny J, McMahan H B, Ramage D, et al. Federated optimization: distributed machine learning for on-device intelligence[EB/OL]. (2016-10-08) . https://arxiv.org/pdf/1610.02527.pdf.
[22]Feng Siwei, Yu Han. Multi-participant multi-class vertical federated learning[EB/OL]. (2020-01-30) . https://arxiv.org/pdf/2001.11154.pdf.
[23]Kingma D P, Welling M. Auto-encoding variational Bayes[EB/OL]. (2022-12-10) . https://arxiv.org/pdf/1312.6114.pdf.
[24]An J, Cho S. Variational autoencoder based anomaly detection using reconstruction probability[J]. Special Lecture on IE, 2015, 2(1): 1-18.
[25]Higgins I, Matthey L, Pal A, et al. β-VAE: learning basic visual concepts with a constrained variational framework[EB/OL]. (2022-07-22). https://openreview. net/forum?id=Sy2fzU9gl.
[26]Burgess C P, Higgins I, Pal A, et al. Understanding disentangling in β-VAE[EB/OL]. (2018-04-10) . https://arxiv.org/pdf/1804.03599.pdf.
[27]Sikka H D. A deeper look at the unsupervised learning of disentangled representations in β-VAE from the perspective of core object recognition[D]. Cambridge, MA: Harvard University, 2020.
[28]LeCun Y, Bottou L, Bengio Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324.
[29]Caldas S, Duddu S M K, Wu P, et al. Leaf: a benchmark for federated settings[EB/OL]. (2019-12-09) . https://arxiv.org/pdf/1812.01097.pdf.
[30]Shakespeare W. The complete works[M]. 1836.