徐英豪,朱習軍
(青島科技大學信息科學技術學院,山東 青島 266061)
隨著機械設備智能化的發展,螺栓安裝流程也越來越智能化,在安裝流程中的異常監測已經成為重要的研究內容。如何有效地提高異常檢測的準確率以及發掘其應用價值非常有意義[1]。
目前,國內外研究中的機械設備診斷方法依賴于模仿專家對物體現有狀態和缺陷的分析策略[2],對于微小故障和早期故障檢測非常有效[3-4]。針對以上問題,以機器學習和高級的預處理作為主要的技術途徑,完善特征提取方法并建立一個具有共享權重矩陣的XGBoost 分類模型。通過對自動螺栓裝配過程中形成的各類異常加以分析和對機械故障事件進行智能監測的方式,進一步提高智能化裝備的組裝精度和降低故障事件的出現,對于推進中國智能制造的發展有著很大意義。
數據來自某汽配組裝廠,需要進行如下步驟的簡單數據預處理,如圖1 所示。

圖1 數據預處理流程
文中的目標是對螺栓的異常狀態進行分類[5-7],所以數據處理過程的第一步是將正常和異常的數據進行二分類[8],二分類的準確性對以后的異常狀態分類尤為關鍵。正常及異常的分類閾值表示如圖2 所示。

圖2 正常及異常的分類閾值
圖2 中數據的上下閾值是由灰色數據線上的兩條黑色線分別確定的。通過計算樣本曲線與閾值下界圍成的面積同上下閾值的面積比,來判斷異常數據,以此來避免樣本中的單個特異值所引起的誤判,提高篩選數據的準確性。經過在多種場景下的不同實驗,將驗證是否為正常值的面積比例閾值設定為標準面積的12%,閾值的上下界分別設定為樣本的三倍方差,能得到最精確的結果,精度為95.3%。異常分離準確率如表1 所示。

表1 異常分離準確率
至此,異常樣本數據抽取[9-11]完成,后續得以在此基礎上進行下一步特征提取、模型建立等其他工作。
傳統的特征提取方式[12-14]主要選擇與扭矩相對應的角度值作為特征,這樣的特征有礙模型訓練,造成分類效果差的問題。因此,文中選取了由扭矩與角度組成的曲線為研究特征,并通過分析基于曲線的相關特征,采用了諸如偏度、峰度和變異系數等12 種相關特征并運用XGBoost 算法在特征提取方法數據集中選擇12 個相關特征,顯示單個特征對預測結果的影響,并顯示影響排名。原始特征貢獻率如圖3 所示。

圖3 原始特征貢獻率
為優化特征提取方式,提高模型的運算效率,并減少數據冗余,進行主成分分析,降維后得到了七個特征[15]。其次再次應用XGBoost 方法進行特征提取,從數據集中選出對預測結果最重要的七個特征,并得到影響排名,如圖4 所示。事實證明,每個特征對分類結果的貢獻在七個維度上基本恒定,可作為模型訓練的數據集。

圖4 降維后特征貢獻率
XGBoost 方法是GB 算法的樹狀版本,其中GDBT 對應于上一輪擬合損失函數的一階導數。XGBoost 執行的是二階泰勒擴展,使之具有更高的精度和更少的迭代次數,以獲得更好的訓練效果。此外,該策略在處理高緯度特征數據和多分類問題時存在參數過多、不易收斂、訓練不夠靈活的問題。
文中針對多層分類模型[16]之間無法學到相互依賴關系的問題,采用新增共享權重矩陣的方法,使XGBoost 模型在減少參數量的同時可以關注模型間的內在依賴關系。為了解決不易收斂、訓練不夠靈活的問題,考慮神經網絡反向傳播中的梯度下降策略,改進損失函數,優化訓練。
3.2.1 新增共享權重矩陣
通過新增共享權重矩陣wi,建立多層模型的層間關系,實現多層模型之間權重共享,以捕獲各類螺栓異常之間的內在聯系,從而解決了原算法在XGBoost 模型的損失函數只計算單個內部模型準確率的問題。此外,使用共享權重矩陣一方面減少了權值數量,提高模型訓練效率;另一方面降低了過擬合的風險,提高了整個多層分類模型的分類性能。在訓練模型時,通過不斷迭代得到最優分類模型和最優參數共享權重矩陣wi。
3.2.2 損失函數優化
設計了一種分類模型反向優化迭代損失函數,使得異常分類結果反饋到分類模型不斷進行優化,通過梯度下降反向求導的方式尋求最佳共享權重矩陣wi,解決了原算法在XGBoost 模型的殘差計算方法在不同分節點中選擇的不一定是最小平方損失的問題。
損失函數設計如下:
其中,xi為各個XGBoost 模型輸入向量,yi為模型輸出值是輸入向量xi和共享矩陣wi的乘積,yj為標簽變量,Zji為針對整個模型內部而言的具體損失值,Zji的數學表達如下:
當誤差yj-yi小于1 時,采用0.5(yj-yi)2來最小化;當誤差yj-yi大于1 時,采用|yj-yi|-0.5 來最小化。原損失函數訓練時維持最大梯度不變,這使得當階梯下降訓練即將完成時,錯過了最小點。但針對Zji,梯度會由于損失的減少而下降,結果也隨著梯度的下降而到達了最小值附近,使結果更為準確。Zji損失函數對數據中的異常點沒有那么敏感,具有更好魯棒性。
根據上述優化方法設計了多層的分類模型。異常分析的尾部結合決策樹,根據異常結果對上層的分類模型驗證反饋,不斷迭代優化。在不同分類模型之間建立樹節點關系,保存每個節點的共享權重矩陣wi,并根據分類結果不斷反向優化模型,根據預測值跟真實值之間的誤差不斷優化wi,最終得到最佳wi。文中建立了三層異常分類模型,每層異常建立參數關系,可以通過訓練結果前向反饋,異常分類結果反饋到第三層異常模型,第三層異常分類模型將結果反饋到第二層分類模型,以此類推,不斷調整參數,得到最佳分類結果,保存訓練模型。建立多層分類模型結構如圖5 所示。

圖5 多層分類模型
文中使用某汽配螺栓廠人工標注的樣本數據,異常情況有滑絲、擰歪、粘連等六種,共20 000 條樣本數據進行傳統機器學習分類方法與改進特征提取和多層模型優化方法對比,并使用k 折交叉驗證的方式驗證模型精度。
經過特征提取和主成分分析等數據處理之后,特征值之間仍然存在很大差異,再對數據進行歸一化操作,方便算法模型計算,提高運算效率。然后將特征值數據輸入創建的多層分類模型,用優化方法建立數學模型,并使用螺栓廠數據對分類模型進行訓練。再對訓練好的分類器進行評估后,獲得了圖6所示的六個分類結果。從結果可以明顯看出,各個分類差別明顯,不同異常所影響的范圍不同,但大體上集中在0°~7°范圍內,而在角度較大的工作條件下不易出現異常。同樣,實驗結果表明,在0~400 N·m及2 200~3 300 N·m 的扭矩中,即使在角度較大的工作條件下,各類異常的出現也較為頻繁。而與之相對地,在角度大于7°的工作條件時,控制扭矩在400~2 200 N·m 之間,即可有效避免六類異常。

圖6 多層分類模型分類結果
為了驗證改進的XGBoost 優化算法是否具有更好的分類效果,在相同的實驗環境和參數值下進行了實驗,實驗結果如表2 所示??梢缘贸觯倪MXGBoost 優化算法在各指標上都有不同程度的提高,這得益于改進算法添加了共享權重矩陣,使得XGBoost 模型對于不同類型的異常檢測具有共用的底層權重,提高了對各類異常進行分類的能力下限。同時應用改進的損失函數,進一步細化多層分類模型的層間權重,通過多次迭代可以進一步實現對權重的微調,達到提高準確率的目的。對比原始XGBoost 分類模型,改進模型的準確率和召回率分別為0.896 和0.841。

表2 不同算法結果比較
文中實驗比較了五種算法的接收者操作特征曲線,結果如圖7所示??梢钥闯觯倪MXGBoost分類模型的結果最優,計算曲線下面積值為0.966,對比其他算法提高了至少8.91%,具有較為突出的分類效果。

圖7 各分類模型ROC曲線
經過實驗發現,對數據進行特征提取優化分析以及建立多層分類模型,添加優化參數的XGBoost算法,提高了算法的精度,約為8%,通用性明顯增強。這表明提出方法在螺栓裝配過程中的曲線異常分類方面具有有效性和可行性。使用提出方法的分析結果對一線工作人員實施輔助檢查,對于降低設備故障率、提升設備穩定性等方面都具有重要意義。
在工業大數據的背景下,研究螺栓裝配過程中的曲線變化規律,分析螺栓在裝配過程中角度和扭矩的對應關系,提出基于數據和機器學習的多層異常分類模型,從多個方向分析曲線特征,建立適用于異常分類的數學模型,考慮到數據分布規律和曲線特征提出了獨特特征提取方式,通過反向誤差的方法優化XGBoost 算法建立的異常分類模型。同時,建立了一套數據處理、特征提取、建立模型、異常判斷和分類的異常診斷系統流程。與典型的機器學習分類方法相比,文中提出的方法將計算準確率提高了大約8%,準確率達到89.6%。