鄧偉林 姜程 林森彬
摘 要:在已知模型系統(tǒng)中,采用基于模型的方法可以較好解決概率離散事件系統(tǒng)錯(cuò)誤診斷問題。然而在某些實(shí)際系統(tǒng)中,要得到完備的概率模型非常困難。關(guān)于不完備系統(tǒng)的診斷問題,業(yè)內(nèi)主流解決方案是采用基于數(shù)據(jù)方法,如關(guān)鍵觀察方法和關(guān)鍵樹方法。卷積神經(jīng)網(wǎng)絡(luò)是一個(gè)非常好的數(shù)據(jù)擬合工具。因此,首先將錯(cuò)誤診斷問題轉(zhuǎn)化為文本分類問題,然后應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)求解該問題。仿真實(shí)驗(yàn)結(jié)果表明,在可診斷概率系統(tǒng)中,該方法在仿真數(shù)據(jù)集上的平均診斷準(zhǔn)確率比關(guān)鍵樹方法高出15%。
關(guān)鍵詞:概率離散事件系統(tǒng);錯(cuò)誤診斷;卷積神經(jīng)網(wǎng)絡(luò)
DOI:10. 11907/rjdk. 201676 開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
中圖分類號(hào):TP303文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):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 引言
離散事件系統(tǒng)(Discrete Event Systems,DES)是具有離散狀態(tài)空間,并且系統(tǒng)狀態(tài)演化由不定時(shí)發(fā)生的事件驅(qū)動(dòng)的一類系統(tǒng)[1]。DES是生活中很常見的一類系統(tǒng),如在邏輯層面,柔性制造系統(tǒng)、通信系統(tǒng)、排隊(duì)系統(tǒng)及交通系統(tǒng)都屬于DES[2]。在許多實(shí)際的DES系統(tǒng)建模過程中往往需要刻畫系統(tǒng)的不確定性。系統(tǒng)不確定性分為主觀不確定性與客觀不確定性。DES主觀不確定性用模糊離散事件系統(tǒng)(Fuzzy Discrete Event Systems,F(xiàn)DES)刻畫;DES客觀不確定性用概率離散事件系統(tǒng)(Probabilistic Discrete Event Systems,PDES)刻畫。近年陸續(xù)建立起FDES的基礎(chǔ)理論[3-6]和PDES的監(jiān)督控制[7-8]、錯(cuò)誤診斷[9]理論等。
值得注意的是,現(xiàn)有DES基礎(chǔ)理論研究基本上是在完備模型下討論的,即假設(shè)系統(tǒng)模型可完全被相關(guān)智能體(如監(jiān)控器、診斷器、預(yù)測(cè)器)獲取。然而,隨著科學(xué)技術(shù)的發(fā)展,特別是信息技術(shù)的日新月異,現(xiàn)代系統(tǒng)越來越大,結(jié)構(gòu)也越來越復(fù)雜,獲取系統(tǒng)的完備模型也變得越來越困難。因此,建立不完備DES系統(tǒng)相關(guān)理論是一個(gè)緊迫任務(wù),同時(shí)也是一個(gè)巨大挑戰(zhàn)[10-11]。
本文主要關(guān)注不完備PDES系統(tǒng)錯(cuò)誤診斷問題。不完備系統(tǒng)在本文的內(nèi)涵主要包括:①已知系統(tǒng)可以建模為PDES;②具體的系統(tǒng)模型(概率自動(dòng)機(jī)及其生成的概率語言)不可知;③已知系統(tǒng)(足夠大的)帶標(biāo)簽的運(yùn)行記錄集。
錯(cuò)誤診斷的基本任務(wù)是在系統(tǒng)發(fā)生錯(cuò)誤后,診斷器能及時(shí)發(fā)現(xiàn)和定位系統(tǒng)錯(cuò)誤,以防止系統(tǒng)在錯(cuò)誤狀態(tài)下長(zhǎng)期運(yùn)行給系統(tǒng)帶來重大破壞。一個(gè)系統(tǒng)被稱為是可診斷(Diagnosable),當(dāng)且僅當(dāng)診斷器可在任何系統(tǒng)錯(cuò)誤發(fā)生后的有限延遲內(nèi)發(fā)現(xiàn)并隔離該錯(cuò)誤。Sampath等 [12]最早在DES框架下給出可診斷性的形式化定義、驗(yàn)證算法和診斷器構(gòu)造方法。考慮到Sampath提出的可診斷性驗(yàn)證算法指數(shù)復(fù)雜,Jiang等[13]進(jìn)一步提出一種基于雙樹的可診斷性驗(yàn)證算法,該算法擁有多項(xiàng)式復(fù)雜度。在PDES框架下,David等 [9]提出一種概率意義下的可診斷性:A-可診斷性。A-可診斷性是一種弱化的可診斷性,其概率系統(tǒng)可以包含不可診斷的字符串,這些字符串概率趨于0。
針對(duì)不完備的DES系統(tǒng),Christopher等 [10]提出一種基于關(guān)鍵觀察(critical observations)的DES診斷方法。關(guān)鍵觀察指一類特殊的字符模式,只有包含特定錯(cuò)誤類型的字符串才能匹配該模式;Christopher等 [10]提出關(guān)鍵觀察的求解算法,遺憾的是該算法復(fù)雜度非常高;文獻(xiàn)[11]提出一種基于關(guān)鍵樹的DES診斷方法。關(guān)鍵樹是一種特殊的決策樹,給出多項(xiàng)式時(shí)間的關(guān)鍵樹構(gòu)造算法。通過搜索關(guān)鍵樹,可在線性時(shí)間復(fù)雜度內(nèi)完成錯(cuò)誤診斷。關(guān)鍵樹方法[10]在診斷器的構(gòu)造復(fù)雜度及錯(cuò)誤診斷準(zhǔn)確率上均明顯優(yōu)于關(guān)鍵觀察法[11]。由于文獻(xiàn)[10]和文獻(xiàn)[11]的方法只依賴系統(tǒng)運(yùn)行記錄,因此這兩種方法也可用于不完備PDES系統(tǒng)的錯(cuò)誤診斷。
關(guān)鍵樹方法提出一種可證明運(yùn)行記錄上的錯(cuò)誤診斷的正確性算法,也即在理論上證明給定運(yùn)行記錄集上生成的關(guān)鍵樹,對(duì)該運(yùn)行記錄集中的任何一條記錄均可給出正確的診斷結(jié)果。然而,從機(jī)器學(xué)習(xí)觀點(diǎn)看,關(guān)鍵樹方法在訓(xùn)練數(shù)據(jù)集上過度擬合,可能會(huì)在一定程度上影響算法的泛化能力[14]。另一方面,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network)在圖片識(shí)別、機(jī)器視覺、文本分類等模式識(shí)別問題中展現(xiàn)出良好的擬合能力和泛化能力[14]。因此,本文首先將錯(cuò)誤診斷問題轉(zhuǎn)化為文本分類問題,然后應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)求解此問題,該方法可在一定程度上改善前期工作[11]出現(xiàn)的過擬合現(xiàn)象。
1 完備DES及PDES系統(tǒng)可診斷性
定義2說明在概率系統(tǒng)中,A-可診斷性允許出現(xiàn)不可診斷的字符串[st]。隨著系統(tǒng)持續(xù)運(yùn)行,錯(cuò)誤字符串[s]的同長(zhǎng)度不可診斷后繼概率趨于零。
在完備的DES系統(tǒng)和PDES系統(tǒng)中,Sampath等 [9]和David等 [11] 分別給出可診斷性和A-可診斷性的判定算法,及相應(yīng)診斷器構(gòu)造方法,此處不再贅述,具體方法請(qǐng)查看文獻(xiàn)[9]、文獻(xiàn)[11]。
2 不完備系統(tǒng)運(yùn)行記錄及關(guān)鍵觀察
針對(duì)完備PDES系統(tǒng),學(xué)者已經(jīng)建立相對(duì)成熟的錯(cuò)誤診斷理論。然而,在實(shí)際系統(tǒng)中通常很難獲取完備的系統(tǒng)模型。因此,不完備系統(tǒng)上的錯(cuò)誤診斷是一個(gè)亟待解決的問題。不完備系統(tǒng)診斷主要依賴系統(tǒng)的運(yùn)行記錄集(running-record set)。
定義3:一個(gè)運(yùn)行記錄集[L]是二元組[l=(ω,tag)]的集合,該二元組滿足以下兩個(gè)條件:① 存在一個(gè)系統(tǒng)行為[s∈LG]使得[ω=P(s)];②[tag]為錯(cuò)誤類型標(biāo)簽,表示串[s]中發(fā)生了[tag]對(duì)應(yīng)的錯(cuò)誤類型事件,[tag=fi],[i>0],表示觀察到[ω]時(shí)系統(tǒng)發(fā)生第[i]類錯(cuò)誤,[tag=f0]代表沒有發(fā)生錯(cuò)誤。
定義4:運(yùn)行記錄集[L]是正確的,當(dāng)[L]中任意一個(gè)運(yùn)行記錄[l=(ω,tag)]滿足以下兩個(gè)條件: ①[tag=fi,i>0?][(?s∈LG,fi∈Efi)][P(s)=ω∧fi∈s];②[tag=t0?(?s∈LG)] [P(s)=ω∧Ef?s=?]。
假設(shè)運(yùn)行記錄[L]總是滿足正確性的,否則基于數(shù)據(jù)的診斷方法準(zhǔn)確率將無法保證。另外需要說明的是,在廣義情形下系統(tǒng)是可以同時(shí)發(fā)生多種錯(cuò)誤的??紤]到多種錯(cuò)誤的疊加,可以定義為另一種新的錯(cuò)誤類型。因此,本文只考慮錯(cuò)誤不疊加情形。
除保證運(yùn)行記錄集正確性外,運(yùn)行記錄集大小、運(yùn)行記錄長(zhǎng)度對(duì)基于數(shù)據(jù)的診斷方法(如關(guān)鍵觀察法[12、關(guān)鍵樹法[13)非常敏感。在不充分大的記錄集或不足夠長(zhǎng)的運(yùn)行記錄上都很難保證診斷的準(zhǔn)確率。本文前期工作[13]中就運(yùn)行記錄集的大小及運(yùn)行記錄的長(zhǎng)度對(duì)診斷算法準(zhǔn)確率的影響問題作了較詳細(xì)的實(shí)驗(yàn)研究。
3 不完備概率離散事件系統(tǒng)錯(cuò)誤診斷
隨著計(jì)算機(jī)算力的提升及深度學(xué)習(xí)理論的提出,人工神經(jīng)網(wǎng)絡(luò)模型能夠很好地完成模型學(xué)習(xí)任務(wù),特別是卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)。許多研究者發(fā)現(xiàn)CNN非常適合從訓(xùn)練數(shù)據(jù)中提取模型特征。CNN廣泛應(yīng)用于計(jì)算機(jī)視覺、自然語言處理、 語音識(shí)別、文本序列分類等眾多問題[14]。
在不完備PDES系統(tǒng)中,如果能夠得到一個(gè)足夠大、充分長(zhǎng)且符合系統(tǒng)概率特征的運(yùn)行記錄集,則可很自然地將錯(cuò)誤診斷問題轉(zhuǎn)換為文本序列分類問題求解。信息記錄集[L]可看作帶分類標(biāo)簽的文本數(shù)據(jù)集,通過將[L]輸入到CNN進(jìn)行網(wǎng)絡(luò)參數(shù)訓(xùn)練和測(cè)試,從而得到一個(gè)滿意的網(wǎng)絡(luò)結(jié)構(gòu)診斷器。
3.1 仿真數(shù)據(jù)集生成及預(yù)處理
為驗(yàn)證該方法的有效性,需構(gòu)造出一個(gè)足夠大、充分長(zhǎng)且符合系統(tǒng)概率特征的運(yùn)行記錄集。因此,首先隨機(jī)構(gòu)造出若干個(gè)概率自動(dòng)機(jī),然后根據(jù)文獻(xiàn)[11]提出的驗(yàn)證算法對(duì)概率自動(dòng)機(jī)進(jìn)行A-可診斷性驗(yàn)證。僅保留滿足A-可診斷性的PDES模型,因?yàn)樵谝粋€(gè)不可診斷的系統(tǒng)中進(jìn)行錯(cuò)誤診斷是沒有意義的。
模擬運(yùn)行該可診斷的PDES模型,在運(yùn)行過程中僅記錄其可觀字符,并根據(jù)實(shí)際情況對(duì)運(yùn)行記錄打上標(biāo)簽,生成一個(gè)帶標(biāo)簽運(yùn)行記錄集。為生成錯(cuò)誤的運(yùn)行記錄集,在隨機(jī)構(gòu)造概率自動(dòng)機(jī)時(shí),首先生成[k]類錯(cuò)誤狀態(tài)子集和1個(gè)正常狀態(tài)子集,同時(shí)只生成從正常狀態(tài)到錯(cuò)誤狀態(tài)的跳轉(zhuǎn)(由相應(yīng)的類型錯(cuò)誤事件驅(qū)動(dòng)),以及同一類錯(cuò)誤狀態(tài)間的跳轉(zhuǎn)(僅有正確事件或相應(yīng)類型的錯(cuò)誤事件驅(qū)動(dòng))。
仿真數(shù)據(jù)集生成后需要對(duì)其進(jìn)行以下預(yù)處理:
(1) 刪除標(biāo)簽沖突記錄。
(2) 記錄字符編碼: 首先根據(jù)字符出現(xiàn)頻率從高到低對(duì)字符排序,然后按照排序結(jié)果依次將字符編碼為:11, 101,1001,10001,……。這種編碼方式的優(yōu)點(diǎn):①字符的編碼不互為前綴,可簡(jiǎn)化解碼、檢索等后續(xù)處理;②基于哈夫曼思想的編碼壓縮率高,可減少CNN訓(xùn)練的收斂時(shí)間[14]。
根據(jù)上述方法構(gòu)造如表1所示的若干個(gè)數(shù)據(jù)集。
3.2 卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)
本文采用的fdConv1d 模型是一個(gè)典型的卷積網(wǎng)絡(luò),具有3個(gè)卷積層,1個(gè)匯聚層,1個(gè)丟棄層,2個(gè)全連接層。由于本文研究的問題可以轉(zhuǎn)化為序列多標(biāo)簽分類問題,因此模型最后的全連接層使用 softmax 作為激活函數(shù)。結(jié)構(gòu)使用單個(gè)通道,模型的輸入是一個(gè)序列向量。卷積層中的filters和kernel size等參數(shù)的調(diào)優(yōu)從一組默認(rèn)值開始,每次固定其中一個(gè)參數(shù)取值,然后選擇另一個(gè)參數(shù)的一組取值進(jìn)行測(cè)試。對(duì)于一對(duì)參數(shù)組合進(jìn)行多次實(shí)驗(yàn),經(jīng)測(cè)試發(fā)現(xiàn),當(dāng)filters取值64,kernel_size取值29、33及37時(shí),卷積模型均能很好地?cái)M合數(shù)據(jù)。取值過大,卷積運(yùn)算需要更多的時(shí)間,模型隨參數(shù)增加變得更復(fù)雜。
本文編程軟件包含Java、Python 3.7及Tensorflow 2.0, 操作系統(tǒng)是 Ubuntu 18.04,主要硬件為:Intel i7 9700 CPU、 Nvidia GTX 960M 2G顯卡及16G內(nèi)存。隨機(jī)選取80%的樣本作為訓(xùn)練數(shù)據(jù),剩下20%樣本作為測(cè)試數(shù)據(jù)。模型在數(shù)據(jù)集上的訓(xùn)練時(shí)間以及測(cè)試精度如表2所示。
3.3 實(shí)驗(yàn)結(jié)果及分析
在數(shù)據(jù)集Data_20_4_30和Data_40_8_30上做CNN方法與 F-正確關(guān)鍵樹方法[9](以下簡(jiǎn)寫為 FCCtT)的診斷準(zhǔn)確率與運(yùn)行記錄集大小及運(yùn)行記錄的最小長(zhǎng)度之間關(guān)系實(shí)驗(yàn)(取平均準(zhǔn)確率)。在第一個(gè)實(shí)驗(yàn)中選取長(zhǎng)度在30~200之間的運(yùn)行記錄,實(shí)驗(yàn)結(jié)果如圖1(a)所示;在第二個(gè)實(shí)驗(yàn)中,選取滿足條件的大小為50 000的運(yùn)行記錄子集,實(shí)驗(yàn)結(jié)果如圖1(b)所示。
從圖1可以看出,總體運(yùn)行記錄集越大,記錄長(zhǎng)度越長(zhǎng),基于CNN和關(guān)鍵樹的算法診斷準(zhǔn)確率越高。但是當(dāng)集合大小和記錄長(zhǎng)度達(dá)到一定程度后,準(zhǔn)確率改善不再明顯。另外,基于CNN的診斷方法總體上好于基于關(guān)鍵樹的診斷方法。同時(shí),隨著運(yùn)行記錄集合及最大記錄長(zhǎng)度的提升,CNN算法相對(duì)于關(guān)鍵樹算法優(yōu)勢(shì)逐漸減弱,這與預(yù)估匹配。因?yàn)殛P(guān)鍵樹算法優(yōu)勢(shì)在于可以完全擬合所有給定的運(yùn)行記錄集,運(yùn)行記錄集增大意味著測(cè)試案例來自于學(xué)習(xí)案例的可能性越大,準(zhǔn)確率就越高。關(guān)鍵樹算法在一定程度上展現(xiàn)的是“存儲(chǔ)器”功能,但實(shí)際上始終無法創(chuàng)建一個(gè)無限大的“存儲(chǔ)器”。因此,處理一個(gè)大規(guī)模不完備模型的錯(cuò)誤診斷,機(jī)器學(xué)習(xí)方法也許能提供一個(gè)更加有效的解決方案。
4 結(jié)語
本文將不完備PDES模型的錯(cuò)誤診斷問題轉(zhuǎn)化為文本標(biāo)簽分類問題,并采用CNN求解該問題。CNN網(wǎng)絡(luò)在PDES模型的運(yùn)行記錄集上具備良好的學(xué)習(xí)和泛化能力,通過較短的時(shí)間學(xué)習(xí)就可得到一個(gè)準(zhǔn)確率較高的診斷器。仿真實(shí)驗(yàn)結(jié)果表明,該方法的診斷準(zhǔn)確率優(yōu)于關(guān)鍵樹診斷方法。未來工作是對(duì)CNN網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)一步優(yōu)化和改進(jìn),使其能有效求解規(guī)模更大、錯(cuò)誤類型更多的不完備PDES模型錯(cuò)誤診斷問題。
參考文獻(xiàn):
[1] CASSANDRAS CG, LAFORTUNE S. Introduction to discrete event systems[M]. ?New York, NY, USA: Springer, 2008.
[2] 鄭大鐘,趙千川. 離散事件動(dòng)態(tài)系統(tǒng)[M]. 北京:清華大學(xué)出版社, 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.
(責(zé)任編輯:杜能鋼)