呂淵,張西良
(江蘇大學(xué) 機械工程學(xué)院,江蘇 鎮(zhèn)江 212013)
滾動軸承是工業(yè)生產(chǎn)中應(yīng)用廣泛且極其重要的部件,研究滾動軸承工作狀態(tài)及其故障診斷方法有利于提升設(shè)備的穩(wěn)定性,預(yù)防設(shè)備發(fā)生嚴重故障。滾動軸承在運行過程中出現(xiàn)磨損、腐蝕,甚至損壞等異常情況時,其振動信號幅值將逐漸升高。傳統(tǒng)的軸承故障診斷方法通過提取振動信號的時、頻域特征進行分析并判斷軸承性能是否衰退以及是否發(fā)生故障:文獻[1]提出基于自適應(yīng)自相關(guān)譜峭度圖的滾動軸承故障診斷方法,通過譜峭度對振動信號進行人工判別;文獻[2]提出基于改進變分模態(tài)分解的滾動軸承故障診斷方法,采用模態(tài)分解進行故障判別。以上基于人工判別的方法需要專業(yè)的專家知識,面對龐大數(shù)據(jù)時低效且無法滿足要求,人工智能算法的優(yōu)勢逐漸凸顯:文獻[3]提出基于變學(xué)習(xí)率多層感知機的軸承故障診斷方法,在不同學(xué)習(xí)率下觀測了多層感知機的診斷效果;文獻[4]采用深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)結(jié)合支持向量機進行故障診斷;文獻[5]提出基于BP神經(jīng)網(wǎng)絡(luò)的滾動軸承故障診斷。
然而,深度學(xué)習(xí)模型的泛化能力不強。強化學(xué)習(xí)具有自主學(xué)習(xí)以及強大的數(shù)據(jù)處理能力,能夠充分挖掘數(shù)據(jù)中的有效信息,從而準確診斷滾動軸承的故障類型,是目前主流的滾動軸承故障診斷方法[6]?;趦r值函數(shù)的強化學(xué)習(xí)方法中比較典型的為Q 學(xué)習(xí)、深度Q 學(xué)習(xí):文獻[7]提出基于深度Q 學(xué)習(xí)策略的旋轉(zhuǎn)機械故障診斷,利用深度學(xué)習(xí)提取信號特征,擬合當(dāng)前狀態(tài)對應(yīng)的Q 值,形成深度Q 學(xué)習(xí)模型完成對信號的診斷,識別準確率達到78%;文獻[8]將深度Q 學(xué)習(xí)和連續(xù)小波變換結(jié)合,通過卷積神經(jīng)網(wǎng)絡(luò)擬合Q 函數(shù),將環(huán)境返回的狀態(tài)輸入深度Q 網(wǎng)絡(luò)中學(xué)習(xí)故障數(shù)據(jù)具體的狀態(tài)特征表示,并據(jù)此表征學(xué)習(xí)策略,在樣本量有限的旋轉(zhuǎn)機械故障中診斷優(yōu)勢突出;另外,文獻[9]提出了基于多尺度注意力深度強化學(xué)習(xí)網(wǎng)絡(luò)的行星齒輪箱智能診斷方法,文獻[10]提出了多Agent 深度Q 學(xué)習(xí)和模糊積分的行星齒輪箱故障診斷方法,文獻[11]提出了基于SAE 與深度Q網(wǎng)絡(luò)的旋轉(zhuǎn)機械故障診斷方法,文獻[12]提出了基于改進DQN網(wǎng)絡(luò)的滾動軸承故障診斷方法。以上基于價值函數(shù)的方法能夠較好的實現(xiàn)滾動軸承故障診斷,但仍存在策略固定,無法應(yīng)對隨機策略、策略微弱變化導(dǎo)致的維度爆炸等問題,直接影響模型的穩(wěn)定性和泛化能力。
強化學(xué)習(xí)的本質(zhì)是學(xué)習(xí)策略,基于價值函數(shù)的方法通過學(xué)習(xí)價值函數(shù)或動作函數(shù)間接學(xué)習(xí)策略,導(dǎo)致其在連續(xù)空間和維度上存在很大缺點,同時動作的微弱變化直接影響策略函數(shù)是否選取動作,存在一定弊端;基于策略函數(shù)的方法直接建立策略函數(shù)模型,采用策略優(yōu)化方式進行學(xué)習(xí),文獻[13]提出了基于策略梯度的智能體,解決了因動作空間過大而無法收斂的問題,文獻[14]進一步解決了步長帶來的學(xué)習(xí)過程過緩問題,但仍存在難以選取懲罰系數(shù)的問題,文獻[15]提出的近端策略優(yōu)化(Proxi?mal Policy Optimization,PPO)方法則消除了步長帶來的影響并解決了系數(shù)選取問題。因此,本文基于多層感知機(Multi?Layer Perceptron,MLP)網(wǎng)絡(luò)構(gòu)建強化學(xué)習(xí)智能體以增強特征提取能力,基于近端策略優(yōu)化方法進行策略梯度優(yōu)化并對故障診斷目標進行函數(shù)擬合,從而實現(xiàn)滾動軸承故障診斷。
強化學(xué)習(xí)是智能體不斷與環(huán)境進行交互,通過反饋獎勵更新策略的馬爾可夫決策過程,主要由集合{S,A,P,R}組成,其原理為:智能體利用轉(zhuǎn)移概率矩陣P選擇動作集合A,動作A選擇與環(huán)境交互后改變狀態(tài)集合S,同時智能體獲取環(huán)境給出正負獎勵R并更新狀態(tài)轉(zhuǎn)移矩陣P[16],如圖1所示。
圖1 強化學(xué)習(xí)原理圖Fig.1 Schematic diagram of reinforcement learning
圖2 基于AC(Actor?Critic)框架的學(xué)習(xí)網(wǎng)絡(luò)Fig.2 Learning network based on AC(Actor?Critic)framework
策略梯度是一種基于策略函數(shù),函數(shù)π采用神經(jīng)網(wǎng)絡(luò)π(s|θ) =a將狀態(tài)s映射到動作a。π代表策略,a代表概率值,a值越大,代表對應(yīng)動作被選中的概率越高。在學(xué)習(xí)過程中,學(xué)習(xí)對象為一組動作序列τ =(s0,a0,s1,a1,…,sT,aT),其發(fā)生的概率為
對該完整序列,經(jīng)過環(huán)境與智能體交互獲得的獎勵總和記為R(τ)。對于給定參數(shù)θ的策略,其加權(quán)和的獎勵為
在環(huán)境與智能體交互中,每次獎勵的大小會通過權(quán)重參數(shù)η更新θ,即
由于θ同樣會影響?yīng)剟畹拇笮。枰蠼庾罴训牟呗詤?shù)θ以獲得最大獎勵。因此,以獎勵函數(shù)的期望公式作為目標函數(shù)對θ進行求導(dǎo),即
基于策略函數(shù)的優(yōu)勢在于:當(dāng)動作集合A越來越大時,能夠高效找出此刻對應(yīng)的動作, 進而與環(huán)境進行下一步參數(shù)更新,從而有效解決滾動軸承故障診斷數(shù)據(jù)量大,特征提取困難等問題。
近端策略優(yōu)化是一種策略梯度算法,對步長較敏感,因此選擇合適的步長是算法的關(guān)鍵。在訓(xùn)練過程中,新舊策略的差異過大或過小均不利于學(xué)習(xí)。近端策略優(yōu)化提出的新目標函數(shù)可以在多個訓(xùn)練步驟中實現(xiàn)小批量的更新,從而解決了策略梯度算法中步長難以確定的問題。與信任區(qū)域策略優(yōu)化(Trust Region Policy Optimization,TRPO)算法使用自然梯度下降計算參數(shù)不同,PPO?Clip 算法通過裁切動作似然比例實現(xiàn)KL 散度的約束,其目標函數(shù)可表示為
式中:ε為超參數(shù),通常設(shè)為0.1 或0.2;rt(θ)的加入是基于重要性采樣,保證數(shù)據(jù)的充分利用和學(xué)習(xí)效率的提升,用于生成策略的數(shù)據(jù)可以重復(fù)利用且同時保證數(shù)據(jù)的一致性,使策略參數(shù)由θ′向θ更新;A?t為優(yōu)勢函數(shù);V?(st)為st時刻的期價值;γ為折扣系數(shù)。
近端策略優(yōu)化方法在實際訓(xùn)練過程中基于AC(Actor?Critic)框架,需要引入一個價值網(wǎng)絡(luò),單獨于環(huán)境進行互動,策略網(wǎng)絡(luò)利用價值網(wǎng)絡(luò)生成的參數(shù)進行訓(xùn)練,從而達到數(shù)據(jù)的重復(fù)利用并提高訓(xùn)練效率,進而快速準確地找到最佳策略。
設(shè)訓(xùn)練數(shù)據(jù)集為T={(x1,y1),(x2,y2),…,(xn,yn)},xn為第n個訓(xùn)練樣本,yn為第n個樣本的真實標簽,采用AC 框架并基于多層感知機網(wǎng)絡(luò)構(gòu)建強化學(xué)習(xí)智能體,將滾動軸承故障診斷看作智能體的識別過程,即由集合{S,A,P,R}組成一個序列決策任務(wù)[17?19],采用近端策略優(yōu)化方法進行真實標簽擬合。
近端策略優(yōu)化算法基于AC 框架,即智能體由策略網(wǎng)絡(luò)(Actor?network)和價值網(wǎng)絡(luò)(Critic?network)組成[20],策略網(wǎng)絡(luò)負責(zé)與環(huán)境互動收集樣本,包含2 個多層感知機網(wǎng)絡(luò),一個與環(huán)境進行交互,另一個進行參數(shù)更新;價值網(wǎng)絡(luò)負責(zé)評判動作好壞,包含1 個多層感知機網(wǎng)絡(luò),輸入為環(huán)境的狀態(tài),輸出為該狀態(tài)的價值。
由(7)式可知,價值網(wǎng)絡(luò)對當(dāng)前序列進行評估并給出當(dāng)前評估的價值結(jié)果V?(st),策略網(wǎng)絡(luò)則獲取當(dāng)前序列的平均。為提高訓(xùn)練的準確性,將二者的結(jié)果進行結(jié)合,即將當(dāng)前序列相對于價值網(wǎng)絡(luò)評價結(jié)果的優(yōu)勢記為實際獎勵。
基于多層感知機的智能體內(nèi)部神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)主要包含輸入層、2層隱藏層和輸出層,各層之間為全連接結(jié)構(gòu),每層都有自己的權(quán)重系數(shù),如圖3所示。
圖3 基于多層感知機的智能體網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Structure of agent network based on multi?layer perceptron
網(wǎng)絡(luò)各層均包含多個神經(jīng)元,輸入神經(jīng)元X=[x1,x2,…,xn],神經(jīng)元權(quán)重W=[w1,w2,…,wn],對神經(jīng)元添加偏移量可得其隱式特征值,即
特征值通過激活函數(shù)運算后輸出。
本方法包含2個多層感知機神經(jīng)網(wǎng)絡(luò),價值網(wǎng)絡(luò)輸出當(dāng)前價值至策略網(wǎng)絡(luò)并用于獎勵期望計算,策略網(wǎng)絡(luò)依據(jù)期望大小更新策略。
滾動軸承故障診斷流程如圖4所示,主要步驟如下:
圖4 基于MLP?PPO的故障診斷流程Fig.4 Flowchart of fault diagnosis based on MLP?PPO
1)對網(wǎng)絡(luò)輸入數(shù)據(jù)進行濾波處理,采用小波變換去除噪聲,同時對數(shù)據(jù)進行重整后分成訓(xùn)練集和測試集。
2)構(gòu)建交互環(huán)境,設(shè)置多層感知機智能體中策略網(wǎng)絡(luò)、價值網(wǎng)絡(luò)的層數(shù)和神經(jīng)元個數(shù)。
3)設(shè)置智能體與環(huán)境迭代次數(shù)、獎勵大小以及單次數(shù)據(jù)訓(xùn)練的步長。
4)在智能體與環(huán)境交互中,智能體獲取當(dāng)前最新數(shù)據(jù)并由策略網(wǎng)絡(luò)生成策略參數(shù)和平均獎勵總和,策略網(wǎng)絡(luò)數(shù)據(jù)同時批量更新至價值網(wǎng)絡(luò)并由其當(dāng)前參數(shù)更新評價結(jié)果,與策略網(wǎng)絡(luò)生成的帶權(quán)重獎勵結(jié)合從而生成當(dāng)前序列的實際獎勵。
5)完成單次更新后,由價值網(wǎng)絡(luò)進行重要性采樣,獲取新一批數(shù)據(jù)并進行計算,當(dāng)達到訓(xùn)練次數(shù)后完成第一批數(shù)據(jù)訓(xùn)練,智能體再次更新數(shù)據(jù)源。
6)當(dāng)所有數(shù)據(jù)訓(xùn)練完成后,計算當(dāng)前策略的損失函數(shù)是否滿足要求。
7)模型訓(xùn)練完成后,利用測試集進行效果驗證并保存生成的結(jié)果。
試驗基于Windows10 系統(tǒng),CPU 為Intel Core i7?9700f,GPU 為NVIDA RTX308016G,采用python 編程以及深度學(xué)習(xí)框架pytorch,基于Ope?nAI gym搭建環(huán)境。
MLP?PPO 模型包含3 個多層感知機網(wǎng)絡(luò),每個網(wǎng)絡(luò)包含2 層大小均為128 的隱藏層并采用全連接方式進行連接,策略網(wǎng)絡(luò)中隱藏層的丟棄率為0.2,各層間采用ReLU激活函數(shù),價值網(wǎng)絡(luò)輸出層的激活函數(shù)為Softmax,用于策略網(wǎng)絡(luò)中更新參數(shù)θ的學(xué)習(xí)率參數(shù)α為0.0003,權(quán)重λ為0.95,動量γ為0.99,迭代次數(shù)為1000,單步更新參數(shù)為3,單步輸入數(shù)據(jù)量為16,原始數(shù)據(jù)被切割為單份1024大小的樣本。
采用西安交通大學(xué)滾動軸承加速壽命試驗數(shù)據(jù)集XJTU?SY[21]驗證MLP?PPO 模型的有效性,選取工況1(轉(zhuǎn)速2100 r/min,徑向載荷12 kN)的數(shù)據(jù)進行試驗,試驗軸承型號為LDK UER204,其具體參數(shù)見表1;采樣頻率為25.6 kHz,采樣間隔為1 min,每次采樣時長為1.28 s,具體工況信息見表2。
表1 LDK UER204軸承參數(shù)Tab.1 Parameters of LDK UER204 bearing
表2 XJTU?SY數(shù)據(jù)集工況1具體信息Tab.2 Specific information of condition 1 in XJTU?SY dataset
工況1 各軸承振動信號的時頻域波形如圖5所示:在相同工況下,軸承不同位置出現(xiàn)故障時,其振動信號呈現(xiàn)不同的趨勢,發(fā)生故障的時間以及振動幅值存在差異;隨著時間變化,軸承出現(xiàn)損傷時對應(yīng)的故障特征頻率處能量加強,不同故障軸承的故障特征頻率及振幅均存在差異。
圖5 工況1各故障軸承的振動信號Fig.5 Vibration signals of each faulty bearing in condition 1
本次試驗對數(shù)據(jù)集進行故障分類,其中包括1類健康狀態(tài)(HEA),3類滾動軸承故障:外圈故障(ORF)、內(nèi)外圈復(fù)合磨損故障(CWF)、保持架故障(BWF)。
實際訓(xùn)練中選取每個故障類型的最后2次采樣數(shù)據(jù)作為訓(xùn)練對象,原始數(shù)據(jù)中單個樣本的數(shù)據(jù)格式為1*32768, 數(shù)據(jù)量較大且需要在訓(xùn)練過程中添加標簽,為有利于數(shù)據(jù)迭代訓(xùn)練并盡可能使用完整數(shù)據(jù),通過拆分重組將數(shù)據(jù)格式重整為30*1024,即輸入動作空間的數(shù)據(jù)格式為N*1024,N為實際所需訓(xùn)練的樣本數(shù)量。實際訓(xùn)練得到的模型準確率如圖6所示。
圖6 MLP?PPO模型訓(xùn)練準確率Fig.6 Training accuracy of MLP?PPO model
從傳統(tǒng)機器學(xué)習(xí)、深度學(xué)習(xí)、強化學(xué)習(xí)中選取代表性的方法進行對比分析,各網(wǎng)絡(luò)的參數(shù)設(shè)置如下:
1) 支持向量機(SVM),利用主成分分析將振動信號降維至4個特征,利用SVM 進行識別,其采用高斯徑向基核函數(shù),核系數(shù)為 0.01;
2) 卷積神經(jīng)網(wǎng)絡(luò)(CNN),設(shè)置2 個卷積層,2 個池化層和1 個全連接層,卷積核尺寸為3*3,激活函數(shù)為ReLU;
3) 深度Q 學(xué)習(xí)(DQN),智能體采用多層感知機,設(shè)置一層隱藏層,激活函數(shù)為ReLU,迭代次數(shù)為20000。
各模型在訓(xùn)練集、測試集上的故障診斷準確性以及訓(xùn)練耗時見表3:本文所提MLP?PPO 模型的準確率為96%(混淆矩陣如圖7 所示),與SVM,CNN 和DQN 模型相比準確率分別提升了31%,24%和18%;MLP?PPO 模型中智能體與環(huán)境之間需進行大量數(shù)據(jù)信息交互,因此其訓(xùn)練耗時大于其他模型,但模型訓(xùn)練完成后的實際診斷耗時僅1 s,能夠較快速的完成故障診斷任務(wù)。
表3 基于不同模型的故障診斷結(jié)果Tab.3 Fault diagnosis results based on different models
圖7 MLP?PPO對測試集診斷結(jié)果的混淆矩陣Fig.7 Confusion matrix of test set diagnostic results of MLP?PPO model
基于強化學(xué)習(xí)策略函數(shù)理論,提出了基于多層感知機和近端策略優(yōu)化的滾動軸承故障診斷方法,利用多層感知機構(gòu)建強化學(xué)習(xí)智能體并通過近端策略優(yōu)化算法,實現(xiàn)對不同工況下滾動軸承的故障診斷,其具備以下優(yōu)點:
1) 利用強化學(xué)習(xí)自主挖掘信息優(yōu)勢,充分挖掘數(shù)據(jù)特征,結(jié)合策略梯度優(yōu)勢可以很好地擬合故障診斷目標函數(shù),無需人工干預(yù)且自主完成滾動軸承故障診斷。
2) 結(jié)合AC 框架,充分利用多層感知機網(wǎng)絡(luò)完成智能體與環(huán)境的互動,自主學(xué)習(xí)的模式充分提升了滾動軸承故障診斷的準確性。
3) 與傳統(tǒng)的SVM,CNN 以及基于價值函數(shù)的DQN方法相比,MLP?PPO的故障診斷準確率更高。