一、前言
在數(shù)字化與智能化快速發(fā)展的背景下,網(wǎng)絡(luò)空間已成為經(jīng)濟(jì)、社會運(yùn)行的關(guān)鍵基礎(chǔ)設(shè)施。將注意力機(jī)制算法引人深度學(xué)習(xí)模型應(yīng)用于人侵檢測,能夠模擬人類對關(guān)鍵信息的聚焦能力,幫助模型自動識別網(wǎng)絡(luò)數(shù)據(jù)中的重要特征,減少噪聲干擾,提升檢測的準(zhǔn)確性與實時性。同時,該技術(shù)還能增強(qiáng)模型對復(fù)雜攻擊模式的學(xué)習(xí)能力,使其更好地適應(yīng)網(wǎng)絡(luò)安全環(huán)境的動態(tài)變化,為網(wǎng)絡(luò)安全防護(hù)體系提供強(qiáng)有力的技術(shù)支撐,對保障網(wǎng)絡(luò)空間安全、維護(hù)社會穩(wěn)定與經(jīng)濟(jì)發(fā)展具有重要的現(xiàn)實意義。
注意力分?jǐn)?shù)計算公式如下:
其中, dk 為鍵向量的維度,通過除以V 進(jìn)行縮放,以防止分?jǐn)?shù)過大導(dǎo)致梯度消失問題。接著,對注意力分?jǐn)?shù)進(jìn)行softmax歸一化,得到注意力權(quán)重
該權(quán)重表示在生成當(dāng)前位置的輸出時,對其他位置信息的關(guān)注程度,根據(jù)注意力權(quán)重對值向量進(jìn)行加權(quán)求和,得到注意力輸出公式如下:
二、基于注意力機(jī)制算法的深度學(xué)習(xí)模型概念
注意力機(jī)制最初源于對人類視覺和認(rèn)知系統(tǒng)的研究,其核心概念是通過計算注意力權(quán)重,來衡量輸入數(shù)據(jù)中不同部分的重要程度,并根據(jù)權(quán)重對輸人進(jìn)行加權(quán)求和,從而得到更具代表性的輸出[1。
在Transformer中,多頭注意力機(jī)制(Multi-HeadAttention)是注意力機(jī)制變體。在運(yùn)行中將輸入序列X分別通過三個不同的線性變換矩陣 WQ N WK 小 WV ,得到查詢向量 Q=XW0 、鍵向量 K=XWK 和值向量 V=XWV° 然后,計算注意力分?jǐn)?shù),對于查詢向量 ΔQi 和鍵向量 Kj
多頭注意力機(jī)制則是并行執(zhí)行多個上述注意力計算過程,每個頭學(xué)習(xí)到輸入序列不同方面的特征表示,最后將各個頭的輸出拼接并通過一個線性變換進(jìn)行融合,得到最終的多頭注意力輸出,使得模型能捕捉到輸入序列中不同類型和尺度的依賴關(guān)系,增強(qiáng)模型對復(fù)雜信息的理解和處理能力[2]。將注意力機(jī)制算法融人深度學(xué)習(xí)模型中,可以自動為不同部分的數(shù)據(jù)分配不同的注意力權(quán)重,使模型更加關(guān)注與任務(wù)相關(guān)的重要信息,抑制噪聲和無關(guān)信息的干擾。以圖像識別任務(wù)為例,對于一張包含多個物體的圖像,模型可以通過注意力機(jī)制聚焦于目標(biāo)物體,突出其關(guān)鍵特征,提高識別的準(zhǔn)確性[3]。
三、基于注意力機(jī)制算法的深度學(xué)習(xí)模型防入侵原理
(一)特征提取與模型訓(xùn)練
收集到的原始數(shù)據(jù)存在噪聲、缺失值和重復(fù)化等問題,這些問題會干擾模型的學(xué)習(xí)和判斷,所以要進(jìn)行清洗操作,使其具有統(tǒng)一的尺度和分布,以提高模型的訓(xùn)練效率和性能,完成數(shù)據(jù)預(yù)處理后,基于注意力機(jī)制算法的深度學(xué)習(xí)模型進(jìn)行特征提取。以基于注意力機(jī)制的CNN為例,在卷積層進(jìn)行卷積操作提取圖像局部特征后,注意力機(jī)制模塊會計算每個特征圖位置的注意力權(quán)重[4。設(shè)輸入的特征圖為F,經(jīng)過注意力機(jī)制計算得到注意力權(quán)重矩陣A,則加權(quán)后的特征圖F為F′=F?A ,用這種方式就可讓模型關(guān)注與人侵相關(guān)的關(guān)鍵特征。例如,在網(wǎng)絡(luò)流量數(shù)據(jù)中,突出顯示與異常流量模式相關(guān)的特征,而抑制無關(guān)的背景信息,從而提取更具代表性和判別性的入侵特征。
擁有特征后,進(jìn)行模型訓(xùn)練,采用反向傳播算法來調(diào)整模型的參數(shù),以最小化模型預(yù)測結(jié)果與真實標(biāo)簽之間的差異。以交叉熵?fù)p失函數(shù)L為例,對于多分類問題,其計算公式如下:
其中, Πn 為樣本數(shù)量; yi 表示樣本i的真實標(biāo)簽,通常為one-hot編碼形式; pi 表示模型預(yù)測樣本i屬于各個類別的概率。反向傳播算法通過計算損失函數(shù)對模型參數(shù)的梯度,然后根據(jù)梯度的方向和大小來更新參數(shù)。設(shè)模型的參數(shù)為0,學(xué)習(xí)率為 ∝ ,則參數(shù)更新公式如下:
在每一輪訓(xùn)練中,模型會根據(jù)當(dāng)前的參數(shù)對輸入數(shù)據(jù)進(jìn)行前向傳播計算預(yù)測結(jié)果,然后通過反向傳播算法計算梯度并更新參數(shù),不斷迭代這個過程,直到損失函數(shù)收斂到一個較小的值,此時模型認(rèn)為已經(jīng)學(xué)習(xí)到了數(shù)據(jù)中的有效模式。
在實際訓(xùn)練中,還能采用優(yōu)化策略來提高訓(xùn)練效果和效率。采用隨機(jī)梯度下降(SGD)及其變種算法(如Adagrad、Adadelta、Adam等)。Adam算法結(jié)合了Adagrad和Adadelta的優(yōu)點,能自適應(yīng)地調(diào)整學(xué)習(xí)率,在模型訓(xùn)練中表現(xiàn)出較好的穩(wěn)定性和收斂速度。其在更新參數(shù)時,不僅考慮了當(dāng)前梯度的一階矩估計(即梯度的均值),還考慮了二階矩估計(即梯度的方差),使得學(xué)習(xí)率在訓(xùn)練過程中能根據(jù)梯度的變化情況自動調(diào)整。
(二)入侵檢測與判斷
當(dāng)基于注意力機(jī)制算法的深度學(xué)習(xí)模型完成訓(xùn)練后,便可用于實時的入侵檢測任務(wù)。在實際應(yīng)用中,將實時采集到的網(wǎng)絡(luò)流量數(shù)據(jù)和系統(tǒng)日志數(shù)據(jù)按照訓(xùn)練時的預(yù)處理方式進(jìn)行處理后,輸入訓(xùn)練好的模型中。模型會根據(jù)輸人數(shù)據(jù)的特征,通過已學(xué)習(xí)到的模式和權(quán)重進(jìn)行計算,輸出對當(dāng)前數(shù)據(jù)所屬類別的預(yù)測結(jié)果,即判斷當(dāng)前數(shù)據(jù)是正常網(wǎng)絡(luò)行為還是某種入侵行為[5]。
模型的輸出是概率分布,表示輸人數(shù)據(jù)屬于各個類別的概率性。對于囊括正常、端口掃描、DDoS攻擊等類別的入侵檢測模型,輸出可能是[0.9,0.05,0.05],表示模型認(rèn)為當(dāng)前數(shù)據(jù)有 90% 的概率屬于正常網(wǎng)絡(luò)行為,有 5% 的概率屬于端口掃描攻擊,有 5% 的概率屬于DDoS攻擊。為了做出明確的判斷,需要設(shè)置一個閾值。當(dāng)模型預(yù)測屬于某一入侵類別的概率超過設(shè)定的閥值時,則判定為存在該類型的入侵行為。假設(shè)對于端口掃描攻擊設(shè)定的閾值為0.1,當(dāng)模型預(yù)測端口掃描攻擊的概率為0.15時,就可以判斷當(dāng)前網(wǎng)絡(luò)存在端口掃描攻擊。
四、基于注意力機(jī)制算法的深度學(xué)習(xí)模型入侵檢測設(shè)計方案
(一)多模態(tài)時空特征融合模型架構(gòu)設(shè)計
模型由特征嵌人層、時空特征提取層、自適應(yīng)注意力融合層及分類決策層構(gòu)成[。時空特征提取層采用雙向門控循環(huán)單元(BiGRU)捕獲時序依賴關(guān)系,其狀態(tài)更新公式為:
htf=GRU(xt,ht-1f),htb=GRU(xt,ht-1b)
其中, 表示雙向狀態(tài)拼接,
和
分別表示前向與反向隱藏狀態(tài), dh 為隱藏層維度。最終輸出通過拼接融合:
其中, htf@htb 表示 htf 和 htb 雙向狀態(tài)拼接,并行
學(xué)術(shù)研究
部署空洞率 d∈{1,2,4} 的擴(kuò)張卷積核 ,其中 k 為卷積核大小。第 d 個分支輸出為:
Cd=ReLU(Wconud*dX+bd)∈RT?m
其中 ?d 表示空洞卷積操作,意為對卷積操作施加空洞率為d的空洞卷積, * 用于明確標(biāo)注當(dāng)前卷積操作是空洞卷積, m 為輸出通道數(shù)。多分支輸出拼接后得到空間特征矩陣 Hconu∈RT?3m 。
定義神經(jīng)網(wǎng)絡(luò)模型時使用PyTorch庫構(gòu)建網(wǎng)絡(luò)層,整體屬于類的初始化部分(通常在init方法里),用來定義模型中會用到的具體組件,如下所示:
self.bigru nn.GRU(input_size σ=σ N,hidden_size
h,bidirectional=True) self.dilated_conv s=n n.ModuleList([nn. Convld(N,m,k,dilation=d)for d in[1,2,4]l)
nn.GRU是PyTorch里用來構(gòu)建門控循環(huán)單元(GRU)層的類。GRU作為特殊的循環(huán)神經(jīng)網(wǎng)絡(luò),能處理序列數(shù)據(jù),記住序列中的長期依賴信息,避免傳統(tǒng)RNN中梯度消失的問題。在這個實例化過程中,input_size :=N 表明輸入序列的每個時間步有N個特征,即輸入數(shù)據(jù)的特征維度為 N hidden_size=d_h,表示GRU隱藏狀態(tài)的維度大小為d_h,GRU在每個時間步根據(jù)輸入和前一個隱藏狀態(tài)更新當(dāng)前的隱藏狀態(tài),這個隱藏狀態(tài)的維度就是d_h。而bidirectional=True意味著創(chuàng)建的是雙向GRU。雙向GRU會同時從序列的正向和反向處理數(shù)據(jù),最后把兩個方向得到的隱藏狀態(tài)拼接起來作為最終輸出,讓模型同時捕捉到序列中過去和未來的信息,增強(qiáng)模型對序列的理解能力。
nn.ModuleList是PyTorch中的容器類,它的作用是存儲多個nn.Module實例,方便PyTorch對這些層的參數(shù)進(jìn)行管理。nn.Convld用于創(chuàng)建一維卷積層,常用于處理序列數(shù)據(jù),dilation τ=d 中的dilation是擴(kuò)張卷積的擴(kuò)張率參數(shù),這里d取值為[1,2,4],意思是創(chuàng)建三個不同擴(kuò)張率的一維卷積層。擴(kuò)張率為1時就是普通的卷積操作;擴(kuò)張率為2時,卷積核的元素之間會有一個間隔;擴(kuò)張率為4時,間隔會更大。使用不同的擴(kuò)張率可以讓模型捕捉到不同尺度的特征。
(二)門控注意力特征增強(qiáng)機(jī)制
為提升關(guān)鍵特征的區(qū)分度,設(shè)計基于通道注意力與殘差連接的特征增強(qiáng)模塊[。給定時空融合特征F∈RT*D ( D=2dh+3m ,通過全連接層學(xué)習(xí)通道權(quán)重,表示如下:
其中, W1∈Rk?D 和 W2∈Rp? 為可訓(xùn)練參數(shù)矩陣,δ表示ReLU激活函數(shù), σσσσ 為Sigmoid函數(shù)。采用門控機(jī)制動態(tài)調(diào)節(jié)特征重要性:
其中, ? 表示逐元素乘法, 1T 為全1向量,殘差連接確保梯度穩(wěn)定。
權(quán)重計算邏輯表示如下:
attn torch.sigmoid(self.fc2(F.relu(self.fc1(F))) # [batch_size,D]
enhanced=F*attn.unsqueeze {1}+F #廣播機(jī)制
上述程序是用注意力機(jī)制來增強(qiáng)輸入特征F,F(xiàn)是輸入的特征張量,其形狀通常為[batch_size,..],batch_size代表一批數(shù)據(jù)中樣本的數(shù)量。self.fc1和self.fc2是全連接層(nn.Linear)。在神經(jīng)網(wǎng)絡(luò)里,全連接層可以對輸入特征進(jìn)行線性變換。代碼先把輸入特征F傳入self.fc1,對F進(jìn)行一次線性變換,改變特征的維度。然后使用Frelu函數(shù),這是一個激活函數(shù),它會將輸入中小于0的值置為0,大于0的值保持不變,目的是給模型引入非線性因素,增強(qiáng)模型的表達(dá)能力。注意力權(quán)重表示模型對每個特征的關(guān)注程度,值越接近1表示越關(guān)注,越接近0表示越不關(guān)注。attn.unsqueeze(1)的作用是在attn張量的第1個維度上插入新的維度,如果attn的形狀是[batch_size,D],那么attn.unsqueeze(1)的形狀就會變成[batch_size,1, DJ 然后將輸入特征F與attn.unsqueeze(1)進(jìn)行逐元素相乘,這里使用廣播機(jī)制。廣播機(jī)制允許在形狀不同但兼容的張量之間進(jìn)行逐元素操作,attn.unsqueeze(1)會在缺失的維度上進(jìn)行擴(kuò)展,使其與F的形狀相匹配,然后逐元素相乘。相乘的結(jié)果表示根據(jù)注意力權(quán)重對輸入特征進(jìn)行了加權(quán)。最后,將加權(quán)后的特征與原始輸入特征F相加,得到增強(qiáng)后的特征enhanced。這種方式結(jié)合了原始特征和經(jīng)過注意力加權(quán)的特征,既保留了原始信息,又突出模型關(guān)注的部分,從而增強(qiáng)特征的表達(dá)能力,實現(xiàn)對異常數(shù)據(jù)的更好捕捉,及時阻止入侵行為的發(fā)生。
(三)增量式自適應(yīng)檢測決策系統(tǒng)
部署兩階段決策機(jī)制以平衡實時性與準(zhǔn)確性,滑動窗口置信度聚合,定義時間窗口 Wt={xt-τ ,., |σXt} ,窗□內(nèi)綜合置信度為:
其中, τ 為窗口長度,C為類別數(shù)(正常、DDoS、端口掃描等)。設(shè)置高閾值 θh 與低閾值 θ1 ,決策規(guī)則為:
增量更新時損失函數(shù)包含知識蒸餾項:
其中, pold 為舊模型輸出分布, pnew 為新模型輸出,λ 為平衡系數(shù)。其程序運(yùn)行邏輯如下:
ifpred.maxgt;high_threshold: firewall.block_ip(src_ip) elif low_threshold
該方案通過多模態(tài)特征融合增強(qiáng)模型對隱蔽攻擊的檢測能力,門控注意力機(jī)制提升特征可解釋性,增量學(xué)習(xí)機(jī)制使系統(tǒng)持續(xù)適應(yīng)新型攻擊模式。使用if語句判斷pred.max是否大于 high_threshold,pred是預(yù)測結(jié)果的張量,在機(jī)器學(xué)習(xí)場景下,它代表模型對某些事件或樣本的預(yù)測值,pred.max(會找出pred張量中的最大值,high_threshold是預(yù)先設(shè)定的一個高閾值。當(dāng)這個最大值超過high_threshold時,意味著當(dāng)前的預(yù)測結(jié)果顯示出較高的風(fēng)險水平。在這種情況下,代碼調(diào)用firewall.block_ip(src_ip)方法,firewall是防火墻對象,block_ip是該對象的方法,用于將源IP地址src_ip加人防火墻的封禁列表中,以此阻止來自該IP地址的后續(xù)訪問,若pred.max不大于high_threshold,程序會進(jìn)入elif分支,判斷pred.max是否大于low_threshold且小于等于high_threshold。low_threshold同樣是預(yù)先設(shè)定的一個低閾值,當(dāng)pred.max(處于這個區(qū)間時,表明當(dāng)前的風(fēng)險處于中等水平。此時會計算特殊的損失函數(shù)loss。lambda是一個超參數(shù),其取值范圍通常在0到1之間,用于控制兩種不同損失函數(shù)的權(quán)重。ce_loss代表交叉熵?fù)p失,它是機(jī)器學(xué)習(xí)中常用的損失函數(shù),主要用于衡量模型預(yù)測結(jié)果與真實標(biāo)簽之間的差異,在分類問題中應(yīng)用廣泛。kl_div表示KL散度,用于衡量兩個概率分布之間的差異,old_logits和new_logits分別代表舊的和新的模型輸出的對數(shù)概率,通過計算它們之間的KL散度,可以衡量模型更新前后輸出分布的變化。最終的損失函數(shù)loss是交叉熵?fù)p失和KL散度的加權(quán)和,這樣的設(shè)計可以在模型訓(xùn)練過程中平衡模型對預(yù)測準(zhǔn)確性(通過交叉熵?fù)p失體現(xiàn))和模型輸出分布穩(wěn)定性(通過KL散度體現(xiàn))的追求[8]。
五、結(jié)語
研究圍繞基于注意力機(jī)制算法的深度學(xué)習(xí)模型在入侵檢測系統(tǒng)中的應(yīng)用展開深入探討。通過理論分析與技術(shù)設(shè)計,構(gòu)建了融合多模態(tài)時空特征、門控注意力增強(qiáng)機(jī)制和增量式?jīng)Q策系統(tǒng)的入侵檢測模型,有效提升了對復(fù)雜網(wǎng)絡(luò)入侵行為的檢測能力。研究成果不僅在理論上豐富了網(wǎng)絡(luò)安全領(lǐng)域中人侵檢測技術(shù)的研究體系,還在實踐層面為網(wǎng)絡(luò)安全防護(hù)提供了可落地的解決方案,能夠幫助企業(yè)和機(jī)構(gòu)及時發(fā)現(xiàn)并抵御網(wǎng)絡(luò)攻擊,降低安全風(fēng)險,為網(wǎng)絡(luò)安全筑牢防線。
參考文獻(xiàn)
[1]李婧,楊興凱.RBAT:基于融合特征和殘差網(wǎng)絡(luò)的入侵檢測模型[J].中國工程機(jī)械學(xué)報,2024,22(02):258-263.
[2]陳天翔,何利力,鄭軍紅.基于注意力機(jī)制的殘差網(wǎng)絡(luò)入侵檢測模型[J].軟件工程,2024,27(05):73-78.
[3]羅虹富,王恒,馬自強(qiáng).基于CNN和BiLSTM的分層注意力網(wǎng)絡(luò)入侵檢測方法[J].計算機(jī)技術(shù)與發(fā)展,2024.34(11):95-100
[4]朱鵬浩,李軍,張世義,等.基于深度學(xué)習(xí)的動態(tài)危險區(qū)域入侵檢測方法[J].中國安全生產(chǎn)科學(xué)技術(shù),2024,20(07):170-178
[5]楊曉文,張健,況立群,等.融合CNN-BiGRU和注意力機(jī)制的網(wǎng)絡(luò)入侵檢測模型[J].信息安全研究,2024,10(03):202-208.
[6]陳建峰.基于智能監(jiān)控的重點場所無人機(jī)防入侵系統(tǒng)研究[J]張江科技評論,2024(04):102-104.
[7]曹珍貫,陶明明,王勇杰,等.基于URBE-YOLOvl1n的井下安全帽小目標(biāo)檢測算法[JOL].重慶工商大學(xué)學(xué)報(自然科學(xué)版)1-12[2025-06-04].http://kns.cnki.net/kcms/detail/50.1155.N.20250421.1552.002.html.
[8]許智宏,劉秋月,董永峰,等.融合雙重注意力與圖增強(qiáng)的知識圖譜推理[J/OL].計算機(jī)工程與應(yīng)用,1-14[2025-06-04].http:/kns.cnki.net/kcms/detail/11.2127.TP.20250428.1332.008.html.
基金項目:2021年度福建省中青年教師教育科研項目(科技類)“基于注意力機(jī)制算法的深度學(xué)習(xí)模型的入侵檢測系統(tǒng)”(項目編號:JAT210650)
作者單位:福建師范大學(xué)協(xié)和學(xué)院
責(zé)任編輯:張津平 尚丹