李佳
摘要:深度學(xué)習(xí)是機(jī)器學(xué)習(xí)研究中的一個(gè)新的領(lǐng)域,在入侵檢測(cè)領(lǐng)域有了飛速發(fā)展。本文討論了一種基于GRU序列的攻擊趨勢(shì)預(yù)測(cè)技術(shù),將深度學(xué)習(xí)技術(shù)更加方便的應(yīng)用于實(shí)際生產(chǎn)。
關(guān)鍵詞:遞歸神經(jīng)網(wǎng)絡(luò);時(shí)間序列;編碼器;譯碼器
1 方案背景
入侵檢測(cè)領(lǐng)域?qū)τ跈C(jī)器學(xué)習(xí)的應(yīng)用在近些年有了飛速提升,如人工神經(jīng)網(wǎng)絡(luò),遺傳算法等,都在入侵檢測(cè)領(lǐng)域頗見成效。但是由于機(jī)器學(xué)習(xí)方法存在很多局限性,使得他無(wú)法面對(duì)多樣化的入侵手段。需要對(duì)學(xué)習(xí)方法有高要求,才能應(yīng)對(duì)入侵特征的自動(dòng)提取和分析。深度學(xué)習(xí)在處理復(fù)雜數(shù)據(jù)時(shí),有突出的識(shí)別能力,是由于應(yīng)用了高度非線性結(jié)構(gòu)。同時(shí),深度學(xué)習(xí)算法也由于并行計(jì)算硬件設(shè)施的高速發(fā)展,有了更強(qiáng)大的硬件能力。借助合理的網(wǎng)絡(luò)結(jié)構(gòu),可以對(duì)深度神經(jīng)網(wǎng)絡(luò)的參數(shù)量進(jìn)行控制,使得深度神經(jīng)網(wǎng)絡(luò)即能保證網(wǎng)絡(luò)性能,也能降低運(yùn)行成本。
2 需求描述
2.1 技術(shù)關(guān)鍵點(diǎn)
RNN遞歸神經(jīng)網(wǎng)絡(luò)(recurrent neural network),是近年來非常熱門的一類神經(jīng)網(wǎng)絡(luò)模型,簡(jiǎn)單來說就是每一個(gè)隱含層的計(jì)算結(jié)果都與當(dāng)前輸入以及上一次的隱含層結(jié)果相關(guān),是可以模擬時(shí)序結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)。LSTM(Long Short-Term Memory),GRU(Gated Recurrent Unit)都是RNN的變型。
時(shí)間序列是指按時(shí)間先后順序分布的一列同一統(tǒng)計(jì)指標(biāo)的數(shù)據(jù)集,這樣的序列可能呈現(xiàn)一定的季節(jié)性變動(dòng)和固定趨勢(shì)。時(shí)間序列的預(yù)測(cè)分析是指利用過去一段時(shí)間內(nèi)序列的特征來預(yù)測(cè)未來一段時(shí)間內(nèi)該序列的走向。和回歸分析模型的預(yù)測(cè)不同,時(shí)間序列模型時(shí)依賴于序列發(fā)生的先后順序。
Encoder-decoder自編碼器由編碼器(Encoder)和解碼器(decoder)兩部分構(gòu)成,編碼器將輸入信息變換為中間的編碼信息C,而解碼器則從中間信息C重建目標(biāo)序列。Encoder/Decoder框架在文本處理領(lǐng)域應(yīng)用廣泛,例如在機(jī)器翻譯任務(wù)中,RNN編碼器將輸入序列進(jìn)行編碼,輸出固定長(zhǎng)度的向量,該向量被看做是輸入文本的語(yǔ)義表達(dá)C。而另一個(gè)RNN解碼器則根據(jù)該中間語(yǔ)義表示C產(chǎn)生目標(biāo)語(yǔ)言的文本。
2.2 問題分析
Sequence to Sequence模型框架分為編碼和解碼兩個(gè)階段,每個(gè)階段都采用了可以處理時(shí)序序列的RNN類模型,以此建立了一個(gè)能直接處理變長(zhǎng)輸入與變長(zhǎng)輸出的結(jié)構(gòu),實(shí)現(xiàn)了不固定長(zhǎng)度的多對(duì)多任務(wù)。
3 解決方案
本文提出基于GRU序列自編碼的攻擊趨勢(shì)預(yù)測(cè)技術(shù),能夠節(jié)省時(shí)間和資源,對(duì)共享的環(huán)境和情報(bào)也有更好的模擬。對(duì)變長(zhǎng)的多對(duì)多模型可以使得時(shí)間序列的預(yù)測(cè)分析更加靈活,可以應(yīng)對(duì)多種情況。另外在預(yù)測(cè)分析中加入輔助信息聯(lián)合訓(xùn)練,也使得模型對(duì)問題的模擬更綜合全面。
3.1 方案思路
現(xiàn)有的對(duì)于同一個(gè)環(huán)境下的多臺(tái)機(jī)器或者多個(gè)資產(chǎn),如果每個(gè)個(gè)體單獨(dú)應(yīng)用模型進(jìn)行預(yù)測(cè)分析,會(huì)消耗過多的時(shí)間和機(jī)器資源,并且這些個(gè)體(資產(chǎn)等)很可能共享同一部分環(huán)境因素。為了能夠更加節(jié)省時(shí)間和資源,該模型整合分析相同時(shí)期的病毒情報(bào)和攻擊情報(bào),綜合考慮多個(gè)個(gè)體的聯(lián)合模型,能夠更加有效的解約時(shí)間和資源成本,對(duì)共享的環(huán)境和情報(bào)也有更好的模擬。
隨著多個(gè)體模型的引入,需要對(duì)經(jīng)典RNN結(jié)構(gòu)進(jìn)行優(yōu)化,雖然經(jīng)典的RNN結(jié)構(gòu)也能實(shí)現(xiàn)等長(zhǎng)/同步的多對(duì)多模型,但是相等長(zhǎng)度的假設(shè)限制了它的應(yīng)用場(chǎng)景。采用Encoder-decoder架構(gòu)可以更靈活的將提煉/編碼的輸入信息,反饋到解碼的輸出部分,比如teaching force,peek以及attention等機(jī)制。變長(zhǎng)的多對(duì)多模型可以更靈活的引入輔助信息(如特定的病毒情報(bào),攻擊情報(bào)),參與中間過程的計(jì)算,與主模型序列的參數(shù)聯(lián)合訓(xùn)練。
最后,在Sequence to Sequence模型框架的編碼和解碼兩個(gè)階段,都采用了可以處理時(shí)序序列的RNN類模型,以此建立了一個(gè)能直接處理變長(zhǎng)輸入與變長(zhǎng)輸出的結(jié)構(gòu),實(shí)現(xiàn)了不固定長(zhǎng)度的多對(duì)多任務(wù),變長(zhǎng)的多對(duì)多模型中靈活的引入輔助信息(如特定的病毒情報(bào),攻擊情報(bào)),參與中間過程的計(jì)算,與主模型序列的參數(shù)聯(lián)合訓(xùn)練。
3.2 方案驗(yàn)證
經(jīng)過分析,為了得到更好的攻擊預(yù)測(cè)模型,需要在Sequence to Sequence模型框架的編碼和解碼兩個(gè)階段,采用可處理時(shí)序蓄力的RNN類模型,也就是GRU模型。這樣,模型可以直接處理變長(zhǎng)輸出和變長(zhǎng)輸出的結(jié)構(gòu),滿足特定場(chǎng)景下,不固定長(zhǎng)度的多對(duì)多任務(wù)。同時(shí)引入特定的病毒情報(bào)或者攻擊情報(bào)作為輔助信息,參與中間過程的計(jì)算,能夠使得模型訓(xùn)練的結(jié)果,更加貼近生產(chǎn)環(huán)境,模型結(jié)果更加準(zhǔn)確。
具體流程:
步驟1:提取t時(shí)刻n個(gè)主體的狀態(tài)量Xt。
步驟2:將t時(shí)刻n個(gè)主體的狀態(tài)量輸入編碼器,編碼器的RNN接受輸入的n個(gè)主體狀態(tài)量,最終編碼輸出編碼向量C,所有神經(jīng)元的隱藏狀態(tài)h。
步驟3:輸入輔助信息S,構(gòu)建輔助信息S屬性向量。
步驟4:編碼向量C與輔助信息S屬性向量合并成合并向量CS。
步驟5:在解碼器中輸入上一個(gè)神經(jīng)元的隱藏層向量 S1、S2、…、…、Sn,上一個(gè)神經(jīng)元的輸出,當(dāng)前的輸入合并向量CS。
步驟6:解碼器輸出t+1時(shí)刻n個(gè)主體的狀態(tài)Xt+1。
編碼器
輸入:t時(shí)刻n個(gè)主體的狀態(tài)
輸出:編碼向量C,隱向量H(該隱向量將傳遞給解碼器的神經(jīng)網(wǎng)絡(luò))
解碼器(每單元)
輸入包含三個(gè)部分,分別為編碼向量C(此處可以有多種組合機(jī)制,如teaching force,peek以及attention等),第二部分是解碼器前一個(gè)單元預(yù)測(cè)輸出的向量(在預(yù)測(cè)階段,在訓(xùn)練階段也可使用真實(shí)的標(biāo)簽或是隨機(jī)選取真實(shí)值/預(yù)測(cè)值),第三部分是輔助情報(bào)信息S。
輸出:t+1時(shí)刻n個(gè)主體的狀態(tài)的預(yù)測(cè)值
4.總結(jié)
本文主要討論了一種基于GRU序列自編碼的攻擊趨勢(shì)預(yù)測(cè)技術(shù),使深度學(xué)習(xí)在實(shí)際工作中發(fā)揮實(shí)際的效用。本文討論了基于深度學(xué)習(xí)和神經(jīng)遞歸網(wǎng)絡(luò)在現(xiàn)有環(huán)境中的使用,在此基礎(chǔ)上,提出了基于GRU序列,采用Encoder-decoder架構(gòu)的優(yōu)化改進(jìn)方案,并進(jìn)行了介紹和驗(yàn)證。