龍艦涵
(瀘州職業(yè)技術(shù)學(xué)院電子工程學(xué)院,四川 瀘州646000)
旋轉(zhuǎn)機(jī)械目前被廣泛用于包括石油、能源和化學(xué)工業(yè)在內(nèi)的各種工業(yè)應(yīng)用領(lǐng)域,機(jī)械故障可能會(huì)造成巨大經(jīng)濟(jì)損失甚至災(zāi)難性事故[1]。隨著可靠性相關(guān)理論的發(fā)展,旨在監(jiān)測(cè)、評(píng)估、診斷和預(yù)測(cè)機(jī)械健康狀態(tài)的研究引起了學(xué)者們的廣泛關(guān)注[2,3]。
深度學(xué)習(xí)作為一種機(jī)器學(xué)習(xí)算法,可以通過(guò)多個(gè)非線性變換和近似復(fù)非線性函數(shù),從原始數(shù)據(jù)中自適應(yīng)地學(xué)習(xí)層次表示,實(shí)現(xiàn)故障診斷[4]。文獻(xiàn)[5]提出了一種智能診斷方法,它可以自動(dòng)地從旋轉(zhuǎn)機(jī)械的頻譜中挖掘出故障特征,并對(duì)其健康狀況進(jìn)行分類。文獻(xiàn)[6]使用了卷積神經(jīng)網(wǎng)絡(luò),可以用于診斷滾動(dòng)軸承的故障,學(xué)習(xí)滾動(dòng)軸承的層次特征表示。文獻(xiàn)[7]利用基于遞歸神經(jīng)網(wǎng)絡(luò)的自動(dòng)編碼器來(lái)處理從旋轉(zhuǎn)機(jī)器收集的多個(gè)時(shí)間序列數(shù)據(jù)。但是,上述方法仍然存在兩個(gè)主要缺陷:(1)無(wú)法在原始數(shù)據(jù)和相應(yīng)的故障模式之間建立直接的線性或非線性映射,且這些故障診斷方法的性能取決于構(gòu)建和訓(xùn)練深度模型的質(zhì)量[8]。(2)這種方法的訓(xùn)練機(jī)制主要基于監(jiān)督學(xué)習(xí)或半監(jiān)督學(xué)習(xí),這意味著診斷算法需要專家系統(tǒng)以便專門學(xué)習(xí)不同的故障模式[9]。
深度強(qiáng)化學(xué)習(xí)(deep reinforcement,learning,DRL)涉及強(qiáng)化學(xué)習(xí)和深度學(xué)習(xí)的結(jié)合,這種結(jié)合使人工代理可以直接從原始數(shù)據(jù)中學(xué)習(xí)其知識(shí)和經(jīng)驗(yàn)。深度學(xué)習(xí)能使代理感知環(huán)境,而強(qiáng)化學(xué)習(xí)能使代理學(xué)習(xí)應(yīng)對(duì)現(xiàn)實(shí)問(wèn)題的最佳策略[10]??紤]到上述問(wèn)題,提出了一種基于堆疊式自動(dòng)編碼器(stackable automatic encoder,SAE)與深度Q網(wǎng)絡(luò)(deep Q network,DQN)的深度強(qiáng)化學(xué)習(xí)機(jī)械故障診斷方法。
作為一種無(wú)模型的強(qiáng)化學(xué)習(xí)算法,Q學(xué)習(xí)也可以被視為一種異步動(dòng)態(tài)編程方法[11]。Q學(xué)習(xí)算法創(chuàng)建一個(gè)表,它可以計(jì)算每種狀態(tài)和動(dòng)作的最大預(yù)期未來(lái)獎(jiǎng)勵(lì)。具體來(lái)說(shuō),列是動(dòng)作,行是狀態(tài)。每個(gè)單元格的值是給定狀態(tài)和動(dòng)作的最大預(yù)期未來(lái)回報(bào)。該表稱為Q表,其中“Q”代表操作質(zhì)量。每個(gè)Q表得分是只要代理在相應(yīng)狀態(tài)下采取行動(dòng),代理就會(huì)獲得的最大預(yù)期未來(lái)回報(bào)。換句話說(shuō),通過(guò)搜索與狀態(tài)相對(duì)應(yīng)的行中的最高Q值,代理始終知道針對(duì)每個(gè)狀態(tài)采取的最佳行動(dòng)。Q學(xué)習(xí)代理的學(xué)習(xí)過(guò)程可以概括為三個(gè)步驟:(1)代理基于對(duì)當(dāng)前狀態(tài)的觀察嘗試行動(dòng);(2)環(huán)境會(huì)立即回饋有關(guān)行動(dòng)的反饋,包括獎(jiǎng)勵(lì)或罰金;(3)算法使用Bellman方程基于獎(jiǎng)勵(lì)、行動(dòng)和狀態(tài)來(lái)更新Q表。
Q學(xué)習(xí)算法可用于通過(guò)Q函數(shù)學(xué)習(xí)Q表的每個(gè)值。Q函數(shù)定義為:
Q學(xué)習(xí)算法的核心訓(xùn)練過(guò)程可以總結(jié)如下。
第一步:初始化Q表。
第二步:基于Q表在當(dāng)前狀態(tài)st中,選擇一個(gè)動(dòng)作來(lái)開始學(xué)習(xí)過(guò)程。
第三步:執(zhí)行動(dòng)作at,并且觀察下一狀態(tài)st+1和獎(jiǎng)勵(lì)Rt+1。
第四步:通過(guò)上面介紹的Bellman方程更新Q表。重復(fù)上述步驟,直到訓(xùn)練過(guò)程達(dá)到預(yù)定義的終端條件。
DQN可以是新開發(fā)的端到端的強(qiáng)化學(xué)習(xí)代理,它利用DNN來(lái)映射動(dòng)作和狀態(tài)之間的關(guān)系,類似于Q學(xué)習(xí)中的Q表,諸如CNN、堆疊式稀疏自動(dòng)編碼器和RNN之類的DNN能夠直接從原始數(shù)據(jù)中學(xué)習(xí)抽象表達(dá)[13]。DQN代理必須通過(guò)一系列觀察、動(dòng)作、獎(jiǎng)勵(lì)與環(huán)境進(jìn)行交互,這類似于Q學(xué)習(xí)代理所面臨的任務(wù)。與DQN代理相比,傳統(tǒng)Q學(xué)習(xí)代理的最嚴(yán)重缺陷在于處理包含大量狀態(tài)與動(dòng)作的問(wèn)題時(shí),使用Q表來(lái)映射動(dòng)作和狀態(tài)之間的關(guān)系可能會(huì)導(dǎo)致維數(shù)災(zāi)。因此,這里使用一個(gè)深層的CNN來(lái)逼近最佳Q函數(shù),而不是使用Q表。
另外,當(dāng)Q函數(shù)通過(guò)非線性函數(shù)逼近器表示時(shí),增強(qiáng)學(xué)習(xí)會(huì)變得不穩(wěn)定或發(fā)散。不穩(wěn)定的原因有兩點(diǎn),一是觀察序列中存在的相關(guān)性,二是對(duì)Q值的小幅度更新可能會(huì)導(dǎo)致代理策略以及Q值與目標(biāo)值之間的相關(guān)性發(fā)生重大變化。因此,引入了兩種稱為記憶重放和迭代更新的策略來(lái)克服此類缺陷。
記憶重放通過(guò)消除觀察序列中的相關(guān)性,并通過(guò)隨機(jī)化數(shù)據(jù)來(lái)平滑數(shù)據(jù)分布的變化來(lái)解決該問(wèn)題。迭代更新通過(guò)定步長(zhǎng)逼近目標(biāo)值更新Q值從而減少Q(mào)值和目標(biāo)值之間的相關(guān)性。首先,記憶重放在每個(gè)時(shí)間步驟存儲(chǔ)代理的經(jīng)驗(yàn),以便形成一個(gè)包含一定數(shù)量經(jīng)驗(yàn)的名為記憶的集合。在時(shí)間步驟t的單次經(jīng)驗(yàn)et定義為et=(st,at,rt,st+1)在時(shí)間步驟t處的記憶定義為Dt,其中然后,在更新DQN代理時(shí),經(jīng)驗(yàn)重放會(huì)從記憶中隨機(jī)抽取經(jīng)驗(yàn),從而達(dá)到平滑數(shù)據(jù)分布的目的。
通常,強(qiáng)化學(xué)習(xí)算法使用Bellman方程作為迭代更新來(lái)估計(jì)動(dòng)作-值函數(shù)。但是此方法在實(shí)踐中不切實(shí)際,因此,人們通常使用函數(shù)逼近器估算動(dòng)作-值函數(shù)。DQN使用CNN作為函數(shù)逼近器,權(quán)重作為Q網(wǎng)絡(luò)。因此,可以通過(guò)減少Bellman方程中的均方誤差,然后再通過(guò)在迭代處更新參數(shù)來(lái)訓(xùn)練Q網(wǎng)絡(luò)。因此,在每次迭代改變的損失函數(shù)定義為:
區(qū)分與權(quán)重有關(guān)的損失函數(shù)的結(jié)果為以下形式:
通過(guò)Q函數(shù)的定義和微分形式,可以進(jìn)行目標(biāo)優(yōu)化。此外,通過(guò)在每個(gè)時(shí)間步驟后更新權(quán)重,使用單個(gè)樣本替換期望值并設(shè)置θi-=θi-1,可以在上述框架中恢復(fù)Q學(xué)習(xí)算法。
在DQN的訓(xùn)練過(guò)程中,對(duì)Q學(xué)習(xí)進(jìn)行了兩次修改,以確保DNN的訓(xùn)練過(guò)程不會(huì)發(fā)散。第一次是經(jīng)驗(yàn)重放,其中,通過(guò)將當(dāng)前時(shí)間步驟的狀態(tài)、動(dòng)作和獎(jiǎng)勵(lì)以及后續(xù)時(shí)間步驟的狀態(tài)進(jìn)行堆疊,將代理的體驗(yàn)存儲(chǔ)到重放內(nèi)存中。經(jīng)驗(yàn)重放是一種有效的技術(shù),它可以避免參數(shù)的波動(dòng)或分散,通過(guò)使代理能夠考慮其在學(xué)習(xí)過(guò)程中的經(jīng)驗(yàn)來(lái)平滑學(xué)習(xí)。Q學(xué)習(xí)的第二次修改是使用單獨(dú)的網(wǎng)絡(luò)在Q學(xué)習(xí)更新過(guò)程中生成目標(biāo),并且這種修改可以顯著提高DQN的穩(wěn)定性。此類的方法可以在更新Q值的時(shí)刻與更新可能引起的相應(yīng)影響之間增加延遲,從而減少DNN參數(shù)中存在的發(fā)散或振蕩的可能性。
通常在諸如博弈論、控制論、運(yùn)籌學(xué)和多智能體系統(tǒng)等領(lǐng)域研究強(qiáng)化學(xué)習(xí)。故障診斷通常被認(rèn)為是通過(guò)監(jiān)督學(xué)習(xí)解決的分類問(wèn)題[14]?;诒O(jiān)督學(xué)習(xí)的故障診斷方法需要同時(shí)獲取故障數(shù)據(jù)和相應(yīng)的標(biāo)簽作為區(qū)分故障模式的輸入。對(duì)于基于強(qiáng)化學(xué)習(xí)的方法,故障診斷代理的學(xué)習(xí)性能是通過(guò)整體獎(jiǎng)勵(lì)來(lái)評(píng)估的,這與代理在監(jiān)督學(xué)習(xí)方法中使用的反饋相比,對(duì)于代理調(diào)整其性能的反饋要弱得多。換句話說(shuō),在學(xué)習(xí)過(guò)程中,代理無(wú)法從輸入信號(hào)中分辨出哪些樣本沒(méi)有被很好地學(xué)習(xí)。這種機(jī)制迫使代理發(fā)現(xiàn)故障模式之間的內(nèi)在差異,從而使代理更加有力。
為了實(shí)現(xiàn)基于DRL的故障診斷方法,設(shè)計(jì)了一個(gè)故障診斷仿真模型,通過(guò)該模型可以將監(jiān)督學(xué)習(xí)問(wèn)題轉(zhuǎn)換為強(qiáng)化學(xué)習(xí)問(wèn)題。這種環(huán)境可被視為“故障診斷博弈”模型。每個(gè)博弈模型都包含一定數(shù)量的故障診斷問(wèn)題,并且每個(gè)問(wèn)題都包含故障樣本和相應(yīng)的故障標(biāo)簽。當(dāng)代理正在進(jìn)行博弈時(shí),博弈將有一個(gè)問(wèn)題供代理診斷。然后,博弈將檢查代理的答案是否正確。博弈的獎(jiǎng)勵(lì)機(jī)制是答對(duì)得一分,答錯(cuò)減一分。博弈結(jié)束后,代理將獲得總的博弈得分。故障診斷博弈的流程如圖1所示。
圖1 故障診斷博弈模型流程Fig.1 Fault Diagnosis Game Model Flow
旋轉(zhuǎn)機(jī)械的振動(dòng)信號(hào)包含足夠的故障信息。作為強(qiáng)化學(xué)習(xí)中的關(guān)鍵要素,代理對(duì)環(huán)境和狀態(tài)的有效感知至關(guān)重要。對(duì)于諸如Q學(xué)習(xí)的原始強(qiáng)化學(xué)習(xí)方法,由于這些方法表示狀態(tài)的能力有限,所以僅基于振動(dòng)信號(hào)很難區(qū)分和識(shí)別旋轉(zhuǎn)機(jī)械的狀態(tài)??紤]SAE提取滾動(dòng)軸承的故障特征中的廣泛應(yīng)用,因此在這里中使用了堆疊自動(dòng)編碼器DNN來(lái)感知振動(dòng)信號(hào)中存在的故障信息。在提出的方法中,DQN代理的構(gòu)建是通過(guò)順序堆疊獲得的編碼器,再使用存儲(chǔ)在SAE的預(yù)訓(xùn)練中的權(quán)重初始化參數(shù),并添加線性層以將SAE的輸出映射到Q值。與基于CNN的特征提取方法不同,SAE采用完全連接的模型進(jìn)行逐級(jí)內(nèi)在特征學(xué)習(xí)。
SAE可以有效提取故障特征有兩個(gè)重要原因。首先是SAE可以通過(guò)逐層自學(xué)學(xué)習(xí)原始信號(hào)的表示。第二個(gè)原因是稀疏約束可以通過(guò)限制每個(gè)自動(dòng)編碼器的參數(shù)空間來(lái)防止過(guò)度擬合。這里中使用的SAE在輸入層和輸出Q值層之間有兩個(gè)隱藏層。且使用的SAE體系結(jié)構(gòu)保持不變。每個(gè)編碼器的激活函數(shù)是一個(gè)整流線性單位(ReLU),并且應(yīng)用于編碼器的正則化方法是L1正則化方法,這意味著如果神經(jīng)網(wǎng)絡(luò)中的參數(shù)的絕對(duì)值過(guò)大也會(huì)受到懲罰[15]。在訓(xùn)練DRL方法之前,將預(yù)訓(xùn)練方法應(yīng)用于所有訓(xùn)練數(shù)據(jù)樣本上的自動(dòng)編碼器。然后,提取自動(dòng)編碼器,并通過(guò)堆疊輸入層、所有訓(xùn)練有素的編碼器以及用于輸出Q值的完全連接層來(lái)構(gòu)建代理的感知部分。
對(duì)于掌握博弈的代理,單個(gè)觀察狀態(tài)包含多個(gè)博弈模型。因此,從博弈中觀察到的狀態(tài)不是獨(dú)立的,而是分布均勻的。對(duì)于旋轉(zhuǎn)機(jī)械的故障診斷,由于振動(dòng)信號(hào)的周期性,樣本可被視為獨(dú)立且分布均勻的樣本??紤]到上述差異,本研究中對(duì)代理的觀察由單個(gè)故障樣本組成。此外,Bellman方程中的衰減因子等于零,這意味著不考慮當(dāng)前狀態(tài)下的歷史經(jīng)驗(yàn)。
算法1中說(shuō)明了用于訓(xùn)練基于SAE的DQN的算法。訓(xùn)練過(guò)程包括兩個(gè)單獨(dú)的部分。第一個(gè)是SAE的預(yù)培訓(xùn),第二個(gè)是DQN代理的培訓(xùn)。代理根據(jù)ε-貪婪策略選擇并執(zhí)行動(dòng)作,這意味著該動(dòng)作是基于概率ε隨機(jī)選擇的,并且對(duì)應(yīng)于最大q值的動(dòng)作是由概率1-ε選擇的。本研究中使用的優(yōu)化算法是適應(yīng)矩優(yōu)化。
雖然已經(jīng)完成了代理的訓(xùn)煉過(guò)程,但是代理只能輸出動(dòng)作的Q值,而不能給出診斷結(jié)果,所以代理仍不能用于診斷滾動(dòng)軸承故障。因此,代理的輸出層需要確定Q值的最大值,然后輸出相應(yīng)的操作,才能夠獲得診斷旋轉(zhuǎn)機(jī)械故障的代理。此時(shí),在訓(xùn)練和測(cè)試過(guò)程中,輸入數(shù)據(jù)均為原始振動(dòng)信號(hào)。即這里使用的方法實(shí)現(xiàn)了端到端故障診斷。完整方法的流程圖,如圖2所示。
圖2 所提出方法的流程圖Fig.2 Flow Chart of the Proposed Method
這里中使用的滾動(dòng)軸承的故障數(shù)據(jù)是來(lái)源于凱斯西儲(chǔ)大學(xué)軸承失效實(shí)驗(yàn)[16]。該數(shù)據(jù)集包括正常軸承和故障軸承的滾動(dòng)軸承測(cè)試數(shù)據(jù)。實(shí)驗(yàn)的動(dòng)力產(chǎn)生器是兩馬力的電動(dòng)機(jī),振動(dòng)數(shù)據(jù)是從驅(qū)動(dòng)端收集的加速度數(shù)據(jù),在電動(dòng)機(jī)軸承的近端測(cè)量的采樣頻率為48 kHz。滾動(dòng)軸承故障注入的實(shí)驗(yàn)設(shè)備,如圖3所示。按軸承振動(dòng)信號(hào)特點(diǎn)分故障形式一般可以分為表面損傷和磨損類損傷。軸承在使用過(guò)程中,通常會(huì)產(chǎn)生低頻和高頻段的振動(dòng)信號(hào)。低頻信號(hào)是由于軸承元件的工作表面損傷點(diǎn)在運(yùn)行中反復(fù)撞擊與之相接觸的其它元件表面而產(chǎn)生的,也稱“通過(guò)振動(dòng)”。損傷發(fā)生在內(nèi)、外圈或滾動(dòng)體上時(shí),這個(gè)振動(dòng)發(fā)生的頻率是不同的,稱其為故障特征頻率。帶缺陷的滾動(dòng)軸承元件在運(yùn)行中的特征頻率一般出現(xiàn)在1kHz以下,是滾動(dòng)軸承故障的重要特征信息之一。收集了四個(gè)條件下的數(shù)據(jù),包括一個(gè)正常條件(N)和三個(gè)故障條件(F)。故障條件是外圈故障(OF)、內(nèi)圈故障(IF)和滾軸故障(RF)。另外,引入滾動(dòng)軸承的故障都是單點(diǎn)故障。此外,故障直徑的受損程度不同,包括0.007英寸、0.014英寸、0.021英寸和0.028英寸。
為了驗(yàn)證該方法的有效性,根據(jù)載荷將振動(dòng)數(shù)據(jù)分為四組(S1、S2、S3和S4)。每組包含十種故障模式,根據(jù)故障直徑和故障位置劃分。S1、S2和S3分別包含一個(gè)馬力、兩個(gè)馬力和三個(gè)馬力負(fù)載下的所有故障模式。每個(gè)故障集有12,000個(gè)樣本,每個(gè)樣本包含400個(gè)數(shù)據(jù)點(diǎn)。數(shù)據(jù)集都是未經(jīng)預(yù)處理的原始振動(dòng)信號(hào)。S4是S1、S2和S3的并集,它在所有負(fù)載下都有36,000個(gè)樣本。
在訓(xùn)練過(guò)程中,SAE網(wǎng)絡(luò)具有四層,包括一個(gè)輸入層,兩個(gè)訓(xùn)練過(guò)的編碼器和一個(gè)輸出層。輸入樣本的維數(shù)決定輸入層的單位數(shù),第一個(gè)編碼器和第個(gè)二編碼器的單位數(shù)分別為128和32,Q值的維數(shù)決定輸出層的單位數(shù)。編碼器中使用的激活函數(shù)是ReLU,反向傳播函數(shù)使用的是Adam。此外,還利用防止過(guò)度擬合并提高訓(xùn)練效率的L1正則化來(lái)約束、限制神經(jīng)單位權(quán)重的參數(shù)空間。每個(gè)自動(dòng)編碼器的最大訓(xùn)練時(shí)期為200,DQN代理的訓(xùn)練時(shí)期為2000,每個(gè)時(shí)期包含512輪診斷博弈。DQN代理的重放記憶大小為64。重放記憶是從記憶中隨機(jī)選擇的樣本,用于將DQN代理訓(xùn)練為小批量。因此,本次研究的最小批量大小為64。為了測(cè)試和驗(yàn)證所提出方法的性能,將十倍交叉驗(yàn)證應(yīng)用于四個(gè)數(shù)據(jù)集,每十輪計(jì)算獎(jiǎng)勵(lì)的平均值。如圖3所示DQN代理在訓(xùn)練過(guò)程中的進(jìn)度曲線。此外,診斷后的結(jié)果總結(jié)在圖4中。
圖3 代理在滾動(dòng)軸承數(shù)據(jù)集故障診斷訓(xùn)練過(guò)程中的分?jǐn)?shù)Fig.3 Score of Agent in Rolling Bearing Data Set Fault Diagnosis Training
故障診斷代理為正確答案時(shí)得一分,為錯(cuò)誤答案時(shí)減一分,這意味著在512輪博弈中,總得分在(-512)到512點(diǎn)之間。在博弈開始時(shí),由于缺乏任何先驗(yàn)知識(shí)和經(jīng)驗(yàn)作為參考,DQN代理處于隨機(jī)猜測(cè)階段。由于故障診斷結(jié)果具有十個(gè)類別,所以代理獲得正確答案的概率只有0.1。因此,在開始時(shí),得分約為(-460)分。隨著培訓(xùn)過(guò)程的進(jìn)行,代理將從自己的歷史經(jīng)驗(yàn)和分?jǐn)?shù)變化中學(xué)習(xí)。如圖4所示,分?jǐn)?shù)隨著訓(xùn)練而增加,并且在接近最后時(shí)期時(shí)達(dá)到近512分。上述提到的分?jǐn)?shù)與獎(jiǎng)勵(lì)相同,它們被用作評(píng)估代理性能的反饋。通過(guò)每個(gè)時(shí)期的總獎(jiǎng)勵(lì)可以來(lái)觀察DQN代理向全局極值的收斂,因?yàn)樵\斷的準(zhǔn)確性直接反映在總獎(jiǎng)勵(lì)上。當(dāng)總獎(jiǎng)勵(lì)足夠高并開始振蕩時(shí),可以認(rèn)為DQN代理的訓(xùn)練過(guò)程已完成。
圖4 滾動(dòng)軸承數(shù)據(jù)集的十倍交叉驗(yàn)證的診斷結(jié)果Fig.4 Diagnosis Results of Ten Fold Cross Validation of Rolling Bearing Data Set
圖5 說(shuō)明受過(guò)訓(xùn)練的代理可以在多種情況下有效地診斷故障。十倍交叉驗(yàn)證的定量結(jié)果顯示在表1中。為了說(shuō)明所提出方法的性能和有效性,還使用基于監(jiān)督學(xué)習(xí)訓(xùn)練的SAE模型,通過(guò)十倍交叉驗(yàn)證來(lái)處理相同的數(shù)據(jù)集。輸入層和兩個(gè)自動(dòng)編碼器與DQN代理的相應(yīng)層相同。輸出層有十個(gè)節(jié)點(diǎn),并使用softmax函數(shù)輸出分類結(jié)果。該模型的訓(xùn)練過(guò)程包括自動(dòng)編碼器的逐層預(yù)訓(xùn)練和整個(gè)SAE模型的微調(diào)。總體而言,兩種方法均達(dá)到了很好的診斷準(zhǔn)確性和穩(wěn)定性。在訓(xùn)練集上,所提出的方法能夠以接近100%的準(zhǔn)確度正確區(qū)分樣本,而SAE-Softmax方法可以正確區(qū)分所有樣本。在測(cè)試集上,這兩種方法的準(zhǔn)確性和相應(yīng)的標(biāo)準(zhǔn)偏差非常接近。計(jì)算數(shù)據(jù)集S1、S2、S3和S4的兩種方法之間差異的絕對(duì)值分別為0.0069、0.012、0.0126和0.0075??紤]到基于監(jiān)督學(xué)習(xí)的方法在確認(rèn)樣本及其對(duì)應(yīng)標(biāo)簽之間的關(guān)系方面具有優(yōu)勢(shì),因此該結(jié)果說(shuō)明了所提出方法的有效性。另外,測(cè)試精度的最大標(biāo)準(zhǔn)偏差為0.0144,這表明該方法可以對(duì)故障樣本進(jìn)行穩(wěn)定的分類。
表1 滾動(dòng)軸承數(shù)據(jù)集的診斷結(jié)果(平均準(zhǔn)確度±標(biāo)準(zhǔn)偏差)Tab.1 Diagnosis Results of Rolling Bearing Data Set(Average Accuracy±Standard Deviation)
具體來(lái)說(shuō),數(shù)據(jù)集S4的情況是四個(gè)數(shù)據(jù)集中最復(fù)雜的,它包含三個(gè)不同負(fù)載下十種健康狀況的原始振動(dòng)信號(hào)。所提出的方法能夠在工作條件下區(qū)分故障模式。而除了在數(shù)據(jù)集S4上進(jìn)行測(cè)試的平均準(zhǔn)確度之外,SAE-Softmax方法在所有實(shí)驗(yàn)中的性能均優(yōu)于所提出的方法。總之,結(jié)果表明,所提出的方法可以訓(xùn)練基于DNN的代理學(xué)習(xí)如何僅使用原始振動(dòng)信號(hào)來(lái)診斷滾動(dòng)軸承的故障,而與故障類別、嚴(yán)重性和工作條件無(wú)關(guān)。這里使用的SAE模型可以感知原始振動(dòng)信號(hào),并且是端到端故障診斷方法的前端。為了進(jìn)一步了解代理如何學(xué)習(xí)診斷故障并驗(yàn)證代理挖掘故障特征的能力,利用t分布隨機(jī)鄰域嵌入(t-distributed stochastic neighbor embedding,t-DSNE)來(lái)對(duì)DQN代理內(nèi)部的SAE模型的輸出進(jìn)行可視化[17]。第二個(gè)編碼器的輸出被視為代理學(xué)習(xí)到的特征,因?yàn)镈QN代理的輸出層是一個(gè)輸出Q值的線性層。因此,在案例1中,從單個(gè)樣本中提取的特征向量的維數(shù)為32。t-DSNE算法應(yīng)用于高維特征,數(shù)據(jù)集S1-S4的可視化結(jié)果如圖5所示。具有相同健康狀況的樣本以曲線或圓形區(qū)域的形狀聚集在一起,并且具有不同健康狀況的樣本之間存在明顯的邊界。通過(guò)可視化DQN代理的感知部分獲得的原始振動(dòng)信號(hào)的表示,所提出的基于DRL的故障診斷方法可以提取故障特征并相應(yīng)地識(shí)別故障。
圖5 滾動(dòng)軸承數(shù)據(jù)集最后一個(gè)隱藏層中的t-SNEFig.5 T-SNE In the Last Hidden Layer of Rolling Bearing Dataset
案例2中使用的液壓泵數(shù)據(jù)是從7個(gè)燃油輸送泵中收集的。包含兩個(gè)常見(jiàn)的故障,即滑動(dòng)件松動(dòng)和閥板磨損,已被物理式地注入泵中。液壓泵的振動(dòng)信號(hào)由加速度傳感器從泵的端面獲取,并具有528 rpm的穩(wěn)定電機(jī)速度和1024 Hz的采樣率。每個(gè)泵收集了兩個(gè)樣本,每個(gè)樣本包含1024個(gè)點(diǎn),總共收集了14個(gè)樣本。由于對(duì)數(shù)據(jù)集使用了十倍交叉驗(yàn)證進(jìn)行驗(yàn)證,因此進(jìn)行了十次試驗(yàn),其中隨機(jī)選擇了10%的樣本進(jìn)行測(cè)試,選擇了90%的樣本進(jìn)行了訓(xùn)練。針對(duì)案例2,提出的方法性能通過(guò)十倍交叉驗(yàn)證的相應(yīng)偏差的平均精度來(lái)進(jìn)行評(píng)估。
如圖6所示,代理程序每十次迭代的平均回報(bào)趨勢(shì)。由于案例2包含泵的三種健康狀態(tài),代理可以得出三分之一的正確答案。因此,即使分?jǐn)?shù)在開始時(shí)約為-314,但隨著訓(xùn)練過(guò)程的進(jìn)行,分?jǐn)?shù)增加到512分。表2顯示了十次交叉驗(yàn)證的平均準(zhǔn)確度和相應(yīng)的標(biāo)準(zhǔn)差。訓(xùn)練和測(cè)試的平均準(zhǔn)確度均為100%,這意味著所提出的方法可以正確分類每種故障模式的樣本。與案例1相似,使用SAE-Softmax模型來(lái)診斷故障,其診斷結(jié)果比所提出的方法稍差。考慮到將嚴(yán)重故障注入液壓泵核心部件的安全隱患,故障模式和嚴(yán)重性的變化并不像案例1那樣復(fù)雜。但是,信號(hào)是從7個(gè)不同的泵中收集的,并且傳感器的采樣率遠(yuǎn)低于案例1。因此,案例2從三個(gè)角度說(shuō)明了所提出方法在多個(gè)設(shè)備、樣本相對(duì)較少的條件下能夠?qū)崿F(xiàn)對(duì)旋轉(zhuǎn)機(jī)械故障進(jìn)行有效診斷。結(jié)果表明,所提出的方法和基于SAE-Softmax的方法都可以利用有限振動(dòng)信號(hào)的持續(xù)而有效地對(duì)不同液壓泵的狀態(tài)進(jìn)行分類。這說(shuō)明所提出的方法具有從原始傳感信號(hào)中挖掘與故障模式相關(guān)的特征的能力。
表2 泵數(shù)據(jù)集的診斷結(jié)果Tab.2 Diagnosis Results of Pump Data Set
圖6 液壓泵數(shù)據(jù)集的代理分?jǐn)?shù)Fig.6 Proxy Score of Hydraulic Pump Data Set
同樣,為了可視化該方法從原始數(shù)據(jù)中自主學(xué)習(xí)的功能,繼續(xù)使用t-DSNE呈現(xiàn)所學(xué)習(xí)的DQN代理的低維表示。如圖7所示,通過(guò)t-DSNE減小了DQN代理提取的特征的維數(shù),這樣便于可視化??梢钥吹剑煌】禒顩r的散布點(diǎn)彼此分開。但是,相同健康狀況的散布點(diǎn)被聚集成幾個(gè)小聚類,而不是被均勻地聚集成一個(gè)聚類。這是因?yàn)樵贒QN內(nèi)部的SAE中添加了稀疏限制后,具有相同健康狀況但有少許差異的樣本可能會(huì)導(dǎo)致不同位置的神經(jīng)元被激活。這會(huì)導(dǎo)致高維空間中的特征彼此相距較遠(yuǎn)。但是激活的神經(jīng)元都與相同的輸出相關(guān),即它們?nèi)匀豢梢员粴w為同一類別。綜合來(lái)看,基于SAE的原始信號(hào)感知和基于DQN的自學(xué)式體驗(yàn)學(xué)習(xí)的結(jié)合是所提出的方法能夠取得如此優(yōu)異效果的關(guān)鍵原因。
圖7 液壓泵數(shù)據(jù)最后一個(gè)隱藏層中的t-SNEFig.7 T-SNE In the last Hidden Layer of Hydraulic Pump Data
案例研究表明,提出的方法和基于SAE-Softmax的方法都可以對(duì)旋轉(zhuǎn)機(jī)械的健康狀態(tài)進(jìn)行分類。但是,考慮到訓(xùn)練過(guò)程中的時(shí)間消耗,這些方法是不同的。對(duì)于提出的方法,算法的運(yùn)行時(shí)間取決于代理的學(xué)習(xí)曲線時(shí)間。具體來(lái)說(shuō),對(duì)于案例1和案例2,代理都需要2000個(gè)時(shí)間點(diǎn)才能獲得近512分的高分。此外,無(wú)論訓(xùn)練集中的樣本數(shù)量如何,每個(gè)時(shí)期的時(shí)間都是相同的。對(duì)于基于監(jiān)督學(xué)習(xí)的SAE-Softmax方法,訓(xùn)練過(guò)程的運(yùn)行時(shí)間與訓(xùn)練集中的樣本數(shù)量成正相關(guān)。由于這里提出的方法用于故障診斷的學(xué)習(xí)方法是自我探索的,因此該方法的運(yùn)行時(shí)間比基于SAE-Softmax方法的運(yùn)行時(shí)間更長(zhǎng)。但是,考慮到監(jiān)督學(xué)習(xí)算法前期需要儲(chǔ)備的先驗(yàn)知識(shí),提出方法的效率超過(guò)基于監(jiān)督學(xué)習(xí)的深度學(xué)習(xí)方法。
這里提出了一種一種基于堆疊式自動(dòng)編碼器與深度Q網(wǎng)絡(luò)相結(jié)合的深度強(qiáng)化學(xué)習(xí)旋轉(zhuǎn)機(jī)械故障診斷方法,使用滾動(dòng)軸承和液壓泵數(shù)據(jù)集對(duì)該方法進(jìn)行實(shí)驗(yàn)驗(yàn)證,可得出如下結(jié)論:
(1)通過(guò)結(jié)合強(qiáng)化學(xué)習(xí)的自主學(xué)習(xí)能力和深度學(xué)習(xí)的感知能力,提出的基于深度強(qiáng)化學(xué)習(xí)的方法可以實(shí)現(xiàn)旋轉(zhuǎn)機(jī)械端到端故障診斷方法。在保證了診斷精度與可靠性的前提下,該方法大大減少了對(duì)故障診斷的先驗(yàn)知識(shí)和專家經(jīng)驗(yàn)的依賴。
(2)通過(guò)設(shè)計(jì)故障診斷博弈環(huán)境,該方法可以成功地使用DRL獲得智能故障診斷代理。能夠有效建立無(wú)監(jiān)督診斷模型,并且有較好的診斷效果。
(3)故障診斷代理受益于記憶回放和基于獎(jiǎng)勵(lì)的反饋機(jī)制,僅基于弱反饋就能夠了解不同故障模式與原始振動(dòng)信號(hào)之間的非線性映射關(guān)系,為旋轉(zhuǎn)機(jī)械的故障診斷問(wèn)題提供了一種更通用和智能的解決方案的方法和思想。