摘要
1 引言
2 背景與相關工作
2.1 基於日誌的異常檢測任務的不同公式
2.2 監督式與非監督式
2.3 日誌數據中的信息
2.4 固定窗口分組
2.5 相關工作
3 可配置的基於Transformer的異常檢測方法
3.1 問題公式化
3.2 日誌解析與日誌嵌入
3.3 位置與時間編碼
3.4 模型結構
3.5 監督式二元分類
4 實驗設置
4.1 數據集
4.2 評估指標
4.3 生成不同長度的日誌序列
4.4 實現細節與實驗環境
5 實驗結果
5.1 研究問題1:我們提出的異常檢測模型與基準相比表現如何?
5.2 研究問題2:日誌序列中的順序和時間信息對異常檢測有多大影響?
5.3 研究問題3:不同類型的信息各自對異常檢測貢獻多少?
6 討論
7 有效性威脅
8 結論與參考文獻
\
在本研究中,我們介紹了一種新穎的基於transformer的異常檢測方法。該模型以日誌序列作為輸入來檢測異常。模型採用預訓練的BERT模型嵌入日誌模板,使日誌消息中的語義信息能夠被表示。這些嵌入與位置或時間編碼相結合,隨後輸入到transformer模型中。組合信息在後續生成日誌序列級表示中被利用,促進異常檢測過程。我們設計的模型具有靈活性:輸入特徵是可配置的,因此我們可以使用或進行不同日誌數據特徵組合的實驗。此外,該模型設計並訓練為能夠處理不同長度的輸入日誌序列。在本節中,我們介紹我們的問題公式化和方法的詳細設計。
\ 3.1 問題公式化
我們遵循先前的工作[1],將任務公式化為二元分類任務,在其中我們以監督方式訓練我們提出的模型,將日誌序列分類為異常和正常。對於用於模型訓練和評估的樣本,我們採用靈活的分組方法來生成不同長度的日誌序列。詳細內容在第4節中介紹。
\ 3.2 日誌解析與日誌嵌入
在我們的工作中,我們通過使用預訓練語言模型編碼日誌模板,將日誌事件轉換為數值向量。為了獲取日誌模板,我們採用Drain解析器[24],該解析器被廣泛使用並在大多數公共數據集上具有良好的解析性能[4]。我們使用預訓練的sentence-bert模型[25](即all-MiniLML6-v2 [26])來嵌入由日誌解析過程生成的日誌模板。預訓練模型通過對比學習目標進行訓練,並在各種NLP任務上達到了最先進的性能。我們利用這個預訓練模型創建一個能夠捕捉日誌消息語義信息的表示,並為下游異常檢測模型說明日誌模板之間的相似性。模型的輸出維度為384。
\ 3.3 位置與時間編碼
原始transformer模型[27]採用位置編碼,使模型能夠利用輸入序列的順序。由於模型不包含遞歸和卷積,如果沒有位置編碼,模型將無法識別日誌序列。雖然一些研究表明,在處理序列數據時,沒有明確位置編碼的transformer模型仍然與標準模型具有競爭力[28, 29],但重要的是要注意,輸入序列的任何排列都將產生相同的模型內部狀態。由於序列信息或時間信息可能是日誌序列中異常的重要指標,基於transformer模型的先前工作利用標準位置編碼來注入序列中日誌事件或模板的順序[11, 12, 21],旨在檢測與錯誤執行順序相關的異常。然而,我們注意到,在一個常用的基於transformer方法的複製實現中[5],位置編碼實際上被省略了。據我們所知,尚無現有工作基於日誌的時間戳編碼時間信息用於異常檢測方法。在異常檢測任務中利用序列或時間信息的有效性尚不清楚。
\ 在我們提出的方法中,我們嘗試將序列和時間編碼納入transformer模型,並探索序列和時間信息對異常檢測的重要性。具體來說,我們提出的方法有不同變體,利用以下序列或時間編碼技術。編碼然後添加到日誌表示中,作為transformer結構的輸入。
\ 
3.3.1 相對時間流逝編碼(RTEE)
我們提出這種時間編碼方法RTEE,它簡單地用每個日誌事件的時間替代位置編碼中的位置索引。我們首先根據日誌序列中日誌事件的時間戳計算時間流逝。我們不使用日誌事件序列索引作為正弦和餘弦方程的位置,而是使用相對於日誌序列中第一個日誌事件的相對時間流逝來替代位置索引。表1顯示了日誌序列中時間間隔的示例。在示例中,我們有一個包含7個事件的日誌序列,時間跨度為7秒。從第一個事件到序列中每個事件的經過時間用於計算相應事件的時間編碼。與位置編碼類似,編碼使用上述方程1計算,並且在訓練過程中不會更新。
\ 
3.4 模型結構
Transformer是一種依賴自注意力機制來捕捉序列中輸入元素之間關係的神經網絡架構。基於transformer的模型和框架已被許多先前的工作用於異常檢測任務[6, 11, 12, 21]。受先前工作的啟發,我們使用基於transformer編碼器的模型進行異常檢測。我們設計的方法可以接受不同長度的日誌序列並生成序列級表示。為了實現這一點,我們在輸入日誌序列中使用了一些特定標記,使模型能夠生成序列表示並識別填充標記和日誌序列的結束,這一靈感來自BERT模型[31]的設計。在輸入日誌序列中,我們使用以下標記:放置在每個序列開始處,使模型能夠為整個序列生成聚合信息;添加在序列末尾以表示其完成;用於標記自監督訓練範式下的掩碼標記;用於填充標記。這些特殊標記的嵌入是根據所使用的日誌表示維度隨機生成的。圖1中顯示了一個示例,、和的時間流逝設置為-1。日誌事件級表示和位置或時間嵌入相加作為transformer結構的輸入特徵。
\ 3.5 監督式二元分類 在這個訓練目標下,我們利用transformer模型的第一個標記的輸出,同時忽略其他標記的輸出。這個第一個標記的輸出旨在聚合整個輸入日誌序列的信息,類似於BERT模型的標記,它提供了標記序列的聚合表示。因此,我們將此標記的輸出視為序列級表示。我們使用二元分類目標(即二元交叉熵損失)和這個表示來訓練模型。
\ 
:::info 作者:
:::
:::info 本論文可在arxiv上獲取,根據CC by 4.0 Deed(署名4.0國際)許可證。
:::
\


