郭旭,駱勇鵬, ,王林堃,劉景良, ,廖飛宇, ,游德泉
(1.福建農(nóng)林大學 交通與土木工程學院,福建 福州 350108;2.數(shù)字福建智能交通技術(shù)物聯(lián)網(wǎng)實驗室,福建 福州 350108;3.福建省交通科研院有限公司,福建 福州 350004)
在結(jié)構(gòu)上部署健康監(jiān)測系統(tǒng),能實時地測量結(jié)構(gòu)響應、評估結(jié)構(gòu)狀態(tài),有效防止災害發(fā)生[1?2]。傳感器能全天候正常采集可靠的監(jiān)測數(shù)據(jù)是實現(xiàn)健康監(jiān)測系統(tǒng)功能的前提[3]。然而由于傳感器的使用壽命與結(jié)構(gòu)設計服務期相差較大,在橋梁服役期間傳感器不可避免地會出現(xiàn)性能退化,甚至產(chǎn)生故障,從而為健康監(jiān)測系統(tǒng)提供錯誤的信息,導致技術(shù)人員無法準確地判斷結(jié)構(gòu)的狀態(tài)[4]。除傳感器故障外還可能因電源中斷、電纜連接故障、信號傳輸干擾、設備檢修、傳感器更換等原因?qū)е卤O(jiān)測數(shù)據(jù)丟失或數(shù)據(jù)污染[5?6]。關(guān)鍵位置的傳感器發(fā)生故障或者信號丟失均會導致后續(xù)的結(jié)構(gòu)評估無法進行,使得監(jiān)測系統(tǒng)喪失原有功能[7]。目前故障傳感器信號恢復技術(shù)逐步受到重視并取得一定的成果,提出了一些丟失數(shù)據(jù)重構(gòu)算法,主要可分為基于模型的方法和基于數(shù)據(jù)驅(qū)動的方法?;谀P偷闹亟ǚ椒梢越柚邢拊P屯茖С龉收蠝y點與正常測點的轉(zhuǎn)換關(guān)系,但建立精確的有限元模型對于大型土木工程結(jié)構(gòu)而言具有一定的難度[8?9]。與基于模型的方法不同,基于數(shù)據(jù)驅(qū)動法能夠直接從測量數(shù)據(jù)中學習測量點之間復雜的非線性映射關(guān)系進行數(shù)據(jù)恢復[10?11]。此外,主成分分析[12]和人工神經(jīng)網(wǎng)絡[13]等機器學習方法也被用于丟失數(shù)據(jù)重建。但是對大規(guī)模的長期連續(xù)數(shù)據(jù)丟失的情況,這些算法可能存在一定的限制。深度學習可自適應地從大量數(shù)據(jù)中提取抽象特征,并通過端到端方式進行訓練,充分學習數(shù)據(jù)之間復雜的映射關(guān)系,可在一定程度上解決上述問題[14?15]。FAN 等[16]提 出 一種 密集 連 接卷 積網(wǎng) 絡(DenseNet)重建環(huán)境激勵下的真實建筑響應。NI等[17]將自動編碼器相關(guān)理論應用于數(shù)據(jù)壓縮與重構(gòu)。生成對抗網(wǎng)絡(Generative Adversarial Network,GAN)作為一種最新的深度學習框架在數(shù)據(jù)生成方面有著更好的表現(xiàn)。LEI等[18]將DCGAN用于結(jié)構(gòu)健康監(jiān)測數(shù)據(jù)恢復,通過訓練生成器來提取數(shù)據(jù)丟失前的測量數(shù)據(jù)集中的特征,并使用剩余健康傳感器所采集到的結(jié)構(gòu)響應重建丟失的信號。FAN等[19]提出了一種特殊設計的基于分段條件生成對抗網(wǎng)絡監(jiān)測數(shù)據(jù)恢復算法。此類方法屬于無監(jiān)督學習,不需要人為定義標簽,通過已有的完整數(shù)據(jù)提取傳感器信號之間的相關(guān)性及信號的潛在特征,在傳感器發(fā)生故障時利用健康傳感器所觀測到的數(shù)據(jù)對丟失數(shù)據(jù)進行重建。上述方法均假設故障傳感器位置是已知的。在實際結(jié)構(gòu)中,傳感器個數(shù)和故障種類較多,直接觀察的振動信號曲線可能無法判別傳感器是否故障,特別是傳感器故障引起傳感器信號變化與環(huán)境因素等因素引起的響應信號變化往往是一個量級的。為此,本文提出一種基于CNN和DCGAN的加速度傳感器故障信號自恢復算法。主要包括基于CNN的加速度傳感器故障模型和基于DCGAN的故障傳感器信號恢復模型兩部分。采用數(shù)值模擬和實際橋梁驗證算法的可行性及可靠性。
所提的故障診斷及信號恢復算法的計算流程如圖1所示,首先建立基于CNN傳感器故障診斷模型,對結(jié)構(gòu)現(xiàn)場布置的加速度傳感器進行故障診斷;其次根據(jù)現(xiàn)場傳感器布置情況,計算傳感器可能發(fā)生故障的組合情況,基于DCGAN建立相應的信號恢復模型;最后根據(jù)傳感器故障診斷結(jié)果選擇相對應DCGAN模型進行信號恢復。
圖1 故障診斷及信號恢復算法流程Fig.1 Flow of fault diagnosis and signal recovery algorithm
1.1.1 數(shù)據(jù)預處理
假設結(jié)構(gòu)健康監(jiān)測系統(tǒng)中有n個加速度傳感器,每個傳感器采集長度為k×1 024的健康狀態(tài)信號。將單條信號分割為k個樣本,樣本大小為1 024×1,從中隨機抽取訓練集和測試集,比例為4︰1。由于驗證集數(shù)據(jù)在訓練期間不參與網(wǎng)絡調(diào)參,所以驗證集和測試集可以使用同一數(shù)據(jù)集,以便為訓練提供更多的數(shù)據(jù)。由于實際故障數(shù)據(jù)采集較為困難,本文基于偏移、漂移、精度退化、增益和完全故障5種常見的傳感器故障模型[4,20]來模擬不同故障傳感器的信號,生成5種不同故障的傳感器信號。最后總訓練集大小為(4/5)×k×6,測試集大小為(1/5)×k×6。經(jīng)過CNN訓練,每個傳感器對應生成一個故障診斷模型。在進行故障診斷時,將未知狀態(tài)的傳感器信號輸入到相應的模型中,模型輸出傳感器的運行狀態(tài)。
1.1.2 基于CNN傳感器故障診斷模型建立
傳感器故障診斷模型結(jié)構(gòu)體系如圖2所示。內(nèi)層的主要架構(gòu)對每個CNN模型是通用的,主要由1個輸入層、6個卷積層(前4個卷積層的卷積核長度為4,步長為2;后2個卷積層的卷積核長度為2,步長為1)、4個最大池化層(步長為2)、1個全局池化層、1個全連接層和1個Softmax輸出層組成。卷積層中卷積核進行卷積操作,對輸入的樣本數(shù)據(jù)進行特征提取。每個卷積層后跟有ReLU激活函數(shù),用于增加模型的非線性表達能力。池化層對卷積后得到的特征圖進行降維,去掉冗余的信息,減少參數(shù)的數(shù)量,以減少計算量。樣本數(shù)據(jù)由多個卷積層和池化層運算之后輸入到全連接層,全連接層中的每個神經(jīng)元與其前一層的所有神經(jīng)元進行全連接,將學習的特征映射到樣本標記空間。最后由輸出層輸出預測結(jié)果。
圖2 CNN結(jié)構(gòu)Fig.2 CNN structure
1.2.1 數(shù)據(jù)預處理
結(jié)合現(xiàn)場傳感器布置情況及傳感器故障診斷結(jié)果,結(jié)合DCGAN建模特點,對數(shù)據(jù)集進行相應預處理操作,主要包括去噪、歸一化和數(shù)據(jù)切片??紤]到實際橋梁健康監(jiān)測過程中,監(jiān)測的信號往往會受到各種外界因素的影響。有效的去噪可以使振動信號更準確,有利于故障傳感器信號的恢復及結(jié)果的評價。采用HUANG等[21]提出的經(jīng)驗模態(tài)分解(Empirical Mode Decomposition, EMD)進行信號去噪。實際環(huán)境中采集到的信號X={x1,x2,…,xi,…,xn}為含噪信號,xi表示第i個傳感器測量的時間序列信號。對含噪信號的EMD分解結(jié)果為:
式中:imf為信號的本征模態(tài)函數(shù);r(j)為信號的殘余分量;k為本征模態(tài)的個數(shù)。
信號的頻域在imf中按高頻到低頻排列,第1階imf代表信號的最高頻部分。一般認為噪聲主要集中在信號的高頻部分,在實橋算例中去掉信號的第1階imf得到降噪信號。
為了加快訓練速率,采用歸一化的方法將采集的時間序列信號在相同的尺度進行傳遞,最小值變換為-1,最大值變換為1。
式中:為第i個傳感器的歸一化時間序列信號;為第i個傳感器的原始(去噪)時間序列信號;為第i個傳感器時間序列信號的均值。
使用與訓練故障診斷模型同樣的數(shù)據(jù)集,每條信號的數(shù)據(jù)長度仍為k×1 024,在對每一條傳感器信號進行歸一化后,將n條傳感器信號組合成k×1 024×n的數(shù)據(jù)矩陣。隨后進行數(shù)據(jù)切片,通過一個長度為1 024的窗口,步長為256沿著加速度數(shù)據(jù)滑動。每多生成一個樣本的只需要增加256個數(shù)據(jù)點數(shù)。切片后的數(shù)據(jù)集大小為4k×1 024×n。將數(shù)據(jù)按4︰1隨機分割為訓練集和測試集。當故障診斷結(jié)果為i#和j#傳感器故障,則在訓練信號恢復模型的過程中,i#和j#傳感器的數(shù)據(jù)故意地從總數(shù)據(jù)集中排除(數(shù)值全部設置為0)。將完好的i#和j#傳感器的數(shù)據(jù)設置為判別器的輸入數(shù)據(jù),用于訓練判別器。將其余(n?2)個傳感器和2個填充為0的傳感器數(shù)據(jù)設置為生成器的輸入數(shù)據(jù)。訓練好對應的信號恢復模型后,將診斷后的n個傳感器信號同時輸入到模型中,得到恢復的信號。數(shù)據(jù)切片及數(shù)據(jù)輸入過程見圖3。
圖3 數(shù)據(jù)切片及數(shù)據(jù)輸入Fig.3 Data slicing and data input
1.2.2 DCGAN模型
基于上下文編碼器[22]建立DCGAN模型,利用多個通道的傳感器之間的相關(guān)性對丟失的信號進行重建,模型網(wǎng)絡結(jié)構(gòu)見圖4。該模型的生成器由編碼器和解碼器構(gòu)成。編碼器的輸入為將故障信號置為0的所有信號組成的樣本。經(jīng)過多層的卷積運算,編碼器通過信道全連接層與解碼器相連,解碼器能根據(jù)這種特征表示恢復故障信號[18]。解碼器通過多層反卷積層運算,最后使用Tanh激活函數(shù)將輸出映射到[?1, 1],輸出生成樣本。判別器接收生成樣本與真實信號,經(jīng)過多個卷積層、BN層以及激活函數(shù)層,最后在輸出層通過Sigmoid激活函數(shù)將輸出值映射到[0,1]范圍。若輸出值為0,則表示判別器判別輸入數(shù)據(jù)為生成的數(shù)據(jù);若為1,則表示輸入數(shù)據(jù)被判別為真實數(shù)據(jù)。
圖4 單傳感器故障時的DCGAN結(jié)構(gòu)Fig.4 Architecture of DCGAN for single sensor failure
在進行訓練時需要通過重構(gòu)損失(Lrec)和對抗損失(Ladv)分別對生成器和判別器進行更新,以便能更好地重構(gòu)出所需信號。Lrec負責捕捉數(shù)據(jù)樣本潛在的數(shù)據(jù)分布,但側(cè)重于將多個分布平均在一起。Ladv注重重構(gòu)特定的細節(jié),可以使重構(gòu)的信號看起來更真實。
本文采用L2距離作為重構(gòu)損失函數(shù)Lrec,其表達式如下:
式中:x表示真實信號;?為故障信號對應的二進制掩碼,已有信號為1,故障信號為0;⊙表示元素相乘;G為生成器的輸出數(shù)據(jù);‖‖為歐幾里得距離。L1損失和L2損失雖然都可以用作損失函數(shù),測量真實數(shù)據(jù)與重構(gòu)數(shù)據(jù)之間的誤差,但L2損失預測會更加穩(wěn)定[22]。
對抗判別器的目標是檢測真實數(shù)據(jù)與重構(gòu)數(shù)據(jù)之間的最大差值。采用RMSprop算法對生成器和對抗判別器進行交替優(yōu)化。Ladv的損失函數(shù)表示如下:
綜上,定義總損失函數(shù)為:
參考RADFORD等[23]建議的超參數(shù)數(shù)值,λrec=0.999,λadv=0.001。
1.2.3 信號恢復效果評價
采用均方根誤差(RMSE)和決定系數(shù)(R2)對信號恢復性能進行評價。RMSE用來衡量重構(gòu)數(shù)據(jù)與真實數(shù)據(jù)之間的距離。R2是一個統(tǒng)計測量,分析2個信號之間的相似性,取值范圍從0到1,越接近1,表明重構(gòu)信號與真實信號擬合得越好。RSME和R2表達式如下所示。
式中:k為信號點數(shù);yi為真實信號;為重構(gòu)信號;為真實信號的平均值。
如圖5所示,IASC-ASCE SHM Benchmark模型[24]為4層鋼框架結(jié)構(gòu),每層12個梁單元、9個柱單元以及斜支撐單元8個,共126個單元。每層沿x和y方向均布置2個加速度傳感器,總共16個傳感器。本算例以12自由度模型為研究對象。該模型樓層質(zhì)量為對稱分布,激勵方向為單方向,故該損傷模擬可簡化為對Y軸方向的一維分析,即每層只有一個有效的加速度響應,從下往上傳感器編號為1號~4號。對采集到的加速度數(shù)據(jù)分別添加噪聲水平分別為5%,10%和20%的高斯白噪聲以驗證模型的抗噪性能,加噪方式如式(9)。設置了單傳感器故障工況和多傳感器故障工況,分別為1號傳感器發(fā)生故障、1號和3號傳感器同時故障的情況。
圖5 IASC-ASCE SHM Benchmark示意圖Fig.5 IASC-ASCE SHM Benchmark schematic diagram
式中:為加噪后的時間序列信號;xi為原始時間序列信號;a為噪聲水平;ζ為服從標準正態(tài)分布的隨機數(shù)。
利用MATLAB計算不同工況下的加速度時程數(shù)據(jù)。其中采樣頻率為100 Hz,采樣時間約為5.7 h,單個傳感器測量數(shù)據(jù)長度為2 048 000。對信號進行切片處理,切割成2 000×1 024×1大小,以適應CNN的輸入大小,并按照4︰1比例隨機分為訓練集與測試集。原始數(shù)據(jù)無故障,標簽為1,對無故障即健康數(shù)據(jù)進行傳感器故障處理,生成偏移、漂移、精度退化、增益和完全故障5種傳感器故障數(shù)據(jù),部分故障信號如圖6所示,標簽依次為2~6??偟挠柧毤笮? 600×1 024×1,測試集的大小為2 400×1 024×1。
圖6 模擬故障信號時程曲線Fig.6 Time history curve of simulation fault signal
利用不同傳感器數(shù)據(jù)集訓練生成與其對應的4個故障診斷模型。在CNN訓練中,選用Adam優(yōu)化器,初始學習率為0.000 2,每個批處理大小設為32,訓練20批次。對傳感器進行故障診斷之后,根據(jù)診斷結(jié)果訓練相應的信號恢復模型去恢復故障信號。信號恢復過程中,生成器接收包括m條被設置為0的故障信號及其他的健康傳感器信號,并輸出m個故障傳感器的重構(gòu)數(shù)據(jù),m取1~3。因此,第一層的輸入尺寸為1 024×4×1,最后一層的輸出尺寸為1 024×m×1。判別器第1層的輸入大小和最后一層的輸出大小分別設計為1 024×m×1和1×1×1。適當設計每一層對應的核大小和步幅大小,逐步提取特征并重構(gòu)數(shù)據(jù)。
無噪聲下1號傳感器訓練收斂過程如圖7所示。從圖7(a)中可以看出,1D-CNN的收斂非???,訓練至第10批次時損失函數(shù)已接近0。在圖7(b)中可以看到,訓練達20批次時,驗證集準確率穩(wěn)定地接近1。表明卷積神經(jīng)網(wǎng)絡能夠快速穩(wěn)定地學習到故障信號中的特征,將故障類別準確地識別出來。
圖7 1號傳感器訓練集和驗證集的準確率與損失函數(shù)曲線Fig.7 Accuracy and loss function curves of training set and verification set of No.1 sensor
為了更好地觀察模型的訓練過程,采用t-SNE(t-distributed stochastic neighbor embedding,t-SNE)[25]降維技術(shù)進行可視化。圖8(a)為輸入的原始樣本分布結(jié)果,除完全故障的信號以外,健康信號與其他4種故障信號的數(shù)據(jù)分布基本重合在一起,難以進行分類。經(jīng)過20個批次的訓練后,輸出層的結(jié)果如圖8(b)所示。大部分樣本都聚集在各自的集群中,僅有極少數(shù)類別5的樣本產(chǎn)生了誤判,落在類別1的集群,說明該故障診斷模型可以有效進行傳感器故障的分類。圖9給出了不同噪聲程度下傳感器故障診斷的準確率,從圖9可知CNN對不同噪聲水平的數(shù)據(jù)樣本都有很好的識別效果,在噪聲水平達20%時,分類準確率仍能達到99.67%。充分體現(xiàn)了CNN自動提取故障特征的有效性與魯棒性。
圖8 t-SNE降維可視化Fig.8 t-SNE dimensionality reduction visualization
圖9 1號傳感器不同噪聲水平下故障診斷準確率Fig.9 Fault diagnosis accuracy of No.1 sensor under different noise levels
單個傳感器故障的恢復過程及結(jié)果如圖10所示。圖10(a)和圖10(b)分別為1號加速度傳感器真實信號的時域圖和頻域圖。取訓練過程中4個不同訓練批次的重構(gòu)信號與真實信號進行比較,見圖10(c)~10(J)。從圖中可知,在訓練開始時,重構(gòu)信號在時域和頻域與真實值有較大偏差,R2值僅為0.042。隨著訓練批次的增加,重構(gòu)信號逐漸學習到振幅和頻率特征。到訓練完成時,在時域中,重構(gòu)信號的幅值非常接近于真實值,在頻率中,信號幾乎完全重建了所有特征。重構(gòu)信號與真實信號的相似度很高,R2達0.919。
圖10 1號傳感器真實信號和重構(gòu)信號時域和頻域的比較Fig.10 Comparison of real and reconstructed signals in the time domain and frequency domain of No.1 sensor
表1為基于真實信號和恢復信號識別得到的固有頻率及誤差。從表1可知,恢復信號識別出的固有頻率與真實信號識別出的固有頻率基本一致,僅在第二模態(tài)下有較小的差異,為?0.324%,表明重構(gòu)方法能有效地匹配這些結(jié)構(gòu)頻率下的真實信號。基于恢復信號進行結(jié)構(gòu)狀態(tài)評估和損傷檢測是可以接受的。圖11為1號和3號傳感器同時故障時測試集的部分信號重構(gòu)結(jié)果。從圖11可以看出,雖然故障傳感器數(shù)量增加,但是所提算法仍在時域和頻域上較好恢復故障信號。
圖11 重構(gòu)信號和真實信號時域和頻域的比較Fig.11 Comparison of reconstructed and real signals in time and frequency domains
表1 真實信號和重構(gòu)信號的模態(tài)識別結(jié)果Table 1 Modal recognition results of real and reconstructed signals
對原始無噪樣本加噪生成5%,10%和20% 3種不同水平噪聲的數(shù)據(jù)以檢驗算法的抗噪性。不同噪聲水平信號恢復RMSE與R2結(jié)果如圖12所示。圖12中RMSE與R2為3種傳感器故障數(shù)量下的多種不同位置故障的平均值。從圖12可以看出,隨著噪聲水平的增大,重構(gòu)信號的RMSE值會逐漸升高。單個傳感器故障時,20%噪聲水平下的RMSE值比無噪聲水平下的RMSE值的升高了約0.02。相應地,重構(gòu)信號與真實信號的相似性指標R2約下降0.075??梢?,噪聲越大,信號恢復精度會有所下降。當故障傳感器個數(shù)和噪聲水平增大時重構(gòu)誤差有較大的升高,其主要原因可能是在訓練時能夠利用的有效相關(guān)信息變少,但是恢復精度仍在工程允許范圍內(nèi)。
圖12 不同數(shù)量傳感器故障在不同噪聲下的信號重構(gòu)誤差Fig.12 Signal reconstruction errors of different number of sensor faults under different noises
某大橋主橋為470 m的獨塔自錨式懸索橋。全橋2根主纜呈傾斜狀布置,橫向中心距在塔頂為42 m。根據(jù)吊索索力分布情況,在16根吊桿上安裝了加速度傳感器,對吊桿的振動幅值、振動頻率及吊索索力監(jiān)測。索力監(jiān)測測點布置見圖13。
圖13 某大橋索力監(jiān)測測點布置Fig.13 Cable force monitoring point layout of a bridge
本文以上游側(cè)的8個加速度傳感器為研究對象,取大約6 h監(jiān)測數(shù)據(jù),單條傳感器測量數(shù)據(jù)長度為1 024 000,對加速度信號采用EMD低通濾波進行去噪,將去噪后的數(shù)切割成2 000×512×1,并按照4︰1比例隨機分為訓練集與測試集。同樣的,對健康數(shù)據(jù)進行故障處理生成5種不同的故障數(shù)據(jù),健康及故障數(shù)據(jù)標簽依次為1~6??偟挠柧毤笮? 600×512×1,測試集的大小為2 400×512×1。
傳感器故障工況分為單傳感器和多傳感器故障工況。其中單傳感器故障工況設置為5號傳感器故障。多傳感器工況則分別為5號和7號傳感器故障以及1號、5號和7號傳感器同時故障。信號恢復模型訓練時的信號預處理方式與數(shù)值模擬相似,對去噪后的數(shù)據(jù)進行歸一化以及切片處理,最后得到訓練集樣本大小為6 400×512×8,測試集大小為1 600×512×8。
各傳感器的故障診斷結(jié)果見圖14。從圖14可知,相較于數(shù)值模擬,由于實橋所處環(huán)境及荷載等因較為復雜,傳感器故障診斷的準確率相較于數(shù)值模擬有所降低,但大多數(shù)傳感器的故障診斷準確率仍在83%以上,表明所提的故障診斷算法在實際橋梁運用上同樣有較好的效果。
圖14 傳感器故障診斷準確率Fig.14 Accuracy of sensor fault diagnosis
由于實橋與數(shù)值模擬中所用傳感器數(shù)量不同,對DCGAN網(wǎng)絡的配置作出一些細微的變化,主要改變輸入層、輸出層和部分卷積層的尺寸,整體的網(wǎng)絡架構(gòu)、結(jié)構(gòu)層的類型和激活函數(shù)保持不變。
多傳感器故障下重構(gòu)信號與真實信號的RMSE與R2值如表2所示,從表2可知,恢復信號與真實信號吻合良好,R2值均在0.8以上。其中1號、5號和7號傳感器同時發(fā)生故障的信號恢復效果如圖15所示。從圖15可知,時域信號在整體趨勢上能較好地重構(gòu)出來,僅在振幅快速突變處誤差較大。在頻譜圖中,信號基頻與真實信號基頻基本一致。
表2 3種不同故障傳感器數(shù)量下的R2和RMSETable 2 R2 and RMSE for three different number of fault sensors
圖15 重構(gòu)信號和真實信號時域和頻域的比較Fig.15 Comparison of reconstructed and real signals in time and frequency domains
1) 基于CNN傳感器故障診斷模型具有較好的抗噪性能。在數(shù)值模擬中,噪聲水平達20%時,故障傳感器故障類型及位置判別準確率仍能達到99.67%。實際橋梁上的傳感器的故障診斷準確率在83%以上。
2) 恢復信號在時域、頻域與真實信號匹配良好。重構(gòu)誤差隨著信噪比的降低及故障傳感器在傳感器總數(shù)中的占比的增加而增大,但重構(gòu)信號與真實信號的R2均在0.8以上。