石玉,胡瑛婷
(山東師范大學 信息科學與工程學院,山東 濟南 250358)
隨著第四輪經(jīng)濟全球化、第四次工業(yè)革命的到來,物聯(lián)網(wǎng)、人工智能技術在制造業(yè)得到普遍應用,全球制造業(yè)格局正發(fā)生戰(zhàn)略性調整。人工智能等技術促使“智能工廠”“智能車間”“智能工作流程”等的誕生,極大地降低生產(chǎn)制造成本。智能制造是中國制造從“大”走向“強”的重要方向,是中國順應科技革命和產(chǎn)業(yè)變革的總趨勢,建設創(chuàng)新型國家的戰(zhàn)略性選擇。
目前,制約生產(chǎn)的一個重要因素是設備維護,現(xiàn)有的主要維護方式分為:修復方式,預防方式和預測方式。隨著工業(yè)大數(shù)據(jù)的發(fā)展和人工智能與工業(yè)大數(shù)據(jù)的結合,預測性維護成為相關研究的重要應用場景。預測性維護可以避免故障停機或最小化故障停機時間,保證機器能在盡可能長的時間內正常使用,研究價值高。祝旭倡導將過去常用的預防性維護轉變成基于設備狀態(tài)是否正常的預測性維護,可見預測性維護對工業(yè)生產(chǎn)的重要意義。若對預測性維護的相關研究方法進行簡要分類,可分為基于機器學習和基于本體方法。
機器學習算法是人工智能技術的核心之一,能夠處理高維度數(shù)據(jù)、多變量數(shù)據(jù)等復雜數(shù)據(jù),并且可以獲取復雜環(huán)境與動態(tài)環(huán)境中數(shù)據(jù)之間的隱藏關系,在預測性維護技術中應用前景廣闊,相關研究成果也較為豐富。目前應用于故障診斷和預測性維護的機器學習算法主要有:邏輯回歸、支持向量機、決策和隨機森林等算法,以及近年來發(fā)展最快的深度學習算法:人工神經(jīng)網(wǎng)絡算法和深度神經(jīng)網(wǎng)絡算法。深度神經(jīng)網(wǎng)絡算法是一種具備多隱藏層的神經(jīng)網(wǎng)絡,當每層單元數(shù)和層數(shù)明顯增多時,能更好的代表經(jīng)典人工神經(jīng)網(wǎng)絡的復雜函數(shù)。但機器學習方法也有局限性,如存在數(shù)據(jù)問題、復雜與個性問題、不確定性問題、黑箱問題、AI 芯片問題等待解決。
基于規(guī)則的相關研究首先需要構建一個知識庫,知識庫以關于域的語句形式存儲計算模型符號,并通過操作符號來執(zhí)行推理。通常,本體被認為是“對感興趣的領域進行概念性的規(guī)范”,是抽象知識。OntoProg是一個為方便預測性維護定義的一個通用本體,具有嚴格概念化的國際標準,主要用于預測機械部件的剩余使用壽命。MPMO是一種制造預測維護本體,對領域本體進行了進一步擴展。劉鑫采用七步法構建本體,建立本體類owl 文件,通過SPARQL 查詢、SWRL 推理,為知識共享通用型智能化故障診斷技術提供一種思路。規(guī)則形如“If-Then”的推理,如模糊推理能對領域專家的解決問題過程進行編碼,且已經(jīng)被用于智能產(chǎn)品設計,在故障分類中也有模糊相關應用。
然而,現(xiàn)階段大部分的設備維護系統(tǒng)的策略知識可復用性低,信息共享程度低,設備維護智能化程度也較低?;诖耍疚脑噲D提出一種基于知識圖譜的,可解釋性強的故障診斷方法。參考機器學習算法將數(shù)據(jù)映射為高維向量,本文將知識圖譜映射到模糊本體,同時對數(shù)據(jù)賦予語義信息并做進一步封裝,通過模糊推理得到故障程度。而模糊推理能將“模糊性”概念具體化,滿足實際工業(yè)生產(chǎn)環(huán)境的需求。
本文使用基于規(guī)則的方式構建預測性維護模型,首先構建機械故障知識圖譜,為設備故障賦予多方面語義信息;然后定義模糊本體,并確定模糊概念等關鍵內容;將知識圖譜映射到模糊本體,使用第三方工具包實現(xiàn)自動推理,得到故障模糊值。并兼顧橫向與縱向分析,得出本文模型的有效性。
在實驗階段,本文以一個真實的液壓系統(tǒng)數(shù)據(jù)集為例進行研究,縱向得到四個評價指標,橫向與支持向量機(Support Vector Machine,SVM)進行對比?;诒疚臉嫿ǖ膱D譜、本體,可實現(xiàn)對相關工業(yè)集群的故障診斷,進一步完善可實現(xiàn)預測性維護任務。本文模型構建及驗證流程如圖1所示。
圖1 模型構建及驗證流程
知識圖譜能挖掘各知識間的規(guī)律,具有較高的參考價值。本文借助機械領域權威學者發(fā)布的論文及其他相關研究成果,構建上層本體,同時結合數(shù)據(jù)集的特性自下而上完成構建。繼現(xiàn)代控制理論后,又出現(xiàn)了智能控制理論。模糊控制是智能控制的組成部分。模糊推理是從不夠精確的給定前提集合中推理得到可能的不夠精確的結論解的過程,已被證實,大部分數(shù)模糊系統(tǒng)是萬能函數(shù)逼近器,能完成任意的非線性連續(xù)控制規(guī)律和動態(tài)模型。將構建完成的機械知識圖譜,映射到定義的模糊本體,可在模糊推理前為每條數(shù)據(jù)賦予語義信息。
知識圖譜由語義網(wǎng)絡演變而成,通過構建機械故障知識圖譜,能全面深入地表達知識的層級結構與語義關系。目前知識圖譜的構建方式主要有兩種:自頂向下(top-down)與自底向上(bottom-up)。自頂向下的方法是先從頂端的概念開始定義,然后逐步精確;自底向上與之相反,先定義實體,然后歸納總結形成底層的概念,逐步向上抽象形成上層的概念。
本文通過“自上而下”“自下而上”相結合的方式構建機械故障知識圖譜。自上而下能確保構建的領域本體具有通用性,自下而上能確保構建的本體具有實用性。根據(jù)機械領域權威學者發(fā)布的論文《Basic Concepts and Taxonomy of Dependable and Secure Computing》,及其他相關權威機構發(fā)布的本體,自頂向下初步完成構建機械故障知識圖譜。
結合多種數(shù)據(jù)集的共性,實現(xiàn)自底向上補充、完善構建的機械故障知識圖譜。最終得到的知識圖譜是自頂向下構建的圖譜的子圖譜,且對其中的組件具體化,如圖2所示。
圖2 機械故障知識圖譜
通過自上而下、自下而上的方式,完成了機械故障知識圖譜的構建。該知識圖譜既高度綜合概括了領域專家的知識,也能應用于實際的傳感器數(shù)據(jù)集。構建的知識圖譜能為獲取的時序數(shù)據(jù)集賦予語義信息,可用于多方面分析機械設備故障發(fā)生的原因及影響。
根據(jù)上文構建的知識圖譜,選取核心內容作為模糊本體構建的關鍵,可依據(jù)具體情況有針對性的修改模糊本體。本文的模糊本體模型主要由四部分組成:設備故障程度,故障發(fā)生階段、故障設備維修費用和故障設備組合。構建完成的模糊本體如圖3所示,其中,設備組合共有四種情況。
圖3 模糊本體圖
值得注意的是,模糊與概率都可以用來刻畫不確定性,但概率是事件是否發(fā)生的不確定性,而模糊是事件發(fā)生的程度。本文提出的算法推理得到的結果,即為設備出現(xiàn)故障的故障程度,是模糊值而非概率。
1.2.1 定義模糊概念
模糊概念包括模糊變量(Fuzzy Variable)、模糊集(Fuzzy Set)及模糊值(Fuzzy Value)。模糊變量用來描述一個普遍性模糊概念。模糊變量由變量名、變量的單位、變量的數(shù)值域和一組能描述該變量的特定模糊概念的模糊術語組成。其中,模糊術語(FuzzyTerm)通過術語名稱、對應的模糊集定義。
模糊集表示在模糊變量范圍內的隸屬度;模糊值編碼模糊語言表達式。其中,隸屬度函數(shù)的確定是影響模糊推理結果準確度的重要因素。隸屬度函數(shù)是用精確的數(shù)學方法描述具有模糊性的概念,實質反映了事物漸變性。
由模糊本體可知,本模型定義的與輸入有關的模糊變量包括:設備故障類型type,具有Error、Failure 兩個模糊術語;故障發(fā)生階段phase、具有Outage Phase、Delivery Phase、Shutdown Phase 三個模糊術語;故障設備維修費用cost,具有Low、Medium、High 三個模糊術語;故障設備組合Combination,模糊術語定義為某一時刻可能發(fā)生故障的設備數(shù),包括:One、Two、Three、Four 四個術語。定義的與輸出有關的模糊變量為priority,依據(jù)四個模糊變量,十二個模糊術語,共定義四十八條模糊規(guī)則,對應四十八個模糊變量priority 的模糊術語P1、P2、……P48.
1.2.2 定義模糊規(guī)則
模糊規(guī)則(Fuzzy Rule)的輸入為模糊變量的定義區(qū)間的數(shù)值,通過模糊規(guī)則,可得到輸出模糊變量的定義區(qū)間的值。一條模糊規(guī)則擁有三組模糊變量,分表代表規(guī)則的輸入、前提和結論。規(guī)則通常寫為:
If A1 and A2 … and A3
Then B1 and B2 … and B3
根據(jù)前提和規(guī)則數(shù)目不同,模糊推理時需要遵循的隸屬度復合規(guī)則也不完全相同。具體可以分為:單一前提單一規(guī)則、多前提單一規(guī)則、多前提多規(guī)則。本文提出的模型算法使用多前提多規(guī)則。
實驗部分選用UCI 機器學習倉庫的液壓系統(tǒng)數(shù)據(jù)集進行測試,用以驗證所提模型的有效性和準確性。數(shù)據(jù)集中共有四種部件,每種部件有3 或4 個狀態(tài),如表1所示。數(shù)據(jù)集中的故障標簽與部件給出的描述不符,故重新為數(shù)據(jù)集添加標簽。原數(shù)據(jù)集共2 205 條數(shù)據(jù),經(jīng)清洗去重后剩144 條,將每條數(shù)據(jù)的每個部件按照故障程度(degree)求和并歸一化,以0.7 為閾值添加標簽,共得到33 條標簽為故障的數(shù)據(jù),占23%;111 條標簽為正常的數(shù)據(jù),占77%,較符合實際場景。
表1 四個部件的狀態(tài)描述
結合第三節(jié)定義的機械故障知識圖譜,將液壓系統(tǒng)數(shù)據(jù)集輸入為知識圖譜的數(shù)據(jù)層,挖掘出數(shù)據(jù)集中更豐富的語義信息,從而構建液壓系統(tǒng)故障子知識圖譜。數(shù)據(jù)集中共有四種部件,每種部件有多個不同的狀態(tài),通過分析每個部件的故障程度type、維修費用cost、故障發(fā)生時所處階段phase,定義每條數(shù)據(jù)的狀態(tài):
(1)故障程度類型(type):故障程度分為Error 與Failure,其中Failure 的嚴重程度定義為高于Error。結合論文中提到的故障程度定義及數(shù)據(jù)集特點,作如下定義:若該條時序數(shù)據(jù)中含有Failure,則該時序數(shù)據(jù)故障程度類型定義為Failure;若僅有Error 而無Failure,則定義為Error。
(2)維修費用(cost):維修費用劃分為:Low、Medium、High.不同部件不同狀態(tài)權重和維修費用定義如表2所示。此處維修費用權重的定義與部件價格、易損程度、維修難度等有關。
表2 四個部件維修費用定義
(3)故障發(fā)生時所處的階段(phase):分為outagephase、deliveryphase、shutdown phase.其中,所用數(shù)據(jù)集中沒有處于shutdown phase,若存在故障程度為Failure的部件,則定義為outage phase;deliveryphase 定義為,出現(xiàn)故障的時序數(shù)據(jù)中非outage phase。
(4)發(fā)生故障的部件組合數(shù)(combination):某一時刻液壓系統(tǒng)發(fā)生故障的部件種類數(shù)有:1、2、3、4。
綜上,數(shù)據(jù)集中每條數(shù)據(jù)均有四個特征,每個特征有多個特征值,如表3所示。
表3 四個特征及對應值
四個特征等價于模糊本體的四個模糊術語,實現(xiàn)了知識圖譜到模糊本體的映射。模糊本體的構建是模糊推理的前提,模糊推理的流程是:定義模糊術語及模糊變量、選擇隸屬度函數(shù)、定義推理規(guī)則、得到模糊值結果。
將四個特征以對應的模糊變量的模糊術語作為輸入。隸屬度函數(shù)分為Z 函數(shù)、S 函數(shù)、Ⅱ函數(shù),本模型主要使用的是Ⅱ函數(shù)中線性函數(shù)、三角函數(shù)。此處的部分線性函數(shù)可簡化為經(jīng)典集合,用梯形函數(shù)擬合。維修費用的三個模糊術語高、中、低分別對應斜率為負的直線、三角函數(shù)、斜率為正的直線,區(qū)間分別為[0,30],[0,30,60],[30,60],其中60 為計算得到的維修費用的最高值。類型、組合、階段的模糊術語分別是垂直于水平軸的單值直線,實驗部分使用梯形函數(shù)近似,梯形隸屬度函數(shù)公式定義如公式(1)。
建立規(guī)則庫是機械設備故障預測性維護方法的核心。將不同特征排列組合得到不同場景下的規(guī)則,并將這些規(guī)則錄入到規(guī)則庫中,通過FuzzyJ Toolkit 模糊推理機制獲取該場景下的故障模糊值。
由表3可知,每條數(shù)據(jù)有四個狀態(tài)、每個狀態(tài)對應的2~ 4 個值,經(jīng)排列組合可得48 種狀態(tài),依照表中,自左向右、自上而下故障嚴重程度依次遞增的規(guī)則定義,構建模糊推理規(guī)則庫。規(guī)則庫是模糊推理的核心,由一至多條形如為“if - then”的語句組成。參數(shù)過多會導致推理規(guī)則繁雜,影響推理效率。本文定義了48 條規(guī)則,具體規(guī)則如下,其中優(yōu)先等級priority 的值設定為1 最低,48 最高。規(guī)則示例如下:
If type is Error and cost is low and combination is one and phase is delivery_phase
then set priority to priority 1
…
If type is Failure and cost is high and combination is four and phase is outage_phase
then set priority to priority 48
48 條規(guī)則與模糊變量priority 的48 個模糊術語對應,作為模糊本體模型定義規(guī)則的輸出結論定義。模糊變量priority 的隸屬度函數(shù)使用三角函數(shù)。
第三方工具包FuzzyJ Toolkit 提供了在Java 中建立模糊概念和推理的能力,通過定義模糊概念、模糊規(guī)則后,對144 條數(shù)據(jù)進行模糊推理并得到模糊值。設定閾值為數(shù)據(jù)添加推理標簽,并與原標簽進行對比可以驗證模型的有效性。
準確率能反映預測標簽與真實標簽的一致率,但在某些場景下不能反映真實需求,因此引入了精確率、召回率和F1 值,對結果進行較為全面的分析。
精確率是指模型預測為正實際也為正的樣本,占被預測為正的樣本的比例。計算公式如(2):
只用精確率來評價模型也是不完整的,引入召回率。召回率定義為:實際為正的樣本中,預測值為正的樣本占實際為正的樣本的比例。計算公式如(3):
F1 score 是精確率和召回率的調和平均值,計算公式如(4):
其中,F(xiàn)P 表示實際為負且預測為正的樣本數(shù),TN 表示實際為負且預測為負的樣本數(shù),TP 表示實際為正且預測為正的樣本數(shù),F(xiàn)N 表示實際為正且預測為負的樣本的數(shù)。
分別以0.8、0.85、0.9、0.95 為閾值為數(shù)據(jù)添加推理的故障標簽,并與數(shù)據(jù)集的原有標簽進行比較,從準確率、精確率、召回率和F1 四個方面評價模型,結果如表4所示。當閾值設定為0.9 時,準確率最高,為0.84,其他閾值的準確率也都在0.5 以上。模型的精確率普遍較低,召回率普遍較高,當閾值為0.9 或0.95 時,F(xiàn)1 值達到0.67??梢姡疚奶岢龅哪P托Ч^好;其中,當閾值為0.9 時,效果最佳。
表4 模型訓練結果四個特征及對應值
支持向量機(support vector machines,SVM)是一種經(jīng)典的二分類模型,通過求解能夠正確劃分數(shù)據(jù)且?guī)缀伍g隔最大的超平面,分類數(shù)據(jù)。SVM 能夠解決小樣本下機器學習問題,且泛化能力較強。將最大間隔超平面的上下兩個超平面定義為|ωx-|=1,其中與未知,SVM 的目標函數(shù)如公式(5),約束條件如公式(6)。
將數(shù)據(jù)集劃分為訓練集和測試集,采用交叉驗證方式訓練液壓系統(tǒng)數(shù)據(jù)集的SVM 模型,得到更為可靠穩(wěn)定的模型。交叉驗證的K 值的選取對訓練出的模型影響較大,故采用兩個常用的K 值:5 和10 進行測試。scikit-learn 的SVM 模型中參數(shù)random_state 用于控制偽隨機數(shù)的生成,如果不指定,每次結果差距較大;經(jīng)測試,選用0 或1 時效果較好;其他參數(shù)使用scikit-learn 默認參數(shù),使用SVM 訓練結果如表5所示。
表5 SVM 訓練結果
由表5可看出,當選取10,random_state 選取1 時,效果最好。在相同時,不同的random_state 表現(xiàn)出不同的效果;而random_state 相同時,=10 優(yōu)于=5。
由3.1 和3.2 可以看出,經(jīng)典二分類算法SVM 在模型評估中表現(xiàn)出較大優(yōu)勢。四個指標中,論文提出的模型僅在召回率上略勝一籌。但這并不能否定本論文提出的模型的有效性。
從原理上看,實驗部分使用的數(shù)據(jù)集的標簽均是更新后的,僅以故障程度為依據(jù)為數(shù)據(jù)集添加標簽,缺少其他影響因素的加權,不符合實際生產(chǎn)環(huán)境,也與本論文提出的模型存在原理上的區(qū)別。故障程度只是本文構建的機械故障知識圖譜的一部分。
從模型特點來看,SVM 算法與本文提出的模型各有優(yōu)勢。SVM 算法的優(yōu)勢在于,充分挖掘數(shù)據(jù)中的信息,建立盡可能逼近源數(shù)據(jù)的模型,得到期望的結果。而SVM的缺點,也是其他機器學習算法的通病是:模型難以解釋。當機器學習算法將多維數(shù)據(jù)映射到向量空間,建模后雖然能得到預期的結果,但原有的語義信息難以保留,也難以將模型結果向非專家進行解釋,同時模型的隨機性較強,不同的隨機種子對結果影響較大。這也是本文模型提出的關鍵原因。
本模型基于語義信息建模,構建了機械故障知識圖譜,映射到模糊本體進行模糊推理,整個過程數(shù)據(jù)具有唯一性。事實上,大部分數(shù)模糊系統(tǒng)是萬能函數(shù)逼近器,通過調整模糊變量的模糊函數(shù),也可以得到最大可能與源數(shù)據(jù)標簽一致的結果,但對于本文使用的數(shù)據(jù)集,調參意義較低。
最后,雖然在四個指標上本文模型較差于SVM,但這四個指標只能在一定程度上反映模型效果,而不能決定模型的效果,本文提出的模型依舊是有效的,并且在合適的數(shù)據(jù)集上可能表現(xiàn)地與SVM 同樣好。
本文針對預測性維護問題,提出了一種基于知識圖譜和模糊推理的故障診斷模型(代碼已開源:https://github.com/satatata-ai/KG_AND_FR)。構建了機械故障領域知識圖譜、構建模糊本體,并以映射的方式,溝通知識圖譜和模糊本體,通過模糊推理得到故障模糊值,進而診斷設備狀態(tài)。在預處理后的液壓系統(tǒng)數(shù)據(jù)集上,表現(xiàn)效果較好,取閾值為0.9,準確率能達到0.84,F(xiàn)1 值為0.67。與經(jīng)典二分類模型SVM 對比分析得出,本文模型是有效的。在合適的數(shù)據(jù)集上,本文模型能表現(xiàn)出與SVM 同樣較好的效果,此時若模型落地實際工業(yè)生產(chǎn),本文模型在可理解、可針對性修改模型參數(shù)方面更具有優(yōu)勢。
本文提出的模型具有通用性,不僅適應于液壓系統(tǒng),也可對其他工業(yè)集群進行故障診斷。工業(yè)生產(chǎn)過程中真實可靠的數(shù)據(jù)集難以獲取,選擇更合適的數(shù)據(jù)集進行模型檢驗也是接下來的任務之一。
本文模型實現(xiàn)了設備的故障診斷,但僅是故障診斷并不能做到預測性維護。進一步地,在本模型的基礎上,添加時間序列預測模型,如ARIMA 模型,對歷史數(shù)據(jù)推理出的故障模糊值進行預測,以指定時間范圍出現(xiàn)故障次數(shù)為依據(jù)判斷整個設備狀態(tài)是否穩(wěn)定并預警,可實現(xiàn)預測性維護任務目標。