• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于SOINN增量自編碼器的網(wǎng)絡(luò)異常檢測(cè)研究

      2023-05-31 10:46:44吳署光王宏艷顏南江
      兵器裝備工程學(xué)報(bào) 2023年5期
      關(guān)鍵詞:增量編碼器神經(jīng)元

      吳署光,王宏艷,顏南江,王 宇

      (1.航天工程大學(xué) 航天信息學(xué)院, 北京 101400; 2. 32039部隊(duì), 北京 102300)

      0 引言

      網(wǎng)絡(luò)異常行為分析與識(shí)別是網(wǎng)絡(luò)系統(tǒng)安全的基礎(chǔ),這些信息系統(tǒng)要想可控、可靠和有序的運(yùn)行,就必須及時(shí)有效地感知網(wǎng)絡(luò)運(yùn)行狀態(tài),發(fā)現(xiàn)異常并消除隱患。目前研究人員在該領(lǐng)域已經(jīng)做了大量的研究工作,其中利用機(jī)器學(xué)習(xí)的方法已經(jīng)取得了較好的效果,其主要原理是構(gòu)建行為特征向量并據(jù)此訓(xùn)練分類或者聚類模型從而實(shí)施檢測(cè)[1-3]。由于無監(jiān)督方法不需要帶標(biāo)簽的數(shù)據(jù),有效提升了異常檢測(cè)的實(shí)用性,該檢測(cè)方法應(yīng)當(dāng)滿足兩個(gè)假設(shè):一是正常樣本數(shù)量遠(yuǎn)大于異常樣本;二是兩類數(shù)據(jù)之間的差別很大[4]。無監(jiān)督的方法大致可分為兩類,一類是基于聚類,將訓(xùn)練樣本劃分為不同的子類,同一類樣本具有相似特征,不同類樣本存在較大差異[5]。另一類是離群點(diǎn)檢測(cè),該方法根據(jù)正常行為的特征建立用戶輪廓,將當(dāng)前要檢測(cè)的行為特征與之進(jìn)行對(duì)比,若偏離正常行為輪廓,超出一定的閾值范圍,就被認(rèn)定為構(gòu)成入侵,否則就被判定為正常行為。汪生等[6]、Ming Zhang等[7]將OCSVM應(yīng)用于異常檢測(cè),通過核函數(shù)將原始空間中相互重疊的正負(fù)樣本數(shù)據(jù)投射到高維空間,從而學(xué)習(xí)到正常樣本數(shù)據(jù)的邊界,取得較好檢測(cè)效果的同時(shí)降低了檢測(cè)時(shí)間。

      與傳統(tǒng)機(jī)器學(xué)習(xí)方法相比,深度學(xué)習(xí)能夠更好地從網(wǎng)絡(luò)數(shù)據(jù)中學(xué)習(xí)非線性相關(guān)性,常見的方法有自動(dòng)編碼器、卷積神經(jīng)網(wǎng)絡(luò)、長(zhǎng)短期記憶網(wǎng)絡(luò)、生成對(duì)抗網(wǎng)絡(luò)[8]。自動(dòng)編碼器(auto-encoder,AE)作為一種以重構(gòu)輸入樣本為目標(biāo)的無監(jiān)督學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),能夠滿足現(xiàn)實(shí)的檢測(cè)需求。其應(yīng)用于異常檢測(cè)的原理是通過計(jì)算測(cè)試樣本的重構(gòu)誤差與正常行為模式的偏離程度來發(fā)現(xiàn)異常。研究人員在該領(lǐng)域作了大量研究工作且取得很多成果,例如,Gurung等[9]提出一種基于稀疏自編碼器的檢測(cè)模型,利用稀疏性來降低特征向量之間的關(guān)聯(lián)度,在NSL-KDD 數(shù)據(jù)集上的準(zhǔn)確率為87.2%。變分自編碼器(variational auto-encoders,VAE)在異常檢測(cè)任務(wù)中表現(xiàn)突出,在很多情況下優(yōu)于自動(dòng)編碼器,但也存在誤報(bào)率較高的問題[10]。曹衛(wèi)東等[11]在優(yōu)化VAE損失函數(shù)過程中融入了異常樣本,模型更好地學(xué)習(xí)到正樣本數(shù)據(jù)的高維分布,從而使得正負(fù)樣本在低維空間中分離度加大,提高了檢測(cè)精度。

      隨著網(wǎng)絡(luò)模型的不斷擴(kuò)大,網(wǎng)絡(luò)攻擊的復(fù)雜性和隱蔽性逐漸上升,異常檢測(cè)的難度越來越大。然而,自動(dòng)編碼器對(duì)數(shù)據(jù)的處理是批量的,模型更新時(shí)需要將新舊數(shù)據(jù)合并來重新訓(xùn)練,造成“遺忘災(zāi)難”問題,增加了運(yùn)算和存儲(chǔ)開銷,且大數(shù)據(jù)環(huán)境下無法動(dòng)態(tài)更新模型來適應(yīng)新的網(wǎng)絡(luò)環(huán)境?;谠隽烤垲惖纳疃葘W(xué)習(xí)算法能夠很好地學(xué)習(xí)數(shù)據(jù)的非線性相關(guān)性,且能實(shí)現(xiàn)模型的增量更新。基于此,提出一種基于改進(jìn)自組織增量學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)(self-organizing incremental neural network,SOINN)的增量自編碼器算法,首先利用改進(jìn)SOINN對(duì)原始樣本進(jìn)行訓(xùn)練,用輸出的神經(jīng)元近似代表原始樣本特性,將輸出神經(jīng)元作為自動(dòng)編碼器的輸入來訓(xùn)練模型,然后利用重構(gòu)誤差來判定是否存在異常行為,在增量學(xué)習(xí)過程中,為解決反饋更新樣本中正常樣本純度不高的問題,提出一種基于距離度量的樣本標(biāo)簽篩選機(jī)制,有效提升了模型的在線學(xué)習(xí)能力。本文所提方法在保持較高檢測(cè)精度的基礎(chǔ)上,節(jié)省了運(yùn)算和存儲(chǔ)開銷,模型具備動(dòng)態(tài)更新能力,能夠根據(jù)網(wǎng)絡(luò)環(huán)境變化及時(shí)學(xué)習(xí)樣本特征,有利于檢測(cè)復(fù)雜隱蔽的網(wǎng)絡(luò)攻擊行為。

      1 相關(guān)理論

      1.1 SOINN算法

      SOINN是一種基于競(jìng)爭(zhēng)學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),算法在醫(yī)療診斷、計(jì)算機(jī)視覺、機(jī)器人智能、異常檢測(cè)等領(lǐng)域取得了不俗的成就,有力證明了其增量學(xué)習(xí)能力[12]。算法以競(jìng)爭(zhēng)學(xué)習(xí)的方式進(jìn)行學(xué)習(xí),輸出為分布在特征空間的神經(jīng)元和神經(jīng)元之間的連接關(guān)系,神經(jīng)元分布反映了原始數(shù)據(jù)的分布特性,連接關(guān)系構(gòu)成了數(shù)據(jù)的拓?fù)浣Y(jié)構(gòu)。以在線的方式動(dòng)態(tài)地更新網(wǎng)絡(luò),且不影響之前的學(xué)習(xí)效果,降低了學(xué)習(xí)過程中的存儲(chǔ)開銷。因此利用該算法來構(gòu)建增量自編碼器可以滿足在線異常檢測(cè)需求。

      實(shí)驗(yàn)證明,單層SOINN網(wǎng)絡(luò)與雙層SOINN網(wǎng)絡(luò)具有同樣的學(xué)習(xí)效果,且訓(xùn)練參數(shù)進(jìn)一步簡(jiǎn)化[13]。本文采用了單層SOINN網(wǎng)絡(luò)算法,主要有以下幾個(gè)步驟[14]:

      1) 初始化每個(gè)學(xué)習(xí)周期內(nèi)神經(jīng)元集合N={c1,c2},其中c1,c2的權(quán)重為W1,W2∈Rn,W1,W2為樣本集Rn中的2個(gè)隨機(jī)樣本,連接關(guān)系集合C?N×N為空;

      2) 接收樣本ξ∈Rn,通過計(jì)算歐式距離查找N中與ξ最近的2個(gè)神經(jīng)元s1和s2,即:

      其中:Wτ表示神經(jīng)元τ的權(quán)重,s1和s2命名為獲勝神經(jīng)元。

      3) 計(jì)算s1和s2的相似度閾值,對(duì)于任意神經(jīng)元τ,設(shè)其鄰居神經(jīng)元的集合為Nτ,則τ的相似度閾值Tτ的計(jì)算公式為:

      如果Ni≠?:

      否則

      4) 若s1和s2沒有連接關(guān)系,則建立2個(gè)神經(jīng)元的連接,即C=C∪{(s1,s2)},將這條邊的年齡設(shè)為0,即ages1,s2=0;

      5) 更新年齡參數(shù)age(s1,i)=age(s1,i)+1,i∈Ns1為s1的鄰居神經(jīng)元;將超齡的邊刪除,即若age(i, j)>agemax,C=C{(i,j)},其中agemax為預(yù)定義參數(shù);

      6) 更新獲勝神經(jīng)元及其鄰居節(jié)點(diǎn)的權(quán)重,

      Ws1=Ws1+ε(t)(ξ-Ws1)

      Wi=Wi+ε′(t)(ξ-Wi)

      其中,ε(t)和ε′(t)是學(xué)習(xí)率,ε(t)=1/t,ε′(t)=1/100t,t為獲勝次數(shù);

      7)若輸入樣本數(shù)量整除λ,即完成一個(gè)訓(xùn)練周期,則刪掉密度較低的神經(jīng)元。否則返回步驟2)繼續(xù)接收新的樣本。

      算法輸出N和C。圖1為算法流程圖。

      1.2 SOINN算法的改進(jìn)

      原算法在獲勝神經(jīng)元鄰居節(jié)點(diǎn)的權(quán)值更新過程中,將學(xué)習(xí)率固定為一個(gè)確定的較小值ε′(t)=1/100t,這樣的設(shè)置不利于區(qū)分不同鄰居節(jié)點(diǎn)與新輸入樣本的相似度,影響其學(xué)習(xí)效率。

      1) 理論依據(jù)。在原始算法的神經(jīng)元自適應(yīng)調(diào)整過程中,通過神經(jīng)元的相似度閾值T以及該神經(jīng)元與輸入節(jié)點(diǎn)的距離d來度量該神經(jīng)元與輸入節(jié)點(diǎn)是否屬于同一個(gè)類別,并通過比較T與d的大小來決定進(jìn)行類內(nèi)插入還是類間插入。因此鄰居節(jié)點(diǎn)的學(xué)習(xí)率ε′(t)應(yīng)當(dāng)與T、d具有一定的相關(guān)性,如圖2所示,為輸入樣本,s1為獲勝神經(jīng)元,s2和s3為獲勝神經(jīng)元的鄰居節(jié)點(diǎn),s2與s3的學(xué)習(xí)步長(zhǎng)應(yīng)當(dāng)與兩者的相似度閾值T2、T3以及s1、s2、s3與輸入節(jié)點(diǎn)的距離d(ξ,s1)、d(ξ,s2)、d(ξ,s3)相關(guān)。ε′(t)的設(shè)置要滿足2個(gè)條件:① 獲勝神經(jīng)元與輸入節(jié)點(diǎn)的距離始終小于鄰居節(jié)點(diǎn),因此兩者的學(xué)習(xí)率要滿足:ε′(t)<ε(t)。② 原始SOINN的約束條件為[12]:

      改進(jìn)SOINN的ε′(t)的設(shè)置也應(yīng)當(dāng)滿足以上條件。因SOINN算法屬于競(jìng)爭(zhēng)學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),且其神經(jīng)元數(shù)量動(dòng)態(tài)變化,因此算法在理論上無法進(jìn)行嚴(yán)格的數(shù)學(xué)分析,文獻(xiàn)[12]對(duì)此作出了闡釋。

      圖1 單層SOINN算法流程

      圖2 SOINN算法類內(nèi)節(jié)點(diǎn)插入及權(quán)重更新示意圖

      2) 算法步驟。提出一種動(dòng)態(tài)的獲勝神經(jīng)元鄰居節(jié)點(diǎn)學(xué)習(xí)率更新方式,即在原算法的第(6)步計(jì)算ε′(t)處進(jìn)行改進(jìn)。主要步驟為:

      Step1:計(jì)算獲勝神經(jīng)元s1與新輸入樣本ξ的距離:

      Step2:計(jì)算獲勝神經(jīng)元鄰居節(jié)點(diǎn)i的相似度閾值Ti,計(jì)算該節(jié)點(diǎn)與新輸入樣本ξ的距離:

      Ns1表示s1的所有鄰居神經(jīng)元。

      Step3:比較Ti與d(ξ,i)的大小,如果d(ξ,i)>Ti,表示ξ與i的相似度較小,此時(shí),學(xué)習(xí)率應(yīng)當(dāng)取較小值,按照原算法,取ε′(t)=1/θt,1/θ為學(xué)習(xí)率系數(shù)下限,通常情況下小于1/100。

      Step4:如果d(ξ,i)≤Ti,且d(ξ,s1)≠0,表示ξ與i的相似度較大,此時(shí)根據(jù)ξ與獲勝神經(jīng)元及其鄰居節(jié)點(diǎn)的距離來確定學(xué)習(xí)率,設(shè)學(xué)習(xí)率系數(shù)為τ1,即ε′(t)=τ1×1/t。

      τ1的確定方法如下:

      Step5:如果d(ξ,i)≤Ti,且d(ξ,s1)=0,表示ξ與s1重合,此時(shí)無法按照Step 4的方法來確定學(xué)習(xí)率,改為根據(jù)ξ與獲勝神經(jīng)元的鄰居節(jié)點(diǎn)的距離來確定學(xué)習(xí)率,設(shè)學(xué)習(xí)率系數(shù)為τ2,即ε′(t)=τ2×1/t。

      τ2的確定應(yīng)當(dāng)滿足2個(gè)條件:①τ2與d(ξ,i)成反比關(guān)系,即隨著d(ξ,i)的增大,τ2逐漸減少。② 兩者的取值范圍為d(ξ,i)∈(0,Ti),τ2∈[1/θ,1),當(dāng)d(ξ,i)=Ti時(shí),τ2=1/θ;當(dāng)d(ξ,i)趨向于0時(shí),τ2趨向于1。τ2的計(jì)算公式為:

      Step6:更新獲勝神經(jīng)元鄰居節(jié)點(diǎn)的權(quán)重

      Wi=Wi+ε′(t)(ξ-Wi)

      將改進(jìn)后的算法命名為L(zhǎng)RM-SOINN(SOINN with Learning Rate Modification)。

      1.3 自動(dòng)編碼器

      自動(dòng)編碼器可以自動(dòng)從數(shù)據(jù)中學(xué)習(xí)特征,并嘗試用低維特征來表征原始輸入,是一種以重構(gòu)輸入樣本為目標(biāo)的無監(jiān)督學(xué)習(xí)算法[15,16]。傳統(tǒng)的自編碼器模型是一種對(duì)稱分布的3層網(wǎng)絡(luò)結(jié)構(gòu),模型的Input層節(jié)點(diǎn)數(shù)量與Output層相同,在學(xué)習(xí)過程中,朝著盡可能重構(gòu)輸入樣本的方向進(jìn)行優(yōu)化。圖3為模型的基本結(jié)構(gòu)。

      自動(dòng)編碼器對(duì)輸入樣本x進(jìn)行編碼,從而獲得新的低維特征h,期望通過h可以將輸入x重構(gòu)出來。編解碼過程分別為:

      h=f(x)

      x′=g(h)=g(f(x))

      重構(gòu)誤差L(x,x′)=L(x,g(f(x))),訓(xùn)練的目的是找到使得重構(gòu)誤差最小的神經(jīng)網(wǎng)絡(luò)參數(shù),其中L是損失函數(shù),懲罰x與x′的差距。如選擇均方誤差:

      圖3 自動(dòng)編碼器網(wǎng)絡(luò)結(jié)構(gòu)

      2 基于增量自編碼器的在線檢測(cè)模型構(gòu)建

      2.1 增量自動(dòng)編碼器構(gòu)建

      自動(dòng)編碼器將重構(gòu)誤差作為損失函數(shù)來優(yōu)化網(wǎng)絡(luò)參數(shù),從而學(xué)習(xí)到正常樣本數(shù)據(jù)中的內(nèi)存聯(lián)系。進(jìn)行異常檢測(cè)的原理是計(jì)算測(cè)試樣本的重構(gòu)誤差與正常行為模式的偏離程度,當(dāng)其大于一定的閾值時(shí),則被確定為異常。在訓(xùn)練自動(dòng)編碼器檢測(cè)模型時(shí),往往假設(shè)正常流量數(shù)據(jù)規(guī)模遠(yuǎn)大于異常,且異常樣本對(duì)模型的影響非常小,只使用正常流量數(shù)據(jù)來訓(xùn)練網(wǎng)絡(luò)。然而在現(xiàn)實(shí)環(huán)境下,網(wǎng)絡(luò)空間中存在一定規(guī)模的異常數(shù)據(jù),神經(jīng)網(wǎng)絡(luò)會(huì)學(xué)習(xí)到這些數(shù)據(jù)的規(guī)律,從而造成過擬合。異常數(shù)據(jù)的某些特征與主流樣本的規(guī)律不同,但是量很小,利用這一特性,采用在輸入層和隱藏層加入dropout層的方法來隨機(jī)地忽略輸入層節(jié)點(diǎn),使得少量的異常數(shù)據(jù)獲得學(xué)習(xí)的機(jī)會(huì)的概率進(jìn)一步降低,使得這些數(shù)據(jù)對(duì)模型的影響變得更小。SOINN算法具有增量學(xué)習(xí)特性,在學(xué)習(xí)過程中可以保存已經(jīng)學(xué)過的知識(shí),不用存儲(chǔ)歷史樣本,可減少運(yùn)算與存儲(chǔ)開銷。本文將改進(jìn)后的SOINN與自動(dòng)編碼器相結(jié)合,設(shè)計(jì)增量自編碼器,既保證了算法效率,又不需要在新增數(shù)據(jù)后重新訓(xùn)練模型,可以在添加新的網(wǎng)絡(luò)數(shù)據(jù)后不斷進(jìn)行學(xué)習(xí),在節(jié)約計(jì)算成本的基礎(chǔ)上又滿足了高精度的要求。

      算法首先對(duì)包含有大量正常樣本和少量異常樣本的無標(biāo)簽數(shù)據(jù)進(jìn)行預(yù)處理,然后輸入改進(jìn)后的SOINN進(jìn)行訓(xùn)練,將輸出的少量神經(jīng)元作為自動(dòng)編碼器的輸入,訓(xùn)練得到異常檢測(cè)模型,最后計(jì)算測(cè)試樣本的重構(gòu)誤差得分并比較,判定是否為異常,若為正常樣本則繼續(xù)輸入神經(jīng)網(wǎng)絡(luò)進(jìn)行增量學(xué)習(xí)。模型實(shí)現(xiàn)流程如圖4所示。

      圖4 基于增量自編碼器的網(wǎng)絡(luò)異常行為檢測(cè)算法流程

      基于增量自編碼器的網(wǎng)絡(luò)異常行為檢測(cè)算法如下:

      算法:基于增量自編碼器的網(wǎng)絡(luò)異常檢測(cè)算法

      1:設(shè)置LRM-SOINN參數(shù):λ,max_age。初始化神經(jīng)元集合N和連接關(guān)系集合C

      2:fori=1 tomdo

      4: 計(jì)算獲勝神經(jīng)元的相似度閾值

      8: 進(jìn)行類內(nèi)插入,在2個(gè)獲勝神經(jīng)元之間增加一條邊,并將年齡設(shè)置為0

      9: 更新與獲勝神經(jīng)元相連邊的年齡參數(shù),如果年齡參數(shù)大于max_age,則刪除該邊

      10: 更新獲勝神經(jīng)元及其鄰居節(jié)點(diǎn)的權(quán)重

      11: if 接收樣本數(shù)量整除λ

      12: 執(zhí)行去噪操作

      13:end for

      14:ruturn神經(jīng)元集合N、連接關(guān)系集合C

      15:初始化自動(dòng)編碼器參數(shù),將得到的神經(jīng)元集合作為自動(dòng)編碼器的訓(xùn)練集

      16:repeat

      18: 采用Adma優(yōu)化器優(yōu)化損失函數(shù),反向更新編碼器和解碼器的參數(shù)

      19:until 損失函數(shù)收斂,得到編碼器和解碼器的參數(shù)

      20:確定異常閾值δ

      21:fori=1 tondo

      23: ifScore(i)>δ

      25: else

      27: 輸入LRM-SOINN進(jìn)行增量學(xué)習(xí)

      28: end if

      29:end for

      2.2 基于距離度量的樣本標(biāo)簽篩選機(jī)制

      測(cè)試集通過自動(dòng)編碼器進(jìn)行預(yù)測(cè),得到的正常樣本中會(huì)包含少量的異常樣本,基于距離度量的樣本標(biāo)簽篩選機(jī)制就是要去除這些樣本中的異常數(shù)據(jù),使得反饋到LRM-SOINN網(wǎng)絡(luò)中的正常樣本純度更高,接近99.99%。

      LRM-SOINN的輸出神經(jīng)元作為正常樣本的代表點(diǎn),繼承了正常樣本的總體特征,分析SOINN算法可知,樣本到神經(jīng)元的距離可以度量?jī)烧咧g的相似性?;诖?設(shè)計(jì)一種基于距離度量的樣本標(biāo)簽篩選機(jī)制。首先計(jì)算自動(dòng)編碼器模型預(yù)測(cè)結(jié)果為正常的樣本到LRM-SOINN輸出神經(jīng)元的距離,并選擇最近的距離作為該樣本的相似度值;然后對(duì)每一個(gè)樣本的相似度值按照從小到大進(jìn)行排序;最后設(shè)定樣本篩選比例,將所選的樣本作為增量學(xué)習(xí)的正常樣本。圖5為該方法的應(yīng)用流程。

      圖5 基于距離度量的樣本標(biāo)簽篩選機(jī)制應(yīng)用流程

      基于距離度量的樣本標(biāo)簽篩選機(jī)制算法如下:

      算法:基于距離度量的樣本標(biāo)簽篩選機(jī)制算法

      輸入:LRM-SOINN的輸出神經(jīng)元集合U(Uj∈U,j=1,2,…,m),初始增量學(xué)習(xí)樣本集Q(Qi∈Q,i=1,2,…,n)表示通過自動(dòng)編碼器模型后得到的正常樣本集

      輸出:純度較高的正常樣本集Q′

      1.fori=1 tondo

      2.forj=1 tomdo

      4.end for

      6.end for

      7. returnd=[d1,d2,…,dn]

      8.采用冒泡排序法對(duì)d由小到大進(jìn)行排序,得到d′=[d′1,d′2,…,d′n],根據(jù)索引得到對(duì)應(yīng)的樣本排序Q′=[Q′1,Q′2,…,Q′n]

      9.確定樣本篩選比例λ

      10.得到正常樣本集合Q′=[Q′1,Q′2,…,Q′t],t=|n×λ|

      3 實(shí)驗(yàn)結(jié)果與分析

      3.1 實(shí)驗(yàn)環(huán)境與數(shù)據(jù)集

      在Win 10操作系統(tǒng)平臺(tái)上利用Python 3.7.0開展實(shí)驗(yàn),編程工具是PyCharm,處理器為Intel(R) Core(TM) i5-10210U,內(nèi)存16 GB。實(shí)驗(yàn)數(shù)據(jù)為NSL-KDD數(shù)據(jù)集,表1顯示了各類型數(shù)據(jù)的數(shù)量及所占比例。為更加貼近真實(shí)網(wǎng)絡(luò),本次實(shí)驗(yàn)中,訓(xùn)練集采用KDDTrain+中Normal樣本和隨機(jī)的5%攻擊樣本,測(cè)試集為KDD-Test+中的全部樣本。

      表1 NSL-KDD數(shù)據(jù)集樣本分布情況

      3.2 評(píng)價(jià)指標(biāo)

      在一次數(shù)據(jù)檢測(cè)中,會(huì)產(chǎn)生TP(true positive)、FP(false positive)、TN(true negative,)和FN(false negative)4種檢測(cè)結(jié)果。采用AUC值、準(zhǔn)確率(Accurac)、召回率(Recall)、精確率(Precision)和F1-measure作為評(píng)價(jià)指標(biāo)。AUC值是指ROC曲線下的面積,曲線的橫、縱軸分別是FPR、TPR,表示預(yù)測(cè)的正例排在負(fù)例前面的概率,其值越高分類器性能越好??捎胹klearn.metrics庫中roc_curve和auc函數(shù)進(jìn)行計(jì)算。其余指標(biāo)的計(jì)算表達(dá)示為:

      3.3 模型參數(shù)

      網(wǎng)絡(luò)結(jié)構(gòu)及模型參數(shù)的選取對(duì)于自動(dòng)編碼器運(yùn)行效果具有重要影響。經(jīng)過多次對(duì)比實(shí)驗(yàn),模型結(jié)構(gòu)為[16,2,2,16]時(shí),檢測(cè)效果最好。損失函數(shù)描述了預(yù)測(cè)值與真實(shí)值的差距,通過得到的損失值來反向更新網(wǎng)絡(luò)參數(shù),使其逐漸收斂,Mean Squared Error (MSE)相比Mean Absolute Error (MAE)收斂更快。通過多次對(duì)比實(shí)驗(yàn),LRM-SOINN的學(xué)習(xí)率極小值取1/150時(shí),學(xué)習(xí)效果最好?;谏鲜鰧?shí)驗(yàn)與分析,模型的具體參數(shù)設(shè)置如表2所示。

      表2 模型參數(shù)設(shè)置

      3.4 檢測(cè)性能

      本部分實(shí)驗(yàn)主要驗(yàn)證改進(jìn)SOINN與AE結(jié)合后形成的增量自編碼器在檢測(cè)性能方面的優(yōu)勢(shì),實(shí)驗(yàn)分2部分內(nèi)容。

      3.4.1AE與其他模型的對(duì)比

      為檢驗(yàn)AE有異常檢測(cè)中的性能優(yōu)勢(shì),選擇經(jīng)典淺層機(jī)器學(xué)習(xí)算法PCA、OCSVM、孤立森林進(jìn)行對(duì)比實(shí)驗(yàn),ROC曲線如圖6所示。從圖6中可以看出,自動(dòng)編碼器對(duì)應(yīng)的ROC曲線面積最大,AUC值為0.947 3,高于其他算法,表明AE較好地學(xué)習(xí)了樣本特征,分類能力最好。

      圖6 ROC曲線對(duì)比

      3.4.2增量自動(dòng)編碼器性能

      為檢驗(yàn)LRM-SOINN與自動(dòng)編碼器結(jié)合后的檢測(cè)效果,對(duì)比實(shí)驗(yàn)分別為利用SOINN增量學(xué)習(xí)的AE和未進(jìn)行增量學(xué)習(xí)的AE。ROC曲線如圖7所示。LRM-soinn-Autoencoder的AUC值為0.936 0,緊次于Autoencoder,說明LRM-soinn在學(xué)習(xí)過程中丟失了少量的樣本特征,但其依然繼承了樣本的多數(shù)特征。Soinn-Autoencoder的AUC值不如LRM-soinn-Autoencoder,說明改進(jìn)后的算法提升了鄰居節(jié)點(diǎn)學(xué)習(xí)效果,輸出的神經(jīng)元相比于SOINN更具代表性。

      圖7 ROC曲線對(duì)比

      表3為不同算法對(duì)應(yīng)的評(píng)價(jià)指標(biāo),均采用約登指數(shù)來選擇最佳閾值,即為ROC曲線最靠近左上方的點(diǎn)對(duì)應(yīng)的閾值。AUC值綜合了不同閾值下模型的分類水平,評(píng)價(jià)更為客觀。F1值為約登指數(shù)下選擇的閾值對(duì)Recall和Precision的綜合評(píng)價(jià),更加依賴于閾值的選擇。從表3中數(shù)據(jù)可以看出AE的AUC值最高,雖然OCSVM和Isolation Forest的AUC值比LRM-SOINN-AE高,但其F1值卻很小,表明LRM-SOINN-AE的綜合性能較好。

      表3 不同模型異常檢測(cè)實(shí)驗(yàn)結(jié)果

      3.5 運(yùn)算效率

      本節(jié)主要研究改進(jìn)后的SOINN算法與原算法相比,在時(shí)間和空間開銷方面進(jìn)行理論分析,并結(jié)合實(shí)驗(yàn)加以驗(yàn)證。

      3.5.1時(shí)間開銷

      SOINN算法僅在查找獲勝神經(jīng)元的過程中采用了冒泡排序,其余過程均為線性計(jì)算,因此,總體復(fù)雜度為o(n)。改進(jìn)后的SOINN增加了計(jì)算鄰居神經(jīng)元相似度閾值、鄰居神經(jīng)元與輸入節(jié)點(diǎn)的距離以及學(xué)習(xí)率3部分內(nèi)容,這3部分內(nèi)容均為線性計(jì)算,因此,時(shí)間LRM-SOINN的時(shí)間復(fù)雜度也為o(n)。分別取輸入樣本數(shù)量為1 000~30 000進(jìn)行實(shí)驗(yàn),計(jì)算SOINN和LRM-SOINN的運(yùn)算時(shí)間,實(shí)驗(yàn)結(jié)果如圖8所示。由圖8可知,隨著數(shù)據(jù)規(guī)模的增長(zhǎng),運(yùn)算時(shí)間呈現(xiàn)近似的線性增長(zhǎng)趨勢(shì),與前述分析結(jié)果一致,增加了鄰居神經(jīng)元學(xué)習(xí)率修正的LRM-SOINN略高于原始的SOINN,但這部分開銷相比于整體開銷,其影響效果甚微,證明了改進(jìn)后的LRM-SOINN不會(huì)增加太多的運(yùn)算開銷。

      圖8 算法運(yùn)行時(shí)間對(duì)比圖

      3.5.2空間開銷

      為驗(yàn)證SOINN、LRM-SOINN的數(shù)據(jù)壓縮特性,選取 1 000~50 000的樣本規(guī)模進(jìn)行實(shí)驗(yàn),結(jié)果如圖9所示。其中橫軸代表樣本規(guī)模,縱軸代表存儲(chǔ)開銷,也就是神經(jīng)網(wǎng)絡(luò)輸出的神經(jīng)元數(shù)量。由圖9可知,對(duì)AE進(jìn)行模型更新時(shí),需存儲(chǔ)所有已經(jīng)訓(xùn)練過的樣本,而利用SOINN和LRM-SOINN進(jìn)行增量學(xué)習(xí)時(shí),只需存儲(chǔ)少數(shù)的輸出神經(jīng)元。

      圖9 算法存儲(chǔ)開銷對(duì)比圖

      3.6 增量學(xué)習(xí)能力

      不同于離線學(xué)習(xí)的批量訓(xùn)練,增量學(xué)習(xí)在更新模型時(shí),只需要用新的訓(xùn)練數(shù)據(jù)來訓(xùn)練模型,減少了模型更新的時(shí)間。為驗(yàn)證模型的增量學(xué)習(xí)能力,首先用初始訓(xùn)練集來訓(xùn)練初始模型,然后不斷增加訓(xùn)練樣本數(shù),觀察模型的性能變化情況。根據(jù)圖10來劃分實(shí)驗(yàn)數(shù)據(jù)集。其中初始訓(xùn)練集為30個(gè)正常樣本,每一個(gè)增量訓(xùn)練集規(guī)模為50,增量訓(xùn)練次數(shù)為200次,測(cè)試集為KDD CUP測(cè)試集中包含正反例的所有樣本。

      圖10 實(shí)驗(yàn)數(shù)據(jù)集劃分

      圖11分別為AUC值隨著數(shù)據(jù)規(guī)模增長(zhǎng)的變化情況,為清楚比較2種算法的性能,圖11(b)取前60次增量訓(xùn)練進(jìn)行比較。由圖12可知,隨著訓(xùn)練數(shù)據(jù)的不斷增加,AUC呈現(xiàn)波動(dòng)上升趨勢(shì),且在前幾個(gè)學(xué)習(xí)周期內(nèi)上升較快,表明模型具備增量學(xué)習(xí)能力且學(xué)習(xí)能力較強(qiáng)。LRM-SOINN的性能指標(biāo)曲線大多在SOINN之上,通過計(jì)算得知,模型訓(xùn)練穩(wěn)定后,LRM-SOINN的AUC平均值為0.923 2,SOINN的AUC平均值為0.910 5,表明LRM-SOINN的總體性能要優(yōu)于SOINN。

      圖11 AUC值隨著數(shù)據(jù)規(guī)模增長(zhǎng)的變化情況

      3.7 在線學(xué)習(xí)能力

      3.7.1樣本標(biāo)記準(zhǔn)確率比較

      本實(shí)驗(yàn)的目的是證明初始增量學(xué)習(xí)樣本集通過基于距離度量的樣本標(biāo)簽篩選機(jī)制算法后,得到的樣本集中正常樣本比例是否顯著提升。實(shí)驗(yàn)首先用已經(jīng)訓(xùn)練好的增量自編碼器來預(yù)測(cè)測(cè)試集,得到初始增量學(xué)習(xí)樣本集,然后對(duì)該樣本集進(jìn)行篩選得到新的增量學(xué)習(xí)樣本集,通過調(diào)節(jié)樣本篩選比例,來比較篩選前后,正常樣本所占比例的變化情況。這里選擇曼哈頓距離作為距離度量方式。經(jīng)計(jì)算,初始增量學(xué)習(xí)樣本集中,正常樣本的比例為94.74%,經(jīng)過篩選后,樣本純度隨篩選比例的變化如圖12所示。由圖可知,當(dāng)篩選比例小于0.4時(shí),正常樣本純度就已經(jīng)接近100%,證明該方法可進(jìn)行樣本篩選。

      圖12 樣本純度變化情況

      3.7.2距離度量方式對(duì)模型的影響

      在機(jī)器學(xué)習(xí)任務(wù)中,選擇合適的距離度量方法非常作用。假設(shè)在n維空間中的2個(gè)點(diǎn)p=(x1,x2,…,xn)和q=(y1,y2,…,yn),dxy表示兩點(diǎn)間的距離。常用的距離計(jì)算方法有:

      1) 歐氏距離(Euclidean)。歐氏距離也叫L2范數(shù),是最常用且易于理解的一種距離度量方法計(jì)算公式為:

      2) 曼哈頓距離(Manhattan)。曼哈頓距離也叫L1范數(shù),它描述的是兩點(diǎn)在坐標(biāo)軸上的投影距離之和,計(jì)算公式為:

      3) 切比雪夫距離(Chebyshev)。切比雪夫距離描述的是兩點(diǎn)之間各個(gè)維度坐標(biāo)差的最大值,計(jì)算公式為:

      4) 余弦相似度(Cosine)。余弦相似度通過向量夾角的余弦值來衡量向量的相似度,計(jì)算公式為:

      為進(jìn)一步確定不同距離度量方法對(duì)樣本篩選的影響,對(duì)多種距離度量方法進(jìn)行對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)選擇篩選比例為 0.6~0.9,實(shí)驗(yàn)結(jié)果如圖13所示。由圖可知,采用余弦相似度的距離度量方式得到的正常樣本純度更高,其次為曼哈頓距離。但由于余弦相似度計(jì)算量較大,耗時(shí)更長(zhǎng),考慮算法用來進(jìn)行在線檢測(cè),實(shí)時(shí)性要求更高。綜合考慮,采用曼哈頓距離度量方法更為合適。

      圖13 距離度量方法對(duì)樣本純度的影響

      3.7.3模型在線學(xué)習(xí)能力

      為驗(yàn)證模型的在線學(xué)習(xí)能力,先取訓(xùn)練集中1 000個(gè)正常樣本來訓(xùn)練初始模型,然后利用所有的測(cè)試集進(jìn)行異常檢測(cè)和增量學(xué)習(xí)。訓(xùn)練周期K代表每檢測(cè)完K個(gè)樣本后進(jìn)行一次增量更新,∞代表不進(jìn)行增量學(xué)習(xí),直接進(jìn)行測(cè)試,實(shí)驗(yàn)記錄了隨著訓(xùn)練周期的改變,模型檢測(cè)能力變化情況,取值為所有訓(xùn)練周期內(nèi)各評(píng)價(jià)指標(biāo)的算術(shù)平均值,篩選比例設(shè)置為0.5,結(jié)果如表4所示。分析可知,隨著增量學(xué)習(xí)周期的縮短,模型整體性能有所提升,表明了提出的增量自編碼器模型具備一定的在線學(xué)習(xí)能力,當(dāng)訓(xùn)練周期小于500時(shí),AUC值達(dá)到了0.9以上,表明模型具備良好的分類性能。

      表4 模型在線學(xué)習(xí)性能對(duì)比

      4 結(jié)論

      本文將SOINN算法進(jìn)行了改進(jìn),提出具有更強(qiáng)學(xué)習(xí)能力的LRM-SOINN,通過與自編碼器相結(jié)合,構(gòu)建形成增量自編碼器,通過基于距離的樣本標(biāo)簽篩選機(jī)制來對(duì)測(cè)試集進(jìn)行二次識(shí)別,使得反饋到模型中的正常樣本純度更高,模型在節(jié)約計(jì)算成本的基礎(chǔ)上又保持了較高的檢測(cè)精度。從檢測(cè)性能、運(yùn)算效率、增量學(xué)習(xí)能力和在線學(xué)習(xí)能力四個(gè)方面開展實(shí)驗(yàn)研究與分析,有力證明了方法的可行性和有效性。后續(xù)研究中,將結(jié)合科研項(xiàng)目驗(yàn)證模型在真實(shí)網(wǎng)絡(luò)環(huán)境下的檢測(cè)效能,提升其實(shí)用價(jià)值。

      猜你喜歡
      增量編碼器神經(jīng)元
      提質(zhì)和增量之間的“辯證”
      《從光子到神經(jīng)元》書評(píng)
      自然雜志(2021年6期)2021-12-23 08:24:46
      “價(jià)增量減”型應(yīng)用題點(diǎn)撥
      基于FPGA的同步機(jī)軸角編碼器
      躍動(dòng)的神經(jīng)元——波蘭Brain Embassy聯(lián)合辦公
      基于PRBS檢測(cè)的8B/IOB編碼器設(shè)計(jì)
      基于均衡增量近鄰查詢的位置隱私保護(hù)方法
      JESD204B接口協(xié)議中的8B10B編碼器設(shè)計(jì)
      電子器件(2015年5期)2015-12-29 08:42:24
      基于二次型單神經(jīng)元PID的MPPT控制
      毫米波導(dǎo)引頭預(yù)定回路改進(jìn)單神經(jīng)元控制
      政和县| 廊坊市| 盘山县| 井陉县| 巴东县| 包头市| 佳木斯市| 溧水县| 合水县| 武城县| 临漳县| 元谋县| 静宁县| 海宁市| 台南市| 鄢陵县| 涿州市| 财经| 福州市| 米脂县| 乐安县| 泾源县| 务川| 高淳县| 鄂尔多斯市| 余姚市| 奉贤区| 青铜峡市| 澄城县| 礼泉县| 会泽县| 黔江区| 苏尼特右旗| 上栗县| 威海市| 寿阳县| 苏尼特左旗| 伽师县| 故城县| 巢湖市| 五指山市|