徐英豪,朱習(xí)軍
(青島科技大學(xué)信息科學(xué)技術(shù)學(xué)院,山東 青島 266061)
隨著機(jī)械設(shè)備智能化的發(fā)展,螺栓安裝流程也越來越智能化,在安裝流程中的異常監(jiān)測(cè)已經(jīng)成為重要的研究?jī)?nèi)容。如何有效地提高異常檢測(cè)的準(zhǔn)確率以及發(fā)掘其應(yīng)用價(jià)值非常有意義[1]。
目前,國(guó)內(nèi)外研究中的機(jī)械設(shè)備診斷方法依賴于模仿專家對(duì)物體現(xiàn)有狀態(tài)和缺陷的分析策略[2],對(duì)于微小故障和早期故障檢測(cè)非常有效[3-4]。針對(duì)以上問題,以機(jī)器學(xué)習(xí)和高級(jí)的預(yù)處理作為主要的技術(shù)途徑,完善特征提取方法并建立一個(gè)具有共享權(quán)重矩陣的XGBoost 分類模型。通過對(duì)自動(dòng)螺栓裝配過程中形成的各類異常加以分析和對(duì)機(jī)械故障事件進(jìn)行智能監(jiān)測(cè)的方式,進(jìn)一步提高智能化裝備的組裝精度和降低故障事件的出現(xiàn),對(duì)于推進(jìn)中國(guó)智能制造的發(fā)展有著很大意義。
數(shù)據(jù)來自某汽配組裝廠,需要進(jìn)行如下步驟的簡(jiǎn)單數(shù)據(jù)預(yù)處理,如圖1 所示。
圖1 數(shù)據(jù)預(yù)處理流程
文中的目標(biāo)是對(duì)螺栓的異常狀態(tài)進(jìn)行分類[5-7],所以數(shù)據(jù)處理過程的第一步是將正常和異常的數(shù)據(jù)進(jìn)行二分類[8],二分類的準(zhǔn)確性對(duì)以后的異常狀態(tài)分類尤為關(guān)鍵。正常及異常的分類閾值表示如圖2 所示。
圖2 正常及異常的分類閾值
圖2 中數(shù)據(jù)的上下閾值是由灰色數(shù)據(jù)線上的兩條黑色線分別確定的。通過計(jì)算樣本曲線與閾值下界圍成的面積同上下閾值的面積比,來判斷異常數(shù)據(jù),以此來避免樣本中的單個(gè)特異值所引起的誤判,提高篩選數(shù)據(jù)的準(zhǔn)確性。經(jīng)過在多種場(chǎng)景下的不同實(shí)驗(yàn),將驗(yàn)證是否為正常值的面積比例閾值設(shè)定為標(biāo)準(zhǔn)面積的12%,閾值的上下界分別設(shè)定為樣本的三倍方差,能得到最精確的結(jié)果,精度為95.3%。異常分離準(zhǔn)確率如表1 所示。
表1 異常分離準(zhǔn)確率
至此,異常樣本數(shù)據(jù)抽取[9-11]完成,后續(xù)得以在此基礎(chǔ)上進(jìn)行下一步特征提取、模型建立等其他工作。
傳統(tǒng)的特征提取方式[12-14]主要選擇與扭矩相對(duì)應(yīng)的角度值作為特征,這樣的特征有礙模型訓(xùn)練,造成分類效果差的問題。因此,文中選取了由扭矩與角度組成的曲線為研究特征,并通過分析基于曲線的相關(guān)特征,采用了諸如偏度、峰度和變異系數(shù)等12 種相關(guān)特征并運(yùn)用XGBoost 算法在特征提取方法數(shù)據(jù)集中選擇12 個(gè)相關(guān)特征,顯示單個(gè)特征對(duì)預(yù)測(cè)結(jié)果的影響,并顯示影響排名。原始特征貢獻(xiàn)率如圖3 所示。
圖3 原始特征貢獻(xiàn)率
為優(yōu)化特征提取方式,提高模型的運(yùn)算效率,并減少數(shù)據(jù)冗余,進(jìn)行主成分分析,降維后得到了七個(gè)特征[15]。其次再次應(yīng)用XGBoost 方法進(jìn)行特征提取,從數(shù)據(jù)集中選出對(duì)預(yù)測(cè)結(jié)果最重要的七個(gè)特征,并得到影響排名,如圖4 所示。事實(shí)證明,每個(gè)特征對(duì)分類結(jié)果的貢獻(xiàn)在七個(gè)維度上基本恒定,可作為模型訓(xùn)練的數(shù)據(jù)集。
圖4 降維后特征貢獻(xiàn)率
XGBoost 方法是GB 算法的樹狀版本,其中GDBT 對(duì)應(yīng)于上一輪擬合損失函數(shù)的一階導(dǎo)數(shù)。XGBoost 執(zhí)行的是二階泰勒擴(kuò)展,使之具有更高的精度和更少的迭代次數(shù),以獲得更好的訓(xùn)練效果。此外,該策略在處理高緯度特征數(shù)據(jù)和多分類問題時(shí)存在參數(shù)過多、不易收斂、訓(xùn)練不夠靈活的問題。
文中針對(duì)多層分類模型[16]之間無法學(xué)到相互依賴關(guān)系的問題,采用新增共享權(quán)重矩陣的方法,使XGBoost 模型在減少參數(shù)量的同時(shí)可以關(guān)注模型間的內(nèi)在依賴關(guān)系。為了解決不易收斂、訓(xùn)練不夠靈活的問題,考慮神經(jīng)網(wǎng)絡(luò)反向傳播中的梯度下降策略,改進(jìn)損失函數(shù),優(yōu)化訓(xùn)練。
3.2.1 新增共享權(quán)重矩陣
通過新增共享權(quán)重矩陣wi,建立多層模型的層間關(guān)系,實(shí)現(xiàn)多層模型之間權(quán)重共享,以捕獲各類螺栓異常之間的內(nèi)在聯(lián)系,從而解決了原算法在XGBoost 模型的損失函數(shù)只計(jì)算單個(gè)內(nèi)部模型準(zhǔn)確率的問題。此外,使用共享權(quán)重矩陣一方面減少了權(quán)值數(shù)量,提高模型訓(xùn)練效率;另一方面降低了過擬合的風(fēng)險(xiǎn),提高了整個(gè)多層分類模型的分類性能。在訓(xùn)練模型時(shí),通過不斷迭代得到最優(yōu)分類模型和最優(yōu)參數(shù)共享權(quán)重矩陣wi。
3.2.2 損失函數(shù)優(yōu)化
設(shè)計(jì)了一種分類模型反向優(yōu)化迭代損失函數(shù),使得異常分類結(jié)果反饋到分類模型不斷進(jìn)行優(yōu)化,通過梯度下降反向求導(dǎo)的方式尋求最佳共享權(quán)重矩陣wi,解決了原算法在XGBoost 模型的殘差計(jì)算方法在不同分節(jié)點(diǎn)中選擇的不一定是最小平方損失的問題。
損失函數(shù)設(shè)計(jì)如下:
其中,xi為各個(gè)XGBoost 模型輸入向量,yi為模型輸出值是輸入向量xi和共享矩陣wi的乘積,yj為標(biāo)簽變量,Zji為針對(duì)整個(gè)模型內(nèi)部而言的具體損失值,Zji的數(shù)學(xué)表達(dá)如下:
當(dāng)誤差yj-yi小于1 時(shí),采用0.5(yj-yi)2來最小化;當(dāng)誤差yj-yi大于1 時(shí),采用|yj-yi|-0.5 來最小化。原損失函數(shù)訓(xùn)練時(shí)維持最大梯度不變,這使得當(dāng)階梯下降訓(xùn)練即將完成時(shí),錯(cuò)過了最小點(diǎn)。但針對(duì)Zji,梯度會(huì)由于損失的減少而下降,結(jié)果也隨著梯度的下降而到達(dá)了最小值附近,使結(jié)果更為準(zhǔn)確。Zji損失函數(shù)對(duì)數(shù)據(jù)中的異常點(diǎn)沒有那么敏感,具有更好魯棒性。
根據(jù)上述優(yōu)化方法設(shè)計(jì)了多層的分類模型。異常分析的尾部結(jié)合決策樹,根據(jù)異常結(jié)果對(duì)上層的分類模型驗(yàn)證反饋,不斷迭代優(yōu)化。在不同分類模型之間建立樹節(jié)點(diǎn)關(guān)系,保存每個(gè)節(jié)點(diǎn)的共享權(quán)重矩陣wi,并根據(jù)分類結(jié)果不斷反向優(yōu)化模型,根據(jù)預(yù)測(cè)值跟真實(shí)值之間的誤差不斷優(yōu)化wi,最終得到最佳wi。文中建立了三層異常分類模型,每層異常建立參數(shù)關(guān)系,可以通過訓(xùn)練結(jié)果前向反饋,異常分類結(jié)果反饋到第三層異常模型,第三層異常分類模型將結(jié)果反饋到第二層分類模型,以此類推,不斷調(diào)整參數(shù),得到最佳分類結(jié)果,保存訓(xùn)練模型。建立多層分類模型結(jié)構(gòu)如圖5 所示。
圖5 多層分類模型
文中使用某汽配螺栓廠人工標(biāo)注的樣本數(shù)據(jù),異常情況有滑絲、擰歪、粘連等六種,共20 000 條樣本數(shù)據(jù)進(jìn)行傳統(tǒng)機(jī)器學(xué)習(xí)分類方法與改進(jìn)特征提取和多層模型優(yōu)化方法對(duì)比,并使用k 折交叉驗(yàn)證的方式驗(yàn)證模型精度。
經(jīng)過特征提取和主成分分析等數(shù)據(jù)處理之后,特征值之間仍然存在很大差異,再對(duì)數(shù)據(jù)進(jìn)行歸一化操作,方便算法模型計(jì)算,提高運(yùn)算效率。然后將特征值數(shù)據(jù)輸入創(chuàng)建的多層分類模型,用優(yōu)化方法建立數(shù)學(xué)模型,并使用螺栓廠數(shù)據(jù)對(duì)分類模型進(jìn)行訓(xùn)練。再對(duì)訓(xùn)練好的分類器進(jìn)行評(píng)估后,獲得了圖6所示的六個(gè)分類結(jié)果。從結(jié)果可以明顯看出,各個(gè)分類差別明顯,不同異常所影響的范圍不同,但大體上集中在0°~7°范圍內(nèi),而在角度較大的工作條件下不易出現(xiàn)異常。同樣,實(shí)驗(yàn)結(jié)果表明,在0~400 N·m及2 200~3 300 N·m 的扭矩中,即使在角度較大的工作條件下,各類異常的出現(xiàn)也較為頻繁。而與之相對(duì)地,在角度大于7°的工作條件時(shí),控制扭矩在400~2 200 N·m 之間,即可有效避免六類異常。
圖6 多層分類模型分類結(jié)果
為了驗(yàn)證改進(jìn)的XGBoost 優(yōu)化算法是否具有更好的分類效果,在相同的實(shí)驗(yàn)環(huán)境和參數(shù)值下進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表2 所示??梢缘贸觯倪M(jìn)XGBoost 優(yōu)化算法在各指標(biāo)上都有不同程度的提高,這得益于改進(jìn)算法添加了共享權(quán)重矩陣,使得XGBoost 模型對(duì)于不同類型的異常檢測(cè)具有共用的底層權(quán)重,提高了對(duì)各類異常進(jìn)行分類的能力下限。同時(shí)應(yīng)用改進(jìn)的損失函數(shù),進(jìn)一步細(xì)化多層分類模型的層間權(quán)重,通過多次迭代可以進(jìn)一步實(shí)現(xiàn)對(duì)權(quán)重的微調(diào),達(dá)到提高準(zhǔn)確率的目的。對(duì)比原始XGBoost 分類模型,改進(jìn)模型的準(zhǔn)確率和召回率分別為0.896 和0.841。
表2 不同算法結(jié)果比較
文中實(shí)驗(yàn)比較了五種算法的接收者操作特征曲線,結(jié)果如圖7所示??梢钥闯?,改進(jìn)XGBoost分類模型的結(jié)果最優(yōu),計(jì)算曲線下面積值為0.966,對(duì)比其他算法提高了至少8.91%,具有較為突出的分類效果。
圖7 各分類模型ROC曲線
經(jīng)過實(shí)驗(yàn)發(fā)現(xiàn),對(duì)數(shù)據(jù)進(jìn)行特征提取優(yōu)化分析以及建立多層分類模型,添加優(yōu)化參數(shù)的XGBoost算法,提高了算法的精度,約為8%,通用性明顯增強(qiáng)。這表明提出方法在螺栓裝配過程中的曲線異常分類方面具有有效性和可行性。使用提出方法的分析結(jié)果對(duì)一線工作人員實(shí)施輔助檢查,對(duì)于降低設(shè)備故障率、提升設(shè)備穩(wěn)定性等方面都具有重要意義。
在工業(yè)大數(shù)據(jù)的背景下,研究螺栓裝配過程中的曲線變化規(guī)律,分析螺栓在裝配過程中角度和扭矩的對(duì)應(yīng)關(guān)系,提出基于數(shù)據(jù)和機(jī)器學(xué)習(xí)的多層異常分類模型,從多個(gè)方向分析曲線特征,建立適用于異常分類的數(shù)學(xué)模型,考慮到數(shù)據(jù)分布規(guī)律和曲線特征提出了獨(dú)特特征提取方式,通過反向誤差的方法優(yōu)化XGBoost 算法建立的異常分類模型。同時(shí),建立了一套數(shù)據(jù)處理、特征提取、建立模型、異常判斷和分類的異常診斷系統(tǒng)流程。與典型的機(jī)器學(xué)習(xí)分類方法相比,文中提出的方法將計(jì)算準(zhǔn)確率提高了大約8%,準(zhǔn)確率達(dá)到89.6%。