?

改進EfficientNet圖像分類的惡意流量檢測模型

2024-01-05 13:22周子云黃洪
關鍵詞:準確率流量分類

周子云,黃洪,2

(1.四川輕化工大學計算機科學與工程學院,四川 宜賓 644000;2.橋梁無損檢測與工程計算四川省高校重點實驗室,四川 宜賓 644000)

引言

隨著網絡流量的激增,流量檢測成為保障我們網絡安全的重要組成部分,目前流量檢測技術主要包括機器學習、深度學習、強化學習和可視化技術等[1]。其中基于經典機器學習網絡流量分類方法成為惡意流量檢測的主流方法之一[2]。這種檢測方法的準確率主要依賴于特征集標簽的設計,然而設計合適的特征標簽仍然是目前很難解決的問題[3-4]。隨著深度學習的發展,其在處理和識別圖像的方法上取得了巨大進步,研究者們開始使用深度學習將數據原始特征直接從圖像中提取出來,既能解決人工進行標記標簽的困難,又能提高檢測效率[5]。

Wang等[6]提出一種基于卷積神經網絡的惡意流量分類方法,將流量轉換為圖像進行分類,該方法不需要人工對惡意流量進行特征標記,因而提高了檢測的效率??琢钏琜7]采用卷積神經網絡進行特征提取和學習。它主要是對預處理后的數據通過概率計算的方式進行特征學習。通過降低數據的維度,可以使之后的入侵檢測更為準確。陳紅松等[8]提出將多條流量樣本轉換為灰度圖像并利用殘差神經網絡和雙向長短期記憶網絡(LSTM)融合對圖像進行分類,在對圖像樣本特征降維的同時使其分類,準確率達到96.77%,同時也兼顧了效率。李道全等[9]將孿生神經網絡與惡意流量檢測相結合,在解決樣本不均衡問題的同時,依然有著良好的檢測效果。楊銘等[10]提出一種采用SimHash 方法的卷積神經網絡模型來識別惡意流量,相較于傳統的機器學習模型有一定提高。譚茹涵等[11]提出基于圖像特征融合的惡意代碼檢測方法,在用于多特征的惡意代碼檢測上有著不錯的效果。龍墨瀾等[12]提出一種基于代碼可視化的惡意代碼檢測方法,該方法通過使用樣本期望體積來調整不同惡意代碼家族在模型訓練過程中的權重參數,緩解模型過擬合的影響,從而提高模型的性能。王悅等[13]提出一種融合注意力機制的EfficientNet 網絡模型,實現圖像端到端的自動分類,并且模型使用Focal Loss 損失函數可以解決樣本不均衡問題,使模型最終分類準確率達到95.2%,在糖尿病醫學領域得到了很好的應用。但是經過分析,文獻[6]雖然采用深度學習的技術應用于圖像流量的分類,但未考慮因圖像樣本的不平衡、特征提取的難易度不同導致特征提取不佳的問題。文獻[7-8]雖然降低圖像數據集的維度,使得圖像的特征更好地提取,但在降低維度的同時也丟失了部分重要特征,導致特征提取不完整,檢測效果不佳。文獻[9]雖然解決樣本不均衡的問題,但如果有新的惡意流量與現有惡意流量完全不同時,檢測效果會很差。文獻[10]雖然使用了多重特征選擇的方法,使模型在提取多維度特征時有一定的優勢,但沒有考慮特征提取時因樣本的復雜度導致特征提取的難易度問題,這會使得模型在預測復雜度不一樣的樣本時,表現不佳。文獻[11]雖然對多特征樣本提取確實有很大的提高,但在提取特征時將一些冗余特征一起提取是非常沒有必要的,去掉這些冗余特征,模型的效果應該會更好。文獻[12]雖然通過使用樣本期望體積來調整不同惡意代碼家族在模型訓練過程中的權重參數,緩解模型過擬合的影響,但模型對于樣本特征降維處理后會導致特征通道的維度降低,使網絡的性能變差。

綜上所述,數據在轉換成圖像后,會出現圖像樣本因復雜度不同導致的不平衡問題,這會使模型由于圖像樣本不平衡,導致準確率下降。針對此類問題,本文提出了一種改進EfficientNet 圖像分類的惡意流量檢測模型。用改進的EfficientNet 模型來提取流量圖像中包含的特征,在神經網絡中將注意力機制SE 模塊替換為ECA 模塊,以使模型在分類時更專注于圖像復雜度更高的難分樣本,改進一維卷積自適應地確定卷積核的大小,避免降維所導致的特征丟失,提高網絡模型的精度。同時,將原有交叉熵損失函數替換為Focal Loss 損失函數來解決難易樣本不平衡的問題,以進一步提高檢測的準確率和精確度。

1 相關理論

1.1 EfficientNet模型

EfficientNet 模型[14-15]用更少的訓練量達到更高的識別度。具體特點是運用殘差神經網絡增加神經網絡深度,通過更深層的神經網絡來實現特征提取。通過改變每一層提取的特征層數,實現更多層的特征提取,得到更多的特征。通過增大輸入圖片的分辨率使網絡可以學習和表達更豐富的信息,這有利于提高模型精確度。本文則是采用EfficientNet作為基線網絡并在其基礎上進行改進。

在EfficientNet 網絡結構中,核心為MBConv 模塊[16],其中包含深度可分離卷積,批處理歸一化以及Swish 激活函數,并引入SE 通道注意力模塊,使得淺層網絡也能通過全局感受野來捕獲圖像特征并對圖像進行描述。MBConv 網絡模型結構如圖1所示。

圖1 MBConv結構圖

1.2 SE模塊

SE(squeeze-excitation)模塊[17-18]是MBConv網絡模型結構上的一種注意力機制。它是通過自動學習來獲取每個通道的重要程度,然后根據重要程度為每個通道賦予權值,使得神經網絡重點關注權值大的通道并學習有用的特征。SE 模塊結構如圖2所示。

圖2 SE模塊結構圖

2 改進EfficientNet惡意流量檢測模型

2.1 注意力模塊的替換

本文將SE模塊替換為ECA 模塊,ECA 模塊[19]是一種輕量的通道注意力模塊,它將SE模塊中的全連接層學習通道改為一維卷積層學習通道。SE 模塊在對特征圖降維之后,會使通道維度縮減,導致網絡性能的降低,并且捕獲所有的通道交互,這種依賴關系是低效和不必要的。而ECA 模塊可以在不改變輸入特征通道的維度的情況下,通過一維卷積有效捕獲跨通道交互,完成局部跨通道融合的策略,從而達到了降低模型計算量和復雜度的效果。這樣可以加強對于小目標和部分遮擋目標的識別精度,同時計算量沒有顯著增加。ECA 模塊的結構如圖3所示。

圖3 ECA模塊結構圖

2.2 損失函數的改進

為了解決難易樣本不平衡問題,本文對損失函數做了改進,將原交叉熵損失函數改為Focal Loss損失函數[20]。Focal Loss 損失函數在交叉熵損失函數的基礎上進行了改進,這個函數通過減少易分類樣本權重,從而使模型訓練更加專注于難分類樣本,交叉熵損失函數的公式如式(1)~ (2)所示:

其中,L為損失值,y'為預測輸出值,y為經過激活函數后的實際輸出值。

Focal Loss損失函數如式(3)所示:

其中,α為權重參數,用來抑制正負樣本的數量平衡。γ為可調節因子,用來聚焦難分類樣本。兩個參數都有相應的取值范圍,它們的取值相互間也是有影響的。當樣本越容易被區分,調節因子也越小。當γ為0 時,就變為了普通的損失函數。當真實值趨于1時,說明樣本是易分類樣本,此時調制因子趨于0,說明對損失的貢獻最小,即減少了易分類樣本的損失比例。當真實值趨于0 時,說明該樣本被錯分的幾率較大,此時,調制因子趨于1,對模型損失值也沒有多大影響。

通過加入可調節因子來平衡正負樣本,但只加入可調節因子無法解決簡單樣本與困難樣本的分類問題,所以添加α來平衡簡單樣本的權重,從而使模型訓練更加專注于難分類的樣本,提高難分類樣本的準確率。

2.3 加入容忍度機制

給模型設定一個容忍度,假設容忍度值為N,這個值相當于一個超參數,模型每過一個epoch,就回看下驗證集的準確率。如果連續n個epoch 都未能提高準確率,那么就停止模型訓練,并依據指標回調模型的學習率[21]?;卣{學習率的原因是當學習率較大時,容易在搜索過程中發生震蕩,而發生震蕩的根本原因則是搜索步長邁得太大,這時需要通過降低學習率來穩定步長大小?;卣{模型需要用到衰減因子decay[22],具體操作流程如圖4所示。

圖4 依據指標調整學習率

3 實驗驗證

3.1 數據來源

為了驗證本文模型的實際效果,需要在相同的數據集上與其他文獻中的模型進行對比。本文所用數據集是通過IEEE DataPort 網站下載得到的公開數據集[23]。該數據集是通過抓取十六進制的PCAP數據包,并通過Hilbert空間填充曲線方法[24]將其轉換成圖像收集得到,有338 個正常流量圖像和518 個惡意流量圖像,總共有800 多個樣本,數據分布見表1。

表1 數據分布

數據集中惡意流量樣本占比見表2。

表2 依據惡意類型的惡意流量樣本占比[23] %

從表2可知惡意樣本中的惡意流量類型和它們在樣本中的比重,其中主要的惡意流量類型是僵尸網絡(Bontnets)、有惡意軟件(Malwares)、分布式拒絕服務(DDoS)。其余的分別是特洛伊木馬(Trojan)、零日漏洞(Zero-day exploits)、后 門(Backdoors)、其 他(Others)。

3.2 實驗設計

3.2.1 實驗環境

為了使惡意流量分類實驗順利進行,采用python 里面的pytorch 深度學習框架。具體的實驗硬件環境和軟件環境見表3。

表3 實驗環境

3.2.2 實驗評估指標

采用準確率(Accuracy)、精確率(Precision)、召回率(Recall)、F1分數(F1-Score)對模型進行評估。

3.3 實驗結果分析

3.3.1 參數設置

實驗模型的超參數配置見表4。

表4 模型超參數配置

由于EfficientNet-B4 圖像分辨率高,神經網絡寬度和深度均比EfficientNet-B0 大,因此使用EfficientNet-B4 作為實驗模型。EfficientNet-B4 與EfficientNet-B0在參數上的具體區別見表5。

表5 兩模型在參數上的對比

3.3.2 實驗驗證

使用十折交叉驗證對模型進行10次測試,測試結果如圖5 所示。從圖5 可以看出十折交叉驗證的準確率一直在95%~99%之間,這表明模型有較強的泛化能力且在圖像分類方面的性能較高,這是由于本文模型引入ECA 模塊,避免了原SE 模塊中存在的學習通道間的相互依賴關系造成效率低的問題,能使模型學習到更多更深層的特征。其次通過替換模型中的損失函數解決了難分類樣本的特征提取問題,從而獲得更高細粒度的特征模板,讓模型看到的圖像細節就越多,從而使模型即使在樣本不平衡的情況下依然保持很高的識別準確度。

圖5 十折交叉驗證準確率

在十折交叉驗證中,本文又選取其中一折進行分析,并與沒改進之前的傳統模型做了對比,在這一折中實驗進行了25輪的測試訓練,模型準確率和損失率對比如圖6所示。

圖6 十折交叉驗證準確率與損失率

從圖6(a)可以看出,本文EfficientNet-B4模型的準確度從第3 輪開始穩步上升,到第20 輪基本趨于平穩,準確率為97.51%,而原模型的準確率從第三輪開始上升速度不如本模型,從第六輪準確率一直低于改進模型的準確率。這主要由于原模型的注意力機制學習通道間的依賴關系較弱,而本文模型首先通過引入ECA 機制避免圖像特征降維并能高效學習通道間的依賴關系,這有利于模型提取更多更深的圖像特征,從而增強模型的檢測準確率;其次替換損失函數解決了原模型存在的樣本不平衡問題,使得模型能對圖像進行深層次提取,從而能夠使模型獲得更高細粒度的圖像特征,因而提高了模型準確率。

從圖6(b)中可以看出本文模型第25輪損失率為0.02,原模型損失率為0.03。本文模型從第4輪開始損失率就一直低于原模型。這是由于本文模型更注重模型中學習率的相關問題,相對于原模型擬合更快,且性能穩定。一般模型自動調節學習率機制,使得模型在準確率下降的同時損失率會上升,而本文模型通過指標回調學習率,在制止模型準確率下跌的同時損失率也降低。

從圖6 中可以看出,本文模型的準確率都略高于傳統的模型,且損失率都略低于傳統的模型。這是由于本文模型引入ECA 注意力模塊后,ECA 模塊用一個具有自適應內核大小的1D 卷積層來替換通用CA 模塊中的兩個2D 卷積層,使網絡專注于有效地捕獲強大的特征圖,從而提高模型的準確率。其次損失函數由交叉熵函數替換為Focal Loss函數,從而減少模型中的易分類樣本權重,增大難分類樣本權重,使模型訓練更加專注于難分類樣本,使模型對于難分類樣本提取的特征相比一般模型更為準確,從而增大模型對惡意流量檢測準確度。再者,模型擁有一個自動調節機制,使模型在準確率下降的時候快速調整學習率,制止了模型過擬合現象的發生,從而間接提高了模型的準確率,也減少了模型的損失率。

為了進一步驗證提出模型的可靠性,加入了Accuracy、Precision、Recall、F1-Score等評估參數,并和其他模型做了對比,對比結果如圖7所示。

圖7 各模型評估指標對比圖

圖7 中可以看出,本文模型的準確率、精確率、召回率和F1 值分別為98.84%、99.77%、99.01%和99.22%。首先將原EfficientNet 模型和改進后的EfficientNet模型相比,原EfficientNet模型的準確率、精確率、召回率和F1 值分別為96.91%、98.35%、98.21% 和98.61%,分別比本文差1.93%、1.42%、0.80% 和0.61%,由此可見,本文模型優于原EfficientNet 模型。另外,從圖7 中可以直觀地看出其他模型與本文模型有明顯差距。本文改進的EfficientNet 模型用ECA 注意力機制替換了原有的SE 注意力機制。由于ECA 的一維卷積不進行通道壓縮,保證了其通道注意力被完整地傳遞給后續網絡,因此其注意力較SE 模塊更為有效。再者,本模型替換了原EfficientNet 模型最后Softmax 層中的損失函數,將傳統的交叉熵損失函數改為Focal Loss損失函數,解決了基于圖像的異常流量檢測模型中經常出現的樣本不平衡問題,使其既能夠克服因為訓練集過小出現準確率降低的問題,也能夠避免由于圖像未能深層提取而導致的模型過擬合或欠擬合問題,最終使模型各項性能優于其他模型。

4 結論

為了解決惡意流量圖像樣本少、維度高等問題,提出一種改進EfficientNet 圖像分類的惡意流量檢測模型。通過惡意網絡流量PCAP 可視化圖像公共數據集進行實驗驗證,主要得到以下結論:

1)將原有交叉熵損失函數改為Focal Loss 損失函數,通過更新權重有效解決樣本不平衡問題,提高了模型對惡意流量的識別率。

2)將原有SE 模塊改為ECA 注意力模塊,通過避免特征維度降低和有效的跨通道信息交互,保證了其通道注意力被完整地傳遞給后續網絡,因此其注意力較SE模塊更為有效。

3)本文改進的EfficientNet 模型屬于輕量級模型,在參數量方面都遠遠小于其他模型,這使本文模型能適用于多種場景。它可以通過在反向傳播階段更新權值從而增大模型對難分類樣本的比重,進而實現對難分類樣本圖像特征深層提取,解決了樣本不平衡問題,從而改善了模型的性能。

猜你喜歡
準確率流量分類
冰墩墩背后的流量密碼
張曉明:流量決定勝負!三大流量高地裂變無限可能!
分類算一算
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產品質量檢驗分析
尋找書業新流量
分類討論求坐標
高速公路車牌識別標識站準確率驗證法
數據分析中的分類討論
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合