郭旭,骆勇鹏, ,王林堃,刘景良, ,廖飞宇, ,游德泉
(1.福建农林大学 交通与土木工程学院,福建 福州 350108;2.数字福建智能交通技术物联网实验室,福建 福州 350108;3.福建省交通科研院有限公司,福建 福州 350004)
在结构上部署健康监测系统,能实时地测量结构响应、评估结构状态,有效防止灾害发生[1−2]。传感器能全天候正常采集可靠的监测数据是实现健康监测系统功能的前提[3]。然而由于传感器的使用寿命与结构设计服务期相差较大,在桥梁服役期间传感器不可避免地会出现性能退化,甚至产生故障,从而为健康监测系统提供错误的信息,导致技术人员无法准确地判断结构的状态[4]。除传感器故障外还可能因电源中断、电缆连接故障、信号传输干扰、设备检修、传感器更换等原因导致监测数据丢失或数据污染[5−6]。关键位置的传感器发生故障或者信号丢失均会导致后续的结构评估无法进行,使得监测系统丧失原有功能[7]。目前故障传感器信号恢复技术逐步受到重视并取得一定的成果,提出了一些丢失数据重构算法,主要可分为基于模型的方法和基于数据驱动的方法。基于模型的重建方法可以借助有限元模型推导出故障测点与正常测点的转换关系,但建立精确的有限元模型对于大型土木工程结构而言具有一定的难度[8−9]。与基于模型的方法不同,基于数据驱动法能够直接从测量数据中学习测量点之间复杂的非线性映射关系进行数据恢复[10−11]。此外,主成分分析[12]和人工神经网络[13]等机器学习方法也被用于丢失数据重建。但是对大规模的长期连续数据丢失的情况,这些算法可能存在一定的限制。深度学习可自适应地从大量数据中提取抽象特征,并通过端到端方式进行训练,充分学习数据之间复杂的映射关系,可在一定程度上解决上述问题[14−15]。FAN 等[16]提 出 一种 密集 连 接卷 积网 络(DenseNet)重建环境激励下的真实建筑响应。NI等[17]将自动编码器相关理论应用于数据压缩与重构。生成对抗网络(Generative Adversarial Network,GAN)作为一种最新的深度学习框架在数据生成方面有着更好的表现。LEI等[18]将DCGAN用于结构健康监测数据恢复,通过训练生成器来提取数据丢失前的测量数据集中的特征,并使用剩余健康传感器所采集到的结构响应重建丢失的信号。FAN等[19]提出了一种特殊设计的基于分段条件生成对抗网络监测数据恢复算法。此类方法属于无监督学习,不需要人为定义标签,通过已有的完整数据提取传感器信号之间的相关性及信号的潜在特征,在传感器发生故障时利用健康传感器所观测到的数据对丢失数据进行重建。上述方法均假设故障传感器位置是已知的。在实际结构中,传感器个数和故障种类较多,直接观察的振动信号曲线可能无法判别传感器是否故障,特别是传感器故障引起传感器信号变化与环境因素等因素引起的响应信号变化往往是一个量级的。为此,本文提出一种基于CNN和DCGAN的加速度传感器故障信号自恢复算法。主要包括基于CNN的加速度传感器故障模型和基于DCGAN的故障传感器信号恢复模型两部分。采用数值模拟和实际桥梁验证算法的可行性及可靠性。
所提的故障诊断及信号恢复算法的计算流程如图1所示,首先建立基于CNN传感器故障诊断模型,对结构现场布置的加速度传感器进行故障诊断;其次根据现场传感器布置情况,计算传感器可能发生故障的组合情况,基于DCGAN建立相应的信号恢复模型;最后根据传感器故障诊断结果选择相对应DCGAN模型进行信号恢复。
图1 故障诊断及信号恢复算法流程Fig.1 Flow of fault diagnosis and signal recovery algorithm
1.1.1 数据预处理
假设结构健康监测系统中有n个加速度传感器,每个传感器采集长度为k×1 024的健康状态信号。将单条信号分割为k个样本,样本大小为1 024×1,从中随机抽取训练集和测试集,比例为4︰1。由于验证集数据在训练期间不参与网络调参,所以验证集和测试集可以使用同一数据集,以便为训练提供更多的数据。由于实际故障数据采集较为困难,本文基于偏移、漂移、精度退化、增益和完全故障5种常见的传感器故障模型[4,20]来模拟不同故障传感器的信号,生成5种不同故障的传感器信号。最后总训练集大小为(4/5)×k×6,测试集大小为(1/5)×k×6。经过CNN训练,每个传感器对应生成一个故障诊断模型。在进行故障诊断时,将未知状态的传感器信号输入到相应的模型中,模型输出传感器的运行状态。
1.1.2 基于CNN传感器故障诊断模型建立
传感器故障诊断模型结构体系如图2所示。内层的主要架构对每个CNN模型是通用的,主要由1个输入层、6个卷积层(前4个卷积层的卷积核长度为4,步长为2;后2个卷积层的卷积核长度为2,步长为1)、4个最大池化层(步长为2)、1个全局池化层、1个全连接层和1个Softmax输出层组成。卷积层中卷积核进行卷积操作,对输入的样本数据进行特征提取。每个卷积层后跟有ReLU激活函数,用于增加模型的非线性表达能力。池化层对卷积后得到的特征图进行降维,去掉冗余的信息,减少参数的数量,以减少计算量。样本数据由多个卷积层和池化层运算之后输入到全连接层,全连接层中的每个神经元与其前一层的所有神经元进行全连接,将学习的特征映射到样本标记空间。最后由输出层输出预测结果。
图2 CNN结构Fig.2 CNN structure
1.2.1 数据预处理
结合现场传感器布置情况及传感器故障诊断结果,结合DCGAN建模特点,对数据集进行相应预处理操作,主要包括去噪、归一化和数据切片。考虑到实际桥梁健康监测过程中,监测的信号往往会受到各种外界因素的影响。有效的去噪可以使振动信号更准确,有利于故障传感器信号的恢复及结果的评价。采用HUANG等[21]提出的经验模态分解(Empirical Mode Decomposition, EMD)进行信号去噪。实际环境中采集到的信号X={x1,x2,…,xi,…,xn}为含噪信号,xi表示第i个传感器测量的时间序列信号。对含噪信号的EMD分解结果为:
式中:imf为信号的本征模态函数;r(j)为信号的残余分量;k为本征模态的个数。
信号的频域在imf中按高频到低频排列,第1阶imf代表信号的最高频部分。一般认为噪声主要集中在信号的高频部分,在实桥算例中去掉信号的第1阶imf得到降噪信号。
为了加快训练速率,采用归一化的方法将采集的时间序列信号在相同的尺度进行传递,最小值变换为-1,最大值变换为1。
式中:为第i个传感器的归一化时间序列信号;为第i个传感器的原始(去噪)时间序列信号;为第i个传感器时间序列信号的均值。
使用与训练故障诊断模型同样的数据集,每条信号的数据长度仍为k×1 024,在对每一条传感器信号进行归一化后,将n条传感器信号组合成k×1 024×n的数据矩阵。随后进行数据切片,通过一个长度为1 024的窗口,步长为256沿着加速度数据滑动。每多生成一个样本的只需要增加256个数据点数。切片后的数据集大小为4k×1 024×n。将数据按4︰1随机分割为训练集和测试集。当故障诊断结果为i#和j#传感器故障,则在训练信号恢复模型的过程中,i#和j#传感器的数据故意地从总数据集中排除(数值全部设置为0)。将完好的i#和j#传感器的数据设置为判别器的输入数据,用于训练判别器。将其余(n−2)个传感器和2个填充为0的传感器数据设置为生成器的输入数据。训练好对应的信号恢复模型后,将诊断后的n个传感器信号同时输入到模型中,得到恢复的信号。数据切片及数据输入过程见图3。
图3 数据切片及数据输入Fig.3 Data slicing and data input
1.2.2 DCGAN模型
基于上下文编码器[22]建立DCGAN模型,利用多个通道的传感器之间的相关性对丢失的信号进行重建,模型网络结构见图4。该模型的生成器由编码器和解码器构成。编码器的输入为将故障信号置为0的所有信号组成的样本。经过多层的卷积运算,编码器通过信道全连接层与解码器相连,解码器能根据这种特征表示恢复故障信号[18]。解码器通过多层反卷积层运算,最后使用Tanh激活函数将输出映射到[−1, 1],输出生成样本。判别器接收生成样本与真实信号,经过多个卷积层、BN层以及激活函数层,最后在输出层通过Sigmoid激活函数将输出值映射到[0,1]范围。若输出值为0,则表示判别器判别输入数据为生成的数据;若为1,则表示输入数据被判别为真实数据。
图4 单传感器故障时的DCGAN结构Fig.4 Architecture of DCGAN for single sensor failure
在进行训练时需要通过重构损失(Lrec)和对抗损失(Ladv)分别对生成器和判别器进行更新,以便能更好地重构出所需信号。Lrec负责捕捉数据样本潜在的数据分布,但侧重于将多个分布平均在一起。Ladv注重重构特定的细节,可以使重构的信号看起来更真实。
本文采用L2距离作为重构损失函数Lrec,其表达式如下:
式中:x表示真实信号;̂为故障信号对应的二进制掩码,已有信号为1,故障信号为0;⊙表示元素相乘;G为生成器的输出数据;‖‖为欧几里得距离。L1损失和L2损失虽然都可以用作损失函数,测量真实数据与重构数据之间的误差,但L2损失预测会更加稳定[22]。
对抗判别器的目标是检测真实数据与重构数据之间的最大差值。采用RMSprop算法对生成器和对抗判别器进行交替优化。Ladv的损失函数表示如下:
综上,定义总损失函数为:
参考RADFORD等[23]建议的超参数数值,λrec=0.999,λadv=0.001。
1.2.3 信号恢复效果评价
采用均方根误差(RMSE)和决定系数(R2)对信号恢复性能进行评价。RMSE用来衡量重构数据与真实数据之间的距离。R2是一个统计测量,分析2个信号之间的相似性,取值范围从0到1,越接近1,表明重构信号与真实信号拟合得越好。RSME和R2表达式如下所示。
式中:k为信号点数;yi为真实信号;为重构信号;为真实信号的平均值。
如图5所示,IASC-ASCE SHM Benchmark模型[24]为4层钢框架结构,每层12个梁单元、9个柱单元以及斜支撑单元8个,共126个单元。每层沿x和y方向均布置2个加速度传感器,总共16个传感器。本算例以12自由度模型为研究对象。该模型楼层质量为对称分布,激励方向为单方向,故该损伤模拟可简化为对Y轴方向的一维分析,即每层只有一个有效的加速度响应,从下往上传感器编号为1号~4号。对采集到的加速度数据分别添加噪声水平分别为5%,10%和20%的高斯白噪声以验证模型的抗噪性能,加噪方式如式(9)。设置了单传感器故障工况和多传感器故障工况,分别为1号传感器发生故障、1号和3号传感器同时故障的情况。
图5 IASC-ASCE SHM Benchmark示意图Fig.5 IASC-ASCE SHM Benchmark schematic diagram
式中:为加噪后的时间序列信号;xi为原始时间序列信号;a为噪声水平;ζ为服从标准正态分布的随机数。
利用MATLAB计算不同工况下的加速度时程数据。其中采样频率为100 Hz,采样时间约为5.7 h,单个传感器测量数据长度为2 048 000。对信号进行切片处理,切割成2 000×1 024×1大小,以适应CNN的输入大小,并按照4︰1比例随机分为训练集与测试集。原始数据无故障,标签为1,对无故障即健康数据进行传感器故障处理,生成偏移、漂移、精度退化、增益和完全故障5种传感器故障数据,部分故障信号如图6所示,标签依次为2~6。总的训练集大小为9 600×1 024×1,测试集的大小为2 400×1 024×1。
图6 模拟故障信号时程曲线Fig.6 Time history curve of simulation fault signal
利用不同传感器数据集训练生成与其对应的4个故障诊断模型。在CNN训练中,选用Adam优化器,初始学习率为0.000 2,每个批处理大小设为32,训练20批次。对传感器进行故障诊断之后,根据诊断结果训练相应的信号恢复模型去恢复故障信号。信号恢复过程中,生成器接收包括m条被设置为0的故障信号及其他的健康传感器信号,并输出m个故障传感器的重构数据,m取1~3。因此,第一层的输入尺寸为1 024×4×1,最后一层的输出尺寸为1 024×m×1。判别器第1层的输入大小和最后一层的输出大小分别设计为1 024×m×1和1×1×1。适当设计每一层对应的核大小和步幅大小,逐步提取特征并重构数据。
无噪声下1号传感器训练收敛过程如图7所示。从图7(a)中可以看出,1D-CNN的收敛非常快,训练至第10批次时损失函数已接近0。在图7(b)中可以看到,训练达20批次时,验证集准确率稳定地接近1。表明卷积神经网络能够快速稳定地学习到故障信号中的特征,将故障类别准确地识别出来。
图7 1号传感器训练集和验证集的准确率与损失函数曲线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]降维技术进行可视化。图8(a)为输入的原始样本分布结果,除完全故障的信号以外,健康信号与其他4种故障信号的数据分布基本重合在一起,难以进行分类。经过20个批次的训练后,输出层的结果如图8(b)所示。大部分样本都聚集在各自的集群中,仅有极少数类别5的样本产生了误判,落在类别1的集群,说明该故障诊断模型可以有效进行传感器故障的分类。图9给出了不同噪声程度下传感器故障诊断的准确率,从图9可知CNN对不同噪声水平的数据样本都有很好的识别效果,在噪声水平达20%时,分类准确率仍能达到99.67%。充分体现了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
单个传感器故障的恢复过程及结果如图10所示。图10(a)和图10(b)分别为1号加速度传感器真实信号的时域图和频域图。取训练过程中4个不同训练批次的重构信号与真实信号进行比较,见图10(c)~10(J)。从图中可知,在训练开始时,重构信号在时域和频域与真实值有较大偏差,R2值仅为0.042。随着训练批次的增加,重构信号逐渐学习到振幅和频率特征。到训练完成时,在时域中,重构信号的幅值非常接近于真实值,在频率中,信号几乎完全重建了所有特征。重构信号与真实信号的相似度很高,R2达0.919。
图10 1号传感器真实信号和重构信号时域和频域的比较Fig.10 Comparison of real and reconstructed signals in the time domain and frequency domain of No.1 sensor
表1为基于真实信号和恢复信号识别得到的固有频率及误差。从表1可知,恢复信号识别出的固有频率与真实信号识别出的固有频率基本一致,仅在第二模态下有较小的差异,为−0.324%,表明重构方法能有效地匹配这些结构频率下的真实信号。基于恢复信号进行结构状态评估和损伤检测是可以接受的。图11为1号和3号传感器同时故障时测试集的部分信号重构结果。从图11可以看出,虽然故障传感器数量增加,但是所提算法仍在时域和频域上较好恢复故障信号。
图11 重构信号和真实信号时域和频域的比较Fig.11 Comparison of reconstructed and real signals in time and frequency domains
表1 真实信号和重构信号的模态识别结果Table 1 Modal recognition results of real and reconstructed signals
对原始无噪样本加噪生成5%,10%和20% 3种不同水平噪声的数据以检验算法的抗噪性。不同噪声水平信号恢复RMSE与R2结果如图12所示。图12中RMSE与R2为3种传感器故障数量下的多种不同位置故障的平均值。从图12可以看出,随着噪声水平的增大,重构信号的RMSE值会逐渐升高。单个传感器故障时,20%噪声水平下的RMSE值比无噪声水平下的RMSE值的升高了约0.02。相应地,重构信号与真实信号的相似性指标R2约下降0.075。可见,噪声越大,信号恢复精度会有所下降。当故障传感器个数和噪声水平增大时重构误差有较大的升高,其主要原因可能是在训练时能够利用的有效相关信息变少,但是恢复精度仍在工程允许范围内。
图12 不同数量传感器故障在不同噪声下的信号重构误差Fig.12 Signal reconstruction errors of different number of sensor faults under different noises
某大桥主桥为470 m的独塔自锚式悬索桥。全桥2根主缆呈倾斜状布置,横向中心距在塔顶为42 m。根据吊索索力分布情况,在16根吊杆上安装了加速度传感器,对吊杆的振动幅值、振动频率及吊索索力监测。索力监测测点布置见图13。
图13 某大桥索力监测测点布置Fig.13 Cable force monitoring point layout of a bridge
本文以上游侧的8个加速度传感器为研究对象,取大约6 h监测数据,单条传感器测量数据长度为1 024 000,对加速度信号采用EMD低通滤波进行去噪,将去噪后的数切割成2 000×512×1,并按照4︰1比例随机分为训练集与测试集。同样的,对健康数据进行故障处理生成5种不同的故障数据,健康及故障数据标签依次为1~6。总的训练集大小为9 600×512×1,测试集的大小为2 400×512×1。
传感器故障工况分为单传感器和多传感器故障工况。其中单传感器故障工况设置为5号传感器故障。多传感器工况则分别为5号和7号传感器故障以及1号、5号和7号传感器同时故障。信号恢复模型训练时的信号预处理方式与数值模拟相似,对去噪后的数据进行归一化以及切片处理,最后得到训练集样本大小为6 400×512×8,测试集大小为1 600×512×8。
各传感器的故障诊断结果见图14。从图14可知,相较于数值模拟,由于实桥所处环境及荷载等因较为复杂,传感器故障诊断的准确率相较于数值模拟有所降低,但大多数传感器的故障诊断准确率仍在83%以上,表明所提的故障诊断算法在实际桥梁运用上同样有较好的效果。
图14 传感器故障诊断准确率Fig.14 Accuracy of sensor fault diagnosis
由于实桥与数值模拟中所用传感器数量不同,对DCGAN网络的配置作出一些细微的变化,主要改变输入层、输出层和部分卷积层的尺寸,整体的网络架构、结构层的类型和激活函数保持不变。
多传感器故障下重构信号与真实信号的RMSE与R2值如表2所示,从表2可知,恢复信号与真实信号吻合良好,R2值均在0.8以上。其中1号、5号和7号传感器同时发生故障的信号恢复效果如图15所示。从图15可知,时域信号在整体趋势上能较好地重构出来,仅在振幅快速突变处误差较大。在频谱图中,信号基频与真实信号基频基本一致。
表2 3种不同故障传感器数量下的R2和RMSETable 2 R2 and RMSE for three different number of fault sensors
图15 重构信号和真实信号时域和频域的比较Fig.15 Comparison of reconstructed and real signals in time and frequency domains
1) 基于CNN传感器故障诊断模型具有较好的抗噪性能。在数值模拟中,噪声水平达20%时,故障传感器故障类型及位置判别准确率仍能达到99.67%。实际桥梁上的传感器的故障诊断准确率在83%以上。
2) 恢复信号在时域、频域与真实信号匹配良好。重构误差随着信噪比的降低及故障传感器在传感器总数中的占比的增加而增大,但重构信号与真实信号的R2均在0.8以上。