999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

云工作流中基于多任務時序卷積網絡的異常檢測方法

2021-07-02 08:54:46程春玲
計算機應用 2021年6期
關鍵詞:檢測模型

姚 杰,程春玲,韓 靜,劉 崢*

(1.南京郵電大學計算機學院,南京 210023;2.中興通訊股份有限公司上海研發中心,上海 201203)

(?通信作者電子郵箱zliu@njupt.edu.cn)

0 引言

云計算平臺使用分布式計算、虛擬化等技術整合了大量的計算設備及基礎設施,并通過網絡為用戶提供計算、數據存儲等資源和相關服務,因其高效、廉價和易維護等特點被廣泛應用。隨著云服務市場的快速發展,云計算系統的安全、可靠運行受到了日益嚴峻的挑戰[1]。云計算系統中存儲著大量的數據,其系統規模龐大、結構復雜,系統內通常包含多個組件,相較于一般的計算機軟件系統更容易存在系統漏洞或遭受到攻擊。因此異常檢測[2]是維護云計算系統安全可靠運行的必不可少的步驟之一。

為了了解系統的運行過程,系統中有各種檢測程序監測系統在運行過程中的狀態,采集監測數據。在基于監測數據的異常檢測[3]中,監測數據主要為系統運行過程中采集的性能數據。Nguyen 等[4]設計了一種在線異常定位系統,依靠采集的性能數據建立系統正常執行下的波動模型,并根據找出的異常數據定位異常組件。Wang 等[5]不同于使用閾值確定異常的方法,提出了用熵來計算性能數據的集中度和分散度,并使用數據分析方法區分正常熵和異常熵以檢測系統異常。以上基于監測數據方法的不足之處在于監測數據的獲取需要依靠相關數據采集程序,同時監測數據難以定位系統異常發生的位置。

基于日志的異常檢測利用系統中普遍存在的日志數據,日志是進行系統異常檢測的重要信息來源,相較于監測數據,日志數據更容易獲取,而且也能夠確定異常的位置。傳統的基于日志的異常檢測方法從系統日志中挖掘出系統正常運行時的特征以用于異常檢測[6]。Xu等[7]通過日志解析從日志中提取出結構化信息,用定長的窗口劃分日志序列,統計窗口內每個事件模板出現的次數作為一個特征向量,由此構造出特征矩陣,然后使用主成分分析(Principal Component Analysis,PCA)在數量上明顯有異于其他集合的異常集合,最后通過統計檢驗確定異常的日志序列。隨著數據的變化,該方法異常檢測結果的準確性有很大的波動。基于監督學習的方法在數據處理上采用與PCA 相類似的方式提取特征矩陣,然后使用決策樹[8]、支持向量機[9]等方法進行建模。He 等[10]詳細比較了現有的各種使用傳統機器學習的異常檢測方法,這類方法在特定的云計算系統中能夠取得較好的異常檢測效果,但是缺乏對異常類型的判斷。基于日志的事務流圖方法構建系統正常執行流程下的事務流圖,以用于檢驗系統的執行過程。Yu等[11]提出的ClouderSeer是一種專門為OpenStack 平臺而設計的異常檢測算法,它通過多個正常運行下生成的日志流為每一個OpenStack虛擬機構建一個自動狀態機,刻畫了每個任務的工作流,在在線檢測階段自動識別交錯的日志,檢測可能存在的異常。基于日志的事務流圖[12]能夠為異常分析提供強有力的支持,但是由于事務流圖難以描繪出整個系統的詳細流程,所以其在異常檢測方面的準確度較差。

近年來隨著深度學習的快速發展,各種深度學習模型被廣泛運用于系統的異常檢測[13]中,Du 等[14]提出的DeepLog 利用自然語言處理的方式處理日志流,將日志條目視為遵循某些特定模式和語法規則的序列元素,使用長短期記憶(Long Short-Term Memory,LSTM)網絡[15]構建循環神經網絡模型,從日志流中挖掘出事件序列和日志參數序列分別訓練對應的LSTM 模型,用于檢測系統異常。Brown 等[16]運用自然語言處理中的詞袋模型對原始日志進行處理,將處理后的日志流序列作為模型的輸入,并在LSTM 中加入了注意力機制,最后根據日志的異常得分來確定是否發生異常。Lu 等[17]構建了由embedding 層、三個一維卷積層、dropout 層和池化層組成的卷積神經網絡用來檢測輸入的事件序列中是否發生了異常。王易東等[18]在N-gram 語言模型的基礎上提出了一種基于門控循環單元網絡(Gated Recurrent Unit,GRU)的日志異常檢測模型,該模型對權重參數的各維度采用不同的學習速率進行更新[19]。任明等[20]提出了一種基于LSTM 的異常檢測方法,利用TF-IDF 提取日志特征,將異常檢測建模為二分類任務,該方法在Web 系統日志中取得了較好效果。楊瑞朋等[21]用PReLU(Parametric Rectified Linear Unit)激活函數替換時序卷積網絡(Temporal Convolutional Network,TCN)中的ReLU 函數,針對全連接層易引起過擬合的問題,用自適應平均池化層替換全連接層。現有的基于深度學習的方法中普遍采用事件和日志參數各自訓練相應的模型,而忽略了這些任務的關聯關系。

系統中的路徑異常和時延異常是較為常見的異常類型,路徑異常由系統偏離正常執行路徑造成,而請求或響應超時是造成系統時延異常的常見原因。綜合上文中提到的問題,本文提出了一種基于多任務深度學習模型的異常檢測框架。該框架選用日志數據,生成日志對應的事件模板及模型的訓練和檢測數據,從事件和時間這兩個維度針對系統中存在的路徑異常和時延異常進行檢測。

本文的主要工作如下:實際的云平臺系統中事件發生頻繁,相鄰事件的時間差過小,因此通過間隔采樣的方式生成時延異常檢測任務的數據,有效解決了短時延難以預測及檢測的問題。此外根據事件預測任務和時延預測任務之間的關聯性,提出了一種基于TCN 的多任務深度學習模型,并設計了異常檢測邏輯。在實際日志數據中的檢測結果表明,本文的異常檢測框架取得了較高的異常檢測準確度。

1 云計算工作流的異常

云計算工作流中的異常主要包括時延異常和路徑異常。路徑異常是系統中常見的異常類型之一,基于日志的路徑異常檢測主要依靠從日志流中挖掘的事件序列,路徑異常在日志流中具體表現為某一位置處的事件模板偏離了正常的路徑,可能出現的路徑異常類型有跳過下一條關鍵日志和不遵循關鍵日志。例如,正常執行下得到路徑為:事件1→事件2→事件3→事件4,如果某次執行產生的日志流對應的路徑變為:事件1→事件2→事件5→事件4,則在事件5 的位置處可能發生了類型為不遵循關鍵日志的路徑異常;如果對應的路徑變為:事件1→事件2→事件4,則在事件4 的位置處可能發生了類型為跳過下一條關鍵日志的路徑異常。

由于系統程序的執行是一種嚴格的流程,且系統的日志輸出語句一般書寫在程序的固定位置,所以兩條日志間的輸出時間間隔應該服從一定的分布,受計算機硬件以及網絡環境等因素的影響,該時間間隔在一個固定的區間內波動。因此,系統的時延異常在日志流中具體表現為兩條日志的輸出時間間隔不在正常的范圍內,例如“Deploying os_pkg_repo begins.”和“Deploy os_pkg_repo successfully.”這兩個事件之間的時間間隔應該在一定的時間范圍內,如果超出了這個范圍,就可能存在時延異常。

本文提出了基于日志的異常檢測框架,可以檢測系統中存在的路徑異常和時延異常,該異常檢測框架包含以下三個步驟:

1)事件模板及序列生成:通過日志解析[22]將半結構化的日志解析為結構化的事件模板,提取出每一條日志對應的事件ID和時間戳,從而將日志流轉化為事件序列和時間序列。

2)多任務學習模型:構建并訓練基于時序卷積網絡的多任務學習模型,多任務學習通過共享模型參數學習兩個任務的共同特征。

3)日志異常檢測:針對系統中存在的路徑異常和時延異常設計相應的異常檢測方法,利用多任務學習模型進行日志的異常檢測。

2 事件模板及序列生成

2.1 事件模板生成

日志解析是在進行異常檢測之前必不可少的工作,因為系統產生的原始日志是半結構化的文本信息,由日志關鍵字和變量參數組成,其中變量參數記錄著如時間戳、IP地址這類隨著系統運行而變化的信息。日志解析從原始日志中提取日志關鍵字,將變量用占位符代替(比如可以用*代替的變量參數),例如如下的OpenStack原始日志:

2019-04-29 14:05:03.993 INFO sqlalchemy.orm.mapper.Mapper(Com_Server|com_servers)_configure_property(msb_info_v2,Column)req-115af119-b549-4b0b-9056-fbf97a5d6009.

經過日志解析后得到的事件模板如下:sqlalchemy orm mapper Mapper(Com_Server|com_servers)(*Column)<reqparam>。日志解析將半結構化的日志信息轉化為結構化的事件模板,每個事件模板盡可能代表著一條日志打印語句。

云計算數據中心包含多個組件,首先生成每個組件的事件模板,本文采用的日志解析算法為基礎簽名生成(Basic Signature Generation,BSG)算法[23],BSG 通過分析日志消息的長度和關鍵詞,從而實時解析出日志消息所屬事件和對應的消息簽名,能夠在保證解析速度的情況下解決現有日志解析算法需要真實消息簽名輔助調參工作的問題。日志解析后得到事件模板集合,每一個事件模板用一個事件ID 進行編號。由于BSG是一種流式解析算法,會造成解析質量的下降,解析算法會將本屬于同一事件模板的日志,解析為不同類型的事件模板,影響了異常檢測中對異常的判定,所以進一步用編輯距離計算事件模板Ei與其他的事件模板的相似度,然后對解析生成的事件模板采用層次聚類合并相似度較高的事件模板,生成新的事件模板,得到新的事件模板集合E={E1,E2,…,Em}。

2.2 序列生成

序列是由系統某次運行產生的原始日志條目中的參數或其對應的事件ID 組成的,通過滑動窗口劃分序列數據以生成模型的訓練和檢測數據,用事件模板匹配原始日志條目得到原始日志對應的事件ID,系統一次運行對應的事件序列SE={e1,e2,…,ei,…,en},ei∈E。

系統一次運行對應的時間序列由日志條目中的時間戳組成。對于時間序列ST={t1,t2,…,tn},普遍采用的處理方式為取兩個相鄰事件的時間差,但是系統事件發生頻繁,相鄰事件間的時間差過小。如圖1 所示為OpenStack 某次正常部署下時延的分布情況,當k=1,即取兩個相鄰事件的時間差時,多數時延小于0.001 s,不利于模型訓練和預測以及時延異常的檢測。因此本文采用間隔采樣的方式生成新的時延序列,采樣的間隔為k,取事件序列中事件ei發生時間與事件ei-k發生時間的時間間隔,當i-k<0 時,采用zero padding 生成時延序列ST'={0,0,…,ti-ti-k,…,tn-tn-k}。

如圖1 所示,當采用間隔采樣后,相較于相鄰采樣,當k=5 時,處于0~0.001 s 內的時延大幅減少,多數時延處于0.001~0.01 s 的區間內。進一步擴大間隔采樣值,即k=10時,時延繼續增大,位于0.01~0.04 s 區間的數量明顯增多。可通過間隔采樣的方式減小短時延對異常檢測帶來的影響。

圖1 不同k值下時延分布Fig.1 Time delay distribution with different k values

k值的選取通過事件發生處時延集合的均值來確定,時間是與事件相關的,不同的事件流程可能導致不同的時延,假設每個事件Ei(i=1,2,…,m)在其發生位置處對應的時延集合符合正態分布,其均值和標準差分別為MEi和SEi。如圖2 所示的序列生成過程中,展現了事件E5的時延集合生成。為了保證所有事件對應的時延處于一個較為合理的值,設定閾值tthreshold,當k的取值為某個固定值時,應滿足如下條件:

圖2 序列生成示例Fig.2 Sequence generation example

本文取tthreshold=0.01,其k=30,最后使用長度為h的滑動窗口劃分事件序列SE和時延序列ST'。

3 基于時序卷積網絡的多任務學習模型

3.1 基于時序卷積網絡的單任務學習模型

循環神經網絡因其能夠有效保留歷史信息,一直是序列建模的首選,但是因為循環神經網絡需依次計算每一步狀態,所以不適合并行。時序卷積網絡是Bai 等[24]在近年來使用卷積結構解決時序任務研究的基礎上,提出的對時序任務有較好適用性的卷積網絡結構。作為一種卷積結構的序列模型,TCN 結構更加簡單清晰并且能夠并行化,相較于LSTM 等循環神經網絡結構,TCN可以通過堆疊卷積結構,捕捉到更加長遠的依賴關系。

時序卷積網絡的設計主要遵循以下兩個原則:1)網絡的輸出與輸入等長,卷積結構使用一維全卷積,使得隱藏層的輸出與輸入等長,采用zero padding 來保持層與層之間的長度相同;2)網絡不會遺漏任何歷史信息,卷積層采用因果卷積[24]。

TCN 使用了擴張卷積,擴張卷積可以有效地減小網絡的深度并使模型具有長期記憶,此外,增大擴張系數或卷積核大小可以擴大感受野,感受野Rf=d*z。對于輸入的一維序列:x∈Rn和卷積核f={0,1,…,z-1},序列中某個元素a擴張卷積運算F定義如下:

其中:d是擴張系數;z是卷積核大小。

隨著輸入歷史序列長度的增加,TCN模型也在加深,為了避免TCN 模型出現梯度彌散,引入了殘差連接。如圖3 所示為殘差塊的結構,其中擴張系數d=1,卷積核大小z=2。輸入長度為3的序列x=(x0,x1,x2),殘差塊的輸出O如下:

圖3 殘差塊結構Fig.3 Structure of residual block

其中F(x)為x經過的一系列計算。

本文將事件序列的路徑預測任務建模為多分類問題,將時間序列上的時延預測任務建模為回歸問題。對于輸入的歷史事件序列和時間序列,模型預測的是正常情況下的下一位置處應該發生的事件和時間,模型的訓練數據為系統多次正常運行產生的日志數據。單任務學習模型基于TCN 分別訓練路徑異常檢測和時延異常檢測對應的模型。

單任務的路徑預測任務中,給定窗口長度h,對于長度h的一維事件子序列we={er-h,…,er-2,er-1},采用常用的Word2Vec 方法,經過詞嵌入后將每個事件映射為一個固定長度H的一維向量,詞嵌入層輸出維度為h×H的特征he。he為TCN 的輸入,TCN 的輸出通過一個激活函數為softmax 的全連接層后,輸出每個事件Ei∈E(i=1,2,…,m)在下個位置r處發生的概率分布P(er|we)={E1:p1,E2:p2,…,En:pn}。損失函數為交叉熵函數L1:

其中:yi為事件Ei的標簽;pi為事件Ei的概率。

單任務的時延預測任務中,TCN 的輸入為長度h的時間子序列wt=TCN 的輸出通過一個激活函數為linear 的全連接層后,輸出下個位置r處的時延大小損失函數為均方誤差函數L2:

3.2 多任務學習模型

本文從事件和時間兩個維度檢測系統異常,即路徑異常和時延異常。利用3.1 節中提出的時序卷積網絡,可以分別為路徑異常和時延異常兩個任務構建兩個單獨的學習模型,從而完成相應的異常檢測。為路徑異常或時延異常單獨構建學習模型忽略了兩種異常直接的關聯關系,例如不同事件對于事件直接時延的影響,或是不同時延對于事件預測的判斷,從而不能取得較好的異常檢測效果。

多任務學習[25]通過學習任務之間的共有特征,提高了學習模型的表現。Long 等[26]先通過共享卷積層,然后在特定任務層中設定張量的正態先驗,學習多個任務之間的關系。Misra等[27]在并行的兩個任務之間設計了十字繡單元,通過正則化模型參數距離的相似度,來約束各個任務模型參數的相似度,從而控制任務之間的共享程度。

本文考慮到日志類型的事件ID 和日志發生時間的時間戳之間的相關性,提出利用多任務學習同時解決路徑異常和時延異常的檢測,設計了融合的多任務時序卷積網絡,通過共享深度神經網絡隱藏層的參數,不僅捕捉不同種類異常之間的關聯關系,提升了異常的檢測效果,還降低了模型的復雜度。更優的是,共享參數的多任務融合的時序卷積網絡為不同種類的異常檢測引入了噪聲,提高了模型的泛化能力,進一步提高了異常的檢測效果。

本文提出的多任務融合的時序卷積網絡中包括兩個異常檢測的學習任務:路徑預測任務和時延預測任務,模型在時序卷積網絡的淺層部分共享路徑預測任務和時延預測任務的隱藏層參數,再分叉成兩個各自的特定任務層。基于TCN 的多任務學習示例模型如圖4(a)所示,該多任務學習模型主要由輸入層、時序卷積網絡(包括共享層和特定任務層)和輸出層組成。時序卷積網絡的詳細示例如圖4(b)所示,由共享層和任務層組成,共享層中擴張系數d=1,2時殘差塊共享參數,任務層中擴張系數d=4,8,…時為兩個任務各自的殘差塊。給定窗口長度h,多任務模型路徑預測任務和時延預測任務的輸入同單任務學習模型。在時序卷積網絡層中,將事件序列經過詞嵌入層后輸出的特征he和時間序列wt進行特征聯合(concatenate)后的特征X=(x0,x1,…,xn)輸入共享層中,特征X的維度為h×(H+1),時序卷積網絡的激活函數為ReLU 函數,定義共享層中有k1個殘差塊,hsi(i≤ki)為特征X經過共享層中第i個殘差塊的輸出,式(6)表示共享層第一個殘差塊的輸出hs1:

圖4 基于TCN的多任務學習模型Fig.4 Multi-task learning model based on TCN

損失函數中的λ和1-λ分別為交叉熵損失函數和均方誤差損失的權重。由于不同的任務之間的損失尺度不同,所以通過設置不同的權重來平衡各個任務的訓練,以保證模型在所有的任務上都能取得較好的效果。

4 異常檢測

4.1 路徑異常檢測

本文將路徑預測任務建模為多分類任務,對于歷史序列we={er-h,…,er-2,er-1}和實際發生的事件er,模型預測的是下一個位置r處每一個事件發生的概率,如果實際發生的事件er在模型預測的高概率事件中,則該位置處正常。本文的路徑異常判斷方法如下:設立概率閾值Pthreshold,如果er預測的概率大于該閾值,則正常;否則異常。

4.2 時延異常檢測

將時延預測任務建模為回歸任務,對于歷史序列wt=和實際的時延,模型預測的是下一個位置r處的時延大小。本文認為事件和時間是相關的,不同的事件可能會導致不同的時間間隔。

具體示例如圖5 所示,在利用模型進行事件預測時,輸入固定長度的事件序列{A,B,C,D}和其對應的時延序列,假設為{0.1 s,0.2 s,0.3 s,0.4 s},模型預測的高概率事件可能有多個,比如事件E 和事件F 都有可能發生,事件E 發生時對應的時延大小為t1,事件F 發生時對應的時延大小為t2,而模型預測的值為單一的固定值t3,因此單一地依靠模型的預測值來判斷時延異常是不準確的。

圖5 模型的時延預測Fig.5 Time delay prediction of model

本文對于時延異常的檢測主要分以下兩步:1)將訓練集中每個時間步的時延的實際值與模型的預測值的絕對誤差擬合為高斯分布,可以得到正常情況下誤差的均值M和標準差σ,輸入長度為h的時間子序列wt=如果實際的時延大小與模型的預測值tpre在上述高斯分布的置信區間內,則是正常的;否則進行下一步。即:

2)判斷實際的時延大小是否處于該時間步的事件er時延的高斯分布的置信區間內,即:

在本文的異常檢測的流程中,時延異常檢測依賴于路徑異常檢測,在路徑檢測正常后才進行時延異常檢測,路徑和時延只要有一個為異常,則認為當前位置發生了異常。

5 實驗與結果分析

5.1 數據及配置

實驗日志數據為OpenStack 云平臺日志數據集:OpenStack 是一種基于PASS 的云計算平臺,從OpenStack 收集的數據集包括虛擬機部署過程中cf-pdman 組件和pdm-cli 組件的生成日志,考慮到系統內的故障也有可能是跨組件或者跨服務的,單獨對每個組件進行異常檢測會遺漏這些異常。因此合并各個組件的日志文件,并按時間重新排序。數據集一共包括125 次部署,其中包括16 個虛擬機部署過程中的異常部署(包括缺失關鍵日志和跳過下一條日志等異常)。日志是由三臺計算機用分布式的方式收集,這些部署的持續時間大約為3 d。每次部署的日志條目數量為747~109 493 不等,所有部署共包括771 125 條日志。日志解析后的事件模板經過層次聚類后共包含819 個事件。將正常部署的日志數據經過數據處理后提取出事件和時間序列,經過定長的滑動窗口劃分打亂后,按6∶2∶2 的比例劃分為訓練集、驗證集和檢測集。本文將異常部署的日志數據也加入檢測集以測試對于異常部署檢測的效果。

如圖6(a)所示為正常部署的日志數據中事件發生次數的分布,可以發現多數事件發生次數較低,少數事件以較高次數發生,這表明模型預測的發生概率較小的事件也有可能發生。如圖6(b)所示為OpenStack 某次正常部署過程中事件發生的頻次,每隔60 s統計發生的事件數,可以發現事件發生的頻繁程度和程序運行的過程相關。

圖6 正常部署中有關事件統計Fig.6 Statistics of related events in normal deployment

5.2 參數選擇及評價指標

這里介紹本文的多任務TCN 模型和異常檢測過程中一些較為重要的參數設置。在模型參數方面,模型的輸入序列長度為40,設置損失函數中的參數λ=0.7,用以調節兩個損失函數的尺度。受日志解析和較長日志參數的影響,盡管進行了層次聚類,還是有部分的事件模板是相似的。模型預測的高概率事件和實際發生的事件er不是同一個事件,但是兩個事件對應的事件模板很相似,因此如果事件er不在預測的高概率事件中,則計算事件er和高概率事件的事件模板的相似度,并設立閾值Sthreshold,如果大于Sthreshold,認為這兩個事件是一個事件,判斷其為正常。模板相似度Sthreshold要保證模型在檢測出異常的同時,避免將正常檢測為異常,由于事件模板經過了層次聚類,所以模板相似度Sthreshold需要設置為較小的值,本文的實驗中設置為0.6。

用于對比的方法如下:DeepLog 是基于LSTM 的日志異常檢測模型,該模型利用從日志流中挖掘出事件序列和日志參數序列分別訓練對應的LSTM 模型,預測發生在系統中的路徑異常和參數異常;PCA 統計定長的窗口內每個事件模板出現的次數作為一個特征向量,由此構造出特征矩陣,使用PCA分析在數量上有異于其他集合的異常集合,通過統計檢驗確定異常的日志序列。本文以DeepLog為基線方法進行比較。

本文所采用的評價指標主要有如下幾種:

1)準確率(Accuracy)表示被正確檢測出的樣本占總樣本的比例,計算式為:

2)精度(Precision,P)表示實際為異常的樣本占檢測出異常的樣本的比例,計算式為:

3)召回率(Recall,R)表示正確檢測出異常的樣本占異常樣本的比例,計算式為:

4)F1 值(F1_score)為精度和召回率的調和平均數,用于評價異常檢測的整體性能:

其中:Ps為異常樣本數;Ns為正常樣本數;TP為被正確檢測為異常的樣本數;TN表示被正確檢測為正常的樣本數;FP表示被錯誤檢測為異常的樣本數;FN表示被錯誤檢測為正常的樣本數。

5.3 結果分析

如表1 所示為OpenStack 數據集中檢測出的路徑異常和時延異常示例,通過異常位置處實際輸出的原始日志和模型的預測信息,可以大致分析出異常發生的原因。以pdm-cli組件中檢測出的異常為例:表1 中的第一條路徑異常示例可以結合模型預測的高概率事件模板,進一步分析得出其異常原因為相關部署初始化問題;在表1 中的第三條時延異常示例中,模型預測其時間間隔在正常情況下應為200 s 左右,而實際的時間間隔為260 s,結合實際輸出的日志可以進一步發現導致時延異常的原因為http 請求失敗。通過對比正常執行和異常位置處的相關信息可以進一步深入分析導致異常的原因。

表1 OpenStack數據集中檢測出的異常示例Tab.1 Examples of anomalies detected in OpenStack dataset

如表2 所示為PCA、DeepLog、單任務的TCN 模型和基于TCN 的多任務學習模型在OpenStack 數據集上的異常檢測效果。從Recall 中可以發現,單任務的TCN 模型和基于TCN 的多任務學習模型都可以檢測出所有的異常部署。從Precision可以看出,為了確保異常部署能夠被檢測出,基于深度學習的異常檢測方法都不同程度地將正常部署劃分為異常的,DeepLog 尤其容易將正常的部署誤檢為異常。PCA 雖然避免了這一情況的發生,但是其異常檢測的效果較差。本文的基于TCN 的多任務學習模型取得了較好的異常檢測效果,其異常檢測準確率(Accuracy)相較其他對比模型至少提升了7.7個百分點。

表2 OpenStack數據集上的異常檢測效果Tab.2 Anomaly detection effects on OpenStack dataset

為了評價多任務TCN 模型相較于單任務TCN 模型的優勢,下面將比較基于TCN 的多任務學習模型和單任務學習模型在路徑異常檢測和時間預測任務上的效果。如表3 所示為路徑異常檢測中不同概率閾值Pthreshold對于兩種模型異常檢測準確率的影響。在系統正常運行過程中,有部分事件發生次數很少,這在模型預測中表現為相關事件的概率較小,因此在路徑異常的檢測中概率閾值的設置尤為重要,較大的概率閾值會導致正常的部署被誤判成異常,當Pthreshold=10-6時,異常檢測的準確率最高,多任務TCN 模型的準確率高于單任務TCN模型,因此本文的路徑異常檢測中Pthreshold設置為10-6。

表3 概率閾值對異常檢測準確率的影響Tab.3 Influence of probability threshold on anomaly detection accuracy

為了對比單任務TCN 模型和多任務TCN 模型在路徑預測任務上的準確性,對于某種類型的事件Ei,統計并計算下個位置處實際發生事件為Ei時兩種模型預測事件Ei發生的概率的均值。如圖7所示為多任務TCN 模型和單任務TCN 模型在正常的測試樣本中對于每個事件預測概率均值的對比。從圖7 中可以發現,較多事件的多任務TCN 模型的預測概率均值大于單任務TCN 模型的預測概率均值,檢測的正常樣本中共包含752 個事件,其中533 個事件的多任務TCN 模型的預測概率均值大于單任務TCN 模型的預測概率均值。多任務模型在預測下個位置處發生的事件時,正常的事件有更高的概率,多任務學習模型預測更為準確。

圖7 事件預測概率值對比Fig.7 Comparison of event prediction probability

圖8為多任務TCN 模型和單任務TCN 模型在時延預測任務上的對比,數據為檢測集中的正常樣本,計算了每個事件模板發生位置處對應時延預測值和實際值的平均誤差。

圖8 時延預測誤差對比Fig.8 Comparison of time delay prediction error

從圖8 中可以看出,單任務TCN 模型在較小的時延數值預測中要優于多任務TCN 模型,但是整體上多任務TCN 模型的時延平均誤差區間比單任務模型更小,總體上多任務模型的時延預測效果要優于單任務模型。

6 結語

針對云計算工作流中存在的路徑異常和時延異常,本文提出了一種基于日志的異常檢測方法。該方法將路徑異常檢測建模為多分類任務,將時延異常檢測建模為回歸任務,構建并訓練了一種基于時序卷積網絡(TCN)的多任務學習模型用于日志的異常檢測,通過事件模板生成從日志流中提取事件序列,通過間隔采樣的方法從日志流中提取時間序列。基于TCN 的多任務學習模型通過共享TCN 的淺層部分,促進各自任務的學習。實驗結果表明該方法在異常檢測方面取得了較好的效果。

接下來進一步的工作如下:首先,所提模型中損失函數參數權重的優化較困難,下一步工作需要設計相關方法以代替設置損失函數權重。其次,本文時延異常檢測方法對數值較小的時延并不敏感,如何避免將正常劃分為異常以提高異常檢測的精度,仍是未來需要進一步解決的問題。

猜你喜歡
檢測模型
一半模型
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
小波變換在PCB缺陷檢測中的應用
主站蜘蛛池模板: 日本福利视频网站| 亚洲第一综合天堂另类专| 欧美亚洲一区二区三区导航| 九九热这里只有国产精品| 91破解版在线亚洲| 试看120秒男女啪啪免费| 大陆精大陆国产国语精品1024| 欧美伦理一区| 日本免费新一区视频| 国产精品国产三级国产专业不| 视频在线观看一区二区| 国产高清色视频免费看的网址| 老司机久久精品视频| 97视频免费看| 亚州AV秘 一区二区三区| 国产99免费视频| 国产女人18水真多毛片18精品| 久久成人国产精品免费软件| 欧美无专区| 激情無極限的亚洲一区免费| 国产精品亚欧美一区二区| a毛片在线播放| 自拍偷拍欧美| 日韩色图在线观看| 国产激情无码一区二区APP| 国产a v无码专区亚洲av| 色天天综合久久久久综合片| 99热这里都是国产精品| 丁香五月婷婷激情基地| 亚洲欧美综合在线观看| 日韩不卡免费视频| 久久精品视频一| 亚洲精品777| 黄色在线网| 国产亚洲欧美日本一二三本道| 亚洲天天更新| 伊人激情综合网| 国产麻豆另类AV| 亚洲精品第一页不卡| 国产在线观看91精品| 九九热精品在线视频| 亚洲一级毛片在线播放| 伊人久热这里只有精品视频99| 亚洲欧美在线看片AI| 欧美精品成人一区二区在线观看| 欧美国产视频| 久久九九热视频| 视频在线观看一区二区| 免费在线色| 国产剧情国内精品原创| 91免费国产在线观看尤物| 欧美色综合网站| a毛片免费在线观看| 都市激情亚洲综合久久| 夜夜爽免费视频| 91精品国产情侣高潮露脸| 18禁影院亚洲专区| 久久香蕉国产线看观看亚洲片| 久久久久国产一级毛片高清板| 久久久久久尹人网香蕉| 一级一毛片a级毛片| 国产成人AV大片大片在线播放 | 40岁成熟女人牲交片免费| a亚洲天堂| 欧美精品影院| 久久综合亚洲鲁鲁九月天| 国产青榴视频| 99热国产在线精品99| 久久综合五月婷婷| 国产a v无码专区亚洲av| 国产一级视频久久| 日韩在线永久免费播放| 亚洲欧美日韩中文字幕在线| 久久精品这里只有精99品| 99re免费视频| 中文字幕佐山爱一区二区免费| www精品久久| 9丨情侣偷在线精品国产| a毛片在线免费观看| 热99精品视频| 国产成人精品一区二区三区| 国产精品黄色片|