楊志剛 王卓彤 吳大鵬* 王汝言 吳 渝 呂 翊
①(重慶郵電大學網(wǎng)絡(luò)空間安全與信息法學院 重慶 400065)
②(重慶郵電大學通信與信息工程學院 重慶 400065)
③(先進網(wǎng)絡(luò)與智能互聯(lián)技術(shù)重慶市高校重點實驗室 重慶 400065)
④(泛在感知與互聯(lián)重慶市重點實驗室 重慶 400065)
物聯(lián)網(wǎng)(Internet of Things, IoT)與人工智能的快速發(fā)展和深度融合,推動物聯(lián)網(wǎng)的發(fā)展進入萬物互聯(lián)的新時代。機器學習能充分挖掘海量異構(gòu)數(shù)據(jù)的內(nèi)在聯(lián)系和有效價值,極大地提升物聯(lián)網(wǎng)系統(tǒng)的智能化程度[1]。然而,傳統(tǒng)機器學習方法需要大規(guī)模采集終端用戶的原始數(shù)據(jù),終端用戶將失去自身數(shù)據(jù)的控制權(quán),且在數(shù)據(jù)傳輸和存儲過程中面臨嚴重的隱私泄露風險。聯(lián)邦學習作為一種分布式機器學習技術(shù)[2],通過聚合多方參數(shù)的方式實現(xiàn)模型的更新迭代,在滿足參與方隱私需求的前提下聯(lián)合建模,充分挖掘數(shù)據(jù)價值。
然而,物聯(lián)網(wǎng)設(shè)備訓練過程中的中間參數(shù)容易被攻擊者惡意篡改,由于聯(lián)邦學習分布式訓練特性,服務(wù)器難以評估參與方上傳模型參數(shù)的可用性,導(dǎo)致全局模型發(fā)散甚至失效。例如典型的拜占庭攻擊,攻擊者可以發(fā)送任意中間參數(shù)給服務(wù)器,引起廣泛使用的聚合規(guī)則失效[2]。魯棒聚合方法是抵御拜占庭攻擊的常用方法,但傳統(tǒng)魯棒聚合方法對于節(jié)點數(shù)據(jù)獨立同分布(Independent and Identical Distribution, IID)的假設(shè)并不適用于物聯(lián)網(wǎng)場景[3,4]。受地理位置、用戶偏好等因素影響,物聯(lián)網(wǎng)設(shè)備采集的數(shù)據(jù)往往是非獨立同分布(Not Independent and Identical Distribution, Non-IID)的,傳統(tǒng)魯棒聚合方法難以區(qū)分獨異于全局的梯度是拜占庭梯度,還是數(shù)據(jù)異構(gòu)產(chǎn)生的次優(yōu)化梯度。
聯(lián)邦學習通過傳輸中間參數(shù)來實現(xiàn)對原始數(shù)據(jù)的隱私保護。然而,已有研究表明可以通過中間參數(shù)發(fā)起推理攻擊,竊取物聯(lián)網(wǎng)設(shè)備的原始數(shù)據(jù)[5]。現(xiàn)有的解決方案大多采用加密的方式保護中間參數(shù),但物聯(lián)網(wǎng)設(shè)備有限的計算能力難以承載復(fù)雜的加密方案[6,7]。此外,參數(shù)的隱私性與聚合的魯棒性在實現(xiàn)路徑上存在矛盾。出于隱私性考慮需要對原始梯度進行加密,使各參與方梯度不可見,但是根據(jù)原始梯度間的差異修改分布式隨機梯度下降(Stochastic Gradient Descent, SGD)是抵御拜占庭攻擊保障模型魯棒性的有效方法。如何在梯度參數(shù)加密的情況下實現(xiàn)模型魯棒聚合是當前聯(lián)邦學習研究中一項富有挑戰(zhàn)的課題。
為了解決上述問題,本文提出一種面向異構(gòu)物聯(lián)網(wǎng)帶有隱私保護的魯棒聯(lián)邦學習方法,在數(shù)據(jù)異構(gòu)環(huán)境下提供面向半誠實服務(wù)器和拜占庭攻擊者的雙向防御,在模型性能、計算開銷中實現(xiàn)良好的平衡。本文的主要貢獻如下:
(1)為了增強數(shù)據(jù)異構(gòu)情況下魯棒聚合算法的性能,有效抵御拜占庭攻擊,本文提出帶有數(shù)據(jù)重采樣的魯棒聚合方法Re-Sim。采用數(shù)據(jù)重采樣,通過反向有效樣本數(shù)調(diào)整不同標簽數(shù)據(jù)的采樣概率。同時以Krum為基準設(shè)計聚合算法,分析上傳梯度的大小、符號相似性等相關(guān)性信息,自適應(yīng)調(diào)整梯度的權(quán)值。
(2)為了在魯棒聚合的同時防止半誠實服務(wù)器、惡意攻擊者竊取用戶隱私,本文設(shè)計了輕量安全聚合協(xié)議(Lightweight Security Aggregation, LSA),采用算術(shù)秘密共享作為底層的隱私保障技術(shù),同時引入乘法3元組(Beaver Triples, BT)擴展算術(shù)秘密共享的乘法操作,在密文上實現(xiàn)魯棒聚合算法。
(3)最后,從理論和仿真兩方面對方案進行全面分析,首先對方案的隱私性進行嚴格的理論分析,然后在多個數(shù)據(jù)集上進行廣泛的實驗,證明了本方案在數(shù)據(jù)異構(gòu)和資源受限條件下的有效性和優(yōu)越性。
在實際場景中,物聯(lián)網(wǎng)設(shè)備容易遭受攻擊和控制,同時聯(lián)邦學習的分布式特點和單一聚合機制讓攻擊者更容易破壞整體學習進程。現(xiàn)有的魯棒聚合算法大多采用穩(wěn)健聚合規(guī)則對分布式SGD進行擴展,可以保證模型在遭受拜占庭攻擊的情況下獲得魯棒的有效解。如Blanchard等人[3]使用梯度范數(shù)距離總和選取候選梯度進行模型參數(shù)更新。Yin等人[4]從梯度的每個維度出發(fā),選取每個維度上除最小和最大值的平均數(shù)構(gòu)成全局梯度更新。Yin等人[4]按梯度每個維度排序取中位數(shù),組合成一個新的聚合梯度。以上算法都是基于數(shù)據(jù)IID假設(shè),意味著不同節(jié)點梯度參數(shù)的數(shù)學期望是全局真實梯度的無偏估計,因此基于距離和統(tǒng)計的魯棒聚合方法能比較容易地鎖定異常節(jié)點。然而,在物聯(lián)網(wǎng)場景中,物聯(lián)網(wǎng)設(shè)備的數(shù)據(jù)異構(gòu)性導(dǎo)致梯度參數(shù)方差過高,破壞了上述拜占庭魯棒聚合方法的普遍假設(shè),使其難以有效地防御拜占庭攻擊[8]。
近年來,針對數(shù)據(jù)異構(gòu)條件下的魯棒聯(lián)邦學習方法也有一些研究。Zhai等人[9]綜合考慮數(shù)據(jù)驗證和自適應(yīng)異常檢測方法實現(xiàn)參與節(jié)點的可信度評估,但服務(wù)器需保有一定數(shù)量的共享數(shù)據(jù)用于輔助檢測,這在物聯(lián)網(wǎng)場景中并不適用。拜占庭魯棒隨機聚集(Byzantine-Robust Stochastic Aggregation,RSA)是一種基于模型的魯棒聚合算法,在目標函數(shù)中結(jié)合正則化項,優(yōu)化學習任務(wù)同時減弱拜占庭攻擊者的影響[10]。該方法不依賴數(shù)據(jù)IID假設(shè),但卻難以有效區(qū)分拜占庭攻擊和統(tǒng)計異構(gòu)性對梯度的影響。
為了防止聯(lián)邦學習中客戶端的敏感信息泄露,現(xiàn)有的研究工作主要聚焦在以下3種隱私技術(shù):差分隱私、同態(tài)加密和安全多方計算。聯(lián)邦學習中差分隱私通常是通過在梯度中添加噪聲進行擾動來實現(xiàn)的。該方法在計算效率方面有一定的優(yōu)勢,但模型的收斂速度和準確度會受添加的噪聲影響,在較為復(fù)雜的聯(lián)邦學習任務(wù)中模型訓練效果和隱私保護程度難以平衡。同態(tài)加密是聯(lián)邦學習中廣泛應(yīng)用的一種梯度保護技術(shù)[11],提供強大的隱私保證和無損的隱私計算效果,同時支持客戶端動態(tài)退出。然而,該方法需要對高維梯度參數(shù)進行復(fù)雜的加密操作,計算成本消耗巨大成為同態(tài)加密應(yīng)用于計算受限物聯(lián)網(wǎng)設(shè)備的主要障礙。安全多方計算通過多次交互進行特定函數(shù)計算,且支持密文復(fù)雜計算邏輯。Fu等人[12]通過兩組拉格朗日插值點實現(xiàn)秘密共享,確保聚合結(jié)果的正確性并且進行有效還原。然而,上述所有的解決方案均沒有考慮到客戶端側(cè)存在拜占庭攻擊者的情況。
現(xiàn)有滿足隱私保護需求的魯棒聯(lián)邦學習研究仍處于探索階段,密文形式下的安全魯棒聚合及對數(shù)據(jù)來源的可靠性評估是該項研究面臨的主要挑戰(zhàn)。So等人[13]通過Feldman可驗證秘密共享確保分享值的有效性,同時使用Shamir秘密共享的同態(tài)性質(zhì)實現(xiàn)Muti-Krum魯棒聚合規(guī)則,但在每個客戶端之間進行秘密共享值的傳遞,需要額外的通信開銷,并不適用于擁有海量設(shè)備的物聯(lián)網(wǎng)場景。Liu等人[14]提出的隱私增強的聯(lián)邦學習(Privacy-Enhanced Federated Learning, PEFL)利用線性同態(tài)加密(Linearly Homomorphic Encryption, LHE)的加同態(tài)特性和同態(tài)倍增特性實現(xiàn)基于皮爾遜相似度的魯棒聚合,但資源受限的物聯(lián)網(wǎng)設(shè)備難以承擔LHE算法對計算資源的高需求。
如圖1所示,整個系統(tǒng)模型由3層構(gòu)成,分別為云層、邊緣層和感知層。云層的云服務(wù)器負責聚合所有邊緣服務(wù)器的局部模型參數(shù);位于邊緣層的邊緣服務(wù)器和輔助服務(wù)器,協(xié)同計算實現(xiàn)局部模型的安全魯棒聚合,在Non-IID的情況下有效緩解拜占庭攻擊對模型的影響;感知層中的大量智能物聯(lián)網(wǎng)設(shè)備(如智能手機、監(jiān)控攝像頭、智能醫(yī)療器械等),負責數(shù)據(jù)收集(如位置數(shù)據(jù)、財務(wù)數(shù)據(jù)、臨床數(shù)據(jù)等)、模型訓練和梯度秘密共享,在有限的資源下防止梯度泄露設(shè)備隱私信息。完整的工作流程包括以下4個步驟:
圖1 系統(tǒng)模型
(1)初始化:云服務(wù)器初始化全局模型參數(shù),并下發(fā)至邊緣服務(wù)器。邊緣服務(wù)器獲取到全局模型參數(shù)后,將其轉(zhuǎn)發(fā)給所管轄的物聯(lián)網(wǎng)設(shè)備。
(2)本地模型訓練:每個物聯(lián)網(wǎng)設(shè)備獲取到模型參數(shù)后,利用數(shù)據(jù)重采樣方法訓練本地模型,訓練完成后將模型梯度以秘密共享的方式返回邊緣服務(wù)器和輔助服務(wù)器。
(3)局部模型聚合:邊緣服務(wù)器和輔助服務(wù)器收到物聯(lián)網(wǎng)設(shè)備返回的模型更新,計算實現(xiàn)局部模型安全聚合,然后將局部模型聚合結(jié)果返回給云服務(wù)器進行全局模型聚合。
(4)全局模型聚合:收到各個邊緣返回的局部模型聚合結(jié)果,云服務(wù)器采用經(jīng)典的聯(lián)邦平均算法實現(xiàn)全局模型的快速聚合。如果全局模型指標到達訓練任務(wù)停止標準,則停止本地模型訓練;否則重復(fù)步驟(2)~(4)。
安全威脅模型:與文獻[3,4]中的設(shè)置相同,攻擊者可以控制小于1/2的物聯(lián)網(wǎng)設(shè)備,在迭代更新過程的步驟(2)執(zhí)行拜占庭攻擊,向邊緣服務(wù)器和輔助服務(wù)器發(fā)送任意的本地模型更新,干擾整體學習進程。
隱私威脅模型:系統(tǒng)中的邊緣服務(wù)器和輔助服務(wù)器都是誠實但好奇的,將在步驟(3)中誠實地遵守協(xié)議設(shè)計正確執(zhí)行算法并且互不串通。但出于好奇的目的,可能會通過獲得的信息嘗試推斷設(shè)備的敏感信息。
Re-Sim主要包含數(shù)據(jù)重采樣和魯棒聚合算法兩部分。數(shù)據(jù)重采樣算法描述如下:假設(shè)有K個設(shè)備,每個設(shè)備擁有的本地數(shù)據(jù)表示為D0,D1,...,Dk,...,DK,其中第k個設(shè)備采集到標簽c的樣本數(shù)表示為。每個設(shè)備在統(tǒng)計本地數(shù)據(jù)后不再隨機采樣樣本進行訓練,而是依據(jù)公式(1-βn)/(1-β)來估計有效樣本數(shù),β ∈[0,1)是超參數(shù),并通過有效樣本數(shù)的倒數(shù)設(shè)置采樣權(quán)重。令設(shè)備k本地數(shù)據(jù)Dk中第i個數(shù)據(jù)樣本的標簽為c,根據(jù)數(shù)據(jù)Dk中標簽c的數(shù)量來設(shè)置i的采樣權(quán)重
則選中第i個樣本的概率表示為
上述過程只在訓練開始前在每個設(shè)備上計算每個標簽的采樣概率,設(shè)備不需要將任何數(shù)據(jù)的類別分布信息發(fā)送給邊緣服務(wù)器,充分保護數(shù)據(jù)隱私,同時數(shù)據(jù)重采樣帶來的計算開銷可以忽略不計。
考慮到邊緣服務(wù)器沒有數(shù)據(jù)集,需要邊緣服務(wù)器根據(jù)上傳梯度間的關(guān)系生成參考梯度。雖然Krum能實現(xiàn)上述功能,但選擇單一梯度使Krum忽略了剩余梯度的有效信息。本文對Krum進行改進,根據(jù)梯度的特征信息計算每個梯度和參考梯度之間的相似度,實現(xiàn)魯棒聚合。具體實現(xiàn)流程如圖2所示。
圖2 魯棒聚合算法
參考梯度選擇:為了提高收斂速度,需要在每次迭代中找到最優(yōu)的本地梯度,即參考梯度gr
梯度相似度評估:選取參考梯度后,需要選擇特征信息來評估設(shè)備的本地梯度和參考梯度之間的相似度。由于模型更新的本質(zhì)是由多維分量組成的梯度向量,考慮兩方面特征信息:符號相似度 ssi:梯度的符號決定了模型參數(shù)每個維度更新的方向。由于拜占庭設(shè)備與誠實設(shè)備的優(yōu)化目標不一致,其優(yōu)化方向會偏離全局收斂趨勢[15]。因此利用梯度符號相似度防御拜占庭攻擊,符號相似度低的梯度有較高概率是拜占庭梯度,同時符號相似度可以減輕大方差噪聲的負面影響,提升模型收斂速率。具體來說,通過計算本地梯度和參考梯度在各個維度上對應(yīng)符號相同分量的數(shù)量,并根據(jù)分量總數(shù)N對結(jié)果進行標準化,得到相同符號分量的百分比。設(shè)本地更新的梯度向量為,計算符號相似度 ssi的公式為
其中,sgn(x) 是符號函數(shù);大小相似度 lsi:拜占庭攻擊者為控制全局模型,其上傳梯度與參考梯度的大小可能存在較大差異[16]。使用大小相似度鑒別拜占庭梯度的過程如下,首先計算本地梯度與參考梯度的大小相似度 lsi,詳見式(6),其后依據(jù)大小相似度將每個本地模型更新進行標準化,均衡每個本地模型更新對全局模型更新的影響。具體公式為
本節(jié)將詳細介紹LSA協(xié)議細節(jié)。LSA協(xié)議利用算術(shù)秘密共享技術(shù),在邊緣服務(wù)器和輔助服務(wù)器之間秘密共享本地模型更新,并且客戶端和服務(wù)器之間的通信輪次不會因為執(zhí)行協(xié)議而增多。首先,定義了共享語義和乘法操作;其后描述魯棒聚合方法的具體實現(xiàn),主要包括秘密參考梯度選擇、秘密梯度相似度評估、秘密加權(quán)聚合3個階段,完整工作流程如圖3所示。
根據(jù)3.2節(jié)的威脅模型,隱私威脅主要來自邊緣服務(wù)器和輔助服務(wù)器,因此,隱私分析側(cè)重于參考梯度選擇、梯度相似度評估和加權(quán)聚合3部分。然后,分析邊緣服務(wù)器和輔助服務(wù)器執(zhí)行安全聚合協(xié)議過程中可以獲取的信息。
5.2.1 實驗設(shè)置
本文的仿真實驗依賴于Python3.8,服務(wù)器包括3臺3.0 GHz CPU和1臺3.30 GHz CPU分別模擬邊緣服務(wù)器和云服務(wù)器,采用Pytorch1.4.0搭建深度學習框架,使用Pysyft庫訓練聯(lián)邦學習模型,并通過重寫Dataset和BatchSampler實現(xiàn)分布式數(shù)據(jù)劃分,保證每個物聯(lián)網(wǎng)設(shè)備數(shù)據(jù)的唯一性。
攻擊方式:本文主要考慮了典型的拜占庭攻擊,具體描述如下:
符號反轉(zhuǎn)攻擊(Sign Flipping attacks, SF):拜占庭攻擊者計算真實的梯度信息g,然后發(fā)送g=cg給服務(wù)器,這里參考文獻[17]設(shè)置c=-3。
高斯攻擊(Gaussian Attacks, GA):參考文獻[3],拜占庭攻擊者從N(0,200)中 采樣g發(fā)送給服務(wù)器。
噪聲攻擊(Noise Attacks, NA):拜占庭攻擊者在真實梯度上添加高斯噪聲ε再發(fā)送g=g+ε給服務(wù)器,參考文獻[3]ε從高斯分布N(0,0.5)中隨機采樣添加到每個分量。
基線方法:本文選擇聯(lián)邦隨機梯度下降算法(Federated Stochastic Gradient Descent,FedSGD)[2], Krum[3], Median[4], Trimean[4],RSA[10],隱私增強的聯(lián)邦學習(Privacy-Enhanced Federated Learning, PEFL)[14]作為基線算法,其中Krum[3], Median[4], Trimean[4]是IID下的魯棒聚合算法;RSA[10]是Non-IID下的魯棒聚合算法;PEFL[14]是隱私保護魯棒聚合方案。
數(shù)據(jù)集和模型:本文在手寫數(shù)字識別數(shù)據(jù)集(Mixed National Institute of Standards and Technology, MNIST)[18]和時裝數(shù)據(jù)集(Fashion-Mixed National Institute of Standards and Technology,Fashion MNIST)[19]上分別進行實驗,均包含70 000張大小為28×28的圖片,60 000張訓練樣本,10 000張測試樣本,同時使用卷積神經(jīng)網(wǎng)絡(luò)LeNet-5[18]作為訓練模型。
客戶端設(shè)置和數(shù)據(jù)集劃分:本文設(shè)置了30個客戶端,其中拜占庭攻擊者的比例設(shè)置為30%。對于IID的數(shù)據(jù)集劃分,每個客戶端之間的樣本劃分沒有交集且標簽均勻分布;對于Non-IID的數(shù)據(jù)集劃分,參考文獻[20]的設(shè)置,用σ表示Non-IID水平,σ=0.8表示每個設(shè)備上的數(shù)據(jù)有80%屬于一類標簽,20%屬于其他標簽,σ=0.5表示每個設(shè)備上數(shù)據(jù)有50%屬于一類標簽,50%屬于其他標簽。
5.2.2 實驗結(jié)果
(1)本節(jié)為了驗證Re-Sim在IID的設(shè)置下具有良好的性能,用NRe-Sim表示不包含數(shù)據(jù)重采樣的魯棒聚合方法,攻擊方式和參數(shù)設(shè)置、訓練模型和數(shù)據(jù)集劃分參考5.2.1節(jié)。
表1記錄了各個算法在不同攻擊下的最佳測試精度,可以看到NRe-Sim可以抵御3種攻擊,并且達到和無攻擊FedSGD相近的準確度。在符號翻轉(zhuǎn)攻擊中,F(xiàn)edSGD難以訓練出有效的模型,NRe-Sim相較于其他算法提高1%~1.5%。在高斯攻擊中,F(xiàn)edSGD仍然無法抵抗攻擊,而NRe-Sim比Krum性能提高了將近2.5%。在噪聲攻擊中,F(xiàn)edSGD雖然性能有所損失,但模型還呈現(xiàn)可用的狀態(tài),NRe-Sim相較其他算法提升1%~3%,這歸因于符號相似度精確描述了優(yōu)化方向以及大小相似度均衡了每個梯度的影響。
表1 MNIST和Fashion MNIST在IID設(shè)置下的算法準確度(%)
(2)本節(jié)為了驗證Re-Sim在Non-IID時的優(yōu)勢,按照5.2.1節(jié)描述的Non-IID數(shù)據(jù)劃分方法對數(shù)據(jù)集進行重新劃分,并在相同實驗設(shè)置下與現(xiàn)有魯棒聚合算法和異構(gòu)魯棒算法RSA進行對比。
從圖4、圖6實驗結(jié)果可以看出,在σ=0.5時,所有的魯棒聚合算法相較于IID設(shè)置下的性能均有所下降,而且波動較大。而NRe-Sim使用符號信息進行聚合,可以減小梯度噪聲,呈現(xiàn)較小的波動且性能沒有過多的損失,加上數(shù)據(jù)重采樣方法,可以將標簽的采樣概率比調(diào)整到0.998,效果接近于FedSGD,且性能優(yōu)于RSA 1%。從圖5、圖7可以看出,在σ=0.8時,因為數(shù)據(jù)異構(gòu)程度的增強,各個魯棒聚合優(yōu)化算法呈現(xiàn)的曲線波動幅度增大,且性能大幅度損失。而NRe-Sim依舊呈現(xiàn)出較小的波動,這歸因于NRe-Sim提取的符號信息,加上數(shù)據(jù)重采樣方法,可以將標簽的采樣概率比調(diào)整到接近于0.997,性能接近于FedSGD,性能優(yōu)于RSA 1%~3%。
圖4 MNIST數(shù)據(jù)集上 σ =0.5時各魯棒算法準確度
圖5 MNIST數(shù)據(jù)集上 σ =0.8時各魯棒算法準確度
圖6 Fashion MNIST數(shù)據(jù)集上 σ =0.5時各魯棒算法準確度
(3)本節(jié)仿真評估兩種方案LSA和PEFL的計算開銷,比較4種算法單個輪次在設(shè)備端和服務(wù)器端的運行時間:FedSGD、魯棒聚合Re-Sim、安全魯棒聚合LSA, PEFL。
圖8顯示了單個輪次運行在設(shè)備端和服務(wù)器端所花費的時間,其中Tuser是在設(shè)備端進行梯度計算并進行相應(yīng)加密處理所消耗的時間,Tedge和Taux分別表示在邊緣服務(wù)器和輔助服務(wù)器進行安全魯棒聚合所消耗的時間。可以看到相較于FedSGD,魯棒聚合的開銷較小。此外,與PEFL方案相比,每個設(shè)備只需要在本地對梯度信息進行簡單的拆分,所有的密文處理都由邊緣服務(wù)器和輔助服務(wù)器協(xié)作完成。因此,明顯節(jié)省了設(shè)備端的計算開銷,對計算能力受限的物聯(lián)網(wǎng)終端設(shè)備非常友好。
圖8 不同算法在設(shè)備端和服務(wù)器端計算開銷對比
本文提出適用于異構(gòu)物聯(lián)網(wǎng)的隱私保護魯棒聚合方法,使用數(shù)據(jù)重采樣緩解數(shù)據(jù)異構(gòu)性,設(shè)計安全聚合協(xié)議和魯棒聚合算法保證拜占庭攻擊下的隱私性和安全性。最后,對本方案的有效性和效率進行仿真驗證,結(jié)果表明可以抵抗Non-IID設(shè)置下的拜占庭攻擊。未來,將進一步考慮物聯(lián)網(wǎng)的設(shè)備異構(gòu)性,設(shè)計異步機制下的隱私保護魯棒聚合算法。