?

基于多渠道融合的智能故障預測技術*

2023-12-28 09:40白夢瑩張霽瑩劉經緯韓華錦
信息安全與通信保密 2023年10期
關鍵詞:日志調度預測

白夢瑩,米 迅,張霽瑩,劉經緯,韓華錦,黃 楠

(天津航海儀器研究所,天津 300131)

0 引 言

隨著工業化和信息化的不斷發展,各種設備和機器在生產和生活中扮演著越來越重要的角色。然而,這些設備和機器在長期使用過程中,難免會出現各種故障和問題,從而給生產和生活帶來不便和損失。如何及時準確地預測和診斷設備故障,成為工業和科技領域的研究熱點之一。系統故障檢測在許多領域至關重要,傳統的故障預測方法主要依靠人工經驗和專業知識,存在預測不準確、成本高昂等問題。而隨著人工智能技術的不斷發展,智能故障預測模型逐漸成為解決這些問題的有效手段。然而,目前大多數智能故障預測模型仍然存在單一模型設計、不可信數據來源、數據處理能力不足等問題,難以滿足實際生產和生活的需求,更無法處理特定場景下的預測需要。

機器學習和深度學習在故障檢測方面具有重要意義,這類方法可以通過學習數據的模式,自動地提取預測特征,提升預測的準確性。此外,一些基于智能學習的無監督方法也為故障預測提供了不同角度的支撐,如主成分分析(Principal Component Analysis,PCA)[1]、邏輯回歸(Logistic Regression,LR)[2]和聚類[3-6],均可在無標簽的數據集中進行故障的離群學習,從而判斷故障的性質和位置。然而,傳統的故障檢測方法通常需要手動設置閾值或規則,且只能使用單一模型,如簡單分類算法[3]和特征提取方法[7]等均僅支持某一類的智能預測任務。這類方法無法適應復雜的系統和環境變化,難以根據用戶實際預測需求進行動態調整,從而限制了其在真實預測場景下的應用范圍。

在智能故障預測領域,已有一些工作為本文提供了解決方案。這些方案包括故障預測模型的設計和優化、用戶自主的模型調用等。傳統方法主要關注故障預測模型的設計和優化。首先,使用大量日志作為數據集,設計統計學方法[8]、改進的機器學習[9]以及深度學習模型[10]等,對歷史數據進行分析和建模,預測設備或系統的故障概率。同時,一些方法還提出了優化策略,如特征選擇、參數調優和模型融合等,以提高預測模型的準確性和穩定性。其次,在面向不同用戶檢測需求或不同的系統故障場景時,當前主流策略仍然是通過用戶手動選擇使用的模型,而無任何對模型的智能判斷,使得適配效果難以滿足,產生數據質量不穩定、模型選擇困難、用戶需求偏差等問題。

為了提升故障預測需求的適配彈性,面向系統場景滿足用戶的特定預測需求,從而優化模型整體的性能效果,本文提出了一種多渠道學習算法融合的系統故障預測策略,通過綜合考慮各種機器學習和深度學習方法的優點和局限性,利用先驗的模型-需求權重經驗,實現智能化的模型調度和需求適配。為了達到此目標,本文設計了通用的多渠道模型調度算法。首先,將用戶預測需求分為通用需求和特定需求,相應地將候選模型分為主干組和輔助組,用于滿足不同的場景需求。其次,通過先驗權重賦值和改進的調度算法,得到模型選取的內在邏輯。最后,本文在公開日志數據集上進行了方法的實驗驗證,在多個場景下得到了與預期相符的優化效果。實驗表明,通過多渠道模型融合和屬性調度策略,可以更好地解決單一模型在可靠性和實用性方面存在的局限性,從而提升智能故障預測的應用效果。

1 背景知識

1.1 基于智能學習的故障預測

機器學習和深度學習等智能學習模型和算法在故障預測領域應用廣泛,通過學習數據的模式和特征,自動地進行故障檢測,從而提高檢測的準確性和效率。目前,機器學習和深度學習在故障檢測方面的研究主要集中在以下3 個方向。

1.1.1 基于監督學習的故障檢測方法

該方法是一種常見的故障檢測方法[9],它需要大量的標注數據,通過訓練模型來預測未知數據的故障狀態。其優點是可以通過大量的標注數據來訓練模型,提高故障檢測的準確性和可靠性。此外,該方法可以使用各種分類算法,如支持向量機(Support Vector Machine,SVM)或神經網絡等完成分類任務,具有較高的靈活性和適用性。然而,基于監督學習的故障檢測方法也存在一些缺點:一是該方法需要大量的標注數據,這可能會導致數據采集和標注成本較高;二是該方法對于未知的故障類型,難以進行有效的檢測和診斷。此外,這類方法的性能也受到數據質量和特征選擇的影響,需要進行充分的數據預處理和特征工程。

1.1.2 基于無監督學習的故障檢測方法

該方法在一定程度上解決了監督學習的數據標記難題,它可以在沒有標注數據的情況下進行故障檢測[2]。這種方法的優點是可以自動學習數據的分布和特征,不需要人工標注數據,因此可以節省大量的時間和人力成本。此外,該類方法還可以更好地適用于不同類型的數據,包括結構化數據和非結構化數據。然而,基于無監督學習的故障檢測方法也存在一些缺點:一是由于沒有標注數據,可能會出現誤報和漏報的情況,導致檢測結果不夠準確;二是為了提升準確率,需要大量的計算資源和時間來訓練模型和檢測故障,因此在實際應用中會面臨實時性挑戰。

1.1.3 基于深度學習的故障檢測方法

該方法利用深度神經網絡來學習數據的特征和模式,從而進行故障檢測,這是近年來興起的研究方向。這類方法可以使用參數量更多的、更復雜的深度模型來進行故障檢測,如卷積神經網絡(Convolutional Neural Network,CNN)和循環神經網絡(Recurrent Neural Network,RNN)等。其優點是能夠自動學習數據的特征和模式,無須手動設計特征提取器。此外,深度神經網絡可以通過多層的神經元來提取數據的高級特征,從而更好地捕捉故障的特征和模式,這使得故障檢測更加準確和可靠。深度神經網絡可以通過大量的訓練數據來學習數據的特征和模式,從而能夠適應不同的故障情況和變化。這使得該類方法在實際應用中能夠適應各種不同的故障檢測任務。然而,基于深度學習的故障檢測方法也存在一些缺點:一是該類方法需要大量的標注數據進行訓練,而獲取和標注大規模的故障數據是一項耗時且費力的工作;二是深度神經網絡的訓練過程需要較長的時間和大量的計算資源[11]。

傳統的故障檢測方法通常依賴單一的智能模型預測,需要手動設置閾值或規則,這種方法存在諸多局限。正如前文所述,這種方法無法適應復雜多變的系統環境,缺乏必要的智能判斷,且難以適用于實際的使用需求。

1.2 模型調度

模型調度是指在計算機科學領域中,對多個模型進行任務和資源分配,使得系統整體取得更優的性能和效果。目前業界已有一些研究是關于模型調度的方法策略。

1.2.1 基于優先級的調度

該方法根據模型的重要性和緊急程度,為每個模型分配一個優先級,并根據優先級來進行調度。該類調度可以確保重要的模型能夠及時得到處理。

1.2.2 基于順序的調度

該方法直接把調度模型按照序號進行排序,每次調用一種不同的模型,同時也能保證模型的有序性[12]。

傳統的模型調度策略算法無法直接在智能故障預測任務上使用,這是因為智能故障預測是面向用戶需求和實際場景的,難以靜態確定優先級、資源消耗和順序,因此需要提出更具針對性的調度算法。

2 多渠道融合的智能故障預測技術

傳統的機器學習和深度學習方法在準確率和F1 值方面有高有低,而用戶對于準確率、召回率、F1 值和運行時間等方面的要求可能有所不同。為了滿足用戶的預測需求和特定場景的實用性,本文提出并實現多渠道智能模型融合的故障預測策略Multi-Det。該策略能夠彌補單一模型的不足,通過集成不同的機器學習和深度學習模型,采用先驗的需求-模型屬性和參數,來實現多維度權衡,Multi-Det 的模型整體架構如圖1 所示。

圖1 多渠道融合的智能故障預測系統Multi-Det 整體架構

Multi-Det 接收日志輸入數據。首先,對輸入數據進行數據解析、格式化分割等預處理,繼而利用典型的向量化嵌入表征將原始數據轉換為有時序關系的向量數值集合。與傳統智能預測算法不同的是,當得到向量化表征之后,Multi-Det 不急于直接進行模型預測,而是根據用戶需求和實際場景進行需求分析,再通過專家經驗得到需求經驗參數矩陣,該矩陣將作為后續模型調度的依據。該參數矩陣的設置將根據目標數據的類型和特點,并滿足預警系統在準確度、效率、可解釋性等多角度需求,以便實現多種優勢互補的智能預警和數據挖掘模型。

在根據調度算法進行模型調度的過程中,本文將候選模型根據其預測綜合性能和應用通用性分成主干模型組和輔助模型組兩個類別。主干模型組為默認調度候選,而輔助模型組為特定場景的調度候選。當選定候選模型后,便開始進行模型預測得出預測結果,最后進行結果的適配,如果不滿足需求可以選擇再次迭代預測。

2.1 數據解析與向量表征

2.1.1 數據解析

日志數據包含設備的運行狀態、錯誤信息、異常事件等。數據解析為每個原始日志文件提取數據事件,因為原始數據消息包含一些多余的信息(例如文件名、IP 地址),可能會妨礙自動數據分析。數據解析方式可以利用正則表達式,也可以使用一些現有的方法,如DRAIN[13]等。首先,一些公共參數字段(如IP 地址)和重復字段被固定的正則表達式刪除。然后,使用基于編輯距離的聚類方法,數據消息按照其特性類型被提取或聚類成粗粒度的組。最后,在各個同類型的數據組中,通過查找最長公共子串提取數據事件。這些共享子串的數據消息形成數據序列,通過消息ID 連接在一起形成數據事件流。數據事件流按照屬性被參數化在有結構的數據存儲中。

2.1.2 向量表征

向量表征層的作用是將結構化數據轉化為智能模型所需的向量表示,便于后期的特征學習和數據內涵挖掘。向量化層分為兩個方面:一是對于有語義的流量文本數據,需要進行上下文無監督訓練來進行詞嵌入向量化。這可以通過使用算法(如Word2Vec、GloVe 等)來學習詞匯的分布式表示形式,以捕捉單詞之間的語義關聯。二是對于數值性數據,可以進行頻率計算或者歸一化處理。頻率計算可以衡量數值特征在數據集中出現的次數,并將其轉換為相對頻率或概率。而歸一化處理則可以將數值特征縮放到特定的范圍內,以確保數據在相同的比例上進行比較與分析。本文的詞嵌入向量化采用Word2Vec 的Skip-Gram[14]算法,該算法針對每個中間token,預測有限周圍tokens 的出現概率,最后進行加權求和得到最終的向量表示。

2.2 基于場景需求的模型調度

2.2.1 模型調度參數矩陣

系統的故障檢測與預警是一個復雜多變的過程,在不同的應用場景下,用戶的需求側重可能會發生變化,例如一些實時性較強的預警系統更加關注預測的響應時間,而對召回率要求無需太高;而一些運維資源豐富的場景則需要智能算法提供一定的可解釋性,以便管理員和用戶能夠理解算法的決策過程并快速作出響應,對召回率要求較高。面對因場景變化帶來的多維度需求適配問題,一個樸素的應對方法是將所有候選模型在目標數據上均運行一遍并進行適配比較,這種方法雖然能得到準確滿意的適配結果,但是開銷巨大,面對實際的故障預警問題難以奏效。

為了解決該問題,本文提出了一個高效的智能模型調度算法。與上述樸素的事后對比思想不同,本文首先通過專家經驗采集先驗的模型能力參數矩陣,繼而根據矩陣參數值計算出調度權重。典型的模型能力參數矩陣如表1 所示,為每一個模型建立模型屬性對應關系,關系值為模型在該需求屬性上的性能表現評分(0~1 范圍),該評分由前期實驗積累并結合專家經驗得出。

表1 模型能力參數矩陣

繼而,根據輸入的需求屬性組合,對各模型進行適配度計算。

式中:k為需求屬性數量;μ為權重,a為需求屬性。計算之后,所有適配度中的最大值為理論最優模型。在實際的實現過程中,為了進一步提升系統魯棒性和效率,進行如下兩方面的優化:一是對模型和屬性進行動態配置化,方便系統的擴展;二是進行模型的主干-輔助分組,對于主干模型所具備的優勢屬性需求,省略適配過程,直接選取主干模型。

關于屬性的權重μk,需要根據實際場景需求進行調整。一般來說,可以根據任務對準確率、解釋性、模型響應時間等因素的需求來確定權重。不同的業務場景和優化目標需要不同的權重設置。

2.2.2 主干模型組

經過多輪前期實驗和用戶經驗調研可知,相較于其他智能模型,SVM 和多層長短期記憶循環神經網絡(Long Short-Term Memory,LSTM)在故障預測的性能、效率、可靠性等方面的綜合評價具有一定優勢。因此,在本文的多渠道智能模型層中,主干模型組采用基于SVM 與多層LSTM 相結合的方式進行構建。

(1)SVM。智能故障預測技術是一種利用機器學習算法和大數據分析來預測設備或系統故障的技術。其中,基于日志數據的SVM 模型是一種常用的預測模型。SVM 是一種監督學習算法,它可以用于分類和回歸問題,它的基本思想是將數據映射到高維空間中,通過找到一個最優的超平面來分隔不同類別的數據點,在文本中指異常日志和正常日志的超平面。在面向日志數據的故障預測中,SVM 模型通常具有較高的故障預測準確率、召回率以及較低的響應時間,并有一定的解釋性,擁有較優的綜合性能?;谌罩緮祿腟VM 模型在智能故障預測技術中具有廣泛的應用,可用于各種設備或系統,如工業設備、網絡設備、服務器場景等。

(2)多層LSTM。SVM 的優勢在于計算復雜度相對較低、訓練速度較快。然而,SVM 難以處理高維數據、復雜的多模態數據(文本數值結合),且其結果難以提供與概率相關的回歸類數值。因此,當其面對復雜文本數據序列時,擬采用時序深度學習模型LSTM 進行故障和異常預測。LSTM 的每個單元節點都是一個循環結構的神經元,LSTM 在組織這些單個的神經元時,進行了與序列相關的門結構重建,增加了遺忘門、輸入門和輸出門,使得模型序列對于長短距離目標均可學習其概率分布特征。這在處理文本相關的時序數據(如日志數據)時具有明顯優勢。

在處理大規模數據時,由于單層LSTM 序列模型參數有限,難以挖掘數據序列的深度特征,因此在面向大規模狀態訓練數據時將采用如圖2所示的多層LSTM。

圖2 復雜文本的多層LSTM 學習訓練

多層LSTM 將底層LSTM 的每個輸出隱向量H 作為上層LSTM 的輸入向量,參與下一輪循環神經網絡訓練。如此,模型整體參數量增加,并從側重時序特征提取轉向側重空間特征提取,使得對輸入文本的概率分布擬合更優。

本文利用多層LSTM 進行日志數據的故障異常判斷,可以得到較之其他模型更優的準確率。然而,由于LSTM 在處理單向神經序列時具有長期依賴關系的處理能力和單向性的限制,使其訓練效率較之其他深度學習模型(如CNN)顯著降低。這種效率下降在面向多層LSTM 訓練時將會更加明顯,因此需要進行多渠道模型的綜合調度調優。

2.2.3 輔助模型組

除了LSTM 和SVM,還存在眾多其他智能運維故障預測任務的智能學習模型,涵蓋了有監督和無監督、機器學習和深度學習等模型。這些模型擁有各自擅長的故障預測場景,可以滿足不同用戶的預測需求。例如,CNN、Transformer、編碼器、LR、樸素Bayes 和無監督模型PCA 主成分分析等,這些模型在準確率、召回率、F1-score、運行效率、領域數據、解釋性、目標系統等方面均有相應的優勢和劣勢。通常,在目標預警訓練數據缺少標簽的場景下,利用無監督模型進行數據挖掘和輔助預警;而對召回率有較高需求時,則優先采用CNN、樸素Bayes 等模型。由于這些模型往往在特定環境下才能發揮優勢,規避劣勢,因此利用它們構建輔助模型組時,其在各屬性上的參數權重矩陣需要根據專家經驗和實驗積累獲得。

2.3 故障預測和適配分析

當得到調度矩陣和計算適配度之后,選擇最優的模型參與輸入數據的故障預測。本文系統對候選模型均進行了大數據的訓練處理,故障預測僅需輸入待測試數據,繼而可得到數據故障與否的分類結果。例如,本系統在前期已對經SVM 模型處理后的日志數據進行訓練。在訓練過程中,SVM 模型會根據已知的故障樣本和正常樣本來學習故障的特征和模式。通過這種方式,SVM 模型可以建立一個分類邊界,將正常樣本和故障樣本區分開來。將新的待測日志數據輸入到SVM 模型中時,模型會根據已學習的分類邊界來判斷該數據是否屬于正?;蚬收蠣顟B。通過這種方式,可以實時監測設備或系統的運行狀態,并提前預測可能的故障。

為了進一步確保多渠道調度的適配有效性,在故障預測之后,可進行人工預期偏差排查,以評估分析結果的適配性。如果與預期結果偏差較大,可以重新構建用戶場景需求,進行迭代的模型調度調優,以保證實際的故障預測效果符合預期的場景需要。

3 實驗分析

3.1 日志數據集

本文利用常用的公開日志數據集對Multi-Det 進行有效性驗證。該數據集來自He 等人[7]發布的Loghub,這是一個大型系統日志數據集集合。由于篇幅限制,本文只研究了在藍色基因/L(BlueGene/L,BGL)數據集和Hadoop 分布式文件系統(Hadoop Distributed File System,HDFS)日志數據集[6]上評估的結果,同時實驗結果也可以很容易地擴展到其他數據集。表2總結了數據集統計信息。

HDFS 數據集包含11 175 629 條日志消息,這些日志消息是在200 多個Amazon EC2 節點上運行map-reduce 任務產生的[10]。特別是,對于每個塊的分配、寫入、復制、刪除等操作,每個日志消息都包含一個唯一的block id。因此,基于標識符的分區可以自然地應用于生成日志事件序列。日志事件序列預處理后得到575 061個測井序列,其中異常樣本16 838 個。如果一個測井序列的任何一個測井窗口W被識別為異常,則該序列將被預測為異常。

BGL 數據集包含4 747 963 條日志信息,這些日志信息來自美國勞倫斯利弗莫爾國家實驗室的BlueGene/L 超級計算機。與HDFS 不同,該數據集的日志沒有標識符來區分不同的作業執行。在BGL 數據集中,有348 460 條日志消息被標記為失敗。如果日志序列包含任何失敗日志,則將其標記為異常[15]。

3.2 實驗設置

本實驗在PyCharm 中,基于Python 10.3 的環境下運行,實驗所需的數據集均為上述HDFS和BGL 日志數據集。對于所有數據集,本文首先按時間順序對日志進行排序,并應用日志分區生成日志序列,然后對其進行洗牌。接下來,本文利用前80%的數據進行模型訓練,剩下的20%用于測試,并對測試好的模型進行模型屬性調度,通過對不同需求場景進行模擬,設置6 組對照實驗,其權重參數和場景語義如表3所示。

表3 權重參數設置

3.3 評估指標

在智能故障預測模型的評估中,常用的評估指標包括準確率(Precision)、召回率(Recall)和F1 值(F1-score)。

準確率是指模型預測為正例的樣本中,實際為正例的比例。它衡量了模型預測為正例的準確性,計算方式為:

式中:TP為真正例(模型正確預測為正例的樣本數);FP為假正例(模型錯誤預測為正例的樣本數)。

召回率是指模型正確預測為正例的樣本數占所有實際正例樣本數的比例。它衡量了模型對正例樣本的查全率,計算方式為:

式中:TP為真正例;FN為假反例(模型錯誤預測為反例的樣本數)。

F1 值是指準確率和召回率的調和平均值,綜合考慮了模型的準確性和查全率,計算方式為:

F1 值的范圍在0 到1 之間,值越接近1 表示模型性能越好。

在故障預測任務中,準確率衡量了模型預測故障的準確性,召回率衡量了模型對真實故障的檢測能力。F1 值綜合考慮了這兩個指標,可以評估模型在故障預測任務中的整體性能。通過對這些評估指標的分析,我們可以選擇最合適的模型或優化模型的參數,以提高故障預測的準確性和可靠性。

3.4 實驗結果

將劃分的訓練集和測試集分別用于主干模型組和輔助模型組共計5 類智能運維故障預警模型中,分別統計這些模型在HDFS 和BGL 日志數據上準確率、召回率、F1 值的表現效果。對比實驗結果如表4 所示。

表4 主干模型和輔助模型準確率

通過實驗可以得出,主干模型組SVM 和多層LSTM 在HDFS 和BGL 數據集的準確率、召回率和F1 值上均表現很好,但在個別情況下,輔助模型組中有略高于主干模型組的值。

在上述實驗的基礎上,以主干模型組為實驗模型,以HDFS 日志數據為數據集,根據兩種主干模型的模型屬性值,結合上述實驗積累和專家經驗得出模型能力矩陣值,并設置不同的權重參數,對比預期模型調度,以此來驗證模型調度的準確性。由上述實驗積累和專家經驗得出的主干模型組需求屬性如表5 所示。

表5 模型和需求屬性值

根據主干需求屬性、設置的權重計算得出模型的適配度,并對比相應需求屬性預期的模型。實驗結果如表6 所示。

表6 模型適配度和預期模型

從實驗結果可以看到,超過83%的實驗得到了符合預期的結果,僅最后一組結果存在偏差。然而從細節上看,偏差的結果并不嚴重,預期的多層LSTM 模型仍然獲得了第二高的得分(0.65),可以驗證Multi-Det 的有效性??傮w上看,多層LSTM 在各場景下的適配性最強,表明其有著較高的通用性,也從側面驗證了利用LSTM 作為主干模型的合理性。在第四組實驗中,由于主模型組中SVM 與輔助模型組中LR 適配度相同,因此預期結果可能是兩種模型。但據實驗結果顯示,輸出的模型為SVM,這證明在適配度相同時,優先考慮主干模型組,設置主模型組的原因在于主模型在綜合性能上優越,并且在適配度產生矛盾時其能夠解決模型調度的問題。從實驗結果中得知,相較于傳統調度方式,本文提出的面向場景需求的模型屬性調度方式具有以下優點。

(1)更準確地預測故障?;谀P蛯傩缘恼{度可以通過分析設備的歷史數據和特征,構建故障預測模型,從而更準確地預測設備的故障概率。相比之下,其他簡單優先級調度可能只是基于設備的一些基本信息或規則進行調度,無法提供準確的故障預測。

(2)靈活性和可擴展性?;谀P蛯傩缘恼{度策略可以根據實際場景需求,靈活地調整模型屬性的權重,以適應不同的業務場景和優化目標。這種靈活性和可擴展性使得基于模型屬性的調度更加適用于復雜的生產環境和多變的需求。

4 結 語

傳統的系統故障預測方法往往依賴于人工經驗和規則,無法滿足大規模和復雜系統的需求。因此,引入智能模型和機器學習算法成為解決這一問題的關鍵,然而單一的智能方法難以適用于動態變化的系統場景。本文旨在提出一種多渠道融合的智能故障預測技術,通過設計與場景需求適配的模型調度策略,使用LSTM和SVM 作為主干模型,并結合CNN 等輔助模型,對日志故障在準確率、召回率和F1 值等指標上進行實驗對比,實驗結果表明了多渠道調度策略的有效性,該方法能夠為系統故障運維提供有效的決策支持。

為進一步改進模型性能和可擴展性,未來可以考慮引入更多的輔助模型,如決策樹等,以提高模型的表達能力和泛化能力。此外,可以探索更多的特征工程方法,引入更多的數據源和領域知識,以提取更有價值的特征信息,進一步提高模型的預測能力。最后,還可以將模型應用于實際工業系統中,并進行實際效果評估,以驗證其在實際應用中的可行性和有效性。

猜你喜歡
日志調度預測
無可預測
選修2-2期中考試預測卷(A卷)
選修2-2期中考試預測卷(B卷)
一名老黨員的工作日志
扶貧日志
《調度集中系統(CTC)/列車調度指揮系統(TDCS)維護手冊》正式出版
一種基于負載均衡的Kubernetes調度改進算法
虛擬機實時遷移調度算法
游學日志
不必預測未來,只需把握現在
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合