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