劉 飚 張方佼 王文鑫 謝 康 張健毅,3
1(北京電子科技學院 北京 100070) 2(信息網絡安全公安部重點實驗室(公安部第三研究所) 上海 200031) 3(中國科學院網絡測評技術重點實驗室(中國科學院信息工程研究所) 北京 100093) (liubiao@besti.edu.cn)
雖同樣采用了服務器端與客戶端配合的訓練模式,作為近年來研究熱點的聯邦學習(federated learning)[1-2]與分布式學習還是存在較大不同,這些不同主要包括4個方面:1)參數服務器收集客戶端的本地模型來訓練全局模型,而不是直接訓練每個客戶端的數據;2)客戶端訓練數據分布是異構的;3)參數服務器無法控制客戶端的訓練過程;4)客戶端參與訓練存在不確定性.隨著隱私法規——通用數據保護條例(GDPR)的頒布以及社會各界對信息安全的重視,聯邦學習因為它出色的隱私保護能力而受到人們越來越多的關注、信任和應用.
聯邦學習最早的聚合算法是由谷歌提出的FedAvg[2],而如果訓練過程中存在拜占庭客戶端時,基礎算法FedAvg容易受到攻擊.在聯邦學習領域,拜占庭客戶機主要有2個目的:1)破壞訓練過程從而防止全局模型收斂,這稱為阻礙收斂攻擊[3](即非定向攻擊);2)在保證全局模型收斂的基礎上,誘使全局模型對攻擊者選擇的子任務進行錯誤分類,這稱為后門攻擊[3](即定向攻擊).拜占庭式客戶端可以使用數據投毒攻擊來破壞客戶端的本地訓練數據,或者使用模型投毒來篡改客戶端的更新模型.比如文獻[4]提出的PGD-edge攻擊首先使用數據投毒攻擊將原本的客戶端數據集與其他數據集混合,然后在本地訓練后利用模型投毒攻擊將模型參數壓縮到隱蔽的區域.
目前研究提出的拜占庭魯棒聚合算法大多數都關注于模型的參數上.例如,Krum[5]每輪計算客戶端模型之間的歐幾里得距離,并選擇與其他模型距離最小者作為全局模型,如果攻擊者使用隱藏技術將異常模型的參數壓縮至正常范圍時,防御機制將無法檢測.FLTrust[6]能夠有效抵御更大比例的攻擊,但是它需要參數服務器擁有一小批訓練數據,這一要求在金融和醫療[7]等領域是難以實現的.
與之前檢測模型參數的拜占庭魯棒聚合算法不同,本文算法關注Softmax層的輸出.實驗證明,當拜占庭客戶端使用PGD(projected gradient descent)攻擊時,Softmax層的輸出能更有效識別出拜占庭客戶端模型,由于參數服務器在許多應用場景中都沒有數據集,因此實驗生成一個元素值為1的矩陣(本文算法只需要利用一個相同的數據來獲取客戶端模型的Softmax層概率分布,因此對數據本身沒有要求,為了操作簡單,本文實驗使用一個全1矩陣作為數據)用于檢測聯邦學習中的異常模型.在收集客戶端的模型后,參數服務器通過矩陣映射模型的更新部分來獲取模型的Softmax層概率分布,在每輪更新中,參數服務器將聚合分布彼此接近的客戶端模型.本文選擇top-k個相互距離小于均值的模型進行聚合,其中k是一個不固定的參數.
本文實驗部分通過CIFAR-10[8],EMNIST[9]兩個數據集證明本文聚合算法能抵御全部最新的攻擊.隨后與先前研究提出的拜占庭魯棒聚合算法進行比較,即Krum,Multi-Krum[5],NDC[10],RFA[11]和RSA[12],并實施多種阻礙收斂攻擊和后門攻擊(包括符號翻轉攻擊(sign-flipping attacks)[12]、同值攻擊(same-value attacks)[12]、黑盒邊緣攻擊(black-box edge-case attacks)[4]、PGD邊緣攻擊(PGD edge-case attacks)[4]和PGDMR邊緣攻擊(PGD edge-case attacks with model replacement)[4].實驗結果表明:在上面介紹的各類攻擊下,本文提出的算法其準確率接近FedAvg*(即不受攻擊時的FedAvg模型),并且在保真性、魯棒性方面比目前最先進的聚合算法更優.最后本文在文獻[6,13]提出的自適應攻擊框架基礎上提出針對本文算法的自適應攻擊并進行相應測試,結果表明本文算法在EMNIST數據集上可以防御30%的拜占庭客戶端,在CIFAR-10數據集上可以防御45%的拜占庭客戶端.
本文的主要貢獻包括3個方面:
1) 提出了一種基于矩陣映射的抗攻擊算法,通過檢查Softmax層概率分布來判斷客戶端模型是否異常,實驗表明,與檢查模型參數相比,本文算法更有效;
2) 對于拜占庭攻擊,本文算法提高了拜占庭客戶端容忍率,且保持全局模型準確率與FedAvg*接近;
3) 根據文獻[13]的自適應攻擊框架設計了針對本文算法的自適應攻擊,并實驗驗證了本文算法在自適應攻擊下具備一定的防御能力.
在聯邦學習中,多個客戶端通過非獨立同分布的本地數據集共同訓練全局模型,理想情況下優化模型為
(1)

Fi(w)
(2)
其中,ζ(·,·)是用戶指定的損失函數,且客戶端i持有|Di|個數據xi,1,xi,2,…,xi,|Di|.
在一輪更新中,聯邦學習可以大致分為3個步驟(如圖1所示):
1) 參數服務器將聚合的全局模型(第一次迭代時為初始模型)發送給客戶端;
2) 客戶端通過本地訓練更新模型,并將新模型返回給參數服務器;
3) 參數服務器收集部分客戶端模型,并將其聚合為下一次迭代的全局模型.
從圖1中不難發現,步驟3在進行數據交互時有被其他客戶端攻擊的風險,因此,以下所有關于方法的定義都針對步驟3.

Fig.1 Illustration of three steps in one iteration of federated learning圖1 聯邦學習的一輪更新中的3個步驟
圖1中有N個客戶端(例如智能手機或邊緣設備)和參數服務器(例如Google或Amazon之類的服務提供商),每個客戶端具有不同的數據類別和數量.
常見的6種聚合方式為:
1) FedAvg. FedAvg根據權重聚合收集到的客戶端模型,而不考慮拜占庭客戶端.通常情況下,客戶在本地訓練中使用的數據越多,更新后的模型質量越高,聚合時權重就越大,全局模型的更新定義為
(3)

2) Krum[5]. Krum假設參數服務器在每次迭代中掌握拜占庭客戶端的數量信息,聚合時僅選擇一個客戶端模型的更新u*,作為全局模型的更新.u*的選擇策略為
(4)
(5)
其中,Ωj,τ-f-2是τ-f-2個距離模型j最近的模型更新的集合,其中距離使用歐幾里德距離.
3) Multi-Krum[5]. Multi-Krum是Krum的變體,它收集τ-f-2個距離最近的客戶端的模型更新,并將它們聚合進行全局模型的更新.
4) NDC[10]. NDC裁剪掉模型參數中大于閾值的部分,從而削弱拜占庭攻擊的效果.客戶端模型的裁剪策略為
(6)
與文獻[4]中實驗一致,本文實驗設置?=2.
5) RFA[11]. RFA使用平滑的Weiszfeld算法計算收集到的客戶端模型參數的加權幾何中值,作為全局模型的參數,Weiszfeld算法的某一輪次計算為
(7)

(8)

6) RSA[12].為了削弱拜占庭攻擊的效果,RSA在收集客戶端模型之后,僅采用模型參數的方向,而不采用模型參數的大小.因此客戶端模型的所有參數都被限制在一個邊界內,某一輪全局模型的更新策略為
(9)
其中,當x>0時Sign(x)=1;當x<0時Sign(x)=-1;當x=0時Sign(x)為[-1,1]內的任意值.設置RSA的學習率βr=5×10-5×0.998t.
投毒攻擊是指在訓練數據中摻入毒數據或篡改模型參數,從而破壞機器學習的訓練結果.在集中式學習中,典型的投毒攻擊是數據投毒攻擊[14-27].例如,Shafahi等人[23]篡改CIFAR-10中一部分青蛙圖像的標簽來訓練模型,使得最終模型無法正確地對這些圖像進行分類.除了數據投毒攻擊外,聯邦學習還遭受模型投毒攻擊[4,12,28-31],這種投毒攻擊相比于前者對機器學習的破壞性更強.
從攻擊目的分析,可以將投毒攻擊分為阻礙收斂攻擊[3,6,12,30-31]和后門攻擊[4,28-29,32].目前最先進的具有普適性的阻礙收斂攻擊是符號翻轉攻擊和同值攻擊,這2種攻擊的核心都是將模型參數篡改為非正常值,從而破壞全局模型的最終精度.聯邦學習中的第1種后門攻擊是語義后門攻擊[13],它篡改一些數據的標簽,并將訓練好的后門模型參數擴大特定的倍數來達到覆蓋其他模型的效果.由于被放大的毒模型很容易被檢測到,目前大多數的拜占庭魯棒聚合算法可以減輕這種威脅.最先進的后門攻擊是邊緣后門攻擊[4],它誘導模型對本能夠正確分類但在訓練數據中很少出現的數據進行錯誤分類.
本文1.1節中介紹了6種先進的拜占庭魯棒聚合算法,可以分為2類:有副作用算法和無副作用算法.有副作用算法(例如NDC)通過對客戶端模型進行裁剪、壓縮或在毒模型與正常模型之間尋找折中模型來削弱毒模型的效果.盡管有副作用算法減輕了毒模型的負面影響,但正常模型也受到懲罰.無副作用算法(例如Multi-Krum)試圖找到毒模型并排除它們,因此它們沒有副作用.
1) 威脅模型.本文參考文獻[6,13]對拜占庭客戶做出5方面假設:①拜占庭客戶可以獲得上一輪的全局模型;②拜占庭客戶可以任意篡改本地數據和本地更新的模型;③拜占庭客戶可以自由設置本地訓練過程中的超參數,例如學習率和本地訓練輪數;④拜占庭客戶可以選擇性地參與每一輪全局模型的更新;⑤參數服務器端每輪選擇的客戶中,拜占庭客戶數量少于50%.
2) 防御目標.本文從保真性、魯棒性和高效性3個方面來評估本文聚合算法.
① 保真性.在沒有拜占庭攻擊時,本文提出的聚合算法相比于FedAvg*不會犧牲性能.
② 魯棒性.在拜占庭攻擊下,本文聚合算法具有與FedAvg*接近的性能.
③ 高效性.相比于先前的聚合算法,本文聚合算法將檢測毒模型的計算成本大幅度降低.
3) 防御方的能力.假設參數服務器是唯一的防御方,有3方面假設:①參數服務器無權訪問客戶端本地訓練數據;②在每次迭代中,參數服務器都可以訪問收集到的客戶端的本地模型[6,13];③每輪參數服務器對拜占庭客戶的數量不可知[6,10-12].
本文通過矩陣對客戶端模型進行檢測以獲取模型“可視化圖像”.通常,正常模型們將顯示出相似的“圖像”,而毒模型將顯示出異常的“圖像”,算法通過比較模型“可視化圖像”的相似性來判斷客戶端模型是否異常.
本模型的聚合方式包括4個部分:拆分(通過式(10)拆分收集的模型以獲取模型更新部分)、映射(通過矩陣映射模型的更新部分來獲取模型的概率分布)、檢測(通過l2-范數計算每個概率分布的距離,從而得到模型的異常程度,并標記異常模型)和聚合(排除標記的異常模型,聚合剩余的正常模型).
圖2描述了本文聚合算法的具體流程:

Fig.2 The procedure of our aggregation algorithm圖2 本文聚合算法流程

1) 拆分.在每一輪全局模型的更新中,客戶端以前一輪的全局模型作為初始模型訓練自己的本地模型.然后,參數服務器收集一定數量的客戶端模型用于更新全局模型.考慮到在拜占庭攻擊下,模型的異常集中在其更新的部分;并且隨著模型學習輪數的增加,更新的部分將在模型中占據越來越小的比例.所以,如果直接檢測收集的客戶端模型,將難以檢測到異常.因此,參數服務器拆分收集到的客戶端模型,從而獲取用于映射和檢測的更新部分.
2) 映射.考慮到參數服務器沒有數據集,本文算法根據訓練數據的大小生成一個矩陣,該矩陣用于提取模型特征.在每一輪全局模型的更新中,參數服務器將矩陣注入到每一個拆分后的客戶端模型中(即以模型更新部分為權重的網絡),以映射模型的特征.圖3顯示了在投毒攻擊下某一輪中毒模型與正常模型之間的特征差異.映射過程定義為
(10)

相比于觀察模型,觀察Softmax層概率分布能更有效區分拜占庭客戶端的模型和正常客戶端的模型,如圖3(a)(c)所示,在黑盒攻擊下,觀察模型和觀察Softmax層概率分布都能有效區分拜占庭客戶端模型和正常客戶端模型,而在PGD攻擊下(相對黑盒攻擊更隱蔽的一種攻擊),拜占庭客戶端模型和正常客戶端模型在空間中已經難以區分(圖3(b)),即通過計算客戶端模型之間的距離已無法發現異常,而此時拜占庭客戶端模型的Softmax層概率分布和正常客戶端模型的Softmax層概率分布在空間中仍然有較為清晰的分界(圖3(d)),從而通過計算距離,本文算法仍可以有效區分拜占庭客戶端模型和正常客戶端模型.
3) 檢測.矩陣映射之后,參數服務器首先排除概率分布值明顯異常(例如值為inf和nan,inf表示無窮大,nan表示非數字)的客戶端模型.然后,參數服務器通過計算剩余模型相互之間的歐幾里得距離求得哪些模型為異常模型.出于經驗,我們保留異常分數低于均值的客戶端模型作為最終聚合所用的模型,該過程定義為
Preserve{w1|ASi (11) 4) 聚合.參數服務器通過重新計算的權重來聚合保留的τ″個模型: Fig.3 Dimension reduction analysis of Softmax layer output under different attacks圖3 在不同攻擊下Softmax層輸出的降維分析 (12) 其中,wt+1是第t+1次迭代聚合的全局模型,|Di|是客戶端i的數據量. 算法1、算法2分別介紹了正常客戶端和拜占庭客戶端的訓練算法,算法3介紹了在本文聚合算法下聯邦學習其中一輪全局模型的更新過程.具體地,算法3分為4個步驟:1)在收到一定數量的客戶端模型之后,參數服務器端拆分收集到的模型以獲取更新部分,并注入矩陣得到模型的Softmax概率分布;2)根據客戶端模型的概率分布,參數服務器端計算其異常分數AS;3)參數服務器端剔除AS超出平均值的客戶端模型;4)重新計算權重,并聚合剩余的客戶端模型. 算法1.BenignUpdate(w,D,b,ηt,Tl). 輸入:初始模型w、 數據集D、批數量b、本地訓練學習率ηt、 本地訓練輪數Tl; 輸出:正常模型wTl,B. ①w0,0=w; ② fori=1,2,…,Tldo ③ forj=1,2,…,Bdo/*假設數據集D有B個batch*/ ⑤ end for ⑥ end for ⑦ returnwTl,B. 算法1中,wTl,B表示以Tl×B次迭代的客戶端模型,Tl是本地訓練輪數,B是本地數據集的批量. 算法2.MaliciousUpdate(w,Dpoi,b,ηt,Tl). 輸入:初始模型w、毒數據集Dpoi、批數量b、 本地訓練學習率ηt、 本地訓練輪數Tl; ①w0,0=w; ② if 使用數據投毒攻擊 ④ else if 使用模型投毒攻擊 ⑤wTl,B=BenignUpdate(w,Dpoi,b,ηt,Tl); /*函數Manipulate( )表示拜占庭客戶端對模型參數的操作*/ ⑦ else/*一些拜占庭客戶端同時利用數據投毒攻擊和模型投毒攻擊(例如PGD-edge攻擊)*/ ⑩ end if 算法3.AggregationAlg(w,D,b,ηt,Tl,dao). 輸入:初始模型w、 數據集D、批數量b、本地訓練學習率ηt、 本地訓練輪數Tl、元素值為1的矩陣dao; 輸出:最終全局模型wT. 1) 客戶端: /*接收上一輪的全局模型wt-1*/ ① fori=C1,C2,…,Cτ并行處理 ② ifC1是正常客戶端 ④ else ⑦ end if ⑧ end for 2) 參數服務器端: /*步驟1.通過矩陣映射模型的更新模型,獲得Softmax層的輸出值Oi,i=1,2,…,τ.Network(·,·)函數返回Softmax層的輸出值.*/ ① fori=C1,C2,…,Cτdo ④ if 向量Oi存在異常值 ⑤ 在本輪中棄用客戶端Ci的模型; ⑥ end if ⑦ end for /*步驟2.計算客戶端模型的異常分數ASCτ*/ ⑧ fori=C1,C2,…,Cτ′do ⑩ end for /*步驟3.移除ASs超過閾值的客戶端模型*/ /*步驟4.聚合得到全局模型*/ 當拜占庭式客戶端掌握聯邦學習系統使用的聚合算法的信息時,攻擊者可以設計一種針對此聚合算法的攻擊手段繞過防御措施,此類攻擊稱為自適應攻擊.與通用攻擊(例如標志翻轉和黑盒邊緣)相比,自適應攻擊(例如針對NDC的PGD-edge攻擊)在面對其對應的聚合算法時攻擊效果更強.因為自適應攻擊是假設拜占庭客戶端知道參數服務器使用的聚合算法,并針對此聚合算法的弱點做出的專門攻擊.要設計出自適應攻擊,則需要掌握更多關于系統的信息.為了進一步測試本文聚合算法的魯棒性,我們根據文獻[6,13]提出的通用框架設計了一種針對本文聚合算法的自適應攻擊,該框架曾成功運用于攻擊Krum,Trimmed Mean和Median[33]. 文獻[6,13]提出的自適應攻擊框架適用于所有聚合算法.在自適應攻擊中,拜占庭式客戶端之間相互勾結,在聚合算法檢測不到的范圍內,使得全局模型出現偏離.在模型的方向上,達到這一目的最有效的辦法是找到全局模型更新的相反方向,然后將本地模型的更新修改為這個方向.除了方向,還需要考慮的是更新的幅度,因此,如何在檢測范圍外找到盡可能大的更新幅度至關重要,通常自適應攻擊框架定義為: (13) 假設所有拜占庭客戶端都是相互合謀的,它們的“領導者”可以獲取其他拜占庭客戶端的模型并任意篡改.在收到全局模型后,這些拜占庭客戶端通過本地數據對其進行訓練,然后根據這些客戶端模型形成的分布,“領導者”計算出一個合適的度量λ,使得篡改后的模型在能繞過檢測的基礎上最大化攻擊效果.接著,“領導者”統一其他拜占庭客戶端篡改模型為此模型,該威脅模型與文獻[13]的不完全信息假設一致. 我們設置0≤λ<200,與文獻[13]相同,我們使用二進制搜索來求解λ.f個拜占庭客戶端首先用干凈的本地數據訓練出干凈的模型,用矩陣映射以獲得干凈的Softmax概率分布.然后,以此分布為“真實”分布,基于上述自適應攻擊框架修改模型參數.假設wf+1是拜占庭客戶端模型的“領導者”,其他f-1個拜占庭客戶端模型與其保持一致.修改前的f個模型的概率分布和修改后f個模型的概率分布形成新的分布.如果wf+1的AS小于2f個模型AS的均值,那么λ減少一半,否則增加一倍,直到ASf+1小于本文算法檢測閾值為止. 本節從經驗角度分析本文聚合算法具有一定程度的防御自適應攻擊能力的原因. 首先,當客戶端本地數據分布是獨立同分布時,模型間的參數分布是服從高斯分布的,此時假設一部分本地模型的分布可以代表所有客戶端模型的分布是合理的.但當客戶端本地數據分布是非獨立同分布時,模型的分布是不規則的,此時再以拜占庭客戶端的模型分布模擬真實分布是有偏差的,篡改后的模型是不能保證其隱蔽性的. Fig.4 A simple neural network圖4 一個簡單的神經網絡 實驗首先評估本文聚合算法的保真性和魯棒性.我們將它與先前的6種聚合算法進行對比來證明本文聚合算法在真實聯邦學習環境中,能夠更好地防御各類投毒攻擊;然后,我們對本文設計的自適應攻擊進行評估來驗證本文聚合算法具有對抗自適應攻擊的能力;最后,我們理論分析了本文提到的6種聚合算法的時間復雜度并作對比,對比顯示本文提出的聚合算法是效率最高的. 1) 數據集 本文使用2個計算機視覺領域的數據集.對于每個數據集,我們通過Dirichlet分布[34]將訓練數據不均等地分發給客戶端,以模擬真實的聯邦學習系統,分布χ~Dir(γ,N)中的參數γ越小,客戶端本地數據的非獨立同分布程度越高. ① CIFAR-10. CIFAR-10是一個彩色圖像分類數據集,其中包含預定義的50 000個訓練數據和10 000個測試數據.在CIFAR-10中,我們通過Dirichlet分布對數據進行分發.具體而言,CIFAR-10中,每個類有5 000個訓練數據,通過分布χ~Dir(1.0,N)我們得到M個N維的Dirichlet分布.根據這M個分布,我們按數據類依次向N個客戶分發訓練數據.數據量達到平均值的客戶端將停止接收數據.因此除了數據類別比例不同之外,客戶端的數據量也可能不同. ② EMNIST. EMNIST數據集是從NIST數據庫派生的一組手寫字符數據,由6個子數據集組成,分別是By_Class,By_Merge,Balanced,Digits,Letters和MNIST.在EMNIST中,本實驗選擇Digits數據集,其中包含240 000個訓練數據和40 000個測試數據.與CIFAR-10的處理一致,EMNIST根據分布χ~Dir(1.0,N)分發數據給客戶端. 2) 投毒攻擊 實驗進行2類投毒攻擊,包括阻礙收斂攻擊(無針對性)和后門攻擊(有針對性).對于阻礙收斂攻擊,本實驗使用符號翻轉攻擊和同值攻擊;對于后門攻擊,本實驗使用黑盒邊緣攻擊、PGD邊緣攻擊和PGDMR邊緣攻擊.邊緣攻擊的設置與文獻[4]相同,對于CIFAR-10,本實驗收集西南航空公司飛機圖像并將其標記為“卡車”作為毒數據供拜占庭客戶端訓練;對于EMNIST,本實驗將Ardis的手寫圖像 “7”的標簽改為“1”作為毒數據供拜占庭客戶端訓練. ① 符號翻轉攻擊.在符號翻轉攻擊中,拜占庭式客戶端i首先訓練出真實的本地模型wi,然后將其翻轉為wi=-4×wi后提交給參數服務器. ② 同值攻擊.在同值攻擊中,拜占庭客戶端將模型參數都修改為100并提交給參數服務器. ③ 黑盒邊緣攻擊.邊緣后門攻擊是聯邦學習目前面臨的未能應對的威脅.黑盒邊緣攻擊只添加毒數據至客戶端的本地訓練數據,而不篡改模型參數.攻擊者篡改稀有數據的標簽制作毒數據,并在混有干凈數據和毒數據的數據集中訓練出毒模型.對于黑盒設置,我們將20%的干凈數據和80%的毒數據混合在一起作為拜占庭客戶端的數據集.根據文獻[4]的實驗證明,這一混合比例下攻擊效果最強.為了最大化邊緣后門攻擊的效果,本實驗假設拜占庭客戶參與每輪聯邦學習的更新. ④ PGD邊緣攻擊.PGD是一種模型隱藏技術,它壓縮毒模型的參數使得毒模型與正常模型有著相似的范數,以便攻擊者可以成功繞過當前的魯棒聚合算法.PGD邊緣攻擊將模型投影到以上一輪全局模型為球心、半徑為δ的超球面上.與文獻[4]一致,對于CIFAR-10,我們設置δ=2;對于EMNIST,我們設置δ=1.5. ⑤ PGDMR邊緣攻擊.模型替換技術(MR)由文獻[13]首次提出.拜占庭客戶端i以比例|D|/|Di|放大毒模型,再將其發送到參數服務器.參數服務器聚合之后的全局模型即為毒模型.但是這種簡單的攻擊方式很容易被一般的魯棒聚合算法檢測到.在PGDMR邊緣攻擊中,拜占庭客戶端i首先基于黑盒邊緣攻擊進行PGD邊緣攻擊,然后計算替換 ⑥ 自適應攻擊.實驗使用第4節中設計的自適應攻擊.設置參數服務器在每輪更新中收集20個客戶端模型,且分別假設其中5%~50%是拜占庭客戶端模型. 3) 評估指標 對于阻礙收斂攻擊,攻擊者旨在降低模型在測試集上的整體準確率,所以本文使用全局模型的測試準確率來評估聚合算法的性能.如果某一聚合算法得到的全局模型測試準確率更高,則這一聚合算法在對抗阻礙收斂攻擊時的魯棒性更強.對于后門攻擊,考慮2個指標來評估全局模型:主任務的測試準確率和后門任務的測試準確率.具體地,主任務的測試準確率是在整個測試集上的準確率,后門任務的測試準確率是在攻擊者選擇或制作的目標測試集上的準確率.如果某一聚合算法得到的全局模型在主任務上實現較高的測試準確率,而在后門任務上實現較低的測試準確率,則說明這一聚合算法在對抗后門攻擊時的魯棒性更強. 4) 系統設置 與文獻[4]的設置一致.后門攻擊中,對于CIFAR-10,我們總共設置200個客戶端,每輪選取10個客戶端模型用作全局模型的更新.對于EMNIST,我們總共設置3 383個客戶端,每輪選取30個客戶端模型用作全局模型的更新.對于阻礙收斂攻擊,客戶端總數不變,每輪選取20個客戶端模型參與更新. Fig.5 The performance of aggregation algorithms under no attack圖5 無攻擊情況下各聚合算法的表現 全局模型:通過在不同的數據集上訓練不同的網絡以顯示本文聚合算法的普適性.具體來說,本文分別針對CIFAR-10和EMNIST訓練了VGG-9和LeNet.對于阻礙收斂攻擊,實驗從初始模型開始訓練800輪;對于后門攻擊,實驗從預訓練模型開始訓練100輪. ① 保真性.如圖5所示,對于阻礙收斂攻擊,本文聚合算法、Multi-Krum、NDC和RFA在沒有拜占庭攻擊的情況下都具有與基準算法FedAvg相近的性能.盡管RSA具有很快的收斂速度,但它只能收斂到模型的次優解. 對于后門攻擊,不難看出除Krum之外的其他聚合算法的性能都可與FedAvg*接近.在沒有攻擊的情況下,訓練過程可能會犧牲全局模型對數據中某些類的判別準確性來確保模型的整體準確性.(在文獻[4]的實驗設置下,EMNIST上的圖像“7”具有較高的錯誤率).總而言之,本文提出的聚合算法在實驗中所有場景下都具有較強的保真性. ② 魯棒性.對于阻礙收斂攻擊,無論攻擊類型和數據集如何,NDC和RFA都會防守失敗.RSA在CIFAR-10上效果不佳,但在EMNIST上具有一定的防守能力,由此可推知RSA能夠有效地處理簡單的數據集和網絡,但在復雜的數據集和網絡中存在不足.Krum具有一定程度的魯棒性,但是以犧牲FedAvg*的性能為前提.當拜占庭客戶端占比40%時,只有Multi-Krum和本文聚合算法性能接近于FedAvg*. 為了進一步比較Multi-Krum和本文聚合算法的魯棒性,我們進行了漸進實驗.從開始設置的拜占庭客戶端占比40%提升至45%,這一占比更接近于威脅模型中假設的極端情況.表1和表2中數據顯示,Multi-Krum在此極端攻擊下失去了防御能力.而本文聚合算法仍然可以保持和FedAvg*相近的性能.后門攻擊中.對于主任務,不論是在CIFAR-10,還是在EMNIST下,除了Krum的其他聚合算法都維持了主任務的測試準確率. Table 1 Test Results of Aggregation Algorithms Under CIFAR-10 Table 2 Test Results of Aggregation Algorithms Under EMNIST 對于后門任務,不論是在CIFAR-10,還是在EMNIST下,只有本文聚合算法能夠始終防守3種邊緣后門攻擊,使全局模型的性能始終接近FedAvg*.于是我們可以得出結論,本文聚合算法是目前唯一可以做到防守邊緣后門攻擊的魯棒算法. ③ 高效性.如表3所示,其中ζ表示模型參數的數量,M表示標簽類別的數量,τ表示每次迭代中收集的模型的數量,φ表示訓練矩陣的時間.我們比較各個聚合算法的時間復雜度.參數服務器端使用FedAvg時不需要篩選收集的客戶端模型,因此其篩選模型的時間復雜度為O(1),Krum和Multi-Krum計算τ個客戶模型參數的相互距離,NDC和RSA對τ個模型的參數進行裁剪或正則化操作,RFA通過考慮客戶模型的參數來找到多個模型的幾何中心.總之,以上這些算法都需要計算ζ個模型參數.目前先進的深度學習模型具有成百上千萬個參數(例如VGG-16具有1.38×108個參數),所以考慮模型參數的聚合算法面臨較大的計算量.本次聚合算法的檢測避開了模型參數的計算,而是考慮Softmax層概率分布,即M個輸出值.并且,訓練矩陣的時間φ以忽略不計,所以本文聚合算法篩選模型的時間復雜度O(τφ+τ2M)≈O(τ2M).在聯邦學習中,參數服務器不會在一輪更新中收集太多的客戶端模型(通常為50~5 000[35])以確保效率.由此可以得出結論,與其他方法,如Krum,Multi-Krum,NDC,RFA和RSA算法相比,本文聚合算法的效率提高了成百上千萬倍. Table 3 Time Complexity of Aggregation Algorithms ⑤ 自適應攻擊下的防御能力.圖6是本文聚合算法與其他聚合算法在不同比例的拜占庭客戶端下的表現.在自適應攻擊下,分別在CIFAR-10上運行800輪,在EMNIST上運行100輪.由圖6發現,對于數據集CIFAR-10和網絡VGG-9,拜占庭客戶端占比不超過45%時,本文聚合算法的性能接近FedAvg*.對于數據集EMNIST和網絡LeNet,拜占庭客戶端占比不超過30%時,本文聚合算法的性能接近FedAvg*.所以,我們可以得出結論,本文聚合算法具有一定程度的防御自適應攻擊的能力. Fig.6 Test results of our aggregation algorithm under the adaptive attack圖6 自適應攻擊下本文聚合算法的測試結果 1) 檢測層.本文聚合算法選擇使用Softmax層輸出的概率分布來判斷模型的質量.我們認為這可能不是最佳的檢測層.我們推測以全連接層的輸出作為檢測層可能效果更好,因為這一層具有更多參數.Huang等人[36]使用可解釋性技術設計一個熱力圖來解釋DNN的輸出,從而判斷模型參數是否異常.但Huang等人的方法的模型假設與本文不同,它要求防守方擁有一批包含所有類的干凈數據集,這一要求在聯邦學習中是難以實現的.總之,我們認為檢測特定的網絡層而不是整個網絡更為有效. 2) 矩陣.本文聚合算法的矩陣由元素1填充,我們認為這可能不是矩陣的最佳填充方式.Kolouri等人[37]提出一組可以訓練更新的“石蕊試紙”(ULPs)來檢測后門模型.然而,它需要數百個預先訓練的干凈模型和后門模型來訓練一個分類器和這組“石蕊試紙”,這一要求在聯邦學習中是不切實際的.不過,如何聯合客戶端更新更有效的矩陣可能是一個值得研究的方向.Huang等人[38]提出了用于后門檢測的單像素圖像(one-pixel signature),與Kolouri等人的方法一樣,單像素圖像的使用也需要預先訓練好的干凈模型和后門模型.但是,運用單像素圖像的思路,可能有利于改進本文聚合算法. 3) 其他聚合算法.最近,有研究者提出一些專門針對阻礙收斂攻擊或后門攻擊的聚合算法,例如,文獻[39]提出一個針對阻礙收斂攻擊的聚合算法:參數服務器觀察每一輪中各用戶模型與歷史狀態的一致性,從而判斷哪些用戶節點為惡意節點.文獻[40]提出一個針對后門攻擊的聚合算法:參數服務器觀察用戶提交的模型更新中的每一個維度的方向,方向一致性高的維度,其值予以采納,方向一致性低的維度,將其值作負數處理,從而增大全局模型在測試數據集中的損失,迫使模型重新訓練,這些聚合算法都具有啟發性,但只能防守其中一種攻擊,不同于這些聚合算法,本文聚合算法適應范圍更廣. 4) 局限性.雖然本文聚合算法首次實現了對邊緣后門攻擊的防守,但它對拜占庭客戶端占比的容忍能力不強.如圖7所示,在CIFAR-10中,對于3種邊緣后門攻擊,本文聚合算法對拜占庭客戶端的容忍率(容忍率為聚合算法能抵抗攻擊的最大客戶端占比)為25%~45%;在EMNIST中,對拜占庭客戶端的容忍率為10%~30%.對此,我們將深入探究其中的原因,并在將來的工作中進一步提高本文聚合算法防御后門攻擊的能力. Fig.7 Test poisoned dataset accuracy in our aggregation algorithm under three attacks and no attacks圖7 3種攻擊和無攻擊下本文聚合方式在毒數據集中的測試準確率 本文聚合算法未考慮聯邦學習中的隱私保護問題,客戶端提交的梯度對參數服務器端是透明的,當參數服務器端被惡意操控時,梯度的信息可以被一定程度反演出來,從而造成客戶端隱私泄露.所以,實現秘密分享[41]對于聯邦學習系統至關重要.此外,客戶端提交模型存在異步性,如何在這種場景下提升通信效率也是聯邦學習中的一大挑戰[42],本文聚合算法在未來的工作中仍需克服這些挑戰. 本文提出了一種基于矩陣映射的新型拜占庭魯棒聚合算法.參數服務器首先通過矩陣映射客戶端模型的更新部分以獲得Softmax層概率分布,然后根據模型的概率分布異常程度決定是否保留此模型.本文對阻礙收斂攻擊和后門攻擊進行了評估.與基礎的聯邦學習聚合算法FedAvg相比,本文提出的算法在不遭受任何攻擊的情況下性能與FedAvg相近,并且在防御目前先進的投毒攻擊方面表現優于其他現有的先進聚合算法,而且,我們的算法在計算量上相比于之前的聚合算法降低了幾千至幾百萬倍.此外,實驗還表明:當每輪更新中拜占庭客戶端不超過30%時,本文聚合算法可以有效抵御自適應攻擊. 作者貢獻聲明:劉飚負責論文算法提出、映射模型設計;張方佼負責論文算法提出、實驗設計、論文撰寫;王文鑫負責實驗驗證、論文撰寫;謝康負責實驗實現與驗證;張健毅負責論文算法提出、論文撰寫.第一作者和第二作者對本文的貢獻相同.













4 自適應攻擊
4.1 通用自適應攻擊框架

4.2 自適應攻擊的威脅模型
4.3 針對本文的自適應攻擊算法
4.4 關于對抗自適應攻擊的經驗分析


5 實驗評估
5.1 實驗設置


5.2 實驗結果




6 相關工作

8 總 結