侯怡 錢松榮 李雪梅
摘?要:
針對橋梁監(jiān)測領域中損傷識別精度較低的問題,提出了一種基于特征工程和深度自動編碼器的識別方案。首先采用快速傅里葉變換分析原始數(shù)據(jù)的特征和規(guī)律,其次通過滑動窗口從頻譜圖中提取表現(xiàn)出損傷差異的模態(tài)頻率,最后將經(jīng)過主成分分析法選擇的保留損傷信息量最大的敏感特征作為深度自動編碼器的輸入。實驗結(jié)果表明,經(jīng)過特征工程處理后的新指標提高了模型的識別能力和計算效率,在僅占原始數(shù)據(jù)集14.9%的特征維度的情況下,模型的識別精確率從81.12%提升到98.67%。
關鍵詞:損傷識別;特征工程;特征提取;數(shù)據(jù)降維;深度學習
中圖分類號:TP183??文獻標志碼:A
0?引言(Introduction)
橋梁在運行中易受到外部荷載等因素的破壞,因此許多橋梁上安裝了結(jié)構(gòu)監(jiān)測系統(tǒng)[1],監(jiān)測人員通過結(jié)構(gòu)監(jiān)測系統(tǒng)收集各類傳感數(shù)據(jù),這些包含損傷信息的數(shù)據(jù)成為橋梁狀態(tài)評估的基礎[2]。
由于數(shù)據(jù)量較大,傳統(tǒng)的識別方法難以對數(shù)據(jù)的隱含信息與橋梁損傷之間復雜的非線性關系進行建模[3]。MOUGHTY等[4]在損傷檢測中采用振型特征進行分析,但是該方法不能獲取完整的結(jié)構(gòu)模態(tài)信息,導致識別精度較低。
近年來,深度學習在自動化監(jiān)測中顯示出巨大的應用前景[5]?;诖?,本文提出了一種特征工程和深度自動編碼器相結(jié)合的識別方案。首先利用快速傅里葉變換(Fast?Fourier?Transform,?FFT)和滑動窗口提取頻譜中的模態(tài)頻率,其次采用主成分分析法(Principal?Component?Analysis,?PCA)丟棄權重貢獻較小的主成分,搭建深度自動編碼器(Deep?Auto\|encoder,?DAE)進行識別,最后通過實驗驗證了本方案的有效性。
1?數(shù)據(jù)準備(Data?preparation)
1.1?數(shù)據(jù)來源及預處理
本次研究使用的橋梁健康監(jiān)測數(shù)據(jù)集可以在數(shù)據(jù)存放網(wǎng)站獲得,文獻[6]提供了該數(shù)據(jù)集的詳細介紹。數(shù)據(jù)來自某橋梁上的47個傳感器測量的y方向加速度序列,每次測量獲得2?859個數(shù)據(jù),數(shù)據(jù)的尺寸為2?859×47,采樣頻率為571?Hz,其中前50次測量獲得的數(shù)據(jù)來自正常的橋梁結(jié)構(gòu),后50次測量獲得的數(shù)據(jù)來自橋梁不同的損傷結(jié)構(gòu),包括5種損傷類型,分別為損傷一、損傷二、損傷三、損傷四和損傷五。
考慮到數(shù)據(jù)集的平衡性,將每種類型的數(shù)據(jù)按照時間序列進行隨機下采樣,每類數(shù)據(jù)采樣6?000個樣本,因此正常數(shù)據(jù)和5類損傷數(shù)據(jù)共采樣36?000個樣本,原始數(shù)據(jù)集的尺寸為36?000×47。為了消除數(shù)據(jù)不同維度之間的差異性,對原始數(shù)據(jù)x進行零均值歸一化處理,經(jīng)過處理后的數(shù)據(jù)x′符合標準正態(tài)分布,即均值為0,標準差為1,其計算公式如下:
其中:μ為原始數(shù)據(jù)的均值,δ為原始數(shù)據(jù)的標準差。
1.2?數(shù)據(jù)的特征工程
原始數(shù)據(jù)的底層特征往往分散在搜索空間中,嚴重影響了模式識別的效率,因此需要一個特征工程,使模式可區(qū)分[7],該過程包括特征提取和特征選擇兩個步驟。
1.2.1?特征提取
為了能夠提取到對橋梁損傷更敏感的特征,基于數(shù)據(jù)挖掘技術,本文提出采用快速傅里葉變換對原始數(shù)據(jù)的特征規(guī)律進行分析。傅里葉變換表明任何連續(xù)測量的時序信號都可以表示為不同頻率的正弦波的無限疊加,因此可以通過對這些正弦波的頻譜進行分析,從而提取到信號在原時域上看不到的頻譜特征。快速傅里葉變換則是根據(jù)對離散傅里葉變換的特性進行改進得到的,它將原有的計算復雜度從N2減少到N×log10N。
假設xn為采集到的時域信號,N為樣本個數(shù),k表示頻域信號中的樣本下標,Xk為得到的頻域信號的序列,則其離散傅里葉變換的計算公式如下:
Xk=∑N-1n=0xne-2jπkn/N[JZ)][JY](2)
以正常數(shù)據(jù)和損傷一類數(shù)據(jù)為例,其經(jīng)過快速傅里葉變換后的頻譜如圖1所示,研究人員對輸出結(jié)果進行了歸一化處理,可以看到,當橋梁出現(xiàn)損傷后,損傷一數(shù)據(jù)的頻譜信號中出現(xiàn)明顯的高頻特征,從頻域上得到的頻譜信息表現(xiàn)出在時域上沒有顯示出的損傷類別的依賴差異,因此本文選擇模態(tài)頻率作為損傷識別的特征,并在后續(xù)的實驗對比中驗證了該方法的有效性。
在整個樣本長度上對所有數(shù)據(jù)特征進行采樣,選擇滑動窗口大小為1?142,為數(shù)據(jù)采樣頻率的兩倍,步長為1,并針對每次滑動窗口中的每個采樣點提取頻譜圖中的幅值最大點和幅值第二大點的模態(tài)頻率,滑動窗口示意圖如圖2所示。在處理完36?000個樣本后,每個樣本得到了94個數(shù)據(jù)特征,新的樣本數(shù)量為35?400,這些數(shù)據(jù)構(gòu)成了頻率統(tǒng)計數(shù)據(jù)集。
1.2.2?特征選擇
由于頻率統(tǒng)計數(shù)據(jù)集中的每個數(shù)據(jù)都有94個特征維度,因此為了提高模型的解釋性和降低訓練的難度,需要在盡可能地保留特征信息的前提下,減少數(shù)據(jù)的維度。本文提出采用主成分分析法進行特征降維,目的是對高維數(shù)據(jù)進行空間壓縮,從而提取更有效的關鍵信息。一般而言,信息量衡量指標就是樣本方差,樣本方差越大,代表特征所帶的信息量越多。
在實際計算中,主成分分析法通過計算屬性間相關矩陣的特征值和特征向量構(gòu)造主成分,依據(jù)特征值的大小確定主成分的貢獻率[8],這種方式可以有效避免過擬合的問題[9]。假設有一個樣本為m條、特征數(shù)為n的數(shù)據(jù)集,對所有樣本去中心化后得到矩陣[WTHX]X[WTBX],其協(xié)方差矩陣[WTHX]C的計算公式如下:
從表1中可以明顯地看出,前7個主成分的累加貢獻占了所有特征主成分的92.4%,其余87個主成分的獨立解釋方差均小于0.01。故按照貢獻率從大到小排列,只保留前7個主成分特征,丟棄權重貢獻較小的其他主成分,新構(gòu)造的特征維度僅占原始數(shù)據(jù)集的14.9%。
2?實驗搭建(Experiment?setup)
2.1?模型建立[HJ1.5mm]
近年來,深度自動編碼器在結(jié)構(gòu)化數(shù)據(jù)處理方面也開始得到應用,深度自動編碼器的目的是通過神經(jīng)網(wǎng)絡學習映射關系,對輸入信息進行重構(gòu)[1],其優(yōu)點在于能夠以無監(jiān)督的方式提取數(shù)據(jù)背后的隱含信息,提供了更高泛化能力和預測精度。深度自動編碼器主要由編碼器和解碼器組成,編碼器的作用是將輸入X編碼為中間層的隱變量,解碼器的作用是將隱藏層的隱變量h還原到初始維度,即XR≈X,其計算過程如下:
h=f(]ω(1)X+b(1)[JB>2)][JZ)][JY](5)
XR=f(]ω(2)h+b(2)[JB>2)][JZ)][JY](6)
最小化誤差的優(yōu)化函數(shù)如下:
MinimizeLoss=dist(X,XR)[JZ)][JY](7)
其中:ω(1)、ω(2)、b(1)、b(2)是自動編碼器的參數(shù),經(jīng)訓練優(yōu)化得到;dist為損失函數(shù),通常為均方誤差。
本文搭建的模型結(jié)構(gòu)和相關參數(shù)如圖3所示,模型主要包括3個編碼層和3個解碼層,每個編碼層和解碼層分別連接一個Batch?Normalization(BN)層和Leaky?ReLU激活函數(shù),對每一批數(shù)據(jù)進行歸一化處理和特征映射。在得到初始維度的輸出后,研究人員額外連接一個激活函數(shù)為Softmax的全連接層,負責將前者提取的特征映射到相應的損傷類別[10],從而得到最終的輸出結(jié)果。
2.2?實驗設置
本文對數(shù)據(jù)集的所有標簽進行One\|Hot編碼,訓練前每次隨機選取總數(shù)據(jù)量的80%作為訓練集,剩下的20%作為測試集,保證兩個獨立的單元沒有信息交互。在訓練中選用適合進行損傷多分類的交叉熵損失函數(shù)計算實際類別和預測類別之間的差異,模型預先使用正態(tài)分布進行隨機初始化,并采用五折交叉驗證法保留最佳模型。
本次實驗一共迭代訓練100個周期,選擇的優(yōu)化算法為Adam[11],設置初始學習率為0.001,衰減率為10-8,訓練批次為128次。本文的算法使用Python語言實現(xiàn),深度學習計算平臺為TensorFlow框架,所有實驗均在1臺CPU為Intel?Core?i9\|10900k@3.70?GHz,圖形處理單元為NVIDIA?GeForce?RTX3080?10?GB的計算機上運行。
2.3?評估指標
在損傷分類問題中,通常采用的評估指標包括精確率(Precision)、召回率(Recall)和F1得分(F1\|score),該類評估指標的定義如下:
Precision=TPTP+FP[JZ)][JY](8)
Recall=TPTP+FN[JZ)][JY](9)
F1\|score=2×Precision×RecallPrecision+Recall[JZ)][JY](10)
精確率表示預測為損傷類的樣本數(shù)據(jù)中有多少是正確的,召回率表示有多少損傷樣本被正確預測,而F1得分則是精確率和召回率的調(diào)和平均值。
3?[JP5]實驗結(jié)果與分析(Experimental?results?and?analysis)
3.1?實驗結(jié)果
將訓練好的模型在測試集上進行測試,得到的混淆矩陣如表2所示,表2中還列出了測試后的精確率、召回率和F1得分。在僅保留7個特征維度的情況下,模型預測時的各項指標均超過了97%,特別是對于表現(xiàn)最好的正常和損傷五的數(shù)據(jù),F(xiàn)1得分分別為99.26%和99.59%。實驗結(jié)果表明,在采用滑動窗口提取模態(tài)頻率和丟棄掉大量帶有無效損傷信息的特征后,深度自動編碼器模型在基于橋梁振動信號的損傷識別方面擁有極為優(yōu)異的表現(xiàn)。
3.2?實驗對比和分析
3.2.1?不同的特征選擇方法
為了驗證主成分分析法的有效性,本文還使用線性判別分析(Linear?Discriminant?Analysis,?LDA)和獨立成分分析(Independent?Component?Analysis,?ICA)與本文所提方法進行了性能比較,這兩種方法均通過Python中的Sklearn庫實現(xiàn),結(jié)果如表3所示??梢钥闯?,LDA和ICA的精確率分別只有89.58%和76.30%,而PCA的各項指標均超過了98%。
3.2.2?不同算法的性能對比
本文使用BP神經(jīng)網(wǎng)絡、K最近鄰算法(K\|Nearest?Neighbor,?KNN)、支持向量機(Support?Vector?Machine,?SVM)和決策樹(Decision?Tree,?DT)與深度自動編碼器進行了對比。以精度提升作為目標函數(shù),通過貝葉斯優(yōu)化在取值空間中不斷迭代對其進行超參數(shù)調(diào)優(yōu),調(diào)試結(jié)果如下:設置BP神經(jīng)網(wǎng)絡輸入層的神經(jīng)元數(shù)量為7,3個隱藏層的神經(jīng)元數(shù)量均為64,輸出層的神經(jīng)元數(shù)量為6;設置KNN算法的鄰近點數(shù)為1;SVM算法的懲罰系數(shù)為200,核函數(shù)為高斯核函數(shù),停止訓練的誤差值為10-4;設置DT算法的最小樣本葉子數(shù)為1,最小樣本劃分數(shù)目為2。不同算法的評估結(jié)果分別如圖4和圖5所示。
綜合分析不同算法的精確率和召回率,相比于其他算法,本文搭建的深度自動編碼器模型對于6類數(shù)據(jù)的識別效果均表現(xiàn)優(yōu)異,并且并未出現(xiàn)單類數(shù)據(jù)分類表現(xiàn)較好而對其他數(shù)據(jù)識別不佳的情況,有效驗證了模型的性能。
3.2.3?特征工程的性能影響
為了詳細探究特征工程中各環(huán)節(jié)對系統(tǒng)損傷識別性能的影響,本文準備了3種不同的數(shù)據(jù)集,包括原始數(shù)據(jù)集、僅經(jīng)過主成分分析法處理后的數(shù)據(jù)集以及經(jīng)過特征工程處理后的數(shù)據(jù)集。在3種數(shù)據(jù)集上,模型訓練過程中的準確率和損失值的變化趨勢分別如圖6和圖7所示,表4展示了各環(huán)節(jié)對于損傷識別的影響。
通過圖6、圖7和表4可以看出,由于原始數(shù)據(jù)集中特征分布不明顯,使用原始數(shù)據(jù)集訓練模型的效果一般,識別精確率僅為81.12%,在未進行特征提取時,通過主成分分析法直接降維會丟失太多的關鍵信息,導致識別精度大幅下降。在此基礎上,通過快速傅里葉變換和滑動窗口對特征信息進行提取和整合后,各項指標均得到了大幅提升,識別精確率達到了98.67%,說明在特征提取過程中,從頻譜圖中提取到的模態(tài)頻率極大地提高了識別的靈敏度和精度,此時的模型在識別性能和計算效率之間達到了較好的平衡。
4?結(jié)論(Conclusion)
本文通過研究數(shù)據(jù)挖掘和損傷識別技術,提出了一種特征工程和深度自動編碼器相結(jié)合的橋梁損傷識別方案。首先根據(jù)信號頻譜圖中所反映出的特征差異,提出了以快速傅里葉變換和滑動窗口提取模態(tài)頻率的特征提取方法,以及以主成分分析法為主的特征選擇方法,以此挖掘出蘊含損傷類別的關鍵信息,并搭建深度自動編碼器模型進行損傷識別。實驗結(jié)果表明,新的損傷指標有效保留了數(shù)據(jù)類別的信息,在經(jīng)過特征工程處理后,模型在測試集上的精確率從81.12%提升到了98.67%,同時與其他算法相比,模型在6類數(shù)據(jù)上的泛化能力也極為優(yōu)異,因此本文的識別方案在保證計算量最低的同時,還獲得了極高的識別精度,具有應用于實際橋梁損傷識別的能力。
參考文獻(References)[HJ1.5mm]
[1]?SUN?L?M,SHANG?Z?Q,XIA?Y,et?al.?Review?of?bridge?structural?health?monitoring?aided?by?big?data?and?artificial?intelligence:from?condition?assessment?to?damage?detection[J].?Journal?of?structural?engineering,2020,146(5):04020073.
[2]?YI?T?H,HUANG?H?B,LI?H?N.?Development?of?sensor?validation?methodologies?for?structural?health?monitoring:a?comprehensive?review[J].?Measurement,2017,109:200\|214.
[3]?勾紅葉,劉暢,班新林,等.?高速鐵路橋梁\|軌道體系檢測監(jiān)測與行車安全研究進展[J].?交通運輸工程學報,2022,22(1):1\|23.
[4]?MOUGHTY?J?J,CASAS?J?R.?A?state?of?the?art?review?of?modal\|based?damage?detection?in?bridges:development,challenges,and?solutions[J].?Applied?sciences,2017,7(5):510.
[5]?DONYA?H.?Deep?learning\|based?indirect?bridge?damage?identification?system[J].?Structural?health?monitoring,2023,22(2):897\|912.
[6]?KULLAA?J.?Distinguishing?between?sensor?fault,structural?damage,and?environmental?or?operational?effects?in?structural?health?monitoring[J].?Mechanical?systems?and?signal?processing,2011,25(8):2976\|2989.
[7]?DOMINGOS?P.?A?few?useful?things?to?know?about?machine?learning[J].?Communications?of?the?ACM,2012,55(10):78\|87.
[8]?李貴鳳.?基于深度學習的橋梁健康監(jiān)測數(shù)據(jù)分析關鍵技術研究[D].?重慶:重慶交通大學,2018.
[9]?謝璐陽,夏兆君,朱少華,等.?基于卷積神經(jīng)網(wǎng)絡的圖像識別過擬合問題分析與研究[J].?軟件工程,2019,22(10):27\|29,26.
[10]?ZHANG?Y?X,LEI?Y.?Data?anomaly?detection?of?bridge?structures?using?convolutional?neural?network?based?on?structural?vibration?signals[J].?Symmetry,2021,13(7):1186.
[11]?畢常遙,袁曉彤.?基于Adam局部優(yōu)化的分布式近似牛頓深度學習模型訓練[J].?計算機應用與軟件,2021,38(10):278\|283.
作者簡介:
侯?怡(2000\|),男,碩士生。研究領域:深度學習,缺陷檢測。
錢松榮(1972\|),女,博士,教授。研究領域:計算機視覺,機器學習,數(shù)據(jù)治理。