亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于生成對抗網(wǎng)絡的系統(tǒng)日志級異常檢測算法

        2020-10-18 12:57:40白宇軒殷俊杰
        計算機應用 2020年10期
        關鍵詞:檢測方法模型

        夏 彬,白宇軒,殷俊杰

        (1.南京郵電大學計算機學院、軟件學院、網(wǎng)絡空間安全學院,南京 210023;2.江蘇省大數(shù)據(jù)安全與智能處理重點實驗室(南京郵電大學),南京 210023;3.中興通訊股份有限公司,南京 210012)

        (*通信作者電子郵箱junjieyin112358@163.com)

        0 引言

        互聯(lián)網(wǎng)行業(yè)中大規(guī)模信息管理系統(tǒng)的興起使得系統(tǒng)管理員在面對系統(tǒng)故障等問題時面臨巨大的壓力。越是規(guī)模龐大的系統(tǒng)就越是擁有復雜的結構,而面對復雜的系統(tǒng)想要查看日志并定位異常事件是一件極其困難的任務。因此越來越多的大規(guī)模信息管理系統(tǒng)寄希望于人工智能,而自動化智能運維就是解決這一問題的有效途徑之一。

        目前人工智能的應用在各行各業(yè)中興起,但是仍然只有少量的研究被應用于智能運維中?;谙到y(tǒng)日志的異常檢測算法研究也十分有限。由于大規(guī)模系統(tǒng)的復雜性使得系統(tǒng)日志的并發(fā)性與依賴也變得十分難以估計,因此傳統(tǒng)的異常檢測算法致力于將大規(guī)模系統(tǒng)日志在離線狀態(tài)下,通過對一段時間內(nèi)事件的發(fā)生頻率和關系離線地判斷系統(tǒng)的異常。將這種離線狀態(tài)下對一段時間內(nèi)的異常日志分析稱之為會話級的異常檢測。這種異常檢測雖然擁有更多的上下文信息用于判斷異常,然而在實際應用過程中,系統(tǒng)崩潰和宕機是一瞬間的事情。因此,需要根據(jù)大規(guī)模系統(tǒng)按照時序產(chǎn)生的日志信息進行分析。即將傳統(tǒng)的會話級異常檢測算法轉換為日志級的序列化異常檢測算法,使得每當有新的日志到達時,可以根據(jù)前序的日志信息快速給出當前日志為正常或是異常的判斷,有效在系統(tǒng)故障發(fā)生前偵測到異常并防止其發(fā)生。

        為了解決大規(guī)模系統(tǒng)在線日志級異常檢測任務,本文提出了一種基于生成對抗網(wǎng)絡的系統(tǒng)日志級異常檢測算法。該算法采用了生成對抗網(wǎng)絡結構的模型,該模型包括一個生成模型與一個判別模型,其中生成模型用于擬合真實樣本的分布,生成的樣本可以使判別模型無法分辨該樣本來源于真實樣本還是生成的樣本。這種對抗學習的模式可以使得該模型盡可能擬合正常與異常事件分布,可以有效解決異常事件樣本稀疏的問題。此外,在生成和判別模型中,采用了基于循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,RNN)結構的長短時記憶(Long Short-Term Memory,LSTM)網(wǎng)絡與門控循環(huán)單元(Gated Recurrent Unit,GRU)網(wǎng)絡用于擬合序列化的事件模式,是一種有效處理流日志數(shù)據(jù)的方式?;谛蛄谢氖录J娇梢杂行щS著流日志的抵達實時對下一時刻抵達事件是否異常進行判斷。此外,在提出的生成與判別模型中應用了注意力機制,使得模型基于當前事件模式下預測后續(xù)事件發(fā)生分布時擁有更好的效果。

        1 相關工作

        1.1 系統(tǒng)日志

        本文旨在提出一種面向系統(tǒng)日志的異常檢測算法,然而系統(tǒng)日志的復雜性為這一任務帶來了巨大的挑戰(zhàn)。因此,為了能夠在異常日志檢測任務中充分利用系統(tǒng)日志所帶來的信息,需要首先來了解一下什么是系統(tǒng)日志。系統(tǒng)日志是由監(jiān)控系統(tǒng)基于程序代碼預設條件下自動產(chǎn)生的富含大量描述系統(tǒng)(如分布式系統(tǒng)、操作系統(tǒng))狀態(tài)信息的事件集合。系統(tǒng)日志擁有以下特點:1)結構極其復雜,幾乎沒有兩條系統(tǒng)日志是一致的;2)系統(tǒng)日志的高并發(fā)性使得很難判斷哪一條日志代表的事件是因,哪一條日志代表的事件是果;3)系統(tǒng)日志所表述事件之間的關系也十分復雜,比如事件之間的依賴關系等[1]。

        表1 列出了不同軟件系統(tǒng)產(chǎn)生的一些系統(tǒng)日志案例(注:https://github.com/logpai/loghub 提供了完整的系統(tǒng)日志數(shù)據(jù)集)。從表1 中可以看出,基本上每一條日志都有時間戳信息表示事件發(fā)生的時刻和詳細的內(nèi)容闡述了當前系統(tǒng)某一組件的狀態(tài)。然而,這些日志中,只有部分日志包含了可以描述日志類型的標識信息(如ALERT、INFO 和ERROR)。此外,實際上相同軟件系統(tǒng)類型下的系統(tǒng)日志的結構仍然有著天壤之別。因此,只有當日志可以被正確地解析,才能有效地利用日志中豐富的信息用于系統(tǒng)健康狀態(tài)診斷并避免系統(tǒng)宕機等嚴重性問題。

        表1 不同軟件系統(tǒng)中的系統(tǒng)日志示例Tab.1 Examples of system logs in different kinds of systems

        日志解析方法主要分為正則表達式匹配和事件模式挖掘兩大類。雖然正則表達式匹配的方法對日志的解析非常準確,但是書寫相應系統(tǒng)的日志正則表達式需要大量的人力。因此,如果對日志解析過程中產(chǎn)生的錯誤是零容忍的話,那么正則表達式匹配則是首選。事件模式挖掘方法則是通過模板匹配的方法,將日志中不變的部分提取出來,并將該不變的部分作為事件的簽名加以識別。Du等[2]提出了一種在線流日志解析方法,該方法使用了基于最長公共子序列的方法挖掘和解析在線流日志數(shù)據(jù)并動態(tài)維護了一個日志模式集用于后期事件依賴的分析。針對在線流日志解析問題,He 等[3]也提出了一種在線日志解析方法,該方法使用了一棵固定深度解析樹對日志解析規(guī)則進行編碼,用于提升流日志解析時的效率問題。Guo 等[4]提出了一種事件簽名生成方法用于挖掘系統(tǒng)日志記錄中不變的部分,并將這種不變的模型定義為簽名用于區(qū)分不同的事件。當前最主要的日志解析方面的研究都集中在流日志與無監(jiān)督解析方法上。換句話說,現(xiàn)在提出的方法主要都是用于解決新到來日志中那些從未出現(xiàn)的未知的事件。目前提出事件模式挖掘的算法主要問題在于少量的解析錯誤會直接影響到系統(tǒng)診斷的準確性。本文主要致力于異常檢測的研究,所以使用了正則表達式匹配的方法用于降低錯誤日志解析對異常檢測判斷帶來的誤差。

        1.2 異常檢測

        從表1 中可以看出,在一些系統(tǒng)日志中(如Hadoop 與BGL)存在一些很明確的標志(如INFO、FATAL)告知系統(tǒng)管理員當前日志所描述的事件是正常事件還是異常事件。然而像Thunderbird 和Andriod 的系統(tǒng)生成的日志只有非結構化的文字,并沒有類似的標志標明當前事件的性質。此外,監(jiān)控系統(tǒng)產(chǎn)生的日志都是基于系統(tǒng)設計時專家對已知問題定制的代碼段而產(chǎn)生的。換句話說,這樣以預設代碼段所產(chǎn)生的日志是無法有效地呈現(xiàn)當前系統(tǒng)中未知的異常情況的。因此希望利用盡可能多的歷史日志數(shù)據(jù),通過異常檢測算法將那些系統(tǒng)管理員人工無法發(fā)現(xiàn)的未知問題的原因探索清楚,并建立模型有效地預測未知異常事件的發(fā)生。

        一般來說,異常檢測算法可以簡單分為監(jiān)督模型與無監(jiān)督模型[5-6]。例如,Chen等[7]和Liang等[8]就把異常檢測視為傳統(tǒng)的機器學習任務,分別應用決策樹模型與支持向量機模型對大規(guī)模系統(tǒng)中的異常樣本進行分類和判斷。Bodik 等[9]則提出了一種有效的特征提取方法并用“指紋(fingerprint)”去描述當前數(shù)據(jù)中心的狀態(tài)信息,并通過在線比對當前數(shù)據(jù)中心“指紋”與已診斷的歷史“指紋”來判斷當前數(shù)據(jù)中心是否處于異常狀態(tài)。仇媛等[10]提出了一種基于LSTM 網(wǎng)絡和滑動窗口的流數(shù)據(jù)異常檢測方法,通過有效劃分數(shù)據(jù)起到分段學習異常短期依賴的關聯(lián)性。這些監(jiān)督模型最大的限制就在于其效果受到標定數(shù)據(jù)的質量影響,然而在實際應用場景中,異常事件是極其稀疏的,這就給監(jiān)督模型的訓練帶來了更大的挑戰(zhàn)。此外,監(jiān)督學習是基于已知異常事件的標定數(shù)據(jù)進行訓練并預測的,然而實際場景中,對于未知異常的檢測對系統(tǒng)診斷具有更加深遠的意義。因此無監(jiān)督模型在這個領域中的應用更加流行且有效。Breunig 等[11]提出了一種局部異常因子用于獨立地表示系統(tǒng)中某一組件的狀態(tài)情況而不受到相關組件的影響。Xu 等[12]則提出了一種基于主成分分析(Principal Component Analysis,PCA)的特征提取算法用于準確描述大規(guī)模系統(tǒng)的復雜狀態(tài)信息,并設計了一種可交互的決策樹視圖用以表征復雜的系統(tǒng)狀態(tài),為系統(tǒng)管理員提供準確定位異常的手段。Lin 等[13]則提出了一種基于知識圖譜的聚類算法LogCluster 用于總結歷史數(shù)據(jù)中的序列化日志信息用作判斷異常事件的基準。類似于Lin 等[13]的研究,李海林等[14]提出了一種基于頻繁模式發(fā)現(xiàn)的事件序列異常檢測算法,采用了最長公共子序列的方法挖掘新時間序列數(shù)據(jù)與歷史數(shù)據(jù)的相似度。這些無監(jiān)督學習方法雖然訓練的過程中不需要明確的標簽數(shù)據(jù),但是準確的標簽數(shù)據(jù)可以進一步提升這些方法的性能,因此數(shù)據(jù)驅動對于異常檢測仍然具有非常深遠的意義。本文提出的日志級異常檢測算法屬于監(jiān)督學習方法,因此非常依賴于樣本的標定情況;相較于半監(jiān)督或者無監(jiān)督學習方法,對于數(shù)據(jù)質量的要求比較高,因此想要訓練出有效的模型需要數(shù)據(jù)驅動。

        1.3 異常粒度

        針對異常檢測粒度的研究主要可以分為會話級的異常檢測和日志級的異常檢測。例如在Hadoop 分布式文件系統(tǒng)日志數(shù)據(jù)集中,專家對異常的時序日志段進行了正?;蛘弋惓5臉俗?,但是實際上由于哪一條具體的事件的出現(xiàn)導致了這一異常不得而知[1]。稱這種類型的異常為會話級異常,即無法定位到具體的一條日志。然而在實際的應用場景中,需要盡可能迅速地偵測到那些會導致系統(tǒng)崩潰宕機的異常事件,而不是等到當整個時間段過去之后,回顧這一時間段內(nèi)的日志再進行判斷。因此,研究者們提出了一些日志級異常檢測方法用以檢測流日志數(shù)據(jù),從而在第一時間預測異常事件的發(fā)生。如果說會話級異常檢測是一種非常有效的離線異常分析方法,那么日志級異常檢測就是一種非常實用的在線流日志異常分析策略。

        加利埃尼下令巴黎的3000輛出租車全部征用。到晚間10時,將軍院子門前廣場上已經(jīng)聚集了數(shù)十輛出租車。第一批車隊在夜幕下開往巴黎西北小鎮(zhèn)特朗布雷。次日清晨,又一批出租車會聚將軍院啟程,浩浩蕩蕩離城奔向東邊另一處軍隊集結地。

        針對會話級異常檢測方法,Liu等[15]提出了一種基于孤立隨機森林算法iForest,這種方法采用下采樣的方式將異常事件顯式地從所有的事件中隔離并提取識別,并為大數(shù)據(jù)場景下的異常檢測提供了線性時間復雜度的運算效率以及相對較低的內(nèi)存需求。此外,Lou 等[16]則通過將結構化后的日志進行歸類,并通過對一段時間內(nèi)各類日志的計數(shù)分布來判斷會話級異常事件。然而相對于會話級異常事件檢測,日志級異常檢測方法往往更加關注流日志數(shù)據(jù)以及較小窗口下的日志信息。Du等[17]結合LSTM 與在線學習的機制提出了一套異常檢測的一體化框架,解決了未來未知異常事件難預測對系統(tǒng)運維診斷所帶來的影響。LSTM 最大的好處就在于可以對序列化抵達的日志數(shù)據(jù)進行擬合,并迅速給出下一時刻異常事件的判斷。在線學習機制則可以在產(chǎn)生誤判未知異常事件時快速重訓練LSTM 以保證異常檢測的效果。而為了解決異常事件與正常事件樣本數(shù)量的不平衡問題,Xia等[18]提出了一種基于生成對抗網(wǎng)絡的異常檢測模型LogGAN(Log Generative Adversarial Network)用以生成更多的異常事件樣本;此外,不像傳統(tǒng)異常檢測任務用以判斷下一個事件是否引起異常,LogGAN 是通過生成器判別當前事件模式下的后續(xù)異常和正常事件分布。系統(tǒng)管理員可以通過該分布作為字典來判斷未來時刻異常事件發(fā)生的情況與概率。本文算法是一種日志級異常檢測算法,相較于會話級的異常檢測算法,本文方法在實際的應用場景中具有更快速的反饋,且針對故障溯源時的問題定位也擁有極強的解釋性。

        2 基于生成對抗網(wǎng)絡的異常檢測算法

        圖1 是本文提出的基于生成對抗網(wǎng)絡的日志級異常檢測算法框架,主要包含日志解析模塊與日志級異常檢測模塊兩大部分。整體的數(shù)據(jù)流可以簡單描述為以下幾個部分:1)從監(jiān)控系統(tǒng)讀取原始系統(tǒng)日志信息;2)將原始系統(tǒng)日志通過日志解析模塊中的日志模板解析,轉換成結構化的日志;3)通過結構化日志的時間戳與日志簽名將提取的日志轉換成序列化事件,并用滑動窗口按照時序進行截取構建訓練真實樣本;4)通過日志級異常檢測模塊中的生成模型生成假樣本,將其與真樣本一同交由判別模型進行分類,并根據(jù)判別損失分別對判別模型與生成模型交替更新;5)向收斂的生成模型提供解析好的流日志數(shù)據(jù),生成模型則返回當前事件模式下的后續(xù)異常事件分布情況。本章將重點闡述框架中的日志解析模塊與日志級異常檢測模塊的工作原理。

        2.1 日志解析模塊

        日志解析模板的主要作用在于將原始系統(tǒng)日志數(shù)據(jù)處理成通用的機器學習模型的輸入形式,以方便本文涉及的日志級異常檢測模塊對輸入數(shù)據(jù)的形式與格式要求。正如在相關工作中提到的,日志解析主要分為正則表達式匹配與事件模式挖掘兩種。本文使用了正則表達式匹配的形式解析以保證日志可以被正確地解讀,使下文的異常檢測任務不受到數(shù)據(jù)標注的精確性的影響。正如圖1 中所示的,一般一條日志包含以下信息:時間戳、日志簽名和日志參數(shù)。時間戳作為日志產(chǎn)生的時間點的記錄,對事件之間的因果關系的判斷具有十分重要的意義,也是在日志解析模塊中對事件進行事件序列排序的重要依據(jù)。日志簽名表示的是當前日志與其他所有相似日志(如長度相同)比對時日志表示中不變的那部分[4]。通過日志簽名,可以將具有相同日志簽名的日志歸為同一類事件,并對其進行編號處理E={e1,e2,…,em},其中ei表示事件集合中第i個事件(如圖1)。日志參數(shù)則是除去日志簽名之后剩下的部分,這部分往往區(qū)分了相同日志簽名的日志之間的差異性,具有十分豐富的信息。需要特別說明的是,在有些監(jiān)控系統(tǒng)(如Hadoop)的日志中包含類似INFO、ERROR 等日志類型的標識信息用以描述該日志屬于一條正常的信息還是一條異常的報警。

        圖1 本文方法框架Fig.1 Framework of proposed method

        本文提出的異常檢測不僅是針對系統(tǒng)標注的異常警報,甚至在沒有系統(tǒng)標注的異常警報時,也能檢測出系統(tǒng)管理員無法標注的系統(tǒng)狀態(tài)異常事件。為了充分利用日志中的信息,Du 等在DeepLog 的研究中針對每一種日志簽名單獨構建了用于擬合日志參數(shù)的模型,用以從更多維度有效判斷當前日志的異常性[17]。由于日志參數(shù)過于復雜,且不具有通用性,因此,本文主要將目光放在時間戳與日志簽名上,即時序事件模式對后續(xù)異常事件的判斷和預測。

        在獲得序列化的事件模式S={e(1),e(2),…,e(q)}后,使用滑動窗口將事件序列進行劃分成一個個獨立的事件模式樣本S={s1,s2,…,sn},其中sj={e(j-z),e(j-z+1),…,e(j)}表示在滑動窗口尺寸為z時第j個事件模式。如圖1所示,以3尺寸的滑動窗口為例,第一個樣本中,11、2、20 號事件是事件模式,而13號事件為異常事件,即在11、2、20 號事件順序的發(fā)生情況下,再發(fā)生13 號事件則可以認定是異常事件發(fā)生。將滑動窗口按照步長為1進行滑動,就得到了第二行的樣本,但此時在2、20、13 號事件順序發(fā)生的情況下,14 號事件的發(fā)生則認為是正常事件。這些序列則是形式化表示的事件模式,而這些經(jīng)過滑動窗口劃分的數(shù)據(jù)就構成了后續(xù)日志級異常檢測模塊的訓練數(shù)據(jù)。

        2.2 日志級異常檢測模塊

        日志級異常檢測模塊是本文提出的異常檢測方法框架中最重要的一個部分。該部分主要由一個基于注意力機制的GRU 網(wǎng)絡和LSTM 的生成模型與一個擁有相似結構的判別模型組成(如圖2 所示)。這里的判別模型與生成模型就構成了最傳統(tǒng)的生成對抗網(wǎng)絡結構[19]。在這個生成對抗網(wǎng)絡結構中,生成模型用于產(chǎn)生與實際樣本十分相似的假樣本(即不是真實存在的樣本),然后通過生成的假樣本試圖使判別模型產(chǎn)生誤判。判別模型則用于判斷一個樣本到底是來自真實的數(shù)據(jù)集,還是來源于生成模型生成的假樣本。生成模型與判別模型通過不斷相互博弈互相提升,直到兩者達到一個穩(wěn)定平衡的狀態(tài)時,就可以將生成模型用于產(chǎn)生與真實數(shù)據(jù)十分相似的樣本了。本文旨在通過收斂的生成模型生成在特定事件模式下后續(xù)事件的正常與異常分布情況。

        嵌入層主要由事件嵌入表示模塊、GRU 和LSTM 組件構成。假設給定一個事件模式sj,由于經(jīng)過日志解析模塊后,每一個事件都擁有了相應的編號,即sj中的每一個事件均屬于E。這里使用了自然語言處理中十分常用的Word2Vec 方法[20],將每一個事件用一個連續(xù)的一維向量進行表示。通過以事件序列形式表示的事件模式經(jīng)過事件嵌入表示轉換后按照順序分別輸入到LSTM 與GRU 中。經(jīng)過LSTM 和GRU 序列化的事件模式輸入后會分別得到一個一維連續(xù)向量hLSTM和hGRU,作為嵌入層的輸出傳輸給注意力機制層。

        注意力機制層主要的目的在于應用注意力機制替代傳統(tǒng)的深層全連接神經(jīng)網(wǎng)絡,可以通過簡單的淺層結構獲得有價值的隱層特征表示。本文采用了LSTM 和GRU 兩個網(wǎng)絡對序列化的事件模式進行擬合,其中LSTM 的輸出hLSTM作為傳輸?shù)饺B接層的特征而GRU 的輸出hGRU則作為注意力機制的權重作用于hLSTM對其進行各個維度上的微調,兩者通過式(1)級聯(lián):

        其中:oa為注意力機制層的輸出;wa和ba分別為權重和偏置項。

        全連接層則負責將注意力機制層的輸出(即隱層特征)轉換為有意義的模型輸出。在本文中,全連接層的輸出為m維的一維連續(xù)向量oG,含義為事件集合E中每一個事件作為正常后續(xù)事件發(fā)生在當前事件模式下的概率分布,公式為:

        其中:wf、wo、bf和bo分別為全連接層中的權重與偏置項。系統(tǒng)管理員就可以通過設定閾值的ofc作為字典判斷在當前流事件模式下,后續(xù)的事件是否是一個異常事件。

        作為與生成模型博弈的判別模型,結構與生成模型基本相似,只不過在原來的基礎結構上添加了圖2 中最右側虛線框中的全連接層。該全連接層的輸出oD表示判別模型的輸入樣本是當前事件模式下的真實事件分布還是生成模型生成的假事件分布。計算方式為:

        其中:qD表示當前輸入判別模型進行判斷的一維連續(xù)事件分布向量;wD和bD分別為判別模型中全連接層的權重與偏置項。然而生成對抗網(wǎng)絡(Generative Adversarial Network,GAN)最大的特點在于如何使生成模型與判別模型在相互博弈中成長,即生成模型生成的事件分布越來越趨向于真實,而判別模型更能夠區(qū)分真實事件分布與生成模型生成的假的事件分布,直到兩者達到一個平衡后即收斂。這里,生成模型G與判別模型D的損失函數(shù)分別為:

        圖2 生成模型與判別模型結構Fig.2 Structure of generative model and discriminative model

        3 算法評估與實驗分析

        3.1 實驗設計

        為了驗證本文方法的有效性,在公開的數(shù)據(jù)集BGL(https://github.com/logpai/loghub)上與其他日志級異常檢測算法進行了比較。為了保證實驗的可重復性,這里將簡單地描述方法中使用的一些參數(shù)。本文將BGL 的日志按照時序的方法進行排列,并用其前30%的數(shù)據(jù)作為訓練數(shù)據(jù),后70%的數(shù)據(jù)作為測試數(shù)據(jù)來驗證本文方法與基線方法的性能。其中,事件模式的滑動窗口z為3,即通過歷史最新的三個事件信息來判斷下一時刻事件的正常與異常分布情況;由于生成模型G輸出的一維連續(xù)向量是由m個取值范圍為[0,1]的數(shù)字,為了區(qū)分正常與異常事件,這里取閾值0.1,即概率大于等于0.1的事件被認定為正常后續(xù)事件,而概率小于0.1的事件被認定為異常后續(xù)事件,這里閾值的選擇主要根據(jù)實驗在當前數(shù)據(jù)集上的表現(xiàn)進行選擇,根據(jù)不同的數(shù)據(jù)集,該閾值的表現(xiàn)均不相同;嵌入層中事件的嵌入表示維度為200。在實驗中,某一個特定事件模式的后續(xù)事件是極其有限的,沒有出現(xiàn)過的不能認為就是異常事件。為了保證模型不受到這些未見樣本的影響,因此在生成模型輸出事件分布時,用一個m維且每一維取值范圍為(0,1)的過濾器將未見事件的損失過濾,防止模型產(chǎn)生過擬合。

        3.2 實驗與結果分析

        本文方法與傳統(tǒng)方法的區(qū)別在于注意力機制的部分。在該問題中,傳統(tǒng)方法可以將LSTM 等基于循環(huán)神經(jīng)網(wǎng)絡模型的每一步輸出取出來作為計算注意力權重的參數(shù)使用;而在本文方法中,使用了不同模型相互之間提供注意力權重的方式提供特征提取任務。表2 展示了本文方法中4 種不同注意力機制組合與不適用注意力機制的模型性能對比情況。從總體上來看,在只使用LSTM 對日志序列進行擬合的情況下,模型的總體性能要比使用了注意力機制的模型相對弱一些,這就說明加入注意力機制可以有效地提升對異常事件的檢測效果。重要的是,很直觀地可以看到將LSTM 作為隱層特征而GRU 的輸出作為注意力權重參數(shù)時,模型的性能最優(yōu)。此外將GRU 作為隱層特征而LSTM 作為注意力權重時,雖然準確率并不是最好的,但是相對的召回率有接近于1 的效果。這對于已出現(xiàn)的異常事件預測錯誤的低容忍相較于前一種有更好的效果。此外,使用GRU 和LSTM 為各自的輸出提供注意力權重參數(shù)的結果,相較于混合式而言,表現(xiàn)并不是非常理想。但是從整體的結果上可以看出,LSTM提取特征的能力要比GRU 更勝一籌。而由于GRU 與LSTM 的結構不同,所以在作為注意力權重參數(shù)時可以進一步提升LSTM 的特征提取能力。

        表2 生成(判別)模型中不同LSTM與GRU組合對模型性能的影響Tab.2 Impact of different combinations of LSTM and GRU on generative(discriminative)model performance

        在明確了LSTM 作為特征提取模型和GRU 作為注意力權重參數(shù)擁有更好的效果以后,將本文方法與相關工作中提到的兩個日志級異常檢測算法DeepLog和LogGAN 進行了比較。由于會話級的日志異常檢測算法應用的場景并不相同,因此這里只對用于時序日志級異常檢測的算法進行了比較。表3展示了本文方法與基線方法在BGL 數(shù)據(jù)集上對異常檢測任務的性能表現(xiàn)。結論上來說,本文方法在日志級異常檢測方面擁有更好的性能。值得注意的是,DeepLog 方法為了保證每一個出現(xiàn)過的異常都被檢測出來(即召回率為1),會將大部分的正常事件也判別為異常事件。從F1-score 可以看出這種正常與異常事件判別的非平衡型在DeepLog 中是非常明顯的。相比較而言,LogGAN與本文方法在這方面雖然有一些緩和,但是對于已出現(xiàn)的異常事件會有部分檢測遺漏。所以針對不同的場景,可以適當調整閾值,以保證對異常事件零容忍的情況下可以確保本文方法對異常事件檢測的性能。

        表3 不同方法在BGL數(shù)據(jù)集上的性能比較Tab.3 Comparison of different methods on BGL dataset

        4 結語

        針對目前智能運維的自動化異常檢測需求,本文提出了一種基于生成對抗網(wǎng)絡的日志級異常檢測算法用于檢測流日志中存在的異常事件行為。通過BGL 數(shù)據(jù)集上與其他有效的日志級異常檢測算法進行比較,可以看出,不僅生成對抗網(wǎng)絡的設置在一定程度上可以緩解異常事件與正常事件極端不平衡性的問題,而且注意力機制在一定程度上使得模型可以更好地擬合真實數(shù)據(jù),使模型的性能得到進一步的提升。

        針對日志級異常事件檢測任務,未來我們打算進一步解決以下尚未解決的問題。首先是異常檢測的準確率,目前異常檢測的準確率的提升完全依賴于將大部分的正常事件錯分成異常事件,這樣從另外一個角度也加大了系統(tǒng)管理員對異常的審核難度。所以如何進一步提升異常事件與正常事件檢測的平衡性,是一個重要的問題。然后,針對LSTM 這類基于序列化輸入的模型,在運行效率上是無法做到并行的。換句話說,當流日志的量十分巨大的情況下,LSTM 可能很難快速消化流日志并判斷未來的異常事件。因此如何解決模型對時序數(shù)據(jù)的并發(fā)處理是對在線異常檢測非常重要的一個挑戰(zhàn)。最后,異常檢測的目的最終還是要將問題定位于故障排除,所以僅僅是檢測出異常是遠遠不夠的,如何定位系統(tǒng)問題并產(chǎn)生合適的工單供專業(yè)團隊予以解決才是異常事件檢測的最終目的。

        猜你喜歡
        檢測方法模型
        一半模型
        “不等式”檢測題
        “一元一次不等式”檢測題
        “一元一次不等式組”檢測題
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權M-估計的漸近分布
        可能是方法不對
        3D打印中的模型分割與打包
        小波變換在PCB缺陷檢測中的應用
        用對方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        日韩极品在线观看视频| 欧美成人小视频| 日韩一二三四精品免费| 亚洲一区二区三区码精品色| 日韩精品视频久久一区二区 | 亚洲一区二区三区色偷偷| 国产亚洲欧洲aⅴ综合一区| 精品国产午夜理论片不卡| 日韩高清无码中文字幕综合一二三区 | 中文字幕人妻丝袜乱一区三区| 国产精品27页| 国产风骚主播视频一区二区| 亚洲开心婷婷中文字幕| 老色鬼永久精品网站| 日韩精品久久久中文字幕人妻| 精品久久中文字幕一区 | 久久精品一品道久久精品9| 国产高清大片一级黄色| 人人妻人人澡人人爽人人dvd| 亚洲自偷自拍熟女另类| 久久精品中文字幕久久| 国产精品女主播在线播放| 日本做受120秒免费视频| 国产av日韩a∨亚洲av电影| 日韩有码中文字幕第一页| 丝袜美腿高清在线观看| 久久无码专区国产精品s| 亚洲AV成人无码久久精品四虎| 自拍偷拍亚洲视频一区二区三区| 无码人妻一区二区三区免费看| 天天做天天躁天天躁| 亚洲综合久久一本久道| 少妇被粗大进猛进出处故事| 国产亚洲午夜高清国产拍精品 | 国产精品成人av在线观看| 不打码在线观看一区二区三区视频| 亚洲精品视频中文字幕| 久久精品免视看国产成人| 在线观看国产三级av| 无人视频在线播放免费| 丰满少妇三级全黄|