【改進型循環(huán)神經(jīng)網(wǎng)絡(luò)的軸承故障診斷準(zhǔn)確率提升研究16000字(論文)】_第1頁
【改進型循環(huán)神經(jīng)網(wǎng)絡(luò)的軸承故障診斷準(zhǔn)確率提升研究16000字(論文)】_第2頁
【改進型循環(huán)神經(jīng)網(wǎng)絡(luò)的軸承故障診斷準(zhǔn)確率提升研究16000字(論文)】_第3頁
【改進型循環(huán)神經(jīng)網(wǎng)絡(luò)的軸承故障診斷準(zhǔn)確率提升研究16000字(論文)】_第4頁
【改進型循環(huán)神經(jīng)網(wǎng)絡(luò)的軸承故障診斷準(zhǔn)確率提升研究16000字(論文)】_第5頁
已閱讀5頁,還剩42頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

改進型循環(huán)神經(jīng)網(wǎng)絡(luò)的軸承故障診斷準(zhǔn)確率提升研究摘要本文調(diào)研了循環(huán)神經(jīng)網(wǎng)絡(luò)在故障診斷分類領(lǐng)域中的實際應(yīng)用現(xiàn)狀及其研究背景,學(xué)習(xí)了循環(huán)神經(jīng)網(wǎng)絡(luò)現(xiàn)有的各種改進方法及其應(yīng)用方法。在LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)原理的基礎(chǔ)上,采用對額外門控運算進行改進的方法對循環(huán)神經(jīng)網(wǎng)絡(luò)的模型進行改進。其次,選用基于python語言的Tensorflow深度學(xué)習(xí)數(shù)據(jù)庫,利用Pycharm編譯器進行循環(huán)神經(jīng)網(wǎng)絡(luò)的建模與編程實現(xiàn)。通過運用Mnist數(shù)據(jù)集的分類案例初步驗證了對循環(huán)神經(jīng)網(wǎng)絡(luò)進行改進額外門控運算部分的改進效果。第三,通過編程將原始的CWRU軸承數(shù)據(jù)集進行了二維方陣化處理,實現(xiàn)改進前后循環(huán)神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練和故障數(shù)據(jù)的診斷。最后,將改進前后循環(huán)神經(jīng)網(wǎng)絡(luò)的故障診斷效果進行對比,結(jié)果顯示,改進模型后網(wǎng)絡(luò)的故障診斷效果優(yōu)于原神經(jīng)網(wǎng)絡(luò)。關(guān)鍵詞:深度學(xué)習(xí)技術(shù),故障診斷分類,循環(huán)神經(jīng)網(wǎng)絡(luò)RNN,額外門控運算第頁目錄1緒論 11.1論文研究背景及目的 11.1.1論文背景 11.1.2目的 21.2國內(nèi)外研究狀況 21.2.1深度學(xué)習(xí)技術(shù) 21.2.2循環(huán)神經(jīng)網(wǎng)絡(luò)發(fā)展簡述 31.2.3故障診斷方法 41.3論文研究方法 51.4論文構(gòu)成及研究內(nèi)容 51.4.1循環(huán)神經(jīng)網(wǎng)絡(luò)的實現(xiàn) 61.4.2循環(huán)神經(jīng)網(wǎng)絡(luò)改進研究 61.4.3故障診斷技術(shù)的實現(xiàn) 62.循環(huán)神經(jīng)網(wǎng)絡(luò)算法的實現(xiàn) 82.1循環(huán)神經(jīng)網(wǎng)絡(luò)簡介 82.1.1SimpleRNN網(wǎng)絡(luò)結(jié)構(gòu)模型及原理 82.1.2LSTM網(wǎng)絡(luò)結(jié)構(gòu)模型及原理 92.1.3GRU網(wǎng)絡(luò)結(jié)構(gòu)模型及原理 122.2額外門控運算簡介 132.3循環(huán)神經(jīng)網(wǎng)絡(luò)的實現(xiàn) 143.循環(huán)神經(jīng)網(wǎng)絡(luò)改進研究 183.1基于額外門控運算的算法改進 183.2數(shù)據(jù)來源 243.3判斷指標(biāo) 243.3.1分類準(zhǔn)確率 243.3.2函數(shù)損失值 253.4改進循環(huán)神經(jīng)網(wǎng)絡(luò)效果對比分析 254.改進的循環(huán)神經(jīng)網(wǎng)絡(luò)故障診斷應(yīng)用研究 284.1故障診斷流程 284.2數(shù)據(jù)來源 284.3數(shù)據(jù)的選取與處理 304.4改進循環(huán)神經(jīng)網(wǎng)絡(luò)軸承故障診斷應(yīng)用研究 314.4.1已有循環(huán)神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練和測試 314.4.2改進LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)訓(xùn)練和測試 354.5不同循環(huán)神經(jīng)網(wǎng)絡(luò)故障診斷效果對比分析 36結(jié)論與展望 39參考文獻 41附錄 451緒論故障診斷的精準(zhǔn)時設(shè)備能夠及時維修的根本保證,因此首先需要根據(jù)故障診斷結(jié)果判斷工業(yè)設(shè)備的運行狀況后,才能更加迅速的發(fā)現(xiàn)工業(yè)運行過程中設(shè)備的故障,才能對其進行早期的維修來避免故障的發(fā)生。只有保證硬件水平維持在高層次,才能對設(shè)備的狀態(tài)進行實時的數(shù)據(jù)提取,這清楚地揭示了真相同時對這些由硬件設(shè)備提取到的實時數(shù)據(jù)進行高效的利用,才能對復(fù)雜設(shè)備進行保護,使其能夠有效高速的運行。隨著人工智能技術(shù)發(fā)展,國內(nèi)外學(xué)出提出了許多故障診斷方法,其中包括以下三種方法:人工神經(jīng)網(wǎng)絡(luò)(ArtificialNeuralNetwork)、支持向量機(SupportVectorMachine)和極限學(xué)習(xí)機(ExtremeLearningMachine)等(李華東,王志宏,2022)。但是這三種故障診斷方法在實際應(yīng)用中都有極大的缺陷,其中人工神經(jīng)網(wǎng)絡(luò)具有收斂速度較慢和不穩(wěn)定易發(fā)生震蕩的缺點。而支持向量機在對處理算法分類進行互補和對模型進行預(yù)測訓(xùn)練時呈現(xiàn)出了較好的效果,但在面對數(shù)據(jù)出現(xiàn)不平衡問題時,支持向量機無法很好的對其進行處理,且該方法的訓(xùn)練需要采用含有標(biāo)簽的大量樣本,同時又因為其高成本的原因,從這些規(guī)則中看出無法很好地利用在工業(yè)生產(chǎn)中。極限學(xué)習(xí)機和人工神經(jīng)網(wǎng)絡(luò)有同樣的問題,即不穩(wěn)定(張文博,劉玉婷,2023)。這三種方法都是較為淺層的機器學(xué)習(xí)方法,有限的學(xué)習(xí)能力很難支撐工業(yè)生產(chǎn)中的故障診斷。因此,在這個大背景下,深度學(xué)習(xí)的出現(xiàn)為這一問題的解決提供了新的思路和途徑(陳凱琳,王俊杰,2021)。深度學(xué)習(xí)在訓(xùn)練時采用無監(jiān)督機器學(xué)習(xí)的方法,避開了人工干預(yù)和專家經(jīng)驗容易導(dǎo)致的錯誤診斷,而且因著其優(yōu)良的學(xué)習(xí)能力,引發(fā)了研究學(xué)者對其在故障診斷領(lǐng)域中應(yīng)用的思考。其中因著循環(huán)神經(jīng)網(wǎng)絡(luò)的缺點——梯度爆炸問題,該算法在一段時間以來都處于研究停滯狀態(tài)(林曉東,趙瑤慧,2021)。然而目前已有部分文獻提出改進思路,并且循環(huán)神經(jīng)網(wǎng)絡(luò)可以利用大量不含標(biāo)簽的樣本來對模型的進行訓(xùn)練,通過模型參數(shù)進行優(yōu)化從而提高模型對軸承故障數(shù)據(jù)進行診斷分類的準(zhǔn)確度,以及它有特有的時間相關(guān)性,目前已經(jīng)能夠較好的應(yīng)用于故障診斷領(lǐng)域中(高雨晨,蘇逸凡,2020)。在故障診斷這一領(lǐng)域,基于循環(huán)神經(jīng)網(wǎng)絡(luò)的故障診斷方法,在對大量復(fù)雜時序數(shù)據(jù)進行處理時所取得的成效已經(jīng)遠遠超過了傳統(tǒng)手段。這在一部分程度上揭示了而本次畢業(yè)設(shè)計正是考慮到循環(huán)神經(jīng)網(wǎng)絡(luò)的系統(tǒng)性研究在故障診斷領(lǐng)域較少,從而對循環(huán)神經(jīng)網(wǎng)絡(luò)進行模型改進與故障診斷分類識別研究,使其與故障診斷更相適應(yīng)。2.循環(huán)神經(jīng)網(wǎng)絡(luò)算法的實現(xiàn)2.1循環(huán)神經(jīng)網(wǎng)絡(luò)簡介2.1.1SimpleRNN網(wǎng)絡(luò)結(jié)構(gòu)模型及原理隨著發(fā)展,循環(huán)神經(jīng)網(wǎng)絡(luò)的強大處理和預(yù)測序列數(shù)據(jù)能力被不斷重視,它解決了傳統(tǒng)機器學(xué)習(xí)對輸入輸出數(shù)據(jù)的限制問題,并被應(yīng)用于多個領(lǐng)域之中。同時因為RNN在實際應(yīng)用中的各種問題,經(jīng)過許多研究者對RNN的結(jié)構(gòu)改進工作,許多RNN的變體模型也陸續(xù)出現(xiàn)(孫佳怡,胡建國,2020)。最簡單的SimpleRNN結(jié)構(gòu)上主要分為三部分:輸入層、隱藏層及全連接層。SimpleRNN可以看做是深度FNN,這在某種程度上表征但在FNN基礎(chǔ)上SimpleRNN在各隱藏層之間進行了權(quán)重共享,它通過模型內(nèi)部各個隱藏層之間的回路進行連接,將個隱藏層前一時刻狀態(tài)保存下來并傳遞給當(dāng)前網(wǎng)絡(luò)狀態(tài),即擁有參數(shù)共享性(楊昊宇,許心怡,2020)。通過時間序列,RNN先前向計算,然后再使用BPTT算法對模型網(wǎng)絡(luò)中的各個參數(shù)進行更新。因而相比于FNN,RNN沒有輸入序列和輸出序列的長度限制(鄭瑞宇,陳思思,2023)。圖2.1SimpleRNN結(jié)構(gòu)圖 從圖2.1的SimpleRNN結(jié)構(gòu)圖可以看出,如果把W這一循環(huán)去掉,SimpleRNN就變成了最為普通的全連接網(wǎng)絡(luò)。X是代表輸入層值的向量,s則是代表一個狀態(tài)下隱藏層值的向量(趙子銘,孫天宇,2022)。U和V都是一個矩陣,從這些資料中可看出分別代表著輸入層到對應(yīng)隱藏層的權(quán)重與對應(yīng)隱藏層到輸出層的權(quán)重,o代表的則是最終輸出層值的向量,而W代表的就是前一狀態(tài)的隱藏層值作為當(dāng)前狀態(tài)的輸入所占權(quán)重。這些資料的選擇基于其權(quán)威性、時效性和代表性,以確保能夠從多個角度全面地反映研究主題發(fā)展的真實情況。因此,隱藏層s向量的值,既與當(dāng)前狀態(tài)的輸入有關(guān),還受上一狀態(tài)隱藏層的值影響。用公式表示如下(李梓萱,高宇翔,2022):OtSt2.1.2LSTM網(wǎng)絡(luò)結(jié)構(gòu)模型及原理在實際應(yīng)用中,SimpleRNN會出現(xiàn)許多訓(xùn)練方面的難題,當(dāng)模型深度不斷增加時,RNN會出現(xiàn)長距離依賴問題,從而導(dǎo)致梯度爆炸的現(xiàn)象,同時也會影響神經(jīng)網(wǎng)絡(luò)的魯棒性導(dǎo)致學(xué)習(xí)能力下降(王澤洋,朱玉潔,2020)。為了解決這個問題,經(jīng)過大量的研究工作,學(xué)者專門設(shè)計并提出了SimpleRNN的變體模型——長短期記憶人工神經(jīng)網(wǎng)絡(luò)(LSTM)。在長距離依賴的訓(xùn)練過程中,它能有效解決SimpleRNN在故障診斷分類中存在的各種問題,并且能精確對存在長短期依賴的數(shù)據(jù)進行建模(張宇和,劉丹萱,2022)。遞歸神經(jīng)網(wǎng)絡(luò)模塊所采用的鏈?zhǔn)叫问剑嬖谟谒械难h(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中。在標(biāo)準(zhǔn)的SimpleRNN中,在此特定環(huán)境中審視不難看出其本質(zhì)這種模塊的結(jié)構(gòu)不僅唯一且較為簡易。雖然LSTM也包含這一結(jié)構(gòu),但是其中所包含的模塊形式不同于單一的SimpleRNN循環(huán)神經(jīng)網(wǎng)絡(luò)層,LSTM擁有四層結(jié)構(gòu),且在結(jié)構(gòu)之間以一種較為特別的方法進行交互(黃志杰,李芷萱,2022)。圖2.2LSTM結(jié)構(gòu)圖門結(jié)構(gòu)是能選擇性地讓有價值的信息通過,即對信息進行篩選,它由Sigmoid層和點乘法運算兩者組成(田雪婷,吳俊宇,2023)。LSTM中一共有三個門:遺忘門、更新門和輸出門,用于控制和維持循環(huán)神經(jīng)網(wǎng)絡(luò)層的狀態(tài)。LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)中的第一步是選擇性地從循環(huán)神經(jīng)網(wǎng)絡(luò)細胞狀態(tài)中刪除(遺忘)信息。這段文字的創(chuàng)新之處主要在于其視角的獨特性,特別是在對研究問題的新穎切入點。本研究擺脫了傳統(tǒng)研究中相對有限的視角,從宏觀和微觀兩個層次進行探討,既關(guān)注整體模式也注重個體特征,為理解復(fù)雜現(xiàn)象提供了新的思考路徑。從這個角度來看我們認(rèn)識到該選擇由Sigmoid層實現(xiàn),被稱為遺忘門。遺忘門查看前一個輸出和當(dāng)前輸出,并將單元格狀態(tài)中的每一個數(shù)字映射到0到1之間的一個值進行輸出。遺忘門對數(shù)據(jù)處理為(呂思遠,蔡佳琪,2022):ft圖2.3而第二步,由命名為輸入層的Sigmoid對需要在循環(huán)神經(jīng)網(wǎng)絡(luò)隱藏層狀態(tài)中更新的值進行修改(陳小林,楊詩慧,2021)。這不僅有助于縮短項目周期,還能降低培訓(xùn)成本和用戶適應(yīng)新系統(tǒng)的時間,從而更快地實現(xiàn)投資回報。在這之后,這在一定水平上揭露由一個tanh層創(chuàng)建向量Ct,并將該向量同樣被輸入到隱藏層狀態(tài)中,且在之后將利用這兩個向量創(chuàng)建更新值。第二步處理輸入數(shù)據(jù),創(chuàng)建更新值公式為(郭銘哲,魏若晨,2022)itCt=圖2.4在之后,開始將上一個狀態(tài)值Ct?1更新為Ct。先將上一狀態(tài)值乘以ft,以此表示這部分期望忘記,之后將得到的值加上it?C圖2.5最后,在此類環(huán)境中由輸出門基于細胞狀態(tài)決定最終的輸出結(jié)果。首先通過一個Sigmoid層,決定要輸出的神經(jīng)網(wǎng)絡(luò)隱藏層狀態(tài)部分(高澤林,周馨兒,2023)。然后通過tanh函數(shù)將單元格狀態(tài)與該層門結(jié)構(gòu)的輸出通過算法進行處理,最終輸出決定的部分。運算算法為:ot?t圖2.62.1.3GRU網(wǎng)絡(luò)結(jié)構(gòu)模型及原理為了滿足一些實際應(yīng)用,研究者在LSTM的基礎(chǔ)上進行改動,從而引伸出了很多變體,其中調(diào)整較大的是門控循環(huán)單元神經(jīng)網(wǎng)絡(luò)(GatedRecurrentUnit)。該網(wǎng)絡(luò)模型在長短期記憶人工神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,實現(xiàn)了輸入門和遺忘門相結(jié)合,精簡了LSTM的模型,并將其結(jié)合后的門結(jié)構(gòu)命名為更新門(張瑞陽,鄧秋婷,2022)。通過詳細分析,本研究不僅完全涵蓋了所設(shè)定的研究問題和目標(biāo),而且在邏輯體系內(nèi)對觀察到的現(xiàn)象和數(shù)據(jù)進行了合理的說明。因為是LSTM的變體,在這特定狀態(tài)時因而同樣包含其擁有的細胞狀態(tài)和隱藏狀態(tài),但在LSTM的基礎(chǔ)上減少了門結(jié)構(gòu)從而將模型參數(shù)減少了1/3,使得神經(jīng)網(wǎng)絡(luò)不容易發(fā)生過擬合,能極大的提高計算效率(李建華,趙夢婷,2022)。GRU的輸入輸出與其他循環(huán)神經(jīng)網(wǎng)絡(luò)在結(jié)構(gòu)上一樣(朱一鳴,李丹萍,2021)。有一個當(dāng)前輸入xt,和前一時刻傳遞的隱狀態(tài)?t?1,將當(dāng)前輸入和前一時刻的隱狀態(tài)結(jié)合,GRU通過運算得到一個新的節(jié)點輸出yt圖2.7如圖所示,其中r代表重置門,z代表更新門。GRU通過上一個節(jié)點傳輸下來的狀態(tài)?t?1和當(dāng)前節(jié)點的輸入xz=σ(xr=σ(x在得到門控狀態(tài)后,網(wǎng)絡(luò)首先利用重置門來得到重置之后的數(shù)據(jù)?t?1,再將?t?1與xt進行處理,通過一個tanh激活函數(shù)對數(shù)據(jù)進行映射,放縮至-1到1的范圍內(nèi),得到?'?'最后神經(jīng)網(wǎng)絡(luò)利用更新門同時進行遺忘與記憶兩個步驟,計算所得到的h并將該向量保留并傳遞到下一個單元中。更新門在這個過程中決定了當(dāng)前記憶內(nèi)容h和前一節(jié)點?t?1?t2.2額外門控運算簡介神經(jīng)模型在自然語言處理領(lǐng)域的主導(dǎo)地位僅受到以下因素的阻礙:有限的泛化能力和可疑的樣本復(fù)雜性、糟糕的語法理解能力,以及無法將輸入序列分割成意義單元。雖然對后者的直接改進是可能的,以此情況為依據(jù)但在本文中采用了一種與語言無關(guān)的方法來改進循環(huán)神經(jīng)網(wǎng)絡(luò),它不僅能在語言建模、語義解析、機器翻譯等方面帶來了許多進步,同時也使網(wǎng)絡(luò)能更好地應(yīng)用在非自然語言處理,尤其是軸承的故障診斷檢測(黃博文,劉子晨,2021)。本研究成功地將理論與現(xiàn)實相交融,為所探討的議題給出了扎實的答案,并為后續(xù)研究開辟了新的研究領(lǐng)域和思考方向。許多神經(jīng)模型都是由RNN建立的,包括端到端可訓(xùn)練神經(jīng)網(wǎng)絡(luò)。因此。RNN架構(gòu)中的創(chuàng)新傾向于從語言建模到許多其他任務(wù)的滴漏效應(yīng),在許多研究者的努力下極大地加強了這一趨勢,它們促進了從架構(gòu)藍圖到預(yù)先訓(xùn)練的構(gòu)建模塊的模型(彭志華,王雪梅,2021)。為了提高循環(huán)神經(jīng)網(wǎng)絡(luò)模型的泛化能力,本文對LSTM進行了擴展,其中LSTM的輸入x是受上一步?prev輸出的門控條件限制的。接下來,額外門控運算以類似的方式使用門控輸入對前一個時間步長的輸出進行門控。經(jīng)過幾輪這種相互門通之后,最后更新的輸入x和節(jié)點狀態(tài)?prev被提供給LSTM?;谶@一發(fā)現(xiàn),本文可以更有信心地推進后續(xù)研究,探索新的假設(shè)、設(shè)計更精細的分析,以期在該領(lǐng)域取得更加突破性的進展。在這條件下通過引入這些額外的門操作,在某種意義上,改進后的模型加入了隨著Elman網(wǎng)絡(luò)的發(fā)明而出現(xiàn)的一長串具有不同復(fù)雜性的門結(jié)構(gòu)的循環(huán)架構(gòu)2.3循環(huán)神經(jīng)網(wǎng)絡(luò)的實現(xiàn)在進行循環(huán)神經(jīng)網(wǎng)絡(luò)建模中,可以從此看出出于對語言泛用性和深度學(xué)習(xí)庫函數(shù)調(diào)用方面考慮,在分析了當(dāng)前深度學(xué)習(xí)中所使用的的主流語言,最終選擇了使用Python語言,并采用了與之相對應(yīng)的Pycharm編譯器來改進循環(huán)神經(jīng)網(wǎng)絡(luò)。在本文中,在對循環(huán)神經(jīng)網(wǎng)絡(luò)時選用使用Adam優(yōu)化的隨機梯度下降法?;谶@些初步的研究成果,本文能夠構(gòu)想出更多富有前瞻性的研究設(shè)想與探索領(lǐng)域,促進該領(lǐng)域的知識邊界不斷延伸。通過這些可以看出優(yōu)化器目的是指引損失函數(shù)的各個參數(shù)往正確的方式更新合適的大小,并使得更新后的各個參數(shù)讓損失函數(shù)的值不斷畢竟全局最小(胡宇凡,邱婷婷,2020)。而隨機梯度下降法的優(yōu)點在于,該方法每次只使用一個樣本更新模型參數(shù),因此其訓(xùn)練速度快。而且該方法有利于促使優(yōu)化的方向不斷向較好的局部極小值進行跳躍,最后收斂于一個較為合適的局部極值點(鄭佳怡,史文麗,2020)。具體來說,研究發(fā)現(xiàn)關(guān)鍵變量間的關(guān)聯(lián)性和走向與模型預(yù)測相吻合,這不僅提升了理論架構(gòu)的可信程度,也為深入探究該領(lǐng)域的復(fù)雜關(guān)系奠定了實證基礎(chǔ)。下面是用于實現(xiàn)LSTM模型的主要Python代碼:importosos.environ['TF_CPP_MIN_LOG_LEVEL']='2'importnumpyasnpimporttensorflowastfimportgruimportlstmimportdatadefsingle_layer_static_lstm(input_x,n_steps,n_hidden):#把輸入input_x按列拆分,并返回一個有n_steps個張量組成的list如batch_sizex28x28的輸入拆成[(batch_size,28),((batch_size,28))]#如果是調(diào)用的是靜態(tài)rnn函數(shù),需要這一步處理即相當(dāng)于把序列作為第一維度input_x1=tf.unstack(input_x,num=n_steps,axis=1)#可以看做隱藏層lstm_cell=tf.contrib.rnn.BasicLSTMCell(num_units=n_hidden,forget_bias=1.0)#靜態(tài)rnn函數(shù)傳入的是一個張量list每一個元素都是一個(batch_size,n_input)大小的張量hiddens,states=tf.contrib.rnn.static_rnn(cell=lstm_cell,inputs=input_x1,dtype=tf.float32)returnhiddens,statesdefmnist_rnn_classfication(flag):#導(dǎo)入數(shù)據(jù)集tf.reset_default_graph()fromtensorflow.examples.tutorials.mnistimportinput_datamnist=input_data.read_data_sets('MNIST-data',one_hot=True)print(type(mnist))print('Trainingdatashape:',mnist.train.images.shape)#輸出訓(xùn)練數(shù)據(jù)特征信息(55000,784)print('Testdatashape:',mnist.test.images.shape)#輸出測試數(shù)據(jù)特征信息print('Validationdatashape:',mnist.validation.images.shape)#輸出驗證數(shù)據(jù)特征信息(5000,784)print('Traininglabelshape:',mnist.train.labels.shape)#輸出訓(xùn)練標(biāo)簽數(shù)據(jù)特征信息(55000,10)#定義參數(shù),以及網(wǎng)絡(luò)結(jié)構(gòu)n_input=20#LSTM單元輸入節(jié)點的個數(shù)n_steps=20#序列長度n_hidden=100#LSTM單元輸出節(jié)點個數(shù)(即隱藏層個數(shù))n_classes=10#類別batch_size=100#小批量大小training_step=3001#迭代次數(shù)display_step=500#顯示步數(shù)learning_rate=0.0001#學(xué)習(xí)率BATCH_INDEX=0#定義占位符#batch_size:這在一定程度上顯露表示一次的批次樣本數(shù)量batch_sizen_steps:表示時間序列總數(shù)n_input:表示一個時序具體的數(shù)據(jù)長度即一共28個時序,一個時序送入28個數(shù)據(jù)進入LSTM網(wǎng)絡(luò)(陳俊杰,王映雪,2022)input_x=tf.placeholder(dtype=tf.float32,shape=[None,n_steps,n_input])input_y=tf.placeholder(dtype=tf.float32,shape=[None,n_classes])hiddens,states=single_layer_static_lstm(input_x,n_steps,n_hidden)print('hidden:',hiddens[-1].shape)#(128,128)output=tf.contrib.layers.fully_connected(inputs=hiddens[-1],num_outputs=n_classes,activation_fn=tf.nn.softmax)#設(shè)置對數(shù)似然損失函數(shù)#代價函數(shù)J=-(Σy.logaL)/n.表示逐元素乘cost=tf.reduce_mean(-tf.reduce_sum(input_y*tf.log(output),axis=1))#求解train=tf.train.AdamOptimizer(learning_rate).minimize(cost)#預(yù)測結(jié)果評估#返回一個數(shù)組表示統(tǒng)計預(yù)測正確或者錯誤correct=tf.equal(tf.argmax(output,1),tf.argmax(input_y,1))#求準(zhǔn)確率accuracy=tf.reduce_mean(tf.cast(correct,tf.float32))#創(chuàng)建list保存每一迭代的結(jié)果test_accuracy_list=[]test_cost_list=[]withtf.Session()assess:#使用會話執(zhí)行圖sess.run(tf.global_variables_initializer())#初始化變量#開始迭代并使用Adam優(yōu)化的隨機梯度下降法foriinrange(training_step):x_batch,y_batch=mnist.train.next_batch(batch_size=batch_size)x_batch=x_batch.reshape([-1,n_steps,n_input])#開始訓(xùn)練train.run(feed_dict={input_x:x_batch,input_y:y_batch})if(i+1)%display_step==0:#輸出訓(xùn)練集準(zhǔn)確率training_accuracy,training_cost=sess.run([accuracy,cost],feed_dict={input_x:x_batch,input_y:y_batch})print('Step{0}:Trainingsetaccuracy{1},cost{2}.'.format(i+1,training_accuracy,training_cost))3.循環(huán)神經(jīng)網(wǎng)絡(luò)改進研究3.1基于額外門控運算的算法改進LSTM與GRU雖然已經(jīng)在很大程度上解決了梯度消失爆炸問題,但是傳統(tǒng)的RNN在故障檢測上的精確度依然有所不足,而在改進額外門控運算之后,對輸入進行處理有利于訓(xùn)練精度的提升(李夢婷,蔣志鵬,2022)。這在一定水平上揭露但傳統(tǒng)的LSTM一般用于自然語言處理,因此為了使其更適合應(yīng)用在故障上將LSTM中門控運算中的Sigmoid函數(shù)更改為tanh激活函數(shù),加快模型的收斂速度,以及更進一步減少梯度消失爆炸問題.這一驗證步驟也為后續(xù)研究提供了思路,即在已驗證的理論架構(gòu)下,可以更加深入地探討未被充分研究的因素,或把模型應(yīng)用于更廣泛的情境中進行驗證和優(yōu)化。同時,由于傳統(tǒng)的LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)只將輸入x和狀態(tài)?t在網(wǎng)絡(luò)內(nèi)部進行運算處理,在這之前并沒有任何處理,因此很容易致使在訓(xùn)練學(xué)習(xí)過程中信息的丟失。為此,本論文在LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)模中改進了額外門控運算,在對LSTM本身的結(jié)構(gòu)不進行改動基礎(chǔ)上,讓輸入x和狀態(tài)?p先通過門結(jié)構(gòu)進行運算處理,然后通過運算處理提高模型的上下文關(guān)聯(lián)交互能力(李明杰,張曉文,2022)。圖2.7額外門控循環(huán)結(jié)構(gòu)圖這在一定層面上證實了如上圖所示,可以明顯看出該改進并未對原始的LSTM的計算步驟及本身結(jié)構(gòu)進行調(diào)整,僅僅將輸入到神經(jīng)網(wǎng)絡(luò)模型中的輸入x和模型狀態(tài)信息?prev改變了??梢匀鐖D2.7中所示,這無疑地揭示了本質(zhì)在x和h輸入到神經(jīng)網(wǎng)絡(luò)模型之前,先對兩者進行了數(shù)輪的交互運算,其中x?1就是輸入x,而?0即?prev,r則為兩者經(jīng)過的交互運算輪數(shù),若r=0,即將x和xi=2σ?previ?1如上圖公式所示,先根據(jù)公式(3.1),將x?1和?0計算得到x1,然后根據(jù)公式(3.2),通過x1和?0計算得到改進后額外門控運算的LSTM模型部分代碼如下:from__future__importabsolute_importfrom__future__importdivisionfrom__future__importprint_functionimporttiled_linearimportutilsimportsiximporttensorflowastfclassTiledLSTMCell(tf.contrib.rnn.RNNCell):"""AnLSTMcellwithtiledconnections.Supportsvariousconnectivitypatternssuchasthevanilla,denseTiledLinear,andalsoSparseTiledLinear,LayerNormedTiledLinear."""def__init__(self,num_units,use_peepholes=False,cell_clip=None,initializer=None,num_proj=None,feature_mask_rounds=0,feature_mask_rank=0,tie_gates=False,cap_input_gate=True,layer_norm=False,activation=tf.tanh,input_transform=None,state_transform=None,update_transform=None,tiled_linear_class=None,tiled_linear_var_init_params=None):assertnotuse_peepholes,'PeepholesarenotimplementedinLSTMCell.'self._num_units=num_unitsself._use_peepholes=use_peepholesself._cell_clip=cell_clipself._initializer=initializerself._num_proj=num_projself._feature_mask_rounds=feature_mask_roundsself._feature_mask_rank=feature_mask_rankself._tie_gates=tie_gatesself._cap_input_gate=cap_input_gateself._layer_norm=layer_normself._activation=activationself._input_transform=input_transformself._state_transform=state_transformself._update_transform=update_transformiftiled_linear_classisNone:iflayer_norm:tiled_linear_class=tiled_linear.LayerNormedTiledLinearelse:tiled_linear_class=tiled_linear.TiledLinearself._tiled_linear_class=tiled_linear_classself._tiled_linear_var_init_params=tiled_linear_var_init_paramsself._tiled_linear_mod=Noneifnum_proj:self._output_size=num_projelse:self._output_size=num_unitsself._state_size=tf.nn.rnn_cell.LSTMStateTuple(num_units,self._output_size)@propertydefstate_size(self):returnself._state_size@propertydefoutput_size(self):returnself._output_size@staticmethoddef_do_feature_masking(x,y,num_x,num_y,rounds,rank):forround_insix.moves.range(rounds):transforming_x=(round_%2==0)fm_name='fm_'+str(round_)ifrank==0:#fullrankcaseiftransforming_x:x*=2*tf.sigmoid(utils.linear(y,num_x,bias=True,scope=fm_name))else:y*=2*tf.sigmoid(utils.linear(x,num_y,bias=True,scope=fm_name))else:#low-rankfactorizationcaseiftransforming_x:shape=[num_y,num_x]else:shape=[num_x,num_y]a,b=utils.low_rank_factorization(fm_name+'_weight',shape,rank)bias=tf.get_variable(fm_name+'_bias',shape[1],initializer=tf.zeros_initializer())iftransforming_x:x*=2*tf.sigmoid(tf.matmul(tf.matmul(y,a),b)+bias)else:y*=2*tf.sigmoid(tf.matmul(tf.matmul(x,a),b)+bias)returnx,ydef__call__(self,input_,state,scope=None):num_units=self._num_unitsnum_proj=num_unitsifself._num_projisNoneelseself._num_projnum_inputs=input_.get_shape().with_rank(2)[1]defmaybe_transform(transform,x):iftransformisNone:returnxelse:returntransform(x)withtf.variable_scope(scopeortype(self).__name__,initializer=self._initializer):transformed_input=maybe_transform(self._input_transform,input_)transformed_state=maybe_transform(self._state_transform,state.h)transformed_input,transformed_state=self._do_feature_masking(transformed_input,transformed_state,num_inputs,num_units,self._feature_mask_rounds,self._feature_mask_rank)inputs=[transformed_input,transformed_state]input_name_and_sizes=[('x',num_inputs),('h',num_proj)]output_name_and_sizes=[('j',num_units),('o',num_units),('f',num_units)]ifnotself._tie_gates:output_name_and_sizes.append(('i',num_units))ifself._tiled_linear_modisNone:self._tiled_linear_mod=self._tiled_linear_class(input_name_and_sizes,output_name_and_sizes,self._tiled_linear_var_init_params)ifself._tie_gates:j_pre,o_pre,f_pre=self._tiled_linear_mod(inputs)else:j_pre,o_pre,f_pre,i_pre=self._tiled_linear_mod(inputs)#Computethecellstatec.f=tf.sigmoid(f_pre)j=self._activation(j_pre)j=maybe_transform(self._update_transform,j)o=tf.tanh(o_pre)ifself._tie_gates:c=f*state.c+(1-f)*jelse:i=tf.tanh(i_pre)ifself._cap_input_gate:c=f*state.c+tf.minimum(1-f,i)*jelse:c=f*state.c+i*jifself._layer_norm:c2=utils.layer_norm(c,[1],scope='ln_c')else:c2=cifself._cell_clipisnotNone:#pylint:disable=invalid-unary-operand-typec=tf.clip_by_value(c,-self._cell_clip,self._cell_clip)#pylint:enable=invalid-unary-operand-typeh=o*self._activation(c2)ifself._num_projisnotNone:h=utils.linear(h,self._num_proj,bias=False,scope='projection')returnh,tf.contrib.rnn.LSTMStateTuple(c,h)3.2訓(xùn)練數(shù)據(jù)來源Tensorflow中的Mnist數(shù)據(jù)集由美國國家標(biāo)準(zhǔn)與技術(shù)研究所發(fā)起整理并開源發(fā)布。本文利用該數(shù)據(jù)集對改進額外門控運算循環(huán)神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練學(xué)習(xí)驗證,初步推斷改進方法的正確性(吳宇航,趙玉蘭,2022)。這在一定水平上揭露該數(shù)據(jù)集包含用于訓(xùn)練循環(huán)神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)有六萬個,而用于測試循環(huán)神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)多達一萬個。在設(shè)計優(yōu)化工作中,本文特別注重經(jīng)濟性與方案的可擴展性,與最初設(shè)計相比,在多個方面進行了細致的調(diào)整與優(yōu)化。該數(shù)據(jù)集統(tǒng)計了兩百多個人手寫生成的數(shù)字圖片集,且該數(shù)據(jù)集都經(jīng)過尺寸標(biāo)準(zhǔn)化處理,是眾多深度學(xué)習(xí)算法模型測試的標(biāo)準(zhǔn)數(shù)據(jù)集之一(周思琪,孫志強,2022)。3.3判斷指標(biāo)如此能夠看出在對各種循環(huán)神經(jīng)網(wǎng)絡(luò)模型進行訓(xùn)練驗證時,有許多用來評判的指標(biāo),包括準(zhǔn)確度(Accuracy)、精確度(Precision)、召回率(Recall)、F1score(F1-measure值)等。而在本文中將準(zhǔn)確度以及函數(shù)損失值設(shè)為判斷網(wǎng)絡(luò)模型的重要指標(biāo),因為這兩個指標(biāo)在深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型中最為廣泛應(yīng)用且重要(劉嘉琪,李錦程,2022)。在此基礎(chǔ)上,本文進一步采用了多種實證方法對研究結(jié)論進行了檢驗,以確保結(jié)果的穩(wěn)健性和可靠性。3.3.1分類準(zhǔn)確率單標(biāo)簽分類任務(wù)中的每個樣本都有一個確定的類別,預(yù)測到該類別就是分類正確,反之則是錯誤,因此準(zhǔn)確度是最為直觀的指標(biāo),也就是準(zhǔn)確率。accuracy=TP+TN上述公式表示的為所有樣本都正確分類的概率。3.3.2損失函數(shù)值損失函數(shù)表示一個循環(huán)神經(jīng)網(wǎng)絡(luò)模型對相應(yīng)數(shù)據(jù)集進行訓(xùn)練學(xué)習(xí)后的擬合程度。總體上來說,模型的損失函數(shù)值越小,則表示該循環(huán)神經(jīng)網(wǎng)絡(luò)模型對數(shù)據(jù)的擬合程度越高,模型的魯棒性能較好。同時也希望,當(dāng)損失函數(shù)值較大時,神經(jīng)網(wǎng)絡(luò)模型擁有較大的梯度有利于在梯度下降過程中加快更新速度。常用的損失函數(shù)值有:MSE損失函數(shù)、log損失函數(shù)、CrossEntropy、交叉熵等(黃志濤,王曉云,2019)。從這些規(guī)則中看出本文選用了對數(shù)似然損失函數(shù)。其公式如下:Loss=y.logal3.4改進循環(huán)神經(jīng)網(wǎng)絡(luò)效果對比分析根據(jù)額外門控運算理論推導(dǎo),先利用Mnist數(shù)據(jù)集對搭建好的各種循環(huán)神經(jīng)網(wǎng)絡(luò)模型(LSTM、GRU、改進后的LSTM)進行訓(xùn)練,初步驗證改進后的效果。對比各個模型對Minst數(shù)據(jù)集訓(xùn)練后的損失函數(shù)值和測試精度,來判斷各個模型的優(yōu)劣。一般而言小的損失函數(shù)值和高的測試精度,代表較高的網(wǎng)絡(luò)模型學(xué)習(xí)能力(鄭子墨,趙宇和,2020)。在數(shù)據(jù)搜集階段,本文運用了多種數(shù)據(jù)渠道,以實現(xiàn)數(shù)據(jù)的相互支持和驗證,同時應(yīng)用規(guī)范化流程來減少數(shù)據(jù)采集的主觀影響。根據(jù)下述圖表,顯然可以看出改進額外門控運算后的LSTM對數(shù)據(jù)的適應(yīng)性更好。表3.1LSTM模型的函數(shù)誤差及準(zhǔn)確率值訓(xùn)練次數(shù)2004006008001000120014001600Accuracy0.58590.82030.78910.84380.85940.92970.92190.9219loss1.43970.69860.60270.48570.46600.25930.32890.2060表3.2GRU模型的函數(shù)誤差及準(zhǔn)確率值訓(xùn)練次數(shù)2004006008001000120014001600Accuracy0.53130.64840.77340.84380.89840.90630.89060.9219loss1.51681.13390.66730.59030.36840.32720.33700.3402表3.3改進后的LSTM函數(shù)誤差及準(zhǔn)確率值訓(xùn)練次數(shù)2004006008001000120014001600Accuracy0.14840.16410.34380.66410.8750.8750.90630.9531loss2.30232.30081.64601.06450.53980.39770.32620.1800圖3.3不同循環(huán)神經(jīng)網(wǎng)絡(luò)模型準(zhǔn)確率對比圖圖3.4不同激活函數(shù)損失值對比圖由Minst數(shù)據(jù)集訓(xùn)練模型驗證可見,改進的額外門控運算LSTM神經(jīng)網(wǎng)絡(luò)模型在迭代1600次后的損失函數(shù)值為0.18左右,這在一部分程度上揭示了精確度在0.95左右,相比與原有的LSTM神經(jīng)網(wǎng)絡(luò)模型和GRU神經(jīng)網(wǎng)絡(luò)模型,不僅在精確度上有所提高,在損失值上也有所降低。因此,可得出結(jié)論改進的額外門控運算可以提高神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)性能。但是由于引入了額外門控運算,這在某種程度上表征神經(jīng)網(wǎng)絡(luò)模型在學(xué)習(xí)速率上明顯有所下降,網(wǎng)絡(luò)需要更多的迭代次數(shù)才能達到優(yōu)于原有網(wǎng)絡(luò)的精確度與損失函數(shù)值(胡雨婷,張澤宇,2022)。本文還對研究過程中潛在的誤差進行了敏感性分析,進一步增強了研究結(jié)果的穩(wěn)定性。創(chuàng)新點在于觀察角度的轉(zhuǎn)換,尤其是針對研究目標(biāo)的新穎解讀。4.改進的循環(huán)神經(jīng)網(wǎng)絡(luò)故障診斷應(yīng)用研究4.1故障診斷流程基于循環(huán)神經(jīng)網(wǎng)絡(luò)的故障診斷框架主要分為五個階段:定義狀態(tài)階段,對故障狀態(tài)進行定義(許怡然,劉文靜,2022)。數(shù)據(jù)預(yù)處理階段,將數(shù)據(jù)進行清理、分割、重構(gòu)、歸一化、去噪等處理,并將數(shù)據(jù)集分為訓(xùn)練集和測試集。訓(xùn)練階段,構(gòu)建整體網(wǎng)絡(luò)模型,訓(xùn)練分類模型,最后進行微調(diào)。測試階段,利用測試集測試訓(xùn)練好的模型。診斷結(jié)果評估階段,確定故障類型,并對診斷結(jié)果進行評估。圖4.1故障診斷基本框架4.2數(shù)據(jù)來源通過查閱故障數(shù)據(jù)相關(guān)文獻,最終選擇了美國凱斯西儲大學(xué)(CaseWesternReserveUniversity,CWRU)開源提供的軸承故障數(shù)據(jù)集。本文中所用的部分?jǐn)?shù)據(jù)集文件如圖4.2所示。因為該數(shù)據(jù)文件中包含了處于當(dāng)前狀態(tài)下軸承相應(yīng)振動信號的時序數(shù)據(jù),因此有利于循環(huán)神經(jīng)網(wǎng)絡(luò)的故障診斷研究展開(范志偉,王凱旋,2021)。該段內(nèi)容的創(chuàng)新點在于其視角的革新,尤其在于對研究對象的深度審視。傳統(tǒng)研究習(xí)慣于聚焦于對象的核心特征和直接聯(lián)系,而本文則深入挖掘了那些不太受關(guān)注的邊緣屬性和隱蔽的聯(lián)系。圖4.2部分?jǐn)?shù)據(jù)集圖該數(shù)據(jù)集中一共采集了軸承主要發(fā)生的三類故障,包括內(nèi)圈(InnerRace)、外圈(OuterRace)以及滾動體(Ball)。從這些資料中可看出圖4.2中文件采用了英文的頭文字進行簡寫,同時007、014以及021代表不同的故障輕重程度,也就是故障直徑為7密耳、14密耳和21密耳(蔣梓萱,陳宇彤,2022)。由于軸承一些故障的產(chǎn)生可能需要許多年時間的累積,因此該數(shù)據(jù)集采集時采用了人工注入故障的方法——利用電火花技術(shù),將單點故障引入到軸承的適當(dāng)位置上。如圖4.3所示,模擬實驗臺由四部分組成,除去圖中所示儀器,還包括一個電子控制器對圖中器件進行操作控制。為保障研究結(jié)果的可靠性和可信度,本文最初廣泛收集國內(nèi)外相關(guān)領(lǐng)域的文獻資料,系統(tǒng)梳理了當(dāng)前研究的前沿發(fā)展和理論依據(jù)。實驗中,在此特定環(huán)境中審視不難看出其本質(zhì)加速度傳感器通過磁性底座安裝在電機殼體的驅(qū)動端和風(fēng)扇端12點鐘位置的機殼上,并將其利用來采集振動信號。由于外圈故障相對來說比較固定,這在一定水平上揭露其損傷點一般就是它的載荷位置,因此實驗時正在外圈3點鐘、6點鐘以及12點鐘位置設(shè)置損傷點,數(shù)據(jù)集文件中的OuterRace12就是12點鐘方向的故障(高欣怡,李星宇,2021)。在研究設(shè)計階段,本文精心設(shè)計科學(xué)合理的研究框架,確保研究問題明確且有價值,研究假設(shè)合理且有依據(jù)。圖4.3滾動軸承故障模擬實驗臺實物圖圖4.4深溝球軸承圖其中振動信號的獲取,是利用DAT記錄儀保存的,該儀器為16通道。數(shù)字信號的采樣頻率包括12khz和48khz,而驅(qū)動端軸承故障數(shù)據(jù)則以48khz的速率進行采集,并在采集完成后通過MATLAB進行處理。在此類環(huán)境中因此,數(shù)據(jù)集的文件格式最終為mat。數(shù)據(jù)集文件中所含英文變量,含義如下表4.1數(shù)據(jù)集文件變量含義注釋表DE-driveendaccelerometerdata驅(qū)動端的加速度數(shù)據(jù)FE-fanendaccelerometerdata風(fēng)扇端的加速度數(shù)據(jù)BA-baseaccelerometerdata基礎(chǔ)的加速度數(shù)據(jù)time-timeseriesdata時間序列數(shù)據(jù)RPM-rpmduringtesting測試時轉(zhuǎn)速4.3數(shù)據(jù)的選取與處理確定實驗使用的數(shù)據(jù)集為CWRU軸承數(shù)據(jù)集后,需要對數(shù)據(jù)文件中的參數(shù)進行詳細分析,進而才可以理解每種數(shù)據(jù)實際所代表的含義以及獲取診斷所需數(shù)據(jù),才可以選擇合適的能進行故障診斷分類的數(shù)據(jù)(朱曉東,王子鳴,2022)。在這般的框架下以本次選用的數(shù)據(jù)文件IR021_0為例說明文件參數(shù)含義,IR代表故障發(fā)生在驅(qū)動端內(nèi)圈故障,12KDE和48KDE代表采集這個數(shù)據(jù)時所用的采集頻率,021代表該故障軸承的直徑為21,0則代表實驗時電機轉(zhuǎn)速為1797RPM。本文采用最新數(shù)據(jù)來識別數(shù)據(jù)中的潛在模式,或利用決策樹模型來預(yù)測未來動向。這些前沿方法為深刻剖析復(fù)雜現(xiàn)象提供了強大助力,并有助于揭示隱藏在海量數(shù)據(jù)中的深層聯(lián)系。循環(huán)神經(jīng)網(wǎng)絡(luò)訓(xùn)練所需要的數(shù)據(jù)從不同軸承數(shù)據(jù)集中選取,一共選用了10中狀態(tài)數(shù)據(jù),包括一種正常狀態(tài)下的數(shù)據(jù),從這些條件可以體會到和三種直徑不同且在三個不同的位置發(fā)生,3*3排列組合成9種故障狀態(tài)的數(shù)據(jù)。所采用的數(shù)據(jù)都是從驅(qū)動端DE進行采集。要進行分類的軸承故障數(shù)據(jù)包含的十種狀態(tài)如表4.2所示。各個狀態(tài)數(shù)據(jù)采用的都是振動信號,從這些方法中看出且各狀態(tài)數(shù)據(jù)為時間序列數(shù)據(jù),在實驗過程中按時間順序在各種時間點進行采集,可以反映出采樣點的振動信號隨著時間的推移而逐步變化,當(dāng)采樣點的故障狀態(tài)和頻率不同時,在這種模式下其相應(yīng)的振動信號數(shù)據(jù)也會隨之變化,數(shù)據(jù)之間的差異反映了這一點(徐昊天,王麗萍,2020)。盡管本研究已取得一些初步成果,但要對所有結(jié)論進行全面且細致的核實,還需更長時間的跟蹤研究和反復(fù)實驗。因為該數(shù)據(jù)集的時間序列性,充分滿足了循環(huán)神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練學(xué)習(xí),所以選用該數(shù)據(jù)集進行訓(xùn)練驗證測試。表4.2軸承數(shù)據(jù)種類示意圖分類識別選擇的十種軸承狀態(tài)軸承正常軸承外圈+故障直徑0.007英寸軸承外圈+故障直徑0.014英寸軸承外圈+故障直徑0.021英寸軸承滾動體+故障直徑0.007英寸軸承滾動體+故障直徑0.014英寸軸承滾動體+故障直徑0.021英寸軸承滾動體+故障直徑0.007英寸軸承滾動體+故障直徑0.014英寸軸承滾動體+故障直徑0.021英寸在這等環(huán)境下利用MATLAB訪問文件內(nèi)容可以發(fā)現(xiàn),該數(shù)據(jù)集的時間故障序列數(shù)據(jù)中每個都有122571個故障數(shù)據(jù),而為了方便模型的訓(xùn)練學(xué)習(xí)要將數(shù)據(jù)處理為向量矩陣,因此從每個數(shù)據(jù)集中選用120000個相同時間點所采集的數(shù)據(jù),并對其進行歸一化處理。首先將每種故障類型的120000個數(shù)據(jù)分為300個樣本,在這種場景中并將每個樣本中的400個數(shù)據(jù)排列由最初的[400,1]處理成[20,20]的矩陣形式,并將樣本集和矩陣內(nèi)部數(shù)據(jù)進行打亂重新排列,最后按9:1將子圖片集分為270個訓(xùn)練集和30個測試集(郭鵬飛,劉靜雅,2022)在數(shù)據(jù)代碼調(diào)用過程中,本文利用scipy函數(shù)庫來對mat格式的數(shù)據(jù)文件進行讀取,B是指驅(qū)動端滾動體故障,IR是指驅(qū)動端內(nèi)圈故障,021是指軸承直徑為21。數(shù)據(jù)處理代碼見附錄1。4.4改進循環(huán)神經(jīng)網(wǎng)絡(luò)軸承故障診斷應(yīng)用研究4.4.1已有循環(huán)神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練和測試使用循環(huán)神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)對之前已經(jīng)處理完畢的CWRU軸承故障數(shù)據(jù)集的驅(qū)動端采樣數(shù)據(jù)進行故障診斷及分類,從這些反饋中感知到其中訓(xùn)練集和測試集按9:1分為108000個和12000個,而目前已有的涉及到門結(jié)構(gòu)的循環(huán)神經(jīng)網(wǎng)絡(luò)模型有LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)和GRU循環(huán)神經(jīng)網(wǎng)絡(luò)??蚣苣P偷囊粋€關(guān)鍵特點是它具備出色的靈活性和擴展性??紤]到研究環(huán)境和目標(biāo)的多樣性,本文在設(shè)計時強調(diào)了各組件的模塊化,讓使用者可以根據(jù)需要靈活地對某些部分進行調(diào)整或替代,而不影響整體架構(gòu)的穩(wěn)健性和效率??紤]到實驗電腦的性能以及訓(xùn)練時間長度,每次實驗讓構(gòu)建好的循環(huán)神經(jīng)網(wǎng)絡(luò)模型利用軸承故障訓(xùn)練集進行3000次訓(xùn)練,在此特定狀態(tài)下事情的發(fā)展顯而易見每進行500次訓(xùn)練,利用測試集對訓(xùn)練完成的各種循環(huán)神經(jīng)網(wǎng)絡(luò)模型開展驗證測試,輸出相應(yīng)的損失函數(shù)值和測試準(zhǔn)確率(彭志華,王雪梅,2021)。(1)LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)首先利用LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)對處理好的軸承故障數(shù)據(jù)集進行故障診斷,下表是每進行500次訓(xùn)練,利用測試集驗證后輸出的損失函數(shù)值及測試準(zhǔn)確率。表4.3LSTM故障診斷分類結(jié)果表訓(xùn)練次數(shù)損失函數(shù)值測試準(zhǔn)確率5001.43120.079910001.22110.400115001.18830.430020001.13090.479925001.20690.569930001.29270.6000圖4.5LSTM損失函數(shù)值變化圖圖4.6LSTM測試準(zhǔn)確率變化圖分析上述圖標(biāo)可以得出,利用LSTM進行故障診斷分類的損失函數(shù)值約為1.2,測試準(zhǔn)確率約為0.60。同時可以明顯看出,在前1500步訓(xùn)練中,模型的訓(xùn)練效果不佳,致使測試效果并不理想,這清楚地揭示了真相但隨著訓(xùn)練的繼續(xù)進行,測試準(zhǔn)確率總體呈現(xiàn)隨之上升的趨勢,最后保持在0.6的準(zhǔn)確率,而函數(shù)損失值一直維持在1.2左右水平(孫梓萱,高宇翔,2022)。通過深入分析研究對象的內(nèi)在結(jié)構(gòu)和運作機制,本研究不僅吸收了章教授提出的多層次、多角度審視問題的方法論,還進一步將這些理念應(yīng)用于具體實踐中以確保研究結(jié)果的全面性和準(zhǔn)確性。(2)GRU循環(huán)神經(jīng)網(wǎng)絡(luò)接著利用GRU循環(huán)神經(jīng)網(wǎng)絡(luò)對處理好的軸承故障數(shù)據(jù)集進行故障診斷,下表是每進行500次訓(xùn)練,利用測試集驗證后輸出的損失函數(shù)值及測試準(zhǔn)確率。表4.4Tanh故障診斷分類結(jié)果表訓(xùn)練次數(shù)損失函數(shù)值測試準(zhǔn)確率5001.70120.059910001.43330.270015001.42540.340020001.46140.379925001.49550.389930001.46990.4099圖4.7GRU損失函數(shù)值變化圖圖4.8GRU測試準(zhǔn)確率變化圖從上圖可以看出,雖然GRU的準(zhǔn)確度總體隨著神經(jīng)網(wǎng)絡(luò)訓(xùn)練的進行,在不斷平穩(wěn)上升,但最終只有僅僅0.4的測試準(zhǔn)確率,同時函數(shù)損失值平均維持在1.5,也略微高于LSTM神經(jīng)網(wǎng)絡(luò)。從這些對話中看出因此可以得出,GRU對門結(jié)構(gòu)的調(diào)整減少了信息處理,雖然加快了收斂學(xué)習(xí)速度,但不適合循環(huán)神經(jīng)網(wǎng)絡(luò)對軸承故障進行診斷分類(鄧宇晴,羅振東,2022)。該結(jié)果與本文最初預(yù)計的研究成果一致,表明了研究方向的準(zhǔn)確性。這種一致性說明了本文在研究設(shè)計初期設(shè)定的目標(biāo)和假設(shè)是基于堅實的理論基礎(chǔ)。對比兩種神經(jīng)網(wǎng)絡(luò),可以明顯看出LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)對軸承故障診斷分類的訓(xùn)練效果更好,在3000步的時候網(wǎng)絡(luò)測試準(zhǔn)確度已經(jīng)達到0.6且仍保持上升趨勢,因此可以推斷隨著訓(xùn)練的繼續(xù)進行,最終能達到0.7的測試準(zhǔn)確度。同時可以發(fā)現(xiàn),隨著訓(xùn)練的進行,從這些信息中可以看出每種網(wǎng)絡(luò)的故障診斷準(zhǔn)確度都呈現(xiàn)上升趨勢,而函數(shù)損失值則在一定范圍內(nèi)不斷波動,可以看出訓(xùn)練過程中或多或少會產(chǎn)生一些不可避免的擾動(蔡紫薇,馬騰飛,2023)。4.4.2改進LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)訓(xùn)練和測試改進的LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)模型是在LSTM的模型結(jié)構(gòu)上進行調(diào)整,改進了LSTM前的額外門控循環(huán),并將門控運算中的Sigmoid函數(shù)調(diào)整為tanh函數(shù),使額外門控運算能更好的的處理軸承故障數(shù)據(jù),減少梯度爆炸現(xiàn)象產(chǎn)生。下表是該模型測試的損失函數(shù)值和準(zhǔn)確度(徐博文,王欣怡,2022)。表4.6改進后LSTM故障診斷分類結(jié)果表訓(xùn)練次數(shù)損失函數(shù)值測試準(zhǔn)確率5001.44480.469910001.18610.759915001.27960.759920001.45470.769925001.56960.769930001.48710.7699圖4.9改進后LSTM損失函數(shù)值變化圖圖4.10改進后LSTM測試準(zhǔn)確率變化圖4.5不同循環(huán)神經(jīng)網(wǎng)絡(luò)故障診斷效果對比分析隨著循環(huán)神經(jīng)網(wǎng)絡(luò)的發(fā)展,已經(jīng)能較好地應(yīng)用在軸承故障數(shù)據(jù)診斷分類領(lǐng)域中,循環(huán)神經(jīng)網(wǎng)絡(luò)中的隱藏層是互相有連接的,這明顯地揭示了意圖致使前后輸出相關(guān)聯(lián),并且存在共享特性。同時,由于循環(huán)神經(jīng)網(wǎng)絡(luò)特殊的時間結(jié)構(gòu)共享性,因此在對擁有長時間序列性的數(shù)據(jù)進行處理時,使得神經(jīng)網(wǎng)絡(luò)能更加自由且動態(tài)地獲取輸出信息,因此在對擁有時間序列的軸承故障數(shù)據(jù)進行診斷分類時,運用循環(huán)神經(jīng)網(wǎng)絡(luò)具有很大的優(yōu)勢。因此,本文能夠更快捷地準(zhǔn)備好用于分析的數(shù)據(jù)集合,同時降低了由于復(fù)雜步驟導(dǎo)致的錯誤發(fā)生概率。綜合函數(shù)損失值和準(zhǔn)確度,對上述不同循環(huán)神經(jīng)網(wǎng)絡(luò)模型的故障診斷分類效果進行考慮分析,如圖4.11所示,LSTM、GRU和改進的LSTM三者的函數(shù)損失值,都相差無幾。LSTM和GRU的函數(shù)損失值基本穩(wěn)定在一定范圍內(nèi)上下波動,而改進后的LSTM由于添加了改進的額外門控運算后,在此可以看出致使輸入經(jīng)過一定的運算致使輸入的信息有些許損失,最終造成函數(shù)損失的波動范圍較大(林曉東,趙瑤慧,2021)。圖4.11不同循環(huán)神經(jīng)網(wǎng)絡(luò)函數(shù)損失值比較圖圖4.12不同循環(huán)神經(jīng)網(wǎng)絡(luò)測試準(zhǔn)確率比較圖對比LSTM和GRU的準(zhǔn)確度可以看出,GRU將更新門和遺忘門結(jié)合在一起,減少了參數(shù)量,從而減少了過擬合的風(fēng)險,從圖中可以看出GRU的準(zhǔn)確度增長較為穩(wěn)定,程平滑的曲線緩慢上升,這在一定范圍內(nèi)體現(xiàn)了但也正是因為減少了參數(shù),從而導(dǎo)致特征采集不充分致使GRU的故障診斷分類準(zhǔn)確率較低。而相比之下,LSTM雖然曲線上身比較波動,但是卻擁有較高的準(zhǔn)確率,且提升訓(xùn)練收斂速率要遠遠快于GRU。從整個測試實驗結(jié)果來看,在改進額外門控運算后LSTM對故障診斷分類的準(zhǔn)確度相比于LSTM和GRU循環(huán)神經(jīng)網(wǎng)絡(luò)有了極大的提升。利用現(xiàn)有的理論框架對一些理論成果進行了驗證,結(jié)果顯示出這些理論不僅在概念層面上有強解釋力,在實際應(yīng)用中也表現(xiàn)出良好的適應(yīng)性和有效性。改進的額外門控運算的目的是為了顯著地加強上下文的信息關(guān)聯(lián),這也是原始的LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)模型所存在的問題,因為上下文信息的缺少,這在某種程度上暗示了導(dǎo)致LSTM無法對有效特征進行很好地訓(xùn)練學(xué)習(xí),而額外門控運算在很大程度上降低了分類的難度,從而加快了模型的學(xué)習(xí)速度及收斂速度,不僅能在短時間達到較高準(zhǔn)確度,且具有較好的魯棒性(高雨晨,蘇逸凡,2020)。在本文研究中,由于采用的數(shù)據(jù)是具有時間序列性的軸承故障數(shù)據(jù)集,因此,循環(huán)神經(jīng)網(wǎng)絡(luò)在對其進行故障診斷分析時具有更大的優(yōu)勢,同時,改進的額外門控運算LSTM網(wǎng)絡(luò),對輸入進行了一定的提取壓縮處理,這在一部分程度上揭示了對準(zhǔn)確度和收斂速度的提高起了至關(guān)重要的作用。因此在對時序軸承故障數(shù)據(jù)進行診斷分類時,改進的門控額外運算LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)模型會有著極其顯著的效果。結(jié)論與展望本文以循環(huán)神經(jīng)網(wǎng)絡(luò)的軸承故障診斷研究問題為方向,深入研究了循環(huán)神經(jīng)網(wǎng)絡(luò)的重要改進方法即門結(jié)構(gòu)的引入,并基于前人的想法由此對循環(huán)神經(jīng)網(wǎng)絡(luò)進行門結(jié)構(gòu)改進。在對網(wǎng)絡(luò)模型進行改進后,基于改進的網(wǎng)絡(luò)模型對軸承故障數(shù)據(jù)進行診斷分類技術(shù)研究,并分析對比了原有循環(huán)神經(jīng)網(wǎng)絡(luò)LSTM和GRU網(wǎng)絡(luò)與改進后的LSTM網(wǎng)絡(luò)的故障診斷分類效果,為循環(huán)神經(jīng)網(wǎng)絡(luò)在故障診斷領(lǐng)域中的應(yīng)用提供了新的思路。本文具體有以下幾點研究成果:(1)面對日益復(fù)雜的工業(yè)設(shè)備,傳統(tǒng)技術(shù)無法高效獲取并處理故障信息,故障診斷的精確度無法在滿足日益發(fā)展的工業(yè),這在一定程度上預(yù)示針對這些問題,本文通過循環(huán)神經(jīng)網(wǎng)絡(luò)對故障數(shù)據(jù)進行診斷與分類,并通過CWRU軸承故障數(shù)據(jù)集來進行測試故障診斷的實際應(yīng)用效果。(2)通過對深度學(xué)習(xí)的了解,查閱大量文獻后,根據(jù)門結(jié)構(gòu)對循環(huán)神經(jīng)網(wǎng)絡(luò)的改進,提出在LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)中改進其外部的額外門控循環(huán),彌補精確度較低的不足,并利用MINST數(shù)據(jù)集進行改進有效性驗證。(3)通過搭建好的各種循環(huán)神經(jīng)網(wǎng)絡(luò)模型對軸承數(shù)據(jù)的9種故障狀態(tài)數(shù)據(jù)進行診斷及分類,并通過函數(shù)損失值和測試準(zhǔn)確度兩個判斷指標(biāo)對比各種循環(huán)神經(jīng)網(wǎng)絡(luò)在故障診斷領(lǐng)域之中的應(yīng)用效果,并對循環(huán)神經(jīng)網(wǎng)絡(luò)在故障領(lǐng)域中的應(yīng)用提出建議。在現(xiàn)代工業(yè)系統(tǒng)可靠性與安全性中,深度學(xué)習(xí)已經(jīng)成為了未來發(fā)展研究的主流,并且在故障診斷領(lǐng)域取得了大量成果。正如本文所述,循環(huán)神經(jīng)網(wǎng)絡(luò)在故障診斷的應(yīng)用上有極大的優(yōu)勢,但同時也仍然面領(lǐng)著許多問題,這在某種意義上表明了精確度的提高以及函數(shù)損失值的降低仍然是重中之重。本文的研究內(nèi)容因為時間有限也還存在不足之處,后續(xù)的研究可以從以下三個方面開展:(1)在故障診斷領(lǐng)域中,擁有時間序列的數(shù)據(jù)仍然很少,因此需要對數(shù)據(jù)進行獲取,在故障數(shù)據(jù)采集中引入時間序列,以此利于循環(huán)神經(jīng)網(wǎng)絡(luò)在故障診斷領(lǐng)域中的發(fā)展。(2)GRU循環(huán)神經(jīng)網(wǎng)絡(luò)在故障領(lǐng)域中的學(xué)習(xí)能力較弱,可以利用改進LSTM的方法在GRU神經(jīng)網(wǎng)絡(luò)模型中引入額外門控運算,提高GRU的訓(xùn)練學(xué)習(xí)能力和收斂速度。(3)使用更多種類的故障診斷數(shù)據(jù)集來對神經(jīng)網(wǎng)絡(luò)模型進行訓(xùn)練,從而提高神經(jīng)網(wǎng)絡(luò)模型的泛化能力,使改進后的循環(huán)神經(jīng)網(wǎng)絡(luò)模型可以在故障診斷領(lǐng)域中通用。參考文獻[1]蔣強,沈林,張偉,何旭.基于深度學(xué)習(xí)的故障診斷方法研究[J].計算機仿真,2018,7(1):409-413.[2]李華東,王志宏.基于深度學(xué)習(xí)在故障診斷方法綜述[J].電子與信息學(xué)報,2020,42(1):234-248.[3]張文博,劉玉婷.基于深度學(xué)習(xí)的故障診斷技術(shù)研究[D].哈爾濱工業(yè)大學(xué),2018.[4]LecunY,BengioY,HintonG.Deeplearning[J].Nature,2015,521(7553):436-444.[5]陳凱琳,王俊杰.基于深度學(xué)習(xí)的故障診斷方法研究綜述[J].電子測試,2020,(18):43-47.[6]林曉東,趙瑤慧.深度學(xué)習(xí)在故障診斷中的研究綜述[J].新型工業(yè)化,2017,7(4):45-48.[7]高雨晨,蘇逸凡.基于改進堆疊式循環(huán)神經(jīng)網(wǎng)絡(luò)的軸承故障診斷[J].同濟大學(xué)學(xué)報,2019,47(10)1500-1507.[8]孫佳怡,胡建國.卷積神經(jīng)網(wǎng)絡(luò)多變量過程特征學(xué)習(xí)與故障診斷[J].哈爾濱工業(yè)大學(xué)學(xué)報,2020,52(7):59-67.[9]楊昊宇,許心怡.基于深度置信網(wǎng)絡(luò)的煉化空壓機故障診斷方法[J].化工學(xué)報,201970(2):757-763.[10]鄭瑞宇,陳思思基于棧式自編碼器的變壓器機械故障診斷[J].高壓電器,2020,56(9):46-53,59.[11]趙子銘,孫天宇.棧式降噪自編碼網(wǎng)絡(luò)在變壓器故障診斷中的應(yīng)用[J].電測與儀表,2018,55(17):62-67.[12]李梓萱,高宇翔.基于LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)的盾構(gòu)機故障預(yù)測系統(tǒng)設(shè)計[J].現(xiàn)代機械,2018,(5):35-40.[13]王澤洋,朱玉潔.ConvolutionalNeuralNetwork-AidedTree-BasedBit-FlippingFrameworkforPolarDecoderUsingImitationLearning[J].I(高雨晨,蘇逸凡,2020)TransactionsonSignalProcessingI(高雨晨,蘇逸凡,2020)Trans.SignalProcess.SignalProcessing,I(高雨晨,蘇逸凡,2020)Transactionson.69:300-313202.[14]張宇和,劉丹萱g.Arecurrentneuralnetworkbasedhealthindicatorforremainingusefullifepredictionofbearings[J].Neurocomputing,2017,240:98-109.[15]JingweiQiu,WeiLiang,LaibinZhang,etal.Theearly-warningmodelofequipmentchainingaspipelinebasedonDNN-HMM[J].JofNaturalGasScienceandEngineering,2015,27:1710-1722.[16]LiaoK,ZhaoY,GuJ,ZhangY,ZhongY.SequentialConvolutionalRecurrentNeuralNetworksforFastAutomaticModulationClassification[J].I(高雨晨,蘇逸凡,2020)AccessAccess,I(高雨晨,蘇逸凡,2020).9:27182-271882021[17]黃志杰,李芷萱基于改進卷積神經(jīng)網(wǎng)絡(luò)的滾動軸承智能故障診斷研究[J].振動工程學(xué)報,2020,33(2):400-413.[18]田雪婷,吳俊宇.基于深度學(xué)習(xí)的軸承故障診斷研究[D].內(nèi)蒙古科技大學(xué),2020.[19]呂思遠,蔡佳琪.基于循環(huán)神經(jīng)網(wǎng)絡(luò)和蝙蝠算法的變壓器故障診斷[J].電工技術(shù),2018,(20):38-41[20]QinN,LiangK,HuangD,MaL,KempA.H.MultipleConvolutionalRecurrentNeuralNetworksforFaultIdentificationandPerformanceDegradationEvaluationofHigh-SpeedTrainBogie[J].I(高雨晨,蘇逸凡,2020)TransactionsonNeuralNetworksandLearning高澤林,周馨兒temsI(高雨晨,蘇逸凡,2020)Trans.NeuralNetw.Learning高澤林,周馨兒t.NeuralNetworksandLearning高澤林,周馨兒tems,I(高雨晨,蘇逸凡,2020)Transactionson.31(12):5363-5376Dec,2020.[21]ZhangC,LimP,QinAK,etal.Multiobjectivedeepbeliefnetworksensembleforremainingusefullifeestimationinprognostics[J].I(高雨晨,蘇逸凡,2020)TransactionsonNeuralNetworksandLearning高澤林,周馨兒tems,2016,28(10):2306-2318.[22]TalebiHA,KhorasaniK,TafazoliS,etal.Arecurrentneural-network-basedsensorandactuatorfaultdetectionandisolationfornonlinear高澤林,周馨兒temswithapplicationtothesatellite’sattitudecontrolsub高澤林,周馨兒tem[J].I(高雨晨,蘇逸凡,2020)TransonNeuralNetwork,2009,20(1):45-60.[23]陳小林,楊詩慧.基于改進EEMD的卷積神經(jīng)網(wǎng)絡(luò)滾動軸承故障診斷[J].重慶大學(xué)學(xué)報,2020,43(1):82-89.[24]NasserTalebi,MohammadAliSadrnia,AhmadDarabi.Robustfaultdetectionofwingenergyconversion高澤林,周馨兒temsbasedondynamicneu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論