鄧偉林 姜程 林森彬



摘 要:在已知模型系統中,采用基于模型的方法可以較好解決概率離散事件系統錯誤診斷問題。然而在某些實際系統中,要得到完備的概率模型非常困難。關于不完備系統的診斷問題,業內主流解決方案是采用基于數據方法,如關鍵觀察方法和關鍵樹方法。卷積神經網絡是一個非常好的數據擬合工具。因此,首先將錯誤診斷問題轉化為文本分類問題,然后應用卷積神經網絡求解該問題。仿真實驗結果表明,在可診斷概率系統中,該方法在仿真數據集上的平均診斷準確率比關鍵樹方法高出15%。
關鍵詞:概率離散事件系統;錯誤診斷;卷積神經網絡
DOI:10. 11907/rjdk. 201676 開放科學(資源服務)標識碼(OSID):
中圖分類號:TP303文獻標識碼:A 文章編號:1672-7800(2020)008-0010-04
Abstract:The fault diagnosis in a complete model can be well done by means of the model-based approaches. However, in some practical systems, it is hard to obtain their complete model. For the fault diagnosis of incomplete systems, the data-based approaches, such as the critical observations approach and critical tree approach, are popular. As an excellent fitting tool, convolutional neural network has been successfully applied to solve many pattern recognition issues. In this paper, we transfer?the issue of fault diagnosis to?the issue of text classification firstly, and then apply the convolutional neural network to solve this problem. The simulation?experiments are performed in diagnosable systems and the results show that the diagnosis accuracy?of this approach exceeds?15 percents of that of critical trees approach on average.
Key Words:probabilistic discrete event systems; fault diagnosis; convolutional neural network
0 引言
離散事件系統(Discrete Event Systems,DES)是具有離散狀態空間,并且系統狀態演化由不定時發生的事件驅動的一類系統[1]。DES是生活中很常見的一類系統,如在邏輯層面,柔性制造系統、通信系統、排隊系統及交通系統都屬于DES[2]。在許多實際的DES系統建模過程中往往需要刻畫系統的不確定性。系統不確定性分為主觀不確定性與客觀不確定性。DES主觀不確定性用模糊離散事件系統(Fuzzy Discrete Event Systems,FDES)刻畫;DES客觀不確定性用概率離散事件系統(Probabilistic Discrete Event Systems,PDES)刻畫。近年陸續建立起FDES的基礎理論[3-6]和PDES的監督控制[7-8]、錯誤診斷[9]理論等。
值得注意的是,現有DES基礎理論研究基本上是在完備模型下討論的,即假設系統模型可完全被相關智能體(如監控器、診斷器、預測器)獲取。然而,隨著科學技術的發展,特別是信息技術的日新月異,現代系統越來越大,結構也越來越復雜,獲取系統的完備模型也變得越來越困難。因此,建立不完備DES系統相關理論是一個緊迫任務,同時也是一個巨大挑戰[10-11]。
本文主要關注不完備PDES系統錯誤診斷問題。不完備系統在本文的內涵主要包括:①已知系統可以建模為PDES;②具體的系統模型(概率自動機及其生成的概率語言)不可知;③已知系統(足夠大的)帶標簽的運行記錄集。
錯誤診斷的基本任務是在系統發生錯誤后,診斷器能及時發現和定位系統錯誤,以防止系統在錯誤狀態下長期運行給系統帶來重大破壞。一個系統被稱為是可診斷(Diagnosable),當且僅當診斷器可在任何系統錯誤發生后的有限延遲內發現并隔離該錯誤。Sampath等 [12]最早在DES框架下給出可診斷性的形式化定義、驗證算法和診斷器構造方法。考慮到Sampath提出的可診斷性驗證算法指數復雜,Jiang等[13]進一步提出一種基于雙樹的可診斷性驗證算法,該算法擁有多項式復雜度。在PDES框架下,David等 [9]提出一種概率意義下的可診斷性:A-可診斷性。A-可診斷性是一種弱化的可診斷性,其概率系統可以包含不可診斷的字符串,這些字符串概率趨于0。
針對不完備的DES系統,Christopher等 [10]提出一種基于關鍵觀察(critical observations)的DES診斷方法。關鍵觀察指一類特殊的字符模式,只有包含特定錯誤類型的字符串才能匹配該模式;Christopher等 [10]提出關鍵觀察的求解算法,遺憾的是該算法復雜度非常高;文獻[11]提出一種基于關鍵樹的DES診斷方法。關鍵樹是一種特殊的決策樹,給出多項式時間的關鍵樹構造算法。通過搜索關鍵樹,可在線性時間復雜度內完成錯誤診斷。關鍵樹方法[10]在診斷器的構造復雜度及錯誤診斷準確率上均明顯優于關鍵觀察法[11]。由于文獻[10]和文獻[11]的方法只依賴系統運行記錄,因此這兩種方法也可用于不完備PDES系統的錯誤診斷。
關鍵樹方法提出一種可證明運行記錄上的錯誤診斷的正確性算法,也即在理論上證明給定運行記錄集上生成的關鍵樹,對該運行記錄集中的任何一條記錄均可給出正確的診斷結果。然而,從機器學習觀點看,關鍵樹方法在訓練數據集上過度擬合,可能會在一定程度上影響算法的泛化能力[14]。另一方面,卷積神經網絡(Convolutional Neural Network)在圖片識別、機器視覺、文本分類等模式識別問題中展現出良好的擬合能力和泛化能力[14]。因此,本文首先將錯誤診斷問題轉化為文本分類問題,然后應用卷積神經網絡求解此問題,該方法可在一定程度上改善前期工作[11]出現的過擬合現象。
1 完備DES及PDES系統可診斷性
定義2說明在概率系統中,A-可診斷性允許出現不可診斷的字符串[st]。隨著系統持續運行,錯誤字符串[s]的同長度不可診斷后繼概率趨于零。
在完備的DES系統和PDES系統中,Sampath等 [9]和David等 [11] 分別給出可診斷性和A-可診斷性的判定算法,及相應診斷器構造方法,此處不再贅述,具體方法請查看文獻[9]、文獻[11]。
2 不完備系統運行記錄及關鍵觀察
針對完備PDES系統,學者已經建立相對成熟的錯誤診斷理論。然而,在實際系統中通常很難獲取完備的系統模型。因此,不完備系統上的錯誤診斷是一個亟待解決的問題。不完備系統診斷主要依賴系統的運行記錄集(running-record set)。
定義3:一個運行記錄集[L]是二元組[l=(ω,tag)]的集合,該二元組滿足以下兩個條件:① 存在一個系統行為[s∈LG]使得[ω=P(s)];②[tag]為錯誤類型標簽,表示串[s]中發生了[tag]對應的錯誤類型事件,[tag=fi],[i>0],表示觀察到[ω]時系統發生第[i]類錯誤,[tag=f0]代表沒有發生錯誤。
定義4:運行記錄集[L]是正確的,當[L]中任意一個運行記錄[l=(ω,tag)]滿足以下兩個條件: ①[tag=fi,i>0?][(?s∈LG,fi∈Efi)][P(s)=ω∧fi∈s];②[tag=t0?(?s∈LG)] [P(s)=ω∧Ef?s=?]。
假設運行記錄[L]總是滿足正確性的,否則基于數據的診斷方法準確率將無法保證。另外需要說明的是,在廣義情形下系統是可以同時發生多種錯誤的。考慮到多種錯誤的疊加,可以定義為另一種新的錯誤類型。因此,本文只考慮錯誤不疊加情形。
除保證運行記錄集正確性外,運行記錄集大小、運行記錄長度對基于數據的診斷方法(如關鍵觀察法[12、關鍵樹法[13)非常敏感。在不充分大的記錄集或不足夠長的運行記錄上都很難保證診斷的準確率。本文前期工作[13]中就運行記錄集的大小及運行記錄的長度對診斷算法準確率的影響問題作了較詳細的實驗研究。
3 不完備概率離散事件系統錯誤診斷
隨著計算機算力的提升及深度學習理論的提出,人工神經網絡模型能夠很好地完成模型學習任務,特別是卷積神經網絡(Convolutional Neural Network,CNN)。許多研究者發現CNN非常適合從訓練數據中提取模型特征。CNN廣泛應用于計算機視覺、自然語言處理、 語音識別、文本序列分類等眾多問題[14]。
在不完備PDES系統中,如果能夠得到一個足夠大、充分長且符合系統概率特征的運行記錄集,則可很自然地將錯誤診斷問題轉換為文本序列分類問題求解。信息記錄集[L]可看作帶分類標簽的文本數據集,通過將[L]輸入到CNN進行網絡參數訓練和測試,從而得到一個滿意的網絡結構診斷器。
3.1 仿真數據集生成及預處理
為驗證該方法的有效性,需構造出一個足夠大、充分長且符合系統概率特征的運行記錄集。因此,首先隨機構造出若干個概率自動機,然后根據文獻[11]提出的驗證算法對概率自動機進行A-可診斷性驗證。僅保留滿足A-可診斷性的PDES模型,因為在一個不可診斷的系統中進行錯誤診斷是沒有意義的。
模擬運行該可診斷的PDES模型,在運行過程中僅記錄其可觀字符,并根據實際情況對運行記錄打上標簽,生成一個帶標簽運行記錄集。為生成錯誤的運行記錄集,在隨機構造概率自動機時,首先生成[k]類錯誤狀態子集和1個正常狀態子集,同時只生成從正常狀態到錯誤狀態的跳轉(由相應的類型錯誤事件驅動),以及同一類錯誤狀態間的跳轉(僅有正確事件或相應類型的錯誤事件驅動)。
仿真數據集生成后需要對其進行以下預處理:
(1) 刪除標簽沖突記錄。
(2) 記錄字符編碼: 首先根據字符出現頻率從高到低對字符排序,然后按照排序結果依次將字符編碼為:11, 101,1001,10001,……。這種編碼方式的優點:①字符的編碼不互為前綴,可簡化解碼、檢索等后續處理;②基于哈夫曼思想的編碼壓縮率高,可減少CNN訓練的收斂時間[14]。
根據上述方法構造如表1所示的若干個數據集。
3.2 卷積神經網絡基本結構
本文采用的fdConv1d 模型是一個典型的卷積網絡,具有3個卷積層,1個匯聚層,1個丟棄層,2個全連接層。由于本文研究的問題可以轉化為序列多標簽分類問題,因此模型最后的全連接層使用 softmax 作為激活函數。結構使用單個通道,模型的輸入是一個序列向量。卷積層中的filters和kernel size等參數的調優從一組默認值開始,每次固定其中一個參數取值,然后選擇另一個參數的一組取值進行測試。對于一對參數組合進行多次實驗,經測試發現,當filters取值64,kernel_size取值29、33及37時,卷積模型均能很好地擬合數據。取值過大,卷積運算需要更多的時間,模型隨參數增加變得更復雜。
本文編程軟件包含Java、Python 3.7及Tensorflow 2.0, 操作系統是 Ubuntu 18.04,主要硬件為:Intel i7 9700 CPU、 Nvidia GTX 960M 2G顯卡及16G內存。隨機選取80%的樣本作為訓練數據,剩下20%樣本作為測試數據。模型在數據集上的訓練時間以及測試精度如表2所示。
3.3 實驗結果及分析
在數據集Data_20_4_30和Data_40_8_30上做CNN方法與 F-正確關鍵樹方法[9](以下簡寫為 FCCtT)的診斷準確率與運行記錄集大小及運行記錄的最小長度之間關系實驗(取平均準確率)。在第一個實驗中選取長度在30~200之間的運行記錄,實驗結果如圖1(a)所示;在第二個實驗中,選取滿足條件的大小為50 000的運行記錄子集,實驗結果如圖1(b)所示。
從圖1可以看出,總體運行記錄集越大,記錄長度越長,基于CNN和關鍵樹的算法診斷準確率越高。但是當集合大小和記錄長度達到一定程度后,準確率改善不再明顯。另外,基于CNN的診斷方法總體上好于基于關鍵樹的診斷方法。同時,隨著運行記錄集合及最大記錄長度的提升,CNN算法相對于關鍵樹算法優勢逐漸減弱,這與預估匹配。因為關鍵樹算法優勢在于可以完全擬合所有給定的運行記錄集,運行記錄集增大意味著測試案例來自于學習案例的可能性越大,準確率就越高。關鍵樹算法在一定程度上展現的是“存儲器”功能,但實際上始終無法創建一個無限大的“存儲器”。因此,處理一個大規模不完備模型的錯誤診斷,機器學習方法也許能提供一個更加有效的解決方案。
4 結語
本文將不完備PDES模型的錯誤診斷問題轉化為文本標簽分類問題,并采用CNN求解該問題。CNN網絡在PDES模型的運行記錄集上具備良好的學習和泛化能力,通過較短的時間學習就可得到一個準確率較高的診斷器。仿真實驗結果表明,該方法的診斷準確率優于關鍵樹診斷方法。未來工作是對CNN網絡結構進一步優化和改進,使其能有效求解規模更大、錯誤類型更多的不完備PDES模型錯誤診斷問題。
參考文獻:
[1] CASSANDRAS CG, LAFORTUNE S. Introduction to discrete event systems[M]. ?New York, NY, USA: Springer, 2008.
[2] 鄭大鐘,趙千川. 離散事件動態系統[M]. 北京:清華大學出版社, 2001.
[3] LIN F, YING H. Modeling and control of fuzzy discrete event systems [J]. ?IEEE Transactions on Systems, Man, and Cybernetics, Part B, 2002, 32(4):408-415.
[4] QIU D. Supervisory control of fuzzy discrete event systems: a formal approach[J]. ?IEEE Transactions on Systems, Man, and Cybernetics, Part B, 2005, 35(1):72-88.
[5] DENG W, QIU D. State-based decentralized diagnosis of bi-fuzzy discrete event systems [J]. ?IEEE Transactions on Fuzzy Systems, 2017, 25(4):854-867.
[6] DENG W, QIU D, YANG J. Opacity measures of fuzzy discrete event systems [J]. ?IEEE Transactions on Fuzzy Systems, 2020,33(9):481-495.
[7] PANTELIC V, LAWFORD M, POSTMA S. A framework for supervisory control of probabilistic discrete event systems [J]. ?IFAC Proceedings Volumes, 2014, 47(2): 477-484.
[8] DENG W, YANG J,QIU D. Supervisory control of probabilistic discrete event systems under partial observation[J]. ?IEEE Transactions on Automatic Control, 2019, 64(12): 5051-5065.
[9] DAVID T,DEMOSTHENIS T. Diagnosability of stochastic discrete-event systems [J], IEEE Transactions on Automatic Control, 2005, 50(4): 476-492.
[10] CHRISTOPHER C J, GRASTIEN A. Formulating event-based critical observations in diagnostic problems [C]. ?The IEEE Conference on Decision and Control (CDC), 2015: 4462-4467.
[11] JIANG C, DENG W, QIU D. Fault diagnosis in unknown discrete event systems via critical tree [C]. ?The Chinese Control and Decision Conference (CCDC), 2019: 1846-1851.
[12] SAMPATH M, SENGUPTA R, LAFORTUNE S, et al. Diagnosability of discrete-event systems[J]. ?IEEE Transactions on Automatic Control, 1995, 40(9): 1555-1575.
[13] JIANG S, HUANG Z, CHANDRA V, et al. A polynomial algorithm for testing diagnosability of discrete-event systems [J]. ?IEEE Transactions on Automatic Control, 2001, 46(8): 1318-1321.
[14] GU J, WANG Z, KUEN J, et al. Recent advances in convolutional neural networks [J]. ?Pattern Recognition, 2018, 77(6): 354-377.
[15] MARINHO W, MARTí L, SANCHEZ-PI N. A compact encoding for efficient character-level deep text classification [C]. ?The International Joint Conference on Neural Networks (IJCNN), 2018: 1-8.
(責任編輯:杜能鋼)