王真心 蘇世杰
(江蘇科技大學機械工程學院 江蘇 鎮江 212003)
錨鏈由許多個鏈環連接而成,是一種用來抵消與緩沖船舶和海洋工程平臺所受外力的專用產品,其質量的優劣直接關系到相關人員的生命與財產安全。在錨鏈的生產過程中,閃光焊接是最重要的環節,直接決定了錨鏈的力學性能。對于錨鏈而言,即使只有一個鏈環因質量問題而產生斷裂,整條錨鏈便會失效,其帶來的損失將是巨大的[1]。
目前,主要通過出廠前的破斷試驗和拉力試驗來檢測錨鏈的質量。破斷試驗是指從錨鏈中抽取一定數量的試樣,對其施加相應的破斷載荷,若試樣出現斷裂的現象,則判定該錨鏈的質量不合格。拉力試驗是指對錨鏈施加相應的拉力載荷,并測量其試驗前后的長度,若永久伸長的長度超過原始長度的5%,則判定該錨鏈的質量不合格[2]。這種質量檢測方法雖然直接、可靠,但使得替換不合格鏈環的成本異常高昂,且新替換鏈環的力學性能很難與其他鏈環保持一致。
由于錨鏈閃光焊接的焊口被封閉在鏈環內部,很難在焊接過程中對氣孔、裂紋、夾渣等缺陷進行檢測。另外,錨鏈閃光焊接時會發生變形、燒化、氧化等一系列復雜的物理化學反應,具有高度非線性,很難建立一個精確的模型對其焊接質量進行檢測。對此,盧偉[3]基于模糊分類的理論,依靠經驗設置了焊接數據的波動范圍,當焊接數據超過合理范圍時則判定為不合格,該方法只能粗略地對焊接質量進行檢測,且具有很強的主觀性和不確定性。
近年來,深度學習的優勢逐漸體現,不僅突破了傳統機器學習的瓶頸,還進一步推動了人工智能的發展[4]。如今,深度學習在圖像識別、數據挖掘、計算機視覺、自然語言處理等領域都有著非常出色的表現,在質量檢測領域,深度學習同樣也得到了很好的應用。Moustapha等[5]利用循環神經網絡建立了一種動態模型,實現了對無線傳感器質量的檢測。劉輝海等[6]為了對風機齒輪箱的質量進行檢測,提出了一個基于深度自編碼網絡的模型,并利用玻爾茲曼機對參數進行預訓練。Shao等[7]通過深度置信網絡,準確地從復雜多樣的振動信號中識別出滾動軸承的缺陷。對于錨鏈閃光焊接的質量檢測,李俏[8]采用卷積神經網絡的方法進行判斷,雖在實驗中取得了較高的準確率,但忽略了實際生產中不合格樣本與合格樣本在數量上的不平衡問題,且不能持續地對新樣本進行學習。
數據不平衡的現象存在于人類生活的方方面面,而有用的往往是少數類。例如,在醫學疾病的診斷中,患病的數量遠小于正常的數量[9];在電信通信中,只有少數存在詐騙行為[10];在信用卡交易中,非法交易只占少部分[11]。在一些極端情況下,即使將所有的少數類都錯分,模型總體的準確率也會非常高,但這樣的分類結果是毫無意義的[12]。目前,針對數據不平衡問題,最簡單的方法有兩種:隨機欠采樣和隨機過采樣。隨機欠采樣通過減少多數類的樣本來消除不平衡,但容易忽略樣本中有用的信息。隨機過采樣通過復制少數類來增加樣本數量,模型容易產生過擬合。SMOTE(Synthetic Minority Over-sampling Technique)是一種使用較廣的采樣方法,通過合成樣本的方式使數據平衡[13]。
對于錨鏈閃光焊接來說,每天都有大量的新樣本產生,若使用傳統的批量學習來訓練模型,對時間和空間的需求也會逐漸增長。但是當樣本的數量非常龐大時,批量學習將無法完成模型的訓練,而增量學習的出現為此提供了一種新的解決思路。增量學習和人類自身的學習模式非常類似,在已有模型的基礎上,能夠不斷地學習新知識,并保留大部分已經學習到的舊知識[14]。
針對傳統的破斷試驗和拉力試驗不能及時準確地檢測錨鏈閃光焊接質量的問題,本文提出一種基于卷積神經網絡的檢測方法。將反映錨鏈閃光焊接過程變化的電極位置曲線和電流曲線作為研究對象,結合錨鏈閃光焊接的特點,提出一種新的采樣方法:最近鄰拼接采樣,使不合格樣本與合格樣本的數量相同。另外,對于新樣本采用增量學習的方式進行學習。為了驗證本文方法的有效性,對數據不平衡程度不同的樣本進行對比實驗,并比較批量學習和增量學習的分類效果。
閃光焊接是錨鏈生產中最為核心的工序,焊接過程中電極位置和電流的變化曲線如圖1所示。在預熱階段,電極位置和電流都是呈周期性變化。在連續閃光階段,電極位置的變化較為平穩,而電流上下波動。在頂鍛階段,電極位置先減小,并在一段時間內基本不變,最后變大,而電流在突然增大后驟減為零。錨鏈閃光焊接的流程如圖2所示,包含預熱、連續閃光和頂鍛3個階段[15]。

圖2 錨鏈閃光焊接的流程
(1) 預熱階段由前進S1、加熱S2、后退S3和均衡S4組成。當兩個電極夾緊焊件的兩端后,可動電極時進時退,前進時施加一定的力,使焊件的兩個端面接觸,形成短路并進行加熱,后退時使焊件的兩個端面遠離。在均衡階段,電極溫度向縱深方向進行擴散,形成一定深度的塑性變形溫度。重復這四個子階段,當達到設定的次數后,便進入連續閃光階段。
(2) 在連續閃光階段S5,焊件的兩個端面在可動電極的作用下靠近,形成許多細小的接觸點,接觸點在熔化的瞬間會激發電弧。隨著可動電極的持續前進,焊件的溫度升高,兩個端面之間不斷地有液態金屬顆粒噴射出來,從而形成閃光現象。為了得到連續穩定的閃光,需要控制好可動電極的速度。
(3) 頂鍛階段由有電頂鍛S6、無電頂鍛S7和復位S8組成。頂鍛剛開始時,可動電極會加速前進,并產生一個足夠大的頂鍛力,使兩個端面間的距離迅速縮小,閃光現象也會突然停止。在閃光過程中產生的氧化物雜質和液態金屬會被擠出,從而得到牢固的焊接接頭。最后,將可動電極復位,一個完整的錨鏈閃光焊接流程便完成了。
有經驗的焊接工程師往往能夠根據曲線中出現的各種異常特征主觀地判斷錨鏈閃光焊接的質量是否合格,其中可能發生故障的信號特征主要有:預熱階段的曲線變化不均勻;連續閃光時發生多次中斷;連續閃光的時間過長或過短;電極位置曲線不光滑等。
如果將一般的分類方法直接應用在錨鏈閃光焊接質量的檢測上,模型會更傾向于合格樣本,而使不合格樣本得不到很好的分類效果。因此,為了提高模型的整體性能,對不平衡數據進行一些適當的預處理就顯得十分重要。本文通過最近鄰拼接采樣的方法來增加不合格樣本的數量,同時為了使不同樣本的數據長度一致,對樣本進行分段線性插值。
最近鄰拼接采樣主要分為以下幾個步驟:首先對不合格樣本進行歸一化處理,其次采用動態時間規整的方法計算不合格樣本之間的距離,最后將距離較近的不合格樣本拼接成新樣本。
2.1.1歸一化
歸一化是一種無量綱的處理方法,消除了電極位置和電流之間的量綱影響,同時是簡化計算的有效途徑。本文采用min-max標準化的方法對樣本進行歸一化處理,公式如下:
(1)
式中:min表示樣本中的最小值;max表示樣本中的最大值;x′表示樣本中x歸一化后的值。
2.1.2動態時間規整
為了衡量不合格樣本之間的相似性,采用動態時間規整(Dynamic Time Warping,DTW)的方法計算它們之間的距離[16]。對于序列p=(p(1),p(2),…,p(m))和q=(q(1),q(2),…,q(n))來說,需要構造一個m×n的距離矩陣D,其中的元素d(i,j)表示序列p中第i個點和序列q中第j個點之間的距離,計算公式如下:
d(i,j)=(p(i)-q(j))2
(2)
在距離矩陣D中,可以搜索到一條規整路徑W={w1,w2,…,wK},其中wk=(wp(k),wq(k)),wp(k)和wq(k)分別表示序列p和q中元素的位置。規整路徑W需要滿足以下約束條件:
(1) 起始點為w1=(1,1),結束點為wK=(m,n)。
(2) 規整路徑中任意相鄰的兩個元素wk=(a,b)和wk-1=(a′,b′),必須滿足a-a′≤1和b-b′≤1,保證規整路徑的連續性。
(3) 規整路徑中任意相鄰的兩個元素wk=(a,b)和wk-1=(a′,b′),必須滿足a-a′≥0和b-b′≥0,保證規整路徑的單調性。
滿足上述三個條件的規整路徑有很多,但其中累加距離最小的才能代表序列p和q之間的距離,用DTW(p,q)來表示,最優路徑的求解需滿足以下公式:

(3)
式中:r(i,j)表示在距離矩陣D中從起始點到點(i,j)的累加距離。規整路徑的求解過程如圖3所示。

圖3 規整路徑的求解過程
例如兩個序列分別有4個和6個數據點,小方格左下角的數表示兩個點之間的距離,右上角的數表示累加距離,虛線箭頭表示最小值的累加方向。在計算時從最底下的一行開始,從左往右逐行往上,最終得到這兩個序列之間的距離為12。通過對虛線箭頭的方向反推,可以找到最短距離的規整路徑,如圖3中實線箭頭所示。
2.1.3合成新樣本
最近鄰拼接采樣合成的電極位置和電流如圖4、圖5所示,從不合格樣本中隨機選取樣本X1,并找出與其距離最近的兩個樣本X2和X3。根據錨鏈閃光焊接的特點,將樣本X1、X2和X3分別按照預熱、連續閃光和頂鍛3個階段分成3段曲線,從中隨機抽取3個不同階段的曲線拼接成新樣本Xnew,重復以上步驟,使不合格樣本的數量得到擴充。

圖4 最近鄰拼接采樣合成的電極位置

圖5 最近鄰拼接采樣合成的電流
由于多種因素的影響,錨鏈閃光焊接的時間有長有短,而卷積神經網絡又要求輸入樣本的數據長度一致,為了解決這一問題,對電極位置曲線和電流曲線進行分段線性插值。
分段線性插值的基本思想是:設有一個數據集合{(x0,y0),(x1,y1),…,(xn,yn)},其中插值節點x0,x1,…,xn是n+1個連續遞增的整數,y0,y1,…,yn是x0,x1,…,xn對應的函數值,將這n+1個數據點依次相連,可以得到一條由n個線段組成的曲線[17],用分段線性插值函數P(x)表示為:
(4)
式中:li(x)表示分段線性插值的基函數。li(x)如圖6所示,具體公式如下:
(5)
(6)
(7)

圖6 分段線性插值的基函數
當x∈[xi,xi+1]時,分段線性插值函數P(x)可以表示為:
(8)
傳統的分類模型在訓練時,需要依賴人的經驗進行特征的提取,而本文采用卷積神經網絡的方法,能自動地從訓練樣本中提取有用的特征進行模型的訓練。將測試樣本代入訓練好的模型中,可以得到每個樣本分別屬于不合格與合格的概率,其中概率較大的作為預測的結果,從而判斷樣本的質量是否合格。此外,結合增量學習的方法,使模型具有持續學習的能力,其流程如圖7所示。

圖7 增量學習的流程
卷積神經網絡是一種深度學習算法,由輸入層、卷積層、池化層、全連接層和輸出層組成[18]。由于錨鏈閃光焊接的電極位置和電流是典型的一維信號,為了適應這一特性,本文搭建了一個一維的卷積神經網絡,除了輸入層和輸出層,包含2個卷積層、2個池化層和1個全連接層,這些層又可以稱為隱藏層,具體參數如表1所示。

表1 卷積神經網絡隱藏層的參數
卷積層具有權值共享和局部連接的特點,是卷積神經網絡的核心,而卷積運算是卷積層的重要步驟,不同的卷積核提取出來的特征是不一樣的,卷積層的公式如下:
(9)

池化層也可以稱為下采樣層,其主要作用是對卷積層輸出的特征進行壓縮,減少特征的數據量。常用的池化方法有平均池化和最大池化,平均池化輸出子區域中的平均值,最大池化輸出子區域中的最大值。池化層的公式如下:
(10)

全連接層中的每一個神經元都與前一層的所有神經元相連,提取的是更深層次的特征。為了減少過擬合情況出現的可能,采用丟棄(Dropout)思想,在訓練模型的過程中,隨機選取一些神經元使其當前的輸出為0。Dropout思想可以避免模型對某種局部特征的過擬合,使卷積神經網絡具有更好的泛化能力[19],全連接層的公式如下:
xl=f(Wlxl-1)+bl
(11)
式中:xl表示第l層的特征;xl-1表示第l-1層的特征;Wl表示第l層的權重;bl表示第l層的偏置。
增量學習是一種機器學習方法,當訓練樣本的數量逐漸變多,超出一定范圍時,通過增量學習的方法可對持續增加的樣本進行知識的更新,直到學習完所有樣本。增量學習基于已有的模型,將獲得的新樣本用于模型參數的修正和優化,不僅保留了模型的基本信息,還提高了模型的識別能力,同時避免了對大量舊樣本的重復訓練[20]。增量學習按學習的對象主要可以分為三種類型:類別的增量學習,樣本的增量學習和屬性的增量學習。本文基于卷積神經網絡,對錨鏈閃光焊接的樣本進行增量學習。
本文一共采集了1 100個錨鏈閃光焊接的樣本,每個樣本都記錄了閃光焊接時電極位置和電流的變化過程。其中,不合格樣本有100個,通過最近鄰拼接采樣擴充為1 000個,合格樣本有1 000個,本文的實驗主要分為兩個部分,具體的實驗設計如下。
(1) 為了驗證最近鄰拼接采樣在解決數據不平衡問題上的優越性,對不合格樣本與合格樣本比例為1 ∶10、1 ∶5、1 ∶2和1 ∶1的4組樣本,分別采用同樣的卷積神經網絡進行訓練和測試。其中,不合格樣本的數量分別為100個、200個、500個和1 000個,合格樣本的數量都為1 000個,并選取80%的樣本作為訓練集,20%的樣本作為測試集。
(2) 為了驗證增量學習對于新樣本持續學習的能力,將傳統的批量學習與增量學習進行對比實驗。把樣本分為5組,每組都包含200個不合格樣本和200個合格樣本,其中4組作為訓練集,1組作為測試集。批量學習在模型訓練時,把新樣本和所有的舊樣本都作為學習對象,而增量學習只對新樣本進行學習,并在模型更新后,檢測模型在舊樣本上的準確率。
對于平衡數據而言,準確率(Accuracy)常用來反映分類模型的整體性能,而在不平衡數據的分類問題中,僅用準確率來衡量是不可靠的,往往忽略了對少數類的識別效果。為了更好地對錨鏈閃光焊接的樣本進行分類,引入了另外的兩個評價指標:靈敏度(Sensitivity)和特異度(Precision)[21]。靈敏度反映的是合格樣本被正確預測的百分比,特異度反映的是不合格樣本被正確預測的百分比,計算公式如下:
(12)
(13)
(14)
式中:TP表示實際合格,被預測為合格的樣本數量;FN表示實際合格,被預測為不合格的樣本數量;TN表示實際不合格,被預測為不合格的樣本數量;FP表示實際不合格,被預測為合格的樣本數量。
對于4組不同樣本比例的樣本集,其訓練集的損失值和準確率的變化曲線如圖8、圖9所示。隨著迭代次數的增加,訓練集的損失值一開始變化幅度較大,在迭代20次后慢慢變小,最后趨于穩定。

圖8 訓練集的損失值變化曲線

圖9 訓練集的準確率變化曲線
對于樣本比例為1 ∶10、1 ∶5和1 ∶2的樣本集來說,其訓練集在一開始的準確率分別為9.1%、16.7%和33.3%,這是由于模型將所有的樣本都識別為不合格樣本。在迭代10次后,模型將大部分的合格樣本都識別正確,準確率得到了大幅提升。在迭代30次后,訓練集的準確率一直都保持在95%以上,最終的準確率分別為98.9%、97.6%和96.1%。對于樣本比例為1 ∶1的樣本集來說,其訓練集的準確率增長緩慢,在迭代45次后才逐漸穩定,最終的準確率為97.3%。
4組不同樣本在測試集上的分類結果如表2所示,當樣本比例為1 ∶10時,雖然測試集的靈敏度為100.0%,但是特異度只有25.0%,這是因為不合格樣本與合格樣本的數量差別過大,模型在訓練時為了得到更高的準確率,容易將不合格樣本識別為合格樣本。當樣本比例為1 ∶5和1 ∶2時,測試集的靈敏度有所下降,為99.5%和98.5%,特異度卻大幅上升,為87.5%和92.0%,這是因為不合格樣本的數量越接近合格樣本,模型能學習到越多不合格樣本的特征。當樣本比例為1 ∶1時,不合格樣本與合格樣本的數量達到平衡,測試集的靈敏度、特異度和準確率分別為97.0%、96.5%和96.8%。

表2 不同樣本在測試集上的分類結果(%)
在批量學習和增量學習的對比實驗中,模型在測試集和舊樣本上的準確率如表3所示。一開始,由于批量學習和增量學習的訓練樣本一樣,因此測試集的準確率都為76.8%。隨著訓練的進行,批量學習可以從越來越多的樣本中學習知識,模型的泛化能力逐漸提高,而增量學習在之前的基礎上,每次都能學習到新樣本的知識,模型的識別能力也進一步加強。在4次訓練后,批量學習和增量學習在測試集上的準確率分別為97.3%和97.5%,都取得了不錯的分類效果。增量學習在舊樣本上的準確率分別為97.5%、97.1%和97.2%,這說明模型在學習新知識時,不會忘記已經學習到的舊知識,即模型同時具備識別新舊樣本的能力,體現了增量學習的優勢。

表3 批量學習和增量學習的準確率(%)
本文基于卷積神經網絡,建立一個用于檢測錨鏈閃光焊接質量的模型,結合錨鏈閃光焊接的特點,提出一種新的解決數據不平衡問題的方法:最近鄰拼接采樣。該方法不僅提高了模型的分類性能,也降低了過擬合現象的發生,并使用分段線性插值的方法使樣本滿足卷積神經網絡對數據長度一致性的要求。模型在不同樣本比例下的實驗表明,當不合格樣本與合格樣本在數量上的差距越小時,模型的整體性能越好。尤其是對不合格樣本來說,當樣本比例為1 ∶10和1 ∶1時,特異度分別為25.0%和96.5%,模型對不合格樣本的識別能力有了質的提升。
針對錨鏈閃光焊接樣本數量與日俱增的問題,本文通過增量學習的方式,使模型在充分利用已有知識的前提下,每次只需要訓練新樣本,而不用像批量學習那樣重復訓練舊樣本。實驗表明,增量學習在測試集上的準確率和批量學習相近,隨著樣本數量的增加,都能使模型的分類效果得到提升。同時增量學習對舊樣本具有良好的識別能力,準確率保持在97.1%以上,有效地避免了災難性遺忘的問題。