吳曉曉,李剛強(qiáng),張勝利
(1. 深圳大學(xué)電子與信息工程學(xué)院,廣東深圳 518060;2. 鵬城實(shí)驗(yàn)室,廣東深圳 518055;3. 黃淮學(xué)院信息工程學(xué)院,河南駐馬店 463000)
頻譜資源是有限的,在含有主要用戶(Primary User,PU)和認(rèn)知用戶(Secondary User,SU)的無線通信網(wǎng)絡(luò)中,提高頻譜的利用率對于通信技術(shù)的發(fā)展具有重要的意義[1]. 傳統(tǒng)固定分配模式下,PU節(jié)點(diǎn)的“獨(dú)占”現(xiàn)象使得授權(quán)頻段處于空閑模式時(shí)無法被網(wǎng)絡(luò)中的SU用戶有效利用,導(dǎo)致頻譜利用效率低下. 因此,需要對現(xiàn)有的固定頻譜分配策略,實(shí)施動態(tài)頻譜管理[2]. 認(rèn)知無線電(Cognitive Radio,CR)[3]由Joseph Mitola等于1999年提出,SU節(jié)點(diǎn)通過實(shí)時(shí)監(jiān)測無線環(huán)境,利用感知結(jié)果在網(wǎng)絡(luò)中可以自適應(yīng)地檢測頻譜,實(shí)現(xiàn)自動進(jìn)行頻譜管理以及提高頻譜利用率的目的.CR 過程包含頻譜感知、頻譜管理和頻譜共享3 個(gè)主要階段,其中頻譜感知階段是實(shí)現(xiàn)認(rèn)知過程的關(guān)鍵[4]. 相較于單用戶的獨(dú)立感知,SU節(jié)點(diǎn)之間的協(xié)作頻譜感知,能夠通過信息交互克服多徑效應(yīng)、陰影衰落和隱藏終端等問題.
協(xié)作頻譜感知根據(jù)信息共享方式的不同,可以簡單分為集中式、中繼式和分布式3 種. 其中,不同于依賴數(shù)據(jù)融合中心的集中式和中繼式協(xié)作方法,分布式協(xié)作方法下的SU 節(jié)點(diǎn)僅需要點(diǎn)對點(diǎn)通信的方式進(jìn)行數(shù)據(jù)交換[5],大大提高了感知系統(tǒng)的自由度和魯棒性.然而,分布式協(xié)作感知的扁平式結(jié)構(gòu)增加了頻譜感知的危險(xiǎn)性,面臨著惡意節(jié)點(diǎn)數(shù)據(jù)注入攻擊的威脅,后者可能導(dǎo)致SU 節(jié)點(diǎn)收斂至錯(cuò)誤的感知結(jié)果,做出錯(cuò)誤的決策,從而影響整體認(rèn)知網(wǎng)絡(luò)的性能. 因此,針對分布式協(xié)作認(rèn)知網(wǎng)絡(luò)中存在的惡意節(jié)點(diǎn)的檢測和定位尤為重要.
一般來講,惡意節(jié)點(diǎn)對協(xié)作感知過程的攻擊取決于特定的攻擊方式,常見的攻擊有主用戶偽造攻擊(Primary User Emulation,PUE)和拜占庭攻擊(Spectrum Sensing Data Falsification,SSDF)[4]. 本文中考慮的攻擊方式是拜占庭攻擊的自然延伸,主要涉及能量檢測值的協(xié)作感知,其中數(shù)據(jù)注入攻擊的影響可以通過測量的誤差值來衡量. 本文對于基于共識的頻譜感知算法脆弱性的見解在于認(rèn)識到共識算法在一定條件下類似于DeGroot 動態(tài)意見模型[6],惡意節(jié)點(diǎn)通過向其鄰居節(jié)點(diǎn)發(fā)送包含恒定偏差的消息,明智地調(diào)整預(yù)期的收斂速度及加入隨機(jī)噪聲,來達(dá)到擾亂網(wǎng)絡(luò)收斂的目的[7~9]. 文獻(xiàn)[9,10]證明,網(wǎng)絡(luò)總是收斂到等于偏置的最終狀態(tài),這將給基于共識的頻譜感知算法帶來嚴(yán)重的安全問題. 因此,需要一種良好的惡意節(jié)點(diǎn)檢測和定位方法來保護(hù)這些算法免受數(shù)據(jù)注入攻擊.
在實(shí)際的應(yīng)用中,一個(gè)好的攻擊檢測方法需要對問題進(jìn)行不同的設(shè)置,并且通過觀察多個(gè)獨(dú)立的認(rèn)知過程來確定網(wǎng)絡(luò)中惡意節(jié)點(diǎn)的存在并進(jìn)行定位. 文獻(xiàn)[8]中討論了基于平均共識算法下的數(shù)據(jù)注入攻擊場景,提出了一個(gè)時(shí)間差分的檢測方法用于檢測和定位惡意節(jié)點(diǎn),該方法依賴攻擊目標(biāo)和最優(yōu)收斂目標(biāo)之間的差異. 文獻(xiàn)[9,11]提出了2 種統(tǒng)計(jì)分?jǐn)?shù)的方法用于惡意節(jié)點(diǎn)的檢測和定位,通過多次運(yùn)行算法來觀察其鄰居節(jié)點(diǎn)的異常. 文獻(xiàn)[10]討論了投影次梯度算法下的內(nèi)部攻擊檢測方法,設(shè)計(jì)了本地的度量函數(shù),通過觀察鄰居節(jié)點(diǎn)的狀態(tài)差分來統(tǒng)計(jì)各節(jié)點(diǎn)的得分,以檢測和定位惡意節(jié)點(diǎn). 以上文獻(xiàn)方法可以概括為分?jǐn)?shù)方案,雖然具有合理的性能,但嚴(yán)重依賴專家來設(shè)計(jì)復(fù)雜的決策函數(shù),存在論證復(fù)雜、閾值設(shè)置難度大、模型無學(xué)習(xí)能力以及無法有效給出網(wǎng)絡(luò)出現(xiàn)攻擊行為(或某個(gè)節(jié)點(diǎn)為惡意節(jié)點(diǎn))的程度等問題.
針對此類問題,本文利用神經(jīng)網(wǎng)絡(luò)模型的自動學(xué)習(xí)能力實(shí)現(xiàn)復(fù)雜非線性函數(shù)的擬合,映射輸出連續(xù)的概率來表示惡意的程度,從而更好地來檢測和定位惡意節(jié)點(diǎn),最終實(shí)現(xiàn)將惡意節(jié)點(diǎn)全部踢出分布式認(rèn)知網(wǎng)絡(luò)的目的. 具體地,本文提出了2 種基于神經(jīng)網(wǎng)絡(luò)的方法:(1)基于神經(jīng)網(wǎng)絡(luò)的時(shí)間差分方法,利用分布式網(wǎng)絡(luò)節(jié)點(diǎn)收斂狀態(tài)在攻擊前后的不一致來檢測網(wǎng)絡(luò)的異常;(2)基于神經(jīng)網(wǎng)絡(luò)的空間差分方法,考慮了共識迭代過程中的過渡狀態(tài),通過計(jì)算認(rèn)知節(jié)點(diǎn)與鄰域節(jié)點(diǎn)在時(shí)間上的差分累積來檢測和定位惡意節(jié)點(diǎn). 在此基礎(chǔ)上,本文進(jìn)而提出一種基于Gossip Learning 的聯(lián)合學(xué)習(xí)策略促進(jìn)神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練,使節(jié)點(diǎn)在本地局部數(shù)據(jù)的基礎(chǔ)之上能夠?qū)W習(xí)到與全局模型接近的局部模型,以此緩解網(wǎng)絡(luò)中部分節(jié)點(diǎn)存在訓(xùn)練數(shù)據(jù)不足和鄰域攻擊數(shù)據(jù)分布不一致的情形. 最后,本文在9 節(jié)點(diǎn)的曼哈頓網(wǎng)絡(luò)上模擬了基于一致性共識分布式協(xié)作感知過程,并采集用于神經(jīng)網(wǎng)絡(luò)訓(xùn)練和測試所需的樣本,仿真驗(yàn)證了所提方法的有效性.
分布式對等交互的頻譜感知模型中,每個(gè)SU 節(jié)點(diǎn)可以看作獨(dú)立的融合中心,通過與鄰居節(jié)點(diǎn)的信息交互做出PU 節(jié)點(diǎn)是否占用頻譜的判決. 考慮一個(gè)由N個(gè)SU 節(jié)點(diǎn)組成的認(rèn)知網(wǎng)絡(luò)G=(V,E),其中V={1,2,…,N}表示網(wǎng)絡(luò)中SU 節(jié)點(diǎn)的集合,如圖1 所示.E ?V×V 表示網(wǎng)絡(luò)中SU 節(jié)點(diǎn)邊的集合,節(jié)點(diǎn)(i,j)?E 則表示網(wǎng)絡(luò)中節(jié)點(diǎn)i和節(jié)點(diǎn)j可以直接通信,共享感知信息. 定義Ni?V表示節(jié)點(diǎn)i的鄰居集合,即Ni={j?V:(i,j)?E},?i?V.
圖1 分布式對等交互頻譜感知模型
任意節(jié)點(diǎn)i?V 獨(dú)立運(yùn)行能量檢測算法得到關(guān)于PU 節(jié)點(diǎn)的能量感知值xi(0),然后與鄰居節(jié)點(diǎn)交互迭代直至所有參與協(xié)作的節(jié)點(diǎn)能量值趨于一致. 其中,一致性共識融合過程可以使用如下迭代更新規(guī)則來描述[12]:
事實(shí)上,以上的認(rèn)知過程可以認(rèn)為SU 節(jié)點(diǎn)在共識過程中根據(jù)對鄰居節(jié)點(diǎn)的狀態(tài)加權(quán)達(dá)成最終的共識狀態(tài). 則式(1)可以寫成如下形式[13]:
其中,Aij(t)為時(shí)間t上節(jié)點(diǎn)i分配給其鄰居節(jié)點(diǎn)j的聚合權(quán)重. 將網(wǎng)絡(luò)內(nèi)SU 節(jié)點(diǎn)的狀態(tài)寫成向量形式,令x(t)=[x1(t),x2(t),…,xN(t)] ?RN,式(2)可寫成以下形式:
其中,Aij(t)= [A(t)]ij表示權(quán)值矩陣中的第(i,j)個(gè)元素,A?RN×N是一個(gè)N×N的對稱矩陣. 通常情況下矩陣A是一個(gè)雙隨機(jī)矩陣,滿足1ΤA(t)=1Τ,A(t)1=1,AΤ(t)=A(t),即每一行和列分別滿足和為1.
圖2 分布式頻譜感知過程中各SU節(jié)點(diǎn)的感知狀態(tài)演化
引入概率矩陣P?RN×N,定義[P]ij=Pij≥0 表示節(jié)點(diǎn)i選擇與鄰居節(jié)點(diǎn)j信息交換的概率. 則對于式(3)中的矩陣A(t),其算法迭代過程中的期望形式如下:
假設(shè)網(wǎng)絡(luò)G=(V,E)中存在一些協(xié)同惡意的SU 節(jié)點(diǎn)Vs?V,惡意節(jié)點(diǎn)Vs={1,2,…,Ns}的數(shù)量遠(yuǎn)小于網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)量Ns 圖3 惡意協(xié)同攻擊下各SU節(jié)點(diǎn)的感知狀態(tài)演化 本文針對頻譜感知過程中的惡意節(jié)點(diǎn)檢測和定位問題,定義以下2個(gè)本地任務(wù),正常節(jié)點(diǎn)i?Vr以分布式的方式獨(dú)立地執(zhí)行,具體如下. (1)鄰域檢測任務(wù)-正常節(jié)點(diǎn)鄰域內(nèi)是否存在惡意節(jié)點(diǎn): (2)鄰域定位任務(wù)-正常節(jié)點(diǎn)檢查鄰居節(jié)點(diǎn)是否為惡意節(jié)點(diǎn): TD和SD方法將節(jié)點(diǎn)i?Vr獲得的狀態(tài)向量x?k i融合成一個(gè)標(biāo)量分?jǐn)?shù)來檢測和定位網(wǎng)絡(luò)中的惡意節(jié)點(diǎn). 而函數(shù)擬合是神經(jīng)網(wǎng)絡(luò)的一種自然應(yīng)用,它將多層神經(jīng)元連接起來,以完成復(fù)雜的功能. 本文將惡意節(jié)點(diǎn)檢測和定位過程看作對節(jié)點(diǎn)i?Vr觀察到的狀態(tài)向量的分類問題,使用神經(jīng)網(wǎng)絡(luò)檢測和定位網(wǎng)絡(luò)內(nèi)的惡意節(jié)點(diǎn).為方便表述,令|Ni| =M表示神經(jīng)網(wǎng)絡(luò)模型的特征輸入維度. 3.2.1 基于神經(jīng)網(wǎng)絡(luò)的時(shí)間差分方法 對于正常節(jié)點(diǎn)處的鄰域檢測和定位任務(wù),神經(jīng)網(wǎng)絡(luò)的模型結(jié)構(gòu)如圖4 所示. 該神經(jīng)網(wǎng)絡(luò)模型的輸入為M維的向量. 根據(jù)式(13)中的度量指標(biāo),鄰域檢測和定位任務(wù)的輸入如下: 圖4 基于神經(jīng)網(wǎng)絡(luò)的惡意節(jié)點(diǎn)檢測和定位模型結(jié)構(gòu) 其中,a0和a?0分別為鄰域檢測和定位神經(jīng)網(wǎng)絡(luò)的輸入特征向量. 對于鄰域內(nèi)的檢測任務(wù),輸出yi是一個(gè)標(biāo)量,表示惡意節(jié)點(diǎn)是否出現(xiàn)在正常節(jié)點(diǎn)i的鄰域內(nèi). 這可以視為簡單的二分類問題,即如果鄰域內(nèi)含有惡意節(jié)點(diǎn),則yi=1,否則輸出為yi=0. 基于神經(jīng)網(wǎng)絡(luò)的檢測任務(wù)對應(yīng)數(shù)學(xué)式表示如下: 其中,Wh?RLh×Lh-1為第h-1 層和第h層之間的權(quán)值參數(shù);bh?RLh為第h層的偏置向量;ah表示第h層神經(jīng)單元的激活輸出值;Lh為第h層含有的神經(jīng)元個(gè)數(shù),其中L0=M,Ln=1;f(?)為隱含層的激活函數(shù),常用ReLU;輸出層的激活函數(shù)為g(?)= 1(1+e-x),能夠?qū)z測模型的輸出映射到區(qū)間[0,1],可用于表示事件發(fā)生的概率;yi表示神經(jīng)網(wǎng)絡(luò)的期望輸出;δNN為判斷鄰域任務(wù)中事件Hi1和Hi0發(fā)生的閾值,通常情況下可以設(shè)定δNN=0.5. 當(dāng)節(jié)點(diǎn)i在其鄰域內(nèi)檢測到惡意節(jié)點(diǎn)存在(為真),則下一步是找到惡意節(jié)點(diǎn)在鄰域內(nèi)的位置. 為此,本文采用了與檢測任務(wù)類似的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)執(zhí)行定位任務(wù),如圖4 所示. 定位神經(jīng)網(wǎng)絡(luò)的輸入變量與檢測模型相同,即輸入維度也是M,而輸出的大小等于鄰居的個(gè)數(shù)M. 在這種情況下,可以采用類似于One-Hot 編碼的形式進(jìn)行編碼[17],即當(dāng)某個(gè)鄰居為惡意節(jié)點(diǎn)時(shí),則對應(yīng)位置為1,否則為0. 例如,當(dāng)對應(yīng)于ζi2的鄰居是攻擊者時(shí),則應(yīng)訓(xùn)練該模型以生成輸出z=e2. 在數(shù)學(xué)上,鄰域的定位模型可以描述為 3.2.2 基于神經(jīng)網(wǎng)絡(luò)的空間差分方法 TDNN僅考慮了鄰居節(jié)點(diǎn)的初始狀態(tài)和穩(wěn)定狀態(tài).如果能夠充分地利用算法運(yùn)行中的過渡狀態(tài)信息,那么它有望探索更多的動態(tài)特性,從而進(jìn)一步提高惡意節(jié)點(diǎn)的檢測和定位性能. 因此,本文利用基于神經(jīng)網(wǎng)絡(luò)的空間差分(Neural Network-based Spatial Difference,SDNN)方法,通過觀察鄰居節(jié)點(diǎn)在時(shí)間上的差分累積獲取用于神經(jīng)網(wǎng)絡(luò)的輸入特征,模型結(jié)構(gòu)與圖4類似. 式(6)下,惡意節(jié)點(diǎn)一直嘗試引導(dǎo)正常的鄰居節(jié)點(diǎn)偏離認(rèn)知網(wǎng)絡(luò)的真實(shí)收斂值,隨著時(shí)間t的增加,網(wǎng)絡(luò)中正常節(jié)點(diǎn)的狀態(tài)逐漸收斂至惡意節(jié)點(diǎn)的期望值α. 本小節(jié)對SDNN 方法的洞見來自TDNN 方法中ζij的計(jì)算,式(13)重新寫為 其中,過渡狀態(tài)隨著t→T在計(jì)算中被抵消,未得到充分利用. 式(13)中考慮了節(jié)點(diǎn)之間的初始狀態(tài)和收斂狀態(tài)之間的差異,則可以考慮更多的過渡狀態(tài)信息,計(jì)算過渡狀態(tài)在時(shí)間t上的累積絕對差分來統(tǒng)計(jì)節(jié)點(diǎn)在不同事件和下的異常,生成SDNN 的輸入特征.因此,定義以下度量用于鄰域的檢測任務(wù): 考慮類似于式(19)對于檢測任務(wù)的洞見,通過觀察節(jié)點(diǎn)i和其鄰居節(jié)點(diǎn)j在時(shí)間t上的絕對差分累積來提取過渡狀態(tài)信息包含的特征. 因此,定義以下度量用于鄰域的定位任務(wù): 3.3.1 神經(jīng)網(wǎng)絡(luò)聯(lián)合學(xué)習(xí)框架 分布式聯(lián)合學(xué)習(xí)的目標(biāo)是讓參與的節(jié)點(diǎn)充當(dāng)本地的學(xué)習(xí)者,每個(gè)節(jié)點(diǎn)僅交換學(xué)習(xí)到的神經(jīng)網(wǎng)絡(luò)參數(shù),而不分享可能包含其隱私信息的本地局部的訓(xùn)練數(shù)據(jù). 對于分布式的聯(lián)合訓(xùn)練,機(jī)器學(xué)習(xí)(或者神經(jīng)網(wǎng)絡(luò))使用的標(biāo)準(zhǔn)無約束經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化問題[21]可以描述為 其中,W表示神經(jīng)網(wǎng)絡(luò)模型的參數(shù);L(?)是節(jié)點(diǎn)i的局部目標(biāo)函數(shù),定義為局部數(shù)據(jù)集的期望損失. 本地節(jié)點(diǎn)i的目標(biāo)是將其當(dāng)?shù)貥颖镜念A(yù)期損失降至最低,即 其中,?表示一對變量,由輸入特征和對應(yīng)標(biāo)簽組成,遵循未知概率分布Ii,該概率分布依賴節(jié)點(diǎn)i的本地樣本集;?(?)是一個(gè)損失函數(shù),用于量化?上的預(yù)測誤差. 定義Di={?1,?2,…,?q}表示任意節(jié)點(diǎn)i?V 處的訓(xùn)練數(shù)據(jù)集,其中包含q個(gè)樣本. 對于全局的訓(xùn)練數(shù)據(jù)來說,完整數(shù)據(jù)集為D=D1∪D2∪…∪DN,則式(26)中的優(yōu)化目標(biāo)可以寫為 3.3.2 神經(jīng)網(wǎng)絡(luò)模型參數(shù)更新 Gossip Learning 是一種無需控制中心即可從分布式的數(shù)據(jù)學(xué)習(xí)模型參數(shù)的方法,各節(jié)點(diǎn)僅與其鄰居節(jié)點(diǎn)交換模型參數(shù)而不分享其隱私的訓(xùn)練數(shù)據(jù),其協(xié)議框架圖如算法1所示. 算法1 基于對等協(xié)議的分布式聯(lián)合學(xué)習(xí)算法流程輸入:初始化各節(jié)點(diǎn)本地模型參數(shù)Wi=W和學(xué)習(xí)率η輸出:聯(lián)合學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)參數(shù)Wi REPEAT?模型聚合:節(jié)點(diǎn)i ?V根據(jù)式(29)融合鄰居模型參數(shù)?參數(shù)更新:節(jié)點(diǎn)i ?V根據(jù)式(28)更新本地模型?參數(shù)發(fā)送:節(jié)點(diǎn)i ?V隨機(jī)選擇鄰居節(jié)點(diǎn)j ?Ni發(fā)送模型END 在訓(xùn)練階段,每個(gè)節(jié)點(diǎn)i具有結(jié)構(gòu)相同的神經(jīng)網(wǎng)絡(luò)模型,各節(jié)點(diǎn)使用隨機(jī)梯度下降(Stochastic Gradient De?scent,SGD)算法來估計(jì)節(jié)點(diǎn)的局部模型參數(shù)Wi. 節(jié)點(diǎn)本地參數(shù)更新過程可以表示為 其中,0 ≤μj≤1 為本地參與聚合過程模型的權(quán)重系數(shù),本地節(jié)點(diǎn)i和鄰居節(jié)點(diǎn)系數(shù)之和為1. 該方法不存在中央控制節(jié)點(diǎn),可以從完全分布式的數(shù)據(jù)中學(xué)習(xí)可靠模型參數(shù). 對于鄰域檢測和定位任務(wù),可以通過設(shè)置不同的參考閾值δNN和?NN對檢測和定位任務(wù)中的不同事件進(jìn)行預(yù)測分類. 為了評估相關(guān)決策函數(shù)的性能,定義以下評估指標(biāo): 在鄰域檢測和定位任務(wù)中,本文神經(jīng)網(wǎng)絡(luò)模型含有3個(gè)隱含層,神經(jīng)元數(shù)量分別為100,60和40. 采用小批量隨機(jī)梯度下降(mini-batch SGD)法更新神經(jīng)網(wǎng)絡(luò)模型的參數(shù),學(xué)習(xí)率為0.1,mini-batch 的大小為50,最大訓(xùn)練輪數(shù)為200. 為了訓(xùn)練和測試所提方法,曼哈頓9節(jié)點(diǎn)網(wǎng)絡(luò)在不同事件和下多次運(yùn)行感知算法收集所需的樣本信息. 對于每一個(gè)用于訓(xùn)練或者測試的樣本,均由觀察節(jié)點(diǎn)考慮K輪鄰居節(jié)點(diǎn)的狀態(tài)軌跡,然后在觀察節(jié)點(diǎn)處進(jìn)行融合生成,訓(xùn)練集、測試集及相應(yīng)標(biāo)簽如表1 所示. 用于定位任務(wù)的訓(xùn)練和測試樣本是在已經(jīng)確認(rèn)網(wǎng)絡(luò)中存在一個(gè)攻擊者的情況下收集的,這樣做的主要目的是讓觀察節(jié)點(diǎn)能夠準(zhǔn)確識別鄰域內(nèi)的鄰居節(jié)點(diǎn)是惡意節(jié)點(diǎn). 同時(shí),為了防止神經(jīng)網(wǎng)絡(luò)模型出現(xiàn)退化或者出現(xiàn)走捷徑的情況,在模型訓(xùn)練的過程中隨機(jī)調(diào)整攻擊者特征值在輸入向量中的位置以及對應(yīng)的標(biāo)簽的位置. 表1 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和測試數(shù)據(jù)集 圖5 給出了TDNN 和TD 方法的鄰域檢測性能和定位性能,由圖可知,隨著觀察次數(shù)K的增加,TDNN 和TD方法的檢測性能和定位性能均得到明顯提高. 在K=5時(shí),TDNN的檢測性能和定位性能相比TD方法有著顯著的提升,在虛警概率小于0.4時(shí),TDNN 方法有著較高的檢測成功率和較低的虛警概率. 當(dāng)K=25時(shí),TDNN的檢測和定位任務(wù)下的ROC 曲線均位于TD 方法的左上方,在虛警概率小于0.2時(shí),TDNN 已經(jīng)可以提供可靠的檢測和定位結(jié)果. 顯然,在同樣的特征提取方式下,使用神經(jīng)網(wǎng)絡(luò)來擬合鄰域任務(wù)下的決策函數(shù)具有更好的優(yōu)勢. 圖5 TDNN與TD方法的ROC曲線 圖6 給出了K=5 時(shí)SDNN 和SD 方法的檢測和定位ROC曲線. 可以看到,SDNN和SD方法均有著不錯(cuò)的檢測和定位性能,在K=5時(shí)這2種方法的ROC曲線已經(jīng)位于圖5 中TDNN 和TD 方法ROC 曲線的左上方,例如在虛警概率為0.2 時(shí)TDNN 和TD 方法的檢測(定位)概率在0.8 左右,而SDNN 和SD 檢測(定位)概率均在0.9 以上. 這表明,基于共識的感知算法迭代中的過渡狀態(tài)確實(shí)為準(zhǔn)確檢測和定位惡意節(jié)點(diǎn)提供了更多的有效信息. 圖6中,SDNN 的ROC 曲線完全位于SD方法的左上方,在任意虛警概率下,SDNN 方法均有著較好的檢測(定位)概率. 這表明本文所提出的SDNN 方法可以顯著改善鄰域任務(wù)下的檢測和定位性能. 圖6 SDNN與SD方法的ROC曲線 本節(jié)測試了神經(jīng)網(wǎng)絡(luò)模型在聯(lián)合學(xué)習(xí)策略下的性能,參數(shù)設(shè)置與第4.1 節(jié)相同,分別測試了TDNN 和SDNN 這2 種方法的鄰域檢測性能. 圖7~9 中通過對比節(jié)點(diǎn)在獨(dú)立學(xué)習(xí)和聯(lián)合學(xué)習(xí)下的性能,驗(yàn)證聯(lián)合學(xué)習(xí)方法的有效性. 獨(dú)立學(xué)習(xí)指的是每個(gè)節(jié)點(diǎn)基于其本地?cái)?shù)據(jù)訓(xùn)練來本地的模型參數(shù),而不與鄰居節(jié)點(diǎn)共享模型參數(shù);聯(lián)合學(xué)習(xí)指的是節(jié)點(diǎn)在訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型的過程中,通過與鄰居節(jié)點(diǎn)分享模型參數(shù)促進(jìn)本地模型的訓(xùn)練. 圖7給出了一個(gè)簡單的聯(lián)合學(xué)習(xí)測試場景,即節(jié)點(diǎn)存在訓(xùn)練數(shù)據(jù)不足無法訓(xùn)練出有意義的檢測模型. 考慮了曼哈頓網(wǎng)絡(luò)中的節(jié)點(diǎn)2 和節(jié)點(diǎn)3,其中節(jié)點(diǎn)2 含有充足的訓(xùn)練樣本,節(jié)點(diǎn)3 本地含有較少的訓(xùn)練數(shù)據(jù),測試樣本數(shù)量設(shè)置與表1 相同.TDNN 模型的參數(shù)設(shè)置與4.1 節(jié)相同,觀察次數(shù)設(shè)置為K=5. 圖7 中的(a)和(b)子圖分別為聯(lián)合學(xué)習(xí)和獨(dú)立學(xué)習(xí)下的ROC 曲線. 由圖可知,在樣本數(shù)據(jù)不足以完成有意義的訓(xùn)練時(shí),獨(dú)立學(xué)習(xí)方案下的TDNN在鄰域檢測任務(wù)中的性能表現(xiàn)很差,而聯(lián)合學(xué)習(xí)方案下TDNN有著不錯(cuò)的檢測性能. 圖7 本地訓(xùn)練數(shù)據(jù)不足時(shí)的聯(lián)合學(xué)習(xí)和獨(dú)立學(xué)習(xí)下的ROC曲線 圖8 給出了節(jié)點(diǎn)含有不同數(shù)量樣本情況下的聯(lián)合學(xué)習(xí)性能. 考慮了曼哈頓網(wǎng)絡(luò)中的節(jié)點(diǎn)2、節(jié)點(diǎn)3 和節(jié)點(diǎn)4. 訓(xùn)練樣本數(shù)量的設(shè)置依次增加,分別為200,400和600. 由圖8 可知,獨(dú)立學(xué)習(xí)方式下各節(jié)點(diǎn)由于樣本數(shù)量設(shè)置的不同,其鄰域檢測性能有著明顯的變化,節(jié)點(diǎn)4 的性能最好(黃色曲線)、節(jié)點(diǎn)3 次之(藍(lán)色曲線),節(jié)點(diǎn)2 最差(紅色曲線). 聯(lián)合學(xué)習(xí)方式下,雖然各節(jié)點(diǎn)的檢測性能有著相同的趨勢,如圖8(a)小窗口所示,但節(jié)點(diǎn)2 和節(jié)點(diǎn)3 仍然有著良好的檢測性能. 總的來說,聯(lián)合學(xué)習(xí)使節(jié)點(diǎn)能夠從其鄰居節(jié)點(diǎn)那里學(xué)習(xí)到有效模型,在自身模型性能不足的情況下通過合并鄰居節(jié)點(diǎn)的模型參數(shù)能夠提高其檢測性能.圖9給出了SDNN方法在K=1的鄰域檢測性能,其中“next to”數(shù)據(jù)是指在惡意節(jié)點(diǎn)旁邊的正常節(jié)點(diǎn):j?Ni收集的樣本,而“far from”數(shù)據(jù)是指在遠(yuǎn)離惡意節(jié)點(diǎn)的正常節(jié)點(diǎn):j?Ni處收集的樣本. 考慮了曼哈頓網(wǎng)絡(luò)中的“next to”(2,3,4 和7)節(jié)點(diǎn)以及“far from”(5,6,8 和9)節(jié)點(diǎn). 圖9(a)為聯(lián)合學(xué)習(xí)(實(shí)線)方式以及獨(dú)立學(xué)習(xí)(虛線)方式下各節(jié)點(diǎn)在“next to”數(shù)據(jù)下的性能測試. 類似地,圖9(b)為聯(lián)合學(xué)習(xí)(實(shí)線)方式以及獨(dú)立學(xué)習(xí)(虛線)方式下各節(jié)點(diǎn)在“far from”數(shù)據(jù)下的性能測試. 由圖可知,各節(jié)點(diǎn)在聯(lián)合學(xué)習(xí)方式下在“next to”或者“far from”均有著相近的檢測性能,獨(dú)立學(xué)習(xí)方式下各節(jié)點(diǎn)的檢測性能有著不同的變化. 可以看出,不同類型的節(jié)點(diǎn)(“next to”和“far from”)在本地節(jié)點(diǎn)局部樣本數(shù)據(jù)存在不一致的情形下也能通過聯(lián)合學(xué)習(xí)獲得較好的模型性能. 圖8 本地訓(xùn)練數(shù)據(jù)不同時(shí)的聯(lián)合學(xué)習(xí)和獨(dú)立學(xué)習(xí)下的ROC曲線 圖9 K=1 時(shí)SDNN 方法在聯(lián)合學(xué)習(xí)和獨(dú)立學(xué)習(xí)方式下的檢測性能曲線 本節(jié)采用樹莓派構(gòu)建了含9個(gè)SU 節(jié)點(diǎn)的曼哈頓網(wǎng)絡(luò),如圖10 所示. 各節(jié)點(diǎn)之間通過一個(gè)公用WIFI 熱點(diǎn)互相連接,通過給樹莓派寫入分布式共識算法運(yùn)行的腳本文件,讓樹莓派模擬網(wǎng)絡(luò)中的正常節(jié)點(diǎn)或者惡意節(jié)點(diǎn). 節(jié)點(diǎn)狀態(tài)的收集以及惡意節(jié)點(diǎn)的檢測和定位均基于樹莓派平臺完成,考慮了基于共識協(xié)作感知算法下的惡意節(jié)點(diǎn)檢測和定位,令設(shè)備1 為惡意節(jié)點(diǎn). 圖10 基于樹莓派模擬的9節(jié)點(diǎn)曼哈頓認(rèn)知網(wǎng)絡(luò)實(shí)物圖 圖11 給出了TDNN 在K=5 和K=25 的鄰域檢測性能和定位性能. 圖中“真實(shí)數(shù)據(jù)”是神經(jīng)網(wǎng)絡(luò)模型在樹莓派環(huán)境下獲取樣本數(shù)據(jù)進(jìn)行訓(xùn)練和測試的性能.“仿真數(shù)據(jù)”是神經(jīng)網(wǎng)絡(luò)模型在MATLAB 環(huán)境下模擬感知算法運(yùn)行得到,然后進(jìn)行訓(xùn)練和測試的性能. 可以看到,鄰域檢測任務(wù)和定位任務(wù)下TDNN 方法在真實(shí)數(shù)據(jù)和仿真數(shù)據(jù)下ROC 性能幾乎沒有差別. 圖12 給出了SDNN 方法在K=5 時(shí)的性能比較.觀察可知,SDNN 方法在真實(shí)環(huán)境和仿真環(huán)境下的性能表現(xiàn)極為接近,在K=25 時(shí)可以提供較好的檢測定位性能. 總的來說,將神經(jīng)網(wǎng)絡(luò)模型部署在樹莓派上也能很好地工作,并且與仿真環(huán)境下的性能表現(xiàn)非常接近. 圖11 TDNN的真實(shí)性能和仿真性能對比 圖12 SDNN的真實(shí)性能和仿真性能對比 本文研究了基于共識的分布式頻譜感知算法受到數(shù)據(jù)注入攻擊的情形,利用神經(jīng)網(wǎng)絡(luò)模型的自動學(xué)習(xí)能力實(shí)現(xiàn)復(fù)雜非線性函數(shù)的擬合,利用TDNN和SDNN這2種方法檢測和定位網(wǎng)絡(luò)中的惡意SU節(jié)點(diǎn),從而幫助SU網(wǎng)絡(luò)正確地感知頻譜占用情況. 針對網(wǎng)絡(luò)節(jié)點(diǎn)存在訓(xùn)練數(shù)據(jù)不足及數(shù)據(jù)分布不一致的問題,本文提出了一種基于Gossip Learning的聯(lián)合學(xué)習(xí)策略促進(jìn)本地神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練.在曼哈頓9節(jié)點(diǎn)網(wǎng)絡(luò)上模擬了分布式頻譜感知過程,并對所提方法進(jìn)行了仿真驗(yàn)證. 與傳統(tǒng)的統(tǒng)計(jì)分?jǐn)?shù)方法TD和SD相比,基于神經(jīng)網(wǎng)絡(luò)的方法能夠顯著提高攻擊者的檢測和定位性能. 同時(shí),聯(lián)合學(xué)習(xí)策略下各節(jié)點(diǎn)能夠?qū)W習(xí)到與全局模型接近的局部模型,具有更好的魯棒性.3 面向惡意用戶的檢測和定位方案
3.1 面向惡意節(jié)點(diǎn)的鄰域檢測和定位任務(wù)
3.2 基于神經(jīng)網(wǎng)絡(luò)的惡意用戶檢測和定位方法
3.3 面向神經(jīng)網(wǎng)絡(luò)模型的分布式聯(lián)合學(xué)習(xí)策略
4 仿真分析
4.1 訓(xùn)練和測試參數(shù)設(shè)置
4.2 惡意節(jié)點(diǎn)檢測和定位性能分析
4.3 分布式聯(lián)合學(xué)習(xí)性能分析
4.4 樹莓派模擬下的性能分析
5 結(jié)束語