?

基于多項式修正的LSTM網絡流量預測

2022-09-07 04:06靳明飛
信息記錄材料 2022年7期
關鍵詞:修正標簽樣本

靳明飛

(合肥工業大學 安徽 宣城 242000)

0 引言

隨著互聯網的迅速發展,使用人群日益增加。同時,網絡安全問題也越發復雜。網絡流量是網絡傳輸的關鍵因素,能更好地反映出網絡系統的工作狀態。許多常見的網絡攻擊流量特征十分明顯。通過對網絡流量預測與分析,使相關人員能更好地進行網絡管理以及預防可能出現的網絡攻擊。

目前,國內針對網絡流量預測方法大部分是基于規則、范例或基于數理統計等推理技術,如SVM、貝葉斯信念網絡等。隨著深度學習中循環神經網絡的發展,其在網絡故障檢測中具有極大潛力,受到了學者們廣泛關注和應用。

本文將利用不同結構的LSTM神經網絡對流量數據進行特征提取,再利用多項式擬合的方法,并基于強化學習的思想,對不同的特征進行修正,從而得到預測效果更準確的LSTM模型。

1 基于多項式修正的LSTM模型設計

1.1 基于多項式修正的LSTM模型總體設計

基于強化學習(將多個模型的輸出結果通過某一規則融合修正從而得到更符合需求的模型)的思想,本文設計出基于多項式修正的LSTM模型。利用多個LSTM模型對同一數據樣本的不同特征進行特征提取與迭代訓練。最后利用多項式擬合的方法對不同LSTM模型的輸出進行多項式加權修正,以此來取得更好的預測結果。此外,不同的LSTM模型可以并行訓練,減少模型整體的訓練時間,極大提高模型的訓練效率??傮w模型結構設計見圖1。

其中數據集來自CICIDS中的網絡流量數據。初期通過數據分析、數理統計等手段劃分出內生性特征和外生性特征數據集,分別將其輸入到不同結構的LSTM模型中。LSTM模型的搭建采用了Tensorflow2框架中的序列組網,可以高效地進行模型的訓練。而最后多項式修正的目的是尋求一組合適的系數{a1,a2,…,an},盡量保證擬合方程得到的數據盡可能地與實際樣本數據相重合。通過多項式擬合來相互修正兩個LSTM模型結果的偏差,從而達到更精確地預測值Y′。至此,基于多項式修正的LSTM模型可以簡化為:

Y(x1,x2)=a0+a1x12+a2x22+a3x1x2+a4x1+a5x2

其中,x1為LSTM_1模型的輸出(提取結果1),x2為LSTM_2模型的輸出(提取結果2)。具體步驟如下所述。

1.1.1 數據預處理

通過不同的預處理方法,構造內生性特征的樣本集和外生性特征的樣本集。

1.1.2 內生性特征數據

(1)選取相鄰時期的流量速率分別作為自變量和因變量。

(2)進行數據歸一化,防止不同量綱的影響(歸一化后的x=(x-xmean)/(xmax-xmin))。

(3)通過滑動窗口[1](選取輸入滑動窗口大小k=400,標簽滑動窗口大小j=64)的方法構造樣本集。構造歷史時刻樣本集和訓練標簽樣本集。

劃分結果為:對于第i個樣本,其輸入為:xi=ri,ri+1,ri+2,…ri+k,(k=400)。

對應的標簽為:yi=ri,ri+1,ri+2,…,ri+j,(j=64)。

(4)劃分訓練集和驗證集,比例為8∶2(劃分訓練集和驗證集必須在構造完滑動窗口之后進行。如果提前劃分將打亂數據的時序結構,將會無法達到預期的結果)。

1.1.3 外生性特征的提取

(1)選取外生性特征,見表1,包含Flow_rate,Flow_IAT_Std,Bwd_Packets/s,Init_Win_bytes_forward等共11個特征。

表1 外生性特征

(2)進行數據歸一化處理,消除特征中不同量綱之間的影響。該步驟必須進行,否則容易造成“梯度爆炸或梯度消失”等問題。

(3)通過滑動窗口(選取輸入滑動窗口大小k=400,標簽滑動窗口大小n=64)的方法構造樣本集。構造歷史時刻樣本集和訓練標簽樣本集。

劃分結果為:對于第個樣本,其輸入為

Xi=[r1,i,r1,i+1,r1,i+2,…,r1,i+k;r2,i,r2,i+1,r2,i+2,…,r2,i+k;…;rj,i,rj,i+1,rj,i+2,…,xj,i+k;]

其中j為特征個數。

第個樣本標簽為:yi=r1,r2,r3,…,rn-1,rn。

(4)劃分訓練集和驗證集,比例為8∶2。

1.2 LSTM_1的設計

LSTM_1是通過LSTM神經網絡和全連接網絡的組合,使得計算后的結果盡可能地逼近真實值Y。同時,利用Loss函數作為評估標準,不斷地通過迭代訓練模型更新網絡參數至模型收斂,從而達到預測的目的。

其中的LSTM神經網絡是為解決RNN不能學習長期歷史信息的問題而提出的模型,其獨特“門機制”在時間序列預測方面頗見成效。該模型特殊的“記憶細胞”將自身的真實值與之前積累的外部信息相互結合,從而利用長期的信息進行學習[2]。LSTM神經網絡結構見圖2。

其中LSTM單元內部由各種“門”結構組成,每一個“門”結構發揮一種特定的功能,其中不同的“門”發揮著不同的作用。

遺忘門:完全保持歷史信息或者完全擺脫歷史信息(反映歷史信息的自相關系數)。計算公式為:ft=σ(Wf·[ht-1,xt]+bf)。輸入層門:決定將更新哪些值。計算公式為:。更新門:放棄了關于舊信息并添加新信息。計算公式為:Ct=ft*Ct-1+it*Ct~。輸出門:決定要輸出的單元狀態的哪些部分。計算公式為。上述使用的激活函數均為:tanh(x)=(ex-e-x)/(ex+e-x)。

LSTM_1的內部結構及其參數見表2。表2從左至右,對應圖2中的由下至上,括號內的參數為depth的值,參數共計616 440。該部分模型共有3個LSTM層,2個Dropout層和1個Dense(全連接)層。使用多層的LSTM可以更充分地提取數據的歷史信息。Dropout層可以隨機選取樣本進行訓練,預防過擬合現象的出現,使得模型在驗證集中也能夠取得較好的效果。

表2 LSTM各層模型選擇1

以內生性數據特征作為該模型的輸入,構建batch依次送入LSTM_1模型進行訓練模型的參數,并將真實的結果值作為標簽。

該部分模型的Loss函數選取平均絕對誤差MAE(X,h)=1/mh(xi)-yi|,其中m為樣本個數,h為回歸函數,yi為真實值。優化器(optimizer)選取RMSprop(均方根反向傳播)。其訓練步驟為:(1)從訓練集中取m個樣本為{x1,...,xm},對應的目標為yi。(2)將數據樣本輸入至LSTM自回歸模型計算結果及損失。(3)計算各層梯度:g=1/m▽θ∑iL(f(xi;θ),yi)。(4)累積平方梯度:E[g2]t=ρ*E[g2]t-1+(1-ρ)*gt2。(5)計算參數更新。(6)重復上述步驟直至收斂,得到最終的模型及其參數值。

1.3 LSTM_2的設計

LSTM_2的內部網絡結構與LSTM_1相似,但在層結構的搭建上有所不同。

LSTM_2模型的層結構及其參數,見表3,從左至右,對應圖2中由下至上,表3中的3個Dense層作為整體的全連接網絡層,參數共計1 428 572。LSTM_2模型依舊采用了3層的LSTM層,但為了增加該模型的性能,使用了3個DNN全連接層,且額外添加了l1,l2約束,使得模型具有更高的魯棒性和健壯性。

表3 LSTM各層模型選擇2

以外生性數據特征作為該模型的輸入,構建batch依次送入LSTM_2模型進行訓練模型的參數,并將真實的結果值作為標簽。

該部分模型的Loss函數選取均方誤差Mse(X,h)=1/m(h(xi)-yi)2,其中m為樣本數,h為回歸函數。優化器(optimizer)選取Adam(Momentum+RMSProp)。其訓練步驟為:(1)從外生性特征樣本中取出m個樣本{X1,X2,...,Xm}(其中Xi={xi1,xi2,...,xij|j:特征數})),對應標簽為yi。(2)將樣本數據和標簽輸入多特征LSTM模型計算結果及損失。(3)計算各層梯度。(4)更新矩估計:。(5)修正偏差:。(6)更新初始值:。(7)重復上述步驟直至收斂,得到最終的模型及其參數值。

經過了50輪的訓練后,LSTM_1(左)和LSTM_2(右)模型的訓練結果(loss值)見圖3。

2 預測結果及分析

為了比較本文提出的模型的準確度以及性能,選擇了傳統的GRACH模型、LSTM自回歸模型以及基于多特征的LSTM模型進行對比。上述各個預測效果見表4。

表4 預測模型效果對比

圖4(a)、圖4(b)、圖4(c)分別為GRACH模型[3-4]、LSTM自回歸模型以及基于多特征的LSTM模型的預測效果。其中GRACH模型的預測僅能反映出某種趨勢,而且失真比較嚴重。此類預測模型的優點是所需特征簡單,且不需要大量數據來支撐訓練,可依靠自身歷史信息的相關性來進行預測。但此方法受到一定程度的限制,需要數據具有自相關性且必須通過相應的數據檢驗才能保證其準確性,否則會造成嚴重的失真現象。

LSTM自回歸的預測結果如圖4(b)所示。與GARCH模型相比較,LSTM神經網絡的優勢及其能夠學習長期歷史信息的特性,使得其在擬合優度方面已經有了極大地改善,尤其是對于一些處于極點的值有了準確的預測效果。如圖4(c)所示,再增加多特征后的LSTM自回歸模型[5-6]在原有基礎上預測準確度有所提升,同時也說明了外生變量在一定程度上對于數據的預測有優化作用。這證明了本文提出區分外生性特征和內生性特征的必要性?;诙囗検叫拚腖STM模型的預測結果見圖5。

雖然本文提出的模型相比于基于多特征的LSTM模型的準確程度并未有明顯增加。但是后者在訓練過程中極易因“輸入過于復雜或產生稀疏矩陣”等情況而出現“梯度消失”等問題,從而造成訓練效果不佳,甚至出現負數的情況。而本文設計的多項式修正的LSTM模型由于采用的是“強化學習”的思想,恰好可以有效減少此類問題的出現。多項式修正的詳細結果見表5。

表5 多項式修正系數解析

由此表得出最終的多項式修正LSTM模型的計算公式為:y(x1,x2)=0.18+0.45x12+0.71x22+0.06x1x2-0.13x1-0.03x2。

3 結語

綜上所述,對于不同的模型有著不同的應用場合。當所擁有的數據樣本有限時,此時無法建立LSTM模型,只能采用對數據樣本數量要求不高的GARCH模型。當擁有較多的數據樣本支撐時,可以采用LSTM自回歸模型和多特征LSTM模型進行預測。這兩者的區別在于前者對于輸入特征的要求簡單,易于獲取,但預測的準確度不及后者。而后者雖然預測準確度較高,有較大的抗干擾能力,但其需要多個特征的輸入,而較多特征會使網絡的復雜度呈指數級增長,將耗費大量時間進行訓練,甚至訓練無法收斂。因此,本文提出的方法可以使得多個LSTM模型同時訓練,極大地降低了模型訓練以及達到收斂所需的時間。并且最后將各模型的輸出結果通過多項式擬合修正,得到一個性能更好,準確度較高的融合模型。

此外,當數據集劃分不同輸入特征后,僅有一個內生性特征時,本文提出的模型將會“退化”LSTM自回歸模型,可以適用于對多維輸入數據獲取不易的場合。

猜你喜歡
修正標簽樣本
修正這一天
用樣本估計總體復習點撥
對微擾論波函數的非正交修正
規劃·樣本
無懼標簽 Alfa Romeo Giulia 200HP
不害怕撕掉標簽的人,都活出了真正的漂亮
隨機微分方程的樣本Lyapunov二次型估計
Pro Tools音頻剪輯及修正
讓衣柜擺脫“雜亂無章”的標簽
科學家的標簽
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合