孫雋豐, 李成海, 曹 波
(1. 空軍工程大學(xué)防空反導(dǎo)學(xué)院, 陜西 西安 710051;2. 中國(guó)人民解放軍第94994部隊(duì), 江蘇 南京 210000)
隨著網(wǎng)絡(luò)環(huán)境日益復(fù)雜,網(wǎng)絡(luò)安全問(wèn)題已經(jīng)成為當(dāng)前時(shí)代國(guó)家重點(diǎn)關(guān)注的問(wèn)題之一,網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)任務(wù)應(yīng)運(yùn)而生。預(yù)測(cè)網(wǎng)絡(luò)未來(lái)的安全態(tài)勢(shì)可以為網(wǎng)絡(luò)防御提供指導(dǎo),從而降低網(wǎng)絡(luò)攻擊所帶來(lái)的不利影響。
近年來(lái),各行各業(yè)都將引入人工智能作為行業(yè)發(fā)展的方向,網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)任務(wù)也不例外。其中,將神經(jīng)網(wǎng)絡(luò)應(yīng)用到網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)領(lǐng)域已成為當(dāng)前研究者們所重點(diǎn)關(guān)注的方向。相比傳統(tǒng)方法,神經(jīng)網(wǎng)絡(luò)可以有效地逼近和擬合非線(xiàn)性時(shí)間序列數(shù)據(jù),在態(tài)勢(shì)預(yù)測(cè)領(lǐng)域取得了較好的效果。文獻(xiàn)[1]提出了一種基于經(jīng)驗(yàn)?zāi)J椒纸夂透倪M(jìn)粒子群優(yōu)化(particle swarm optimization, PSO)算法優(yōu)化雙向門(mén)控循環(huán)單元神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)方法,該方法對(duì)網(wǎng)絡(luò)安全態(tài)勢(shì)數(shù)據(jù)序列進(jìn)行經(jīng)驗(yàn)?zāi)J椒纸夂蠓謩e建立預(yù)測(cè)模型,最終將預(yù)測(cè)結(jié)果進(jìn)行疊加,取得了較高的預(yù)測(cè)精度。文獻(xiàn)[2]提出了一種網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)方法,該方法利用門(mén)控循環(huán)單元(gate recurrent unit, GRU)對(duì)樣本的特征進(jìn)行降維后,輸入Transformer提取具有時(shí)序關(guān)系的特征,降低了訓(xùn)練時(shí)間,提升了預(yù)測(cè)精度。文獻(xiàn)[3]提出了一種改進(jìn)遺傳PSO算法優(yōu)化極限學(xué)習(xí)機(jī)的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)方法,該方法對(duì)遺傳PSO算法進(jìn)行改進(jìn),雖然收斂速度加快,但是樣本數(shù)目和滑動(dòng)窗口數(shù)的設(shè)置對(duì)預(yù)測(cè)精度有很大影響。文獻(xiàn)[4]提出了一種基于改進(jìn)的綜合學(xué)習(xí)的PSO(comprehensive learning PSO, CLPSO)算法優(yōu)化徑向基函數(shù)(radial basis function, RBF)神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)方法,該方法利用改進(jìn)的CLPSO算法對(duì)RBF神經(jīng)網(wǎng)絡(luò)的聚類(lèi)半徑進(jìn)行優(yōu)化,使得模型準(zhǔn)確性更高,收斂效果更好。文獻(xiàn)[5]提出了一種基于注意力機(jī)制的GRU神經(jīng)網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)方法,該方法融合了GRU和注意力機(jī)制,并用PSO算法進(jìn)行超參數(shù)尋優(yōu),在網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)中取得了較好的效果。
為更好地學(xué)習(xí)網(wǎng)絡(luò)安全各要素之間的關(guān)系對(duì)態(tài)勢(shì)預(yù)測(cè)的影響,本文提出一種網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)方法,該方法的主要貢獻(xiàn)如下:
(1) 利用時(shí)域卷積網(wǎng)絡(luò)(temporal convolution network, TCN)在時(shí)間維度上學(xué)習(xí)網(wǎng)絡(luò)態(tài)勢(shì)值的序列特征;
(2) 引入注意力機(jī)制突出對(duì)態(tài)勢(shì)值影響較大的特征,提升態(tài)勢(shì)值的預(yù)測(cè)精度,并加快模型的收斂速度;
(3) 引入雙向長(zhǎng)短期記憶(bi-directional long short-term memory, BiLSTM)網(wǎng)絡(luò)進(jìn)一步學(xué)習(xí)數(shù)據(jù)的前后狀況以提取特征,并得到該時(shí)刻的網(wǎng)絡(luò)安全態(tài)勢(shì)值;
(4) 通過(guò)PSO算法優(yōu)化網(wǎng)絡(luò)模型的超參數(shù),提升模型的預(yù)測(cè)精度,降低預(yù)測(cè)誤差。
該方法的網(wǎng)絡(luò)模型主要包括4個(gè)部分:輸入層、TCN編碼器層、注意力層和BiLSTM預(yù)測(cè)層,具體結(jié)構(gòu)如圖1所示。
圖1 基于TCN-BiLSTM預(yù)測(cè)方法的網(wǎng)絡(luò)模型
(1) 輸入層
選取國(guó)家互聯(lián)網(wǎng)應(yīng)急中心[6]的安全數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù),每周進(jìn)行態(tài)勢(shì)評(píng)估得到態(tài)勢(shì)值,將態(tài)勢(shì)值進(jìn)行歸一化處理、滑動(dòng)窗口處理,將其轉(zhuǎn)換為時(shí)間步長(zhǎng)×輸入維度的形式。數(shù)據(jù)重構(gòu)以滑動(dòng)窗口s=5為例,數(shù)據(jù)重構(gòu)結(jié)果如表1所示。
表1 數(shù)據(jù)重構(gòu)結(jié)果
(2) TCN編碼器層
TCN是Bai等[7]于2018年提出的,主要用于時(shí)序數(shù)據(jù)處理。TCN與普通一維卷積相比添加了兩個(gè)操作[8-9]:因果卷積和空洞卷積,并在各網(wǎng)絡(luò)層之間使用殘差連接,在對(duì)序列特征進(jìn)行提取的同時(shí),避免了梯度消失或爆炸現(xiàn)象的產(chǎn)生。其因果卷積與空洞卷積結(jié)構(gòu)如圖2(a)所示,殘差模塊如圖2(b)所示。本文將TCN引入網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)任務(wù)中,其因果卷積的應(yīng)用可以有效地保證態(tài)勢(shì)信息從未來(lái)到過(guò)去不出現(xiàn)“泄露”現(xiàn)象,進(jìn)而保證數(shù)據(jù)的完整性。而空洞卷積的應(yīng)用則可使TCN以較少層數(shù)擁有較大的感受野,從而接收更長(zhǎng)的歷史數(shù)據(jù);ReLU激活函數(shù)、Dropout和恒等映射網(wǎng)絡(luò)能夠有效抑制網(wǎng)絡(luò)過(guò)擬合現(xiàn)象,從而提高網(wǎng)絡(luò)學(xué)習(xí)速度和準(zhǔn)確率。具體而言,假設(shè)對(duì)于一個(gè)輸入x∈Rn的一維序列和一個(gè)卷積核f:{0,…,k-1}→R,對(duì)序列中的元素s的空洞卷積運(yùn)算F被定義為
(1)
式中:d是膨脹因子;k是卷積核大小;s-d·i表示過(guò)去看的方向。在使用空洞卷積時(shí),d通常會(huì)隨著網(wǎng)絡(luò)層數(shù)i的深度呈指數(shù)型增加,即d=O(2i),確保感受野增大的同時(shí)覆蓋輸入時(shí)間序列的所有有效輸入。
由于TCN的感受野依賴(lài)于網(wǎng)絡(luò)深度n、卷積核大小k和膨脹因子d,殘差連接的引入可以使TCN的感受野在網(wǎng)絡(luò)深度很深的情況下依舊穩(wěn)定,其殘差模塊由網(wǎng)絡(luò)F和輸入x組成:
o=Activation(x+F(x))
(2)
(3) 注意力層
深度學(xué)習(xí)中的注意力機(jī)制[10]的主要作用為從大量信息中篩選出對(duì)當(dāng)前任務(wù)目標(biāo)最為重要的信息,凸顯出重要特征的作用。本文引入注意力機(jī)制,對(duì)TCN中不同時(shí)刻輸出的向量權(quán)重進(jìn)行計(jì)算,可以有效地突出對(duì)態(tài)勢(shì)值影響較大的特征。
數(shù)據(jù)經(jīng)TCN提取特征后輸出T,將其輸入到注意力層中得到初始狀態(tài)向量at,之后將其賦予權(quán)重系數(shù)αt,得到最終輸出的狀態(tài)向量Y,具體計(jì)算過(guò)程如下:
et=tanh(wtat+bt)
(3)
(4)
(5)
式中:et代表at對(duì)應(yīng)的能量值;wt、bt分別代表第t個(gè)特征向量所對(duì)應(yīng)的權(quán)重系數(shù)和偏置。
(4) BiLSTM網(wǎng)絡(luò)預(yù)測(cè)層
為解決傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)的梯度爆炸或消失問(wèn)題,1997年,Schmidhuber等[11]提出長(zhǎng)短期記憶(long short-term memory, LSTM)網(wǎng)絡(luò),通過(guò)門(mén)控機(jī)制實(shí)現(xiàn)信息選擇性的傳遞,其內(nèi)部結(jié)構(gòu)如圖3所示。
圖3 LSTM基本結(jié)構(gòu)
其中,ft表示遺忘門(mén);it表示輸入門(mén);ot表示輸出門(mén);xt表示當(dāng)前時(shí)刻的輸入信息;ht-1和ht分別表示上一時(shí)刻和當(dāng)前時(shí)刻的細(xì)胞輸出值;ct-1和ct分別表示上一時(shí)刻和當(dāng)前時(shí)刻的記憶單元;σ表示sigmoid激活函數(shù);t表示tanh激活函數(shù)。
輸入門(mén)it用于控制細(xì)胞信息更新的程度。
(6)
it=σ(Wt·[ht-1,xt]+bi)
(7)
遺忘門(mén)ft用于控制從細(xì)胞狀態(tài)中丟棄的信息。
ft=σ(Wf·[ht-1,xt]+bf)
(8)
(9)
輸出門(mén)ot用于控制細(xì)胞輸出值的信息量。
ot=σ(Wo·[ht-1,xt]+bo)
(10)
ht=ot?tanh(ct)
(11)
式中:W和b分別代表權(quán)重矩陣和偏置項(xiàng)。
在網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)任務(wù)中,當(dāng)前時(shí)刻網(wǎng)絡(luò)的狀況往往與之前之后都有關(guān)聯(lián),若單一地使用TCN模型,則無(wú)法獲取從后到前的信息。為提升預(yù)測(cè)效果,本文引入BiLSTM網(wǎng)絡(luò)[12-13]進(jìn)行網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)。
BiLSTM由正向和反向LSTM疊加而成,其結(jié)構(gòu)如圖4所示。
圖4 BiLSTM網(wǎng)絡(luò)模型
(12)
本文提出的TCN-BiLSTM模型中采用Ranger21優(yōu)化算法[14-15],通過(guò)求解代價(jià)函數(shù)的最優(yōu)化問(wèn)題來(lái)求解模型的參數(shù)。Ranger21將AdamW[16]和LookAhead[17]等8個(gè)組件結(jié)合在一起,既結(jié)合了AdamW能夠獲取更好泛化性能的優(yōu)點(diǎn),又融合了其他組件的各項(xiàng)優(yōu)點(diǎn)。Ranger21的具體算法如算法1所示。
算法 1 Ranger21優(yōu)化算法輸入 訓(xùn)練集輸出 最優(yōu)模型1 參數(shù):隨機(jī)目標(biāo)函數(shù)為ft(θ),學(xué)習(xí)率為η,權(quán)重衰減因子λ=10-4,衰減速率 β0=0.9、β1=0.9、β2=0.999、βlookahead=0.5,用于數(shù)值穩(wěn)定的小常數(shù)ε=10-8、εclipping=10-3,自適應(yīng)梯度裁剪閾值τclipping=10-2,更新頻率klookahead=5,迭代次數(shù)為tmax,學(xué)習(xí)率預(yù)熱迭代次數(shù)twarmup=0.22×tmax,學(xué)習(xí)率慢化迭代次數(shù)twarmdown=0.28×tmax2 模型初始化:設(shè)置模型參數(shù)θ0為近似0的隨機(jī)值3 參數(shù)更新4 初始化一階動(dòng)量:m0←05 初始化二階動(dòng)量:v0←06 初始化二階最大動(dòng)量:vmax←07 for t←1 to tmax do8 從訓(xùn)練集中采集包含m個(gè)樣本{x(1),…,x(m)}的小批量,對(duì)應(yīng)目標(biāo)為y(i)9 計(jì)算梯度:gt←Δft(θt-1)10 梯度裁剪:for r∈rows(gt) do11 if ‖grt‖max(‖θrt‖,εclipping)>τclipping then 12 grt←τclippingmax(‖θrt‖,εclipping)‖grt‖grt13 end if14 end for15 梯度中心化:gt=gt-mean(gt)16 更新一階動(dòng)量估計(jì):mt←β1mt-2+(1-β1)gt17 修正偏差:m^t←(1+β0)mt-β0mt-11-βt118 更新二階動(dòng)量估計(jì):vt←β2vt-1+(1-β2)g2t19 更新二階最大動(dòng)量估計(jì):vmax←max(vt,vmax)20 修正偏差:v^t←vmax1-βt221 更新矢量:ut←m^t(1+β0)2+β20(v^t+ε)22 自動(dòng)調(diào)整學(xué)習(xí)率:ηt=min1,max1-β22·t,ttwarmup ,tmax-ttwarmdown η23 權(quán)重衰減:dt=ηtmean(v^t)λ1-1‖θt-1‖ θt-124 應(yīng)用更新:θt←θt-1-ηtut-ηtdt25 LookAhead:if t%klookahead==0 then26 lt/k←βlookaheadlt/k-1+(1-βlookahead)θt27 θt←lt/k28 end if29 end for
在實(shí)際應(yīng)用中,超參數(shù)選取的不同將會(huì)對(duì)模型訓(xùn)練結(jié)果產(chǎn)生影響。本文采用PSO算法[18]對(duì)模型中的5個(gè)超參數(shù):BiLSTM神經(jīng)元數(shù)ln1、ln2和ln3、批處理大小batch_size、優(yōu)化器的學(xué)習(xí)率lr進(jìn)行尋優(yōu),以找到模型參數(shù)的最優(yōu)解,具體算法詳見(jiàn)算法2。
算法 2 PSO算法輸入 訓(xùn)練集輸出 最優(yōu)模型1 參數(shù)配置:種群大小為5,迭代次數(shù)為30,慣性權(quán)重w為0.6,學(xué)習(xí)因子c1、c2為0.5,r1、r2為(0,1)的隨機(jī)數(shù)2 生成種群粒子:(ln1,ln2,ln3,batch_size,lr)3 初始化粒子的位置:x0i,J←[x0i,1,x0i,2,x0i,3,x0i,4,x0i,5]4 初始化粒子的速度:v0i,J←[v0i,1,v0i,2,v0i,3,v0i,4,v0i,5]5 設(shè)置粒子的適應(yīng)度函數(shù):模型的損失函數(shù)6 計(jì)算每個(gè)粒子的初始適應(yīng)值7 將初始的適應(yīng)值作為每個(gè)粒子的局部最優(yōu)解。計(jì)算并保存每一次迭代每個(gè)粒子的最優(yōu)位置。第d次迭代中各個(gè)粒子的最優(yōu)位置為Pdi,J←[pdi,1,pdi,2,pdi,3,pdi,4,pdi,5]8 截至第d次迭代找到最優(yōu)值,將其作為全局最優(yōu)解的初值,并記錄其位置gdJ←[gd1,gd2,gd3,gd4,gd5]9 更新粒子的速度:vd+1i,j←wvdi,j+c1r1(pdi,j-xdi,j)+c2r2(gdj-xdi,j)10 更新粒子的位置:xd+1i,j←xdi,j+vd+1i,j11 重新計(jì)算每個(gè)粒子的適應(yīng)度函數(shù)并更新個(gè)體最佳位置和群體最佳位置12 當(dāng)?shù)螖?shù)或粒子的適應(yīng)度函數(shù)趨于穩(wěn)定時(shí)停止,將群體最佳位置的粒子作為本次求得的最優(yōu)參數(shù)組合
基于TCN-BiLSTM的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)方法主要步驟如下:
步驟 1獲取數(shù)據(jù)集,讀取數(shù)據(jù)并進(jìn)行清洗,隨后進(jìn)行歸一化處理、滑動(dòng)窗口處理,并劃分出訓(xùn)練集和測(cè)試集。
步驟 2初始化PSO中的相關(guān)參數(shù),設(shè)定待優(yōu)化的粒子中每個(gè)維度的取值范圍及粒子群算法的適應(yīng)度函數(shù),通過(guò)粒子群算法獲得最優(yōu)參數(shù)賦予模型。
步驟 3將預(yù)處理后的訓(xùn)練集送往參數(shù)優(yōu)化后的TCN-BiLSTM網(wǎng)絡(luò)進(jìn)行訓(xùn)練。首先利用TCN學(xué)習(xí)態(tài)勢(shì)值的序列特征,之后引入注意力機(jī)制動(dòng)態(tài)調(diào)整屬性的權(quán)值,然后利用BiLSTM學(xué)習(xí)態(tài)勢(shì)值的前后狀況以提取序列中的更多信息,最后將訓(xùn)練好的模型保存下來(lái)。
步驟 4將測(cè)試集送入步驟3,以最終保存的TCN-BiLSTM網(wǎng)絡(luò)進(jìn)行預(yù)測(cè),得到預(yù)測(cè)態(tài)勢(shì)值,并分析結(jié)果。
采用國(guó)家互聯(lián)網(wǎng)應(yīng)急中心發(fā)布的安全態(tài)勢(shì)周報(bào)數(shù)據(jù)作為實(shí)驗(yàn)基礎(chǔ)。本文選取該網(wǎng)站發(fā)布的自2012年第30期至2022年第16期(共計(jì)509期)的態(tài)勢(shì)周報(bào)數(shù)據(jù)為基礎(chǔ)進(jìn)行實(shí)驗(yàn)驗(yàn)證,其數(shù)據(jù)主要從5個(gè)角度進(jìn)行評(píng)估。為了直觀體現(xiàn)網(wǎng)絡(luò)安全態(tài)勢(shì),本文采用文獻(xiàn)[19]提到的態(tài)勢(shì)評(píng)估方法進(jìn)行量化,根據(jù)對(duì)網(wǎng)絡(luò)安全威脅的程度高低分配不同權(quán)重,權(quán)重分配結(jié)果具體如表2所示,之后計(jì)算每周的態(tài)勢(shì)值:
表2 網(wǎng)絡(luò)安全威脅權(quán)重分配
(13)
式中:NTi代表某周某種網(wǎng)絡(luò)安全威脅的數(shù)量(i代表安全威脅的種類(lèi));NTimax代表選取的509期數(shù)據(jù)中該種安全威脅的最大數(shù)量;ωi代表其對(duì)應(yīng)的權(quán)重。經(jīng)計(jì)算,網(wǎng)絡(luò)安全態(tài)勢(shì)值如圖5所示。
圖5 網(wǎng)絡(luò)安全態(tài)勢(shì)值
TCN-BiLSTM模型及所做的所有實(shí)驗(yàn)均在TensorFlow深度學(xué)習(xí)框架下進(jìn)行,具體實(shí)驗(yàn)環(huán)境如表3所示。
表3 實(shí)驗(yàn)環(huán)境配置
數(shù)據(jù)歸一化可以將特征的方差減少到一定的范圍,減少異常值的影響,提升模型的收斂速率。本文采用min-max歸一化的方法將特征數(shù)據(jù)規(guī)范到-1和1之間,其計(jì)算公式如下所示:
(14)
式中:x′為x映射到區(qū)間[-1,1]的數(shù)據(jù);min(x)和max(x)是數(shù)據(jù)集中的最小值和最大值。
為驗(yàn)證所提TCN-BiLSTM態(tài)勢(shì)預(yù)測(cè)算法的性能,本文設(shè)置多組實(shí)驗(yàn)。
實(shí)驗(yàn)1:不同優(yōu)化算法分析
實(shí)驗(yàn)2:不同池化方式分析
實(shí)驗(yàn)3:模型超參數(shù)優(yōu)化
實(shí)驗(yàn)4:不同模型預(yù)測(cè)精度對(duì)比
實(shí)驗(yàn)5:擬合度對(duì)比
實(shí)驗(yàn)6:收斂性分析
為評(píng)價(jià)本文所提預(yù)測(cè)模型的效果,選取平均絕對(duì)誤差(mean absolute error,MAE)、均方誤差(mean square error,MSE)以及擬合優(yōu)度決定系數(shù)(the coefficient of determination,R2)3個(gè)參數(shù)作為評(píng)價(jià)指標(biāo)[20],評(píng)價(jià)指標(biāo)的計(jì)算公式如下:
(15)
(16)
(17)
2.4.1 不同優(yōu)化算法分析
為驗(yàn)證本文選用的Ranger21算法的有效性,將其自適應(yīng)矩估計(jì)(adaptive moment estimation, Adam)[21]、隨機(jī)梯度下降(stochastic gradient decent, SGD)[22]、自適應(yīng)梯度(adaptive gradient, Adagrad)[23]優(yōu)化算法進(jìn)行對(duì)比實(shí)驗(yàn),不同優(yōu)化算法預(yù)測(cè)對(duì)比結(jié)果如圖6所示。
從圖6可以看出,相比Adam算法、SGD算法、Adagrad算法,選用Ranger21算法對(duì)網(wǎng)絡(luò)訓(xùn)練具有更快的收斂速度,且預(yù)測(cè)的擬合度均優(yōu)于其他3種優(yōu)化算法。實(shí)驗(yàn)結(jié)果表明,選用Ranger21算法對(duì)網(wǎng)絡(luò)訓(xùn)練優(yōu)化具有一定的促進(jìn)作用。
2.4.2 不同池化方式分析
為進(jìn)一步提高模型的特征提取能力,本文在TCN編碼階段采用最大池化方法和平均池化方法同時(shí)提取特征[24-25],并將提取到的特征進(jìn)行融合。為了驗(yàn)證該方法的有效性,本文分別采用平均池化[26]、最大池化[27]、平均池化+最大池化3種不同的方案進(jìn)行對(duì)比,其評(píng)價(jià)指標(biāo)對(duì)比如表4所示。
表4 不同池化方式評(píng)價(jià)指標(biāo)對(duì)比
實(shí)驗(yàn)結(jié)果表明,同時(shí)采用平均池化和最大池化的方案的各項(xiàng)指標(biāo)均優(yōu)于單獨(dú)使用一種池化方式。經(jīng)分析,原因?yàn)?最大池化和平均池化能夠分別有效提取帶有局部和全局意義的特征,通過(guò)池化融合將兩者提取的特征相結(jié)合,能夠更好地反映數(shù)據(jù)的本質(zhì),因此取得了更好的效果。
2.4.3 模型超參數(shù)優(yōu)化
為更好地實(shí)現(xiàn)預(yù)測(cè)效果,本文采用PSO算法對(duì)這些超參數(shù)進(jìn)行尋優(yōu),以找到模型參數(shù)的最優(yōu)解。PSO算法相關(guān)參數(shù)設(shè)置如下:種群大小為5,迭代次數(shù)為30,慣性權(quán)重為0.6,學(xué)習(xí)因子c1、c2為0.5。
為加快收斂速度,防止粒子在搜索空間中漫無(wú)目的地搜索,現(xiàn)對(duì)尋優(yōu)參數(shù)設(shè)置界限如下:BiLSTM神經(jīng)元數(shù)取值范圍為[10,500],批處理大小取值范圍為[100,1 000],優(yōu)化器的學(xué)習(xí)率取值范圍為[0.000 1,0.005]。
圖7展示了PSO算法優(yōu)化TCN-BiLSTM模型的訓(xùn)練結(jié)果。
圖7 PSO優(yōu)化TCN-BiLSTM模型的超參數(shù)變化
從圖7中可以看出,訓(xùn)練誤差隨著算法的更新逐漸收斂并趨于穩(wěn)定,驗(yàn)證了PSO算法的有效性。
經(jīng)過(guò)PSO算法優(yōu)化后的網(wǎng)絡(luò)模型參數(shù)具體如表5所示。
表5 優(yōu)化后的模型參數(shù)設(shè)置
2.4.4 預(yù)測(cè)精度對(duì)比
為有效對(duì)比本文所提模型與其他模型預(yù)測(cè)能力的差別,本文設(shè)置以下實(shí)驗(yàn):在相同的實(shí)驗(yàn)條件下設(shè)置滑動(dòng)窗口數(shù)s=5,分別用TCN-BiLSTM、LSTM、GRU[28]、BiLSTM、自適應(yīng)輸入選擇的LSTM(LSTM with adaptive input selection, AIS-LSTM)[29]、Attention-GRU[5]、Attention-BiLSTM[30]這7種模型進(jìn)行預(yù)測(cè),得到預(yù)測(cè)值與真實(shí)值對(duì)比圖如圖8所示;不同模型評(píng)價(jià)指標(biāo)如表6所示。
表6 不同模型評(píng)價(jià)指標(biāo)對(duì)比
從圖8可以看出,所有模型均可達(dá)到預(yù)測(cè)效果,而本文所提TCN-BiLSTM預(yù)測(cè)模型融合了TCN和BiLSTM在提取時(shí)間序列之間關(guān)系的特性,同時(shí)融入了注意力機(jī)制,預(yù)測(cè)結(jié)果更加準(zhǔn)確。
從表6可以看出,本文所提TCN-BiLSTM預(yù)測(cè)模型的誤差值最小,相比其他模型有很大的優(yōu)勢(shì)。與LSTM模型相比,MAE降低了84.9%,MSE降低了96.6%;與GRU模型相比,MAE降低了85.5%,MSE降低了97.1%;與BiLSTM模型相比,MAE降低了82.0%,MSE降低了94.1%;與AIS-LSTM模型相比,MAE降低了81.3%,MSE降低了94.1%;與Attention-GRU模型相比,MAE降低了79.5%,MSE降低了94.3%;與Attention-BiLSTM模型相比,MAE降低了82.6%,MSE降低了94.1%。結(jié)果表明,TCN-BiLSTM模型對(duì)于網(wǎng)絡(luò)安全態(tài)勢(shì)值的預(yù)測(cè)較為有效,且相比其他模型預(yù)測(cè)精度較高。
2.4.5 擬合度對(duì)比
為進(jìn)一步驗(yàn)證本文所提TCN-BiLSTM模型的有效性,對(duì)不同模型擬合度進(jìn)行對(duì)比,如表7所示。
表7 不同模型擬合度對(duì)比
從表7可以看出,在相同模型中引入注意力機(jī)制后,模型擬合度明顯提高,證明了引入注意力機(jī)制可以提升模型的預(yù)測(cè)精度。TCN-BiLSTM模型的擬合度相較其他6種模型最高,擬合度相比其他6種模型均提升了1.0%以上,進(jìn)一步證明了本文所提TCN-BiLSTM預(yù)測(cè)模型所得到的預(yù)測(cè)曲線(xiàn)相較其他模型更加準(zhǔn)確。同時(shí),也證明了TCN-BiLSTM預(yù)測(cè)模型在預(yù)測(cè)態(tài)勢(shì)值時(shí)的有效性和準(zhǔn)確性。
2.4.6 收斂性分析
圖9給出了模型訓(xùn)練誤差隨迭代步數(shù)變化的曲線(xiàn)圖。從圖9可以看出,在相同模型中引入注意力機(jī)制后,模型收斂速度明顯變快,證明了加入注意力機(jī)制可以提升模型的收斂速度;本文所提TCN-BiLSTM預(yù)測(cè)模型在收斂速度和收斂精度上均優(yōu)于其他模型,證明了本文所提模型能夠充分學(xué)習(xí)時(shí)序數(shù)據(jù)的特征,效果較好。
圖9 誤差值隨迭代次數(shù)的變化曲線(xiàn)
本文將TCN和BiLSTM網(wǎng)絡(luò)進(jìn)行了融合,并引入注意力機(jī)制及PSO算法,提出了一種基于TCN-BiLSTM的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)方法,將TCN處理時(shí)間序列問(wèn)題的優(yōu)勢(shì)與BiLSTM能夠?qū)W習(xí)序列前后狀況的優(yōu)勢(shì)結(jié)合起來(lái),更好地提取態(tài)勢(shì)值的序列特征。之后引入注意力機(jī)制,為屬性分配不同的權(quán)值,并利用PSO算法對(duì)模型進(jìn)行超參數(shù)尋優(yōu),提升了預(yù)測(cè)能力。本文通過(guò)不同優(yōu)化算法分析實(shí)驗(yàn)、不同池化方式分析實(shí)驗(yàn)?zāi)P统瑓?shù)優(yōu)化實(shí)驗(yàn)、預(yù)測(cè)精度對(duì)比實(shí)驗(yàn)、擬合度對(duì)比實(shí)驗(yàn)、收斂性分析實(shí)驗(yàn)證明了模型在處理網(wǎng)絡(luò)安全態(tài)勢(shì)數(shù)據(jù)時(shí)具有的較強(qiáng)的特征提取能力、較高的預(yù)測(cè)精度和預(yù)測(cè)效率,驗(yàn)證了本文模型的有效性。