本發(fā)明涉及網絡安全,尤其涉及一種基于強化學習的自適應聚合防御復雜投毒攻擊方法。
背景技術:
1、聯邦學習(fl)是一種很有前途的機器學習方法,模型訓練分布在多個本地設備上,而不是集中在單個服務器上。它既能保證用戶隱私數據的安全性,又能通過協同不同本地數據源的數據提高模型性能。它在各種場景中都有應用,包括智慧醫(yī)療、金融服務、物聯網和智能交通。然而,fl系統是脆弱的,聚合模型的性能很容易受到來自未知客戶端的模型投毒攻擊,特別是針對中央服務器定制的復雜投毒策略。
2、傳統的防御方法主要依靠設計局部模型更新評估機制或使用魯棒聚合方法來減輕投毒攻擊的影響。當前針對聯邦學習投毒攻擊的防御策略可分為兩類:一類涉及設計局部模型更新評估機制,以識別惡意客戶端提交的模型參數,另一種是基于數理統計設計新的拜占庭容錯聚合算法,以提高聚合的魯棒性。在評價機制方面,blanchard等人采用平方距離度量局部更新之間的距離,并選擇具有最小距離的局部更新作為全局模型參數。sattler等人根據客戶提交的模型參數之間的余弦相似性將更新劃分為不同的組,以減輕中毒攻擊的影響。為了應對更隱蔽的中毒攻擊,一些評估方法要求服務器收集一部分干凈的數據,作為驗證模型更新的基礎。在魯棒聚合算法中,統計方法比較來自客戶端的局部模型更新,并在使用它們更新全局模型之前刪除統計異常值。
3、傳統的防御方法主要針對手工設計的短視攻擊策略,在面對精心設計的高級攻擊時,其防御穩(wěn)定性明顯不足。例如,李等人提出使用分布學習來模擬中心服務器的數據分布,并使用強化學習(rl)來為中心服務器聚合過程定制攻擊策略,使其不易被檢測。因此,開發(fā)針對這種可學習的高級中毒攻擊的自適應防御措施迫在眉睫。
4、例如,yin等人對所有局部模型更新中的參數值進行排序,并將每個參數的中值作為全局模型更新中的相應參數值。sun等人在聚合之前對參數更新進行梯度裁剪。由于統計估計容易受到異常值的影響,現有的聚合方法不能很好地保證準確性,并且仍然容易受到惡意客戶端的局部模型中毒攻擊。這些防御方法主要依賴于局部模型參數。對于復雜的攻擊,如基于強化學習的自定義攻擊,僅從參數信息中難以準確識別惡意更新。此外,基于統計的魯棒聚合不夠靈活。
技術實現思路
1、本發(fā)明提出了一種基于強化學習的自適應聚合方法adaaggrl,以挫敗復雜的投毒攻擊,通過比較客戶端數據分布的穩(wěn)定性來確定局部模型的聚合權重。具體地,首先使用分布學習根據上傳的模型參數來模擬客戶端數據分布;然后,利用最大均值差異(maximummean?discrepancy,mmd)計算當前局部模型數據分布、其歷史數據分布和全局模型數據分布的兩兩相似度,以評估客戶端數據分布的穩(wěn)定性;考慮到分布學習的精度可能會影響上述相似度的計算,使用重構相似度作為分布學習質量的評價指標;最后,基于上述三種分布相似度和分布學習的重構相似度,使用策略學習方法td3自適應確定聚合權重。
2、本發(fā)明所采用的技術方案為:一種基于強化學習的自適應聚合防御復雜投毒攻擊方法,包括以下步驟:
3、步驟一,任務定義:基于聯邦學習(fl),設計一個包括k個客戶端的系統,每個客戶k擁有一個固定的本地數據集其中nk為dk的大小,客戶k的局部目標為其中l(wèi)為損失函數,(xkj,ykj)是從某分布pk中抽取的i.i.d.中第j個數據樣本,用表示從pk中抽取的nk個數據樣本的經驗分布,在中心服務器的協調下,客戶端進行協作學習,得到全局模型;
4、步驟二,分布學習:對于每個epoch?t≥0,服務器接收客戶端本地更新的模型參數,并計算對應的批次級別梯度然后,服務器開始解決一批以下優(yōu)化問題隨機生成的虛擬數據和虛擬標簽β是一個固定的參數,b’是虛擬數據批量的大小,tv計算總變分函數;
5、步驟三,環(huán)境指標:利用預訓練的卷積神經網絡提取樣本分布,將圖像樣本drec轉換為特征向量集合v;對于每個客戶k,使用最大均值差異(mmd)計算該特征分布與歷史分布之間的差異dk,cl,其中表示客戶端k當前數據分布的特征向量,表示歷史特征向量;
6、步驟四,策略學習:服務器根據得到的3個相似度指標和客戶端關聯的重構相似度動態(tài)調整聚合權重,通過利用從模擬環(huán)境中采樣的經驗,服務器參與學習以最小化經驗損失為目標的協作防御策略。
7、作為本發(fā)明進一步的改進,所述步驟一中,fl的優(yōu)化目標定義為:其中,pk為客戶k的權重,一般為pk=nk/n,其中為樣本總數。
8、作為本發(fā)明進一步的改進,所述fl的算法過程如下:在每個epoch?t≥0時,服務器從所有客戶端中隨機選擇一個子集ct參與當前一輪訓練,并將最新的全局模型參數θt分發(fā)給這些選擇的客戶端;
9、選擇的客戶端在各自的本地數據集上進行同步訓練,將其本地模型參數更新為其中α是學習率;
10、隨后,客戶k∈ct將更新后的本地模型參數上傳到服務器;
11、服務器將接收到的模型參數按照特定的聚合規(guī)則進行聚合,記為aggr,得到新的全局模型參數
12、作為本發(fā)明進一步的改進,所述步驟二中,在求解優(yōu)化問題的過程中,ddummy不斷更新,優(yōu)化在max_iter次迭代后終止,然后輸出更新的數據作為重構的數據樣本drec,客戶端k的重構相似度,表示為
13、作為本發(fā)明進一步的改進,所述步驟三中,全局模型數據分布的特征向量,記為vg,通過計算所有參與訓練過程的客戶的特征向量的均值得到,然后,將客戶端k的當前數據分布與全局數據分布的相異度表示為同樣,將歷史數據分布與全局數據分布的相異度記為當前數據分布與歷史數據分布sk,cl的相似度計算公式如下:sk,cl∈(0,1],并且隨著梯度反演得到的當前數據分布與歷史數據分布更加一致,sk,cl值增大。
14、作為本發(fā)明進一步的改進,所述步驟四中,學習過程采用深度強化學習算法td3。
15、作為本發(fā)明進一步的改進,為了模擬fl的訓練過程,包括惡意客戶端及其行為,建立了一個強化學習環(huán)境,對于聯邦學習中的每個epoch?t,設為強化學習模擬環(huán)境狀態(tài),其中kj為參與訓練的客戶端標識符,用重構相似度和樹獲得的度量表示客戶端k的狀態(tài);
16、通過強化學習,訓練服務器根據當前fl環(huán)境狀態(tài)st做出決策at=(at,bt)t,at是一個四維向量,其中表示四個環(huán)境參數(sk,r,sk,cl,sk,cg,sk,lg)的加權權重,bt∈[0,1]表示閾值,fl系統根據服務器的決定進行改變;
17、在fl系統環(huán)境中引入向量來記錄每個客戶端的惡意行為,當否則。代表客戶端k發(fā)生惡意行為,基于這些結果,fl系統確定了新一輪全局模型參數的聚集策略,如下所示:是一個超參數,用于表示對惡意行為懲罰的嚴重程度;
18、λ越大,懲罰效果越強,基于新獲得的全局模型參數θt+1,fl系統在第t步計算獎勵為r:=f(θt)-f(θt+1),在隨后的epoch?t+1中,fl系統選擇一個新的客戶子集進行訓練,記為ct+1,并將更新后的模型參數θt+1發(fā)送給客戶,然后,每個客戶端在其數據集上進行本地訓練,以獲得本地參數從而產生一個新的狀態(tài)st+1。
19、作為本發(fā)明進一步的改進,fl系統首先得到即對環(huán)境參數進行加權,表示客戶端k的分數,然后,函數g(·)將映射到[0,1]區(qū)間并將其規(guī)范化,從而產生令定義:函數fδ表示具有較低分數的客戶端,被認為表現出惡意行為并被排除在聚合之外,服務器策略的生成過程揭示了閾值δ在fδ中也是根據環(huán)境狀態(tài)自適應調整的。
20、本發(fā)明的有益效果:本發(fā)明的一種基于強化學習的自適應聚合方法adaaggrl,用于防御聯邦學習中針對服務器的復雜無目標模型投毒攻擊,在推動防御系統的發(fā)展中起到重要作用。
21、隨著時間的推移,良性客戶端中訓練數據的分布是穩(wěn)定的,而惡意客戶端破壞嘗試導致的不規(guī)則分布則相反,本發(fā)明提出四個指標作為強化學習環(huán)境線索,利用策略學習根據觀察到的線索變化可以確定局部模型聚合權重。
22、在四個數據集上的實驗結果表明,即使在應用更高級的定制攻擊時,adaaggrl防御方法也能保持比基線方法更穩(wěn)定的全局模型精度。