陳 卓 江 輝* 周 楊
①(重慶理工大學計算機科學與工程學院 重慶 400054)
②(奧本大學計算機科學與軟件工程學院 美國阿拉巴馬州 奧本市 36849)
近年來,以物聯(lián)網為代表的數據采集技術的快速發(fā)展使得數據的廣泛多元獲取成為可能,這顯著地促進了機器學習模型的迭代更新[1-3]。而傳統(tǒng)的機器學習模型通?;诩惺降哪J皆O計,即由互聯(lián)網應用服務商將收集到的用戶數據或者感知數據匯聚到數據中心,并利用數據中心的強大算力進行模型訓練和結果的輸出。但這種需要將數據傳輸并匯聚于第三方的機器學習模型卻存在著潛在的數據和隱私泄露風險,這導致了越來越多的數據持有方不愿意進行數據共享,從而形成了“數據孤島”并導致無法充分地挖掘數據價值。聯(lián)邦學習(Federated Learning, FL)[4]作為一種新興機器學習范式,基于“數據不動,模型移動”的思想而設計,即模型分別部署在參與FL的多個終端和服務器之上,而數據無需離開持有數據的終端而進行本地模型訓練,終端和服務器之間僅存在模型參數或中間結果的交互,通過這樣的持續(xù)協(xié)作完成全局模型的訓練。但是,由于參與聯(lián)邦學習的終端通常沒有事先經過嚴格的信任度驗證,這為惡意終端施行針對FL的對抗攻擊提供了可能[5],例如:模型推理的時候,惡意終端通過向輸入添加微小的、人類不可感知的擾動來欺騙神經網絡模型,從而使得模型以更大的概率表現(xiàn)出不正確或意外的行為[6]。
機器學習模型的輸入形式是一種數值型向量,具有惡意企圖的攻擊者通過有針對性的數值型向量讓機器學習模型做出誤判,這即是對抗性攻擊。Goodfellow 等人[7]提出一種簡單但有效的攻擊方法-FGSM,利用損失函數的梯度符號來生成對抗樣本。Kurakin等人[8]通過多次應用FGSM小步長引入基本迭代法-BIM。Madry等人[9]從干凈輸入附近的隨機位置開始多次應用FGSM提出了一種更強大的迭代攻擊-PGD。Dong等人[10]提出基于動量的迭代算法-MIM,將動量項集成到攻擊的迭代過程中,并在迭代過程中擺脫較差的局部最大值,產生更多可轉移的對抗性示例。文獻[11]提出基于梯度的攻擊算法-DeepFool,通過迭代生成最小規(guī)范對抗擾動,將位于分類邊界內的圖像逐步推到邊界外,直到出現(xiàn)錯誤分類。為了在最小化干擾的同時獲得更好的攻擊效果,Carlini等人[12]提出基于優(yōu)化函數的攻擊方法-C&W。除此之外,文獻[13]提出一種通用對抗性后門攻擊,以欺騙云邊緣協(xié)作中的垂直聯(lián)邦學習。文獻[14]基于隱私泄露和成對節(jié)點梯度添加噪聲的全局節(jié)點嵌入生成對抗性擾動提出一種新的針對圖神經網絡的對抗性攻擊方法。上述工作通過不同的擾動添加方式,如基于梯度、動量和優(yōu)化函數等,使得同時防御上述攻擊成為困難。
針對各種新出現(xiàn)的對抗性攻擊,學界也不斷提出防御機制,Papernot等人[15]使用防御蒸餾平滑訓練期間的模型來降低對抗樣本對模型的有效性。Guo等人[16]采用未修改的模型來度量對抗樣本的可轉移性差異。文獻[17]通過自適應地校準未歸一化的概率來平衡類,解決了在具有標簽偏度的非獨立同分布(Non-Independent Identically Distributed,Non-IID)數據上的訓練不穩(wěn)定性問題。除此之外,文獻[18]提出差分隱私自歸一化神經網絡,在沒有顯著增加計算開銷的神經網絡訓練和推理情況下提高敵對的魯棒性。但是,上述工作主要應用于集中式機器學習,難以勝任FL環(huán)境下的防御,而本文主要針對FL環(huán)境下的多攻擊進行聯(lián)邦防御。雖然已有工作提出聯(lián)邦防御方法FDA3[19],可以聚合來自不同來源的對抗性實例的防御知識,但該方法通過聚合所有防御模型的思路會導致模型對各類對抗攻擊的敏感性明顯降低。針對該問題,本文提出了一種新的防御策略,稱為SelectiveFL。與現(xiàn)有最新工作不同的是,本文不再是進行單一的模型聚合,而是在聚合階段根據攻擊特性的不同,選擇性進行模型聚合,保證模型對各類攻擊的高敏感性從而實現(xiàn)更高效的聯(lián)邦防御。主要貢獻概括如下。
(1) 本文面向FL中對抗性攻擊的多樣性,設計了一種新的損失函數并用于對抗性訓練。
(2) 本文提出一種新的聯(lián)邦防御策略(SelectiveFL),基于對抗性訓練提取出不同終端的攻擊特性,進而使服務器通過攻擊特性進行選擇性參數聚合,并實現(xiàn)適應性的對抗防御。
(3) 本文在具有代表性的基準數據集上進行了深入的實驗,驗證了所提策略的有效性和擴展性。
本文其余部分安排如下。第2節(jié)討論系統(tǒng)模型和問題描述。第3節(jié)詳細描述本文的聯(lián)邦防御策略。第4節(jié)介紹實驗細節(jié)和結果。最后,第5節(jié)對本文進行總結。
傳統(tǒng)聯(lián)邦學習通過FedAvg算法聚集本地終端的模型參數來學習聯(lián)邦模型參數
如圖1所示,本文考慮在數據集(X,Y)的C類上進行聯(lián)邦模型訓練,其中X是特征空間,Y={1,2,···,C}是所有類標簽的集合。傳統(tǒng)的聯(lián)邦學習目標是獲得優(yōu)化的全局模型參數,該參數通過最小化下式中的損失函數,如式(2)所示
圖1 攻擊下的聯(lián)邦學習框架
由于不同終端可能受到不同類型的對抗性攻擊的干擾,即每個終端的損失函數由自然樣本損失和對抗樣本損失組成,每個終端k通過優(yōu)化其本地模型參數來最小化本地損失函數L(),即
其中Fi表示數據點屬于Y的第i類的概率,α是一個超參數,用于調整自然樣本和對抗樣本屬于Y的第i類的概率對數值,Ex|y=i表示屬于第i類的數據點的自然樣本和對抗樣本的概率對數期望,本文主要符號含義如表1所示。
表1 主要符號匯總
為了獲得最優(yōu)參數ω,使用基于梯度下降的方法并通過式(4)迭代地求解優(yōu)化問題
圖2詳細描述了SelectiveFL的框架及其工作流程。此框架由兩部分組成,F(xiàn)L終端和聚合服務器。FL終端負責模型訓練,但由于終端未經過嚴格的身份認證且FL環(huán)境存在各種對抗性攻擊,這導致現(xiàn)有聯(lián)邦防御部署無法實現(xiàn)有效的防御。聚合服務器包括攻擊管理模塊和防御模型生成模塊。攻擊管理模塊負責管理攻擊方案及其防御模型,并根據終端攻擊方案進行模型分配。防御模型生成模塊負責新防御模型的生成和同步,通過其內部聚合器進行周期性的數據收集,選擇性聚合并更新舊模型生成新模型,最終將新模型同步到攻擊管理模塊中。
每輪訓練中各終端需要經歷3個步驟。首先,基于攻擊管理模塊分配防御模型,在本地生成對抗性樣本形成再訓練集。其次,本地對抗訓練周期性上傳本地模型更新到聚合器。最后,聚合器選擇性聚合得到全局模型更新,并實現(xiàn)新模型的生成和同步。
由于終端多樣性和數據異構性,新模型具有更強的魯棒性,可實現(xiàn)更有力的防御,當新終端加入時應為其分配最新防御模型。并且因為聚合服務器和FL終端之間僅有權重信息交互,并沒有相關數據傳遞,可以保證終端間的數據隱私。除此之外,一些隱私保護方法,例如同態(tài)加密[20]和差分隱私[21]等,也可以用來保護敏感數據的隱私。
機器學習中,損失函數用來度量模型的預測值與真實值的差異程度,損失函數越小,模型的魯棒性越好。在考慮對抗性攻擊的時候,損失函數的定義不同于傳統(tǒng)的定義,而是由自然損失函數和對抗損失函數兩部分組成,可以表示為
其中α是超參數,用于根據自然損失函數Lnat(xi,yi|ωi)和對抗損失函數Ladv(x,yi|ωi)來調整損失值的比值,α值越高,表明自然損失函數對總體損失函數的貢獻權重越高。
在FL環(huán)境中存在多種不同類型的對抗攻擊,這些對抗攻擊由于添加擾動方式的不同,并且同一種攻擊還具有多種范數下的攻擊(例如:C&W攻擊有L0,L2和L∞等3種范數)。為了涵蓋N個終端所有可能遭受的攻擊,本文根據攻擊類型的不同重新定義了如式(6)所示的模型損失函數
因此,本文的聯(lián)邦防御優(yōu)化目標就是找出使得Latt(x,xadv,y|ω) 最小的ωatt,可用公式表示為
其中D表示訓練集,‖xadv-x‖∞<ε規(guī)定了自然樣本示例和對抗樣本示例之間允許的差異,ω表示在本文的聯(lián)邦防御下針對att攻擊的聯(lián)邦防御模型。從式(7)可以看出,本文提出的聯(lián)邦防御方法試圖尋找多個針對特定攻擊的統(tǒng)一防御模型,它可以實現(xiàn)對多個對抗攻擊的精準防御。
本節(jié)將分別介紹SelectiveFL防御策略在聚合服務器和FL終端的算法。算法1詳細描述了Selective-FL防御方法在聚合服務器的執(zhí)行部分。假設訓練開始前攻擊管理模塊為空。步驟1中,根據攻擊方案對模型進行初始化,所有攻擊的初始化模型都是使用訓練數據集預訓練后的模型。步驟2~步驟10中,服務器需要與所有終端進行T輪交互,以形成多個針對攻擊的聯(lián)合防御模型。步驟3中,根據一定的比率從所有終端中選擇一部分進行聯(lián)合防御。在步驟5接收到終端發(fā)送的攻擊方案后,步驟6服務器為其分配相應的防御模型。在步驟7接收所有終端的本地模型更新后,步驟9根據攻擊特性進行選擇性聚合,實現(xiàn)防御模型的更新,如式(8)所示。注意,步驟5和步驟7是一個阻塞事件,需要等待事件完成后才能繼續(xù)執(zhí)行。
算法1 聚合服務器部署的算法偽碼
其中St是迭代輪次t中參與者的集合, Δtt,t+1是迭代輪次t+1中受到att攻擊的終端j對應的本地模型更新。 Δtt,t+1定義為
算法2詳細描述了SelectiveFL防御方法在FL終端的執(zhí)行部分。假設索引為i的FL終端已加入聯(lián)邦防御。步驟1中,終端上傳自身攻擊方案到聚合服務器。步驟2中,終端接收聚合服務器發(fā)送的全局防御模型。注意,步驟2是一個阻塞事件,需要等待接收到對應全局防御模型后才能繼續(xù)執(zhí)行。步驟3將全局防御模型轉換為本地防御模型。步驟4中,終端基于本地防御模型和攻擊方案通過對抗工具箱將本地數據生成為對抗樣本。步驟5~步驟14中,終端進行E輪的本地訓練,以獲得更高防御能力的本地防御模型。在步驟7和步驟8中分別得到自然樣本和對抗樣本通過本地防御模型后的預測標簽,在步驟9和步驟10中分別計算自然樣本和對抗樣本的交叉熵后,步驟11將自然損失和對抗損失通過式(5)中定義的損失函數計算總損失,步驟12通過梯度下降進行權重更新,如式(10)所示。在步驟15計算本地模型更新后,步驟17將本地模型更新上傳到服務器。
算法2 FL終端部署的算法偽碼
本節(jié)通過定理1和定理2對所提方法Selective-FL進行可行性分析。
定理1對抗訓練作為一種正則化方法使模型更加魯棒和穩(wěn)健。
證明由式(5)知,對抗訓練損失函數表示為L(x,xadv,y|ω)=α·L(x,y|ω)+(1-α)·L(xadv,y|ω),其中,xadv=x+δ,如果擾動較小,可以使用一階泰勒展開來近似,則損失函數變?yōu)?/p>
其中第2項為擾動給損失函數帶來的影響,即
其中‖·‖1是‖·‖∞的對偶范數,定義為
將式(12)中的結果代入式(11)得到
即加入一個特殊的針對梯度的正則化。 證畢
定理2通過對抗攻擊A得到的防御模型針對A攻擊的防御力最強。
證明由式( 7 ) 可知,如果將這個最優(yōu)模型用于防御A攻擊,由式(6)可知Latt(x,xadv,y|ω)∝L(x,xadv,y|ω),可以得到防御A攻擊的損失函數
同理我們可以得到防御非A攻擊的損失函數
綜上所述,可以得到
這意味著通過對抗攻擊A得到的防御模型針對A攻擊的擬合效果更好。因此,模型對于A攻擊的防御力是最強的。 證畢
通過定理1和定理2說明,SelectiveFL在終端進行對抗訓練得到本地最優(yōu)防御模型,并在服務器端對上傳的本地模型更新根據攻擊特性進行選擇性聚合可得到對各個攻擊的全局最優(yōu)防御模型。
數據集:本文在3個常用數據集MNIST, F-MNIST和SVHN上評估了所提方法的性能。MNIST和F-MNIST分別是灰度手寫數字和衣服的集合,它們都由60 000個訓練樣本和10 000測試樣本組成,每個樣本為28×28的灰度圖像。SVHN數據集摘自Google街景圖像中的門牌號,由73 257個訓練樣本和26 032個測試樣本組成,每個樣本為32×32的彩色圖像。
攻擊方案:本文采用了6種基準對抗攻擊,包括:FGSM[7], BIM[8], PGD[9], MIM[10], DeepFool[11],C&W[12]。其中FGSM, BIM, PGD, MIM的實現(xiàn)由Advertorch提供,DeepFool和C&W的實現(xiàn)由Foolbox提供。為了實驗公平,除FGSM外的所有攻擊的迭代次數設為10。針對MNIST和F-MNIST數據集,步長設為0.01,ε設為0.3。針對SVHN數據集,步長設為0.007,ε設為0.031。請注意,本文主要關注L∞距離。
對比算法:為了評估我們防御算法的性能,本文使用文獻[19]的FDA3算法作為本實驗的基準(base)算法,為了實驗公平,本文方法與基準方法采用相同的訓練參數。
架構:本文分別使用LeNet模型對MNIST 和F-MNIST數據集,ResNet-18模型對SVHN數據集進行實驗。使用來自MNIST和F-MNIST數據集的訓練示例分別預訓練初始LeNet模型,使用來自SVHN數據集的訓練示例預訓練初始ResNet-18模型。請注意,本文將以上3個數據的測試集分為兩半,其中一半測試集用于重新訓練,另一半測試集用于測試。預訓練階段將超參數α設為1,這表明只使用自然樣本進行預訓練;再訓練階段將超參數α設為0,這表明只使用對抗樣本進行再訓練。
本文首先評估在數據集符合IID分布情況下,SelectiveFL對白盒攻擊的防御能力。特別的,在白盒攻擊中,對手對分類器足夠了解。這里主要評估6種具有代表性的對抗性攻擊的防御能力,包括FGSM, BIM, PGD, MIM, DeepFool, C&W,考慮在FL環(huán)境下10個終端進行聯(lián)合防御。圖3給出在單一攻擊下的自然和魯棒準確性的結果。
圖3 單一攻擊下的自然和魯棒準確性
從圖3中,可以發(fā)現(xiàn)各數據集在干凈圖像都達到較高的精度,而在各攻擊下的魯棒準確性都有一定程度的下降,并且在各數據集上都很快實現(xiàn)了收斂。例如:在SVHN數據集的干凈圖像上精度達到94.22%,而在PGD攻擊下的魯棒精度只達到了71.54%。對于這種下降,我們分析主要由攻擊本身特性和數據集復雜程度兩個原因造成:從攻擊本身特性分析,相較于單一迭代的FGSM,多次迭代的BIM, MIM, PGD以及DeepFool對FL的影響更大,而基于優(yōu)化的C&W攻擊添加的擾動人眼幾乎無法察覺,但是攻擊時間長,通過調整攻擊參數可以人為控制攻擊力度;從數據集復雜程度分析,MNIST數據集最簡單,而SVHN數據集最復雜,由于復雜數據集所擁有的數據特征更復雜且數據量更大,通過對數據集添加微小擾動的對抗性攻擊會使得復雜數據集更難以學習,從而出現(xiàn)更加明顯的下降。該實驗表明在典型的FL環(huán)境下進行聯(lián)邦學習,終端容易受到對抗攻擊的干擾,通過SelectiveFL能夠實現(xiàn)不同數據集下對單一對抗攻擊的防御。
本文全面評估了SelectiveFL在多種攻擊下的FL終端的魯棒準確性。實驗模擬了10個終端進行聯(lián)合防御,終端受到來自FGSM, BIM, PGD, MIM等4種攻擊的隨機性攻擊,即在各個輪次中,終端所受到的攻擊都是隨機的。圖4顯示了本文算法與基線算法在多攻擊下的預測精度。
圖4 多攻擊下的魯棒準確性
如圖4所示,本文算法在MNIST, F-MNIST和SVHN數據集的預測精度分別達到91.39%, 66.62%和70.33%,而Base算法只達到88.47%, 56.60%和65.28%。這是因為在多攻擊下將眾多模型聚合在一起會降低模型對單一攻擊的敏感性,而我們的算法通過攻擊方式進行選擇性聚合,保證了每個模型對攻擊的敏感性。換句話說,我們的算法相較于Base算法能夠達到更高的魯棒準確性,實現(xiàn)更優(yōu)的聯(lián)合防御。
為評估SelectiveFL在Non-IID下的性能,利用參數α=0.5的狄利克雷分布生成各終端的數據分布,在10個終端下進行聯(lián)合防御,終端受到來自FGSM,BIM, PGD, MIM等4種攻擊的隨機性攻擊,并與IID分布進行性能比較。圖5顯示本文算法與Base算法在IID和Non-IID下的預測精度對比。
圖5 IID和Non-IID下的魯棒準確性
從圖5中,可以看到IID和Non-IID分布下的準確性存在一定的差異,在MNIST和F-MNIST數據集上,差異不太明顯,可能是測試數據集相對較小的原因;而在SVHN數據集上,Non-IID分布下的準確性明顯低于IID分布下的準確性,這說明數據分布不均的Non-IID分布同樣會對防御性能產生一定的影響。其次,本文算法在Non-IID分布下的MNIST, F-MNIST和SVHN數據集上的準確性分別達到90.17%, 67.23%和66.12%,而Base算法只達到88.72%, 56.37%和62.02%,但是都在較少輪次內實現(xiàn)收斂,具有較優(yōu)的收斂性能??梢钥吹剑瑹o論數據集是符合IID分布還是符合Non-IID分布的情況下,SelectiveFL算法都優(yōu)于Base算法。
之前的實驗只考慮了4種攻擊的情況,但是FL環(huán)境復雜且面臨的潛在攻擊種類較多,為了評估SelectiveFL在更為復雜的FL環(huán)境中的表現(xiàn),本文繼續(xù)評估了SelectiveFL對攻擊的可伸縮性,表2展示了不同攻擊類型下的魯棒準確性。該實驗使用10個終端進行聯(lián)合防御,攻擊從{FGSM,BIM, PGD, MIM, DeepFool, C&W}中依次抽取攻擊類型數量A∈{2,3,4,5,6}進行實驗,即當A=2時,終端受到來自FGSM和BIM兩種攻擊類型的混合攻擊,隨著A的增大,依次加入攻擊類型。表中數據為收斂后的最后10個輪次的平均值。從表2中,可以發(fā)現(xiàn),隨著攻擊類型數量的增加,準確性發(fā)生了一些不規(guī)則變化,這是由于不同攻擊類型對不同復雜度的數據集影響不同。但是無論攻擊類型數量如何變化,SelectiveFL所達到的準確性都是高于Base算法的,即使在復雜的FL環(huán)境下依然能達到一個較優(yōu)的防御能力。
表2 不同攻擊類型數量的魯棒準確性(%)
前面的實驗只考慮了10個終端聯(lián)合防御的情況,而傳統(tǒng)FL環(huán)境下可能同時存在規(guī)模更大的終端參與FL協(xié)同學習。為了驗證SelectivFL在更大節(jié)點規(guī)模下的表現(xiàn),本文繼續(xù)評估了SelectiveFL對終端的可伸縮性,表3展示了不同終端數目下的魯棒準確性。該實驗考慮4種攻擊類型{FGSM, BIM,PGD, MIM},終端數目C∈{10,20,30,40,50}。從表3可以發(fā)現(xiàn),當更多的終端參與聯(lián)邦防御時,準確性仍然有一定程度的提升。當終端從10增加到50,本文算法在MNIST, F-MNIST和SVHN的準確性分別提高了0.91%, 1.25%和0.55%。除此之外,在3個數據集上,終端數從10到50,本文算法準確性都是優(yōu)于Base算法的。由此可以看出,SelectivFL在大規(guī)模FL環(huán)境下也能實現(xiàn)更優(yōu)的防御性能。
表3 不同終端數目的魯棒準確性(%)
本文提出了一種面對由FL環(huán)境中終端發(fā)起對抗性攻擊的防御策略。該策略通過在多個參與協(xié)同學習的終端上進行對抗性訓練以提取攻擊特性,而在服務器端根據攻擊特性進行選擇性聚合,提升了模型對攻擊的敏感性,進而使得FL模型能夠有效抵抗不同來源的多種對抗攻擊。本文在3個著名的基準數據集上進行了大量實驗,驗證了該方法的有效性和可擴展性,顯著提升了模型在遭受對抗攻擊情況下的模型精確度。本文為在FL環(huán)境下改進模型的安全性提供了借鑒。