基于特征工程和深度自动编码器的桥梁损伤识别研究
2024-06-17侯怡钱松荣李雪梅
侯怡 钱松荣 李雪梅
摘 要:
针对桥梁监测领域中损伤识别精度较低的问题,提出了一种基于特征工程和深度自动编码器的识别方案。首先采用快速傅里叶变换分析原始数据的特征和规律,其次通过滑动窗口从频谱图中提取表现出损伤差异的模态频率,最后将经过主成分分析法选择的保留损伤信息量最大的敏感特征作为深度自动编码器的输入。实验结果表明,经过特征工程处理后的新指标提高了模型的识别能力和计算效率,在仅占原始数据集14.9%的特征维度的情况下,模型的识别精确率从81.12%提升到98.67%。
关键词:损伤识别;特征工程;特征提取;数据降维;深度学习
中图分类号:TP183 文献标志码:A
0 引言(Introduction)
桥梁在运行中易受到外部荷载等因素的破坏,因此许多桥梁上安装了结构监测系统[1],监测人员通过结构监测系统收集各类传感数据,这些包含损伤信息的数据成为桥梁状态评估的基础[2]。
由于数据量较大,传统的识别方法难以对数据的隐含信息与桥梁损伤之间复杂的非线性关系进行建模[3]。MOUGHTY等[4]在损伤检测中采用振型特征进行分析,但是该方法不能获取完整的结构模态信息,导致识别精度较低。
近年来,深度学习在自动化监测中显示出巨大的应用前景[5]。基于此,本文提出了一种特征工程和深度自动编码器相结合的识别方案。首先利用快速傅里叶变换(Fast Fourier Transform, FFT)和滑动窗口提取频谱中的模态频率,其次采用主成分分析法(Principal Component Analysis, PCA)丢弃权重贡献较小的主成分,搭建深度自动编码器(Deep Auto\|encoder, DAE)进行识别,最后通过实验验证了本方案的有效性。
1 数据准备(Data preparation)
1.1 数据来源及预处理
本次研究使用的桥梁健康监测数据集可以在数据存放网站获得,文献[6]提供了该数据集的详细介绍。数据来自某桥梁上的47个传感器测量的y方向加速度序列,每次测量获得2 859个数据,数据的尺寸为2 859×47,采样频率为571 Hz,其中前50次测量获得的数据来自正常的桥梁结构,后50次测量获得的数据来自桥梁不同的损伤结构,包括5种损伤类型,分别为损伤一、损伤二、损伤三、损伤四和损伤五。
考虑到数据集的平衡性,将每种类型的数据按照时间序列进行随机下采样,每类数据采样6 000个样本,因此正常数据和5类损伤数据共采样36 000个样本,原始数据集的尺寸为36 000×47。为了消除数据不同维度之间的差异性,对原始数据x进行零均值归一化处理,经过处理后的数据x′符合标准正态分布,即均值为0,标准差为1,其计算公式如下:
其中:μ为原始数据的均值,δ为原始数据的标准差。
1.2 数据的特征工程
原始数据的底层特征往往分散在搜索空间中,严重影响了模式识别的效率,因此需要一个特征工程,使模式可区分[7],该过程包括特征提取和特征选择两个步骤。
1.2.1 特征提取
为了能够提取到对桥梁损伤更敏感的特征,基于数据挖掘技术,本文提出采用快速傅里叶变换对原始数据的特征规律进行分析。傅里叶变换表明任何连续测量的时序信号都可以表示为不同频率的正弦波的无限叠加,因此可以通过对这些正弦波的频谱进行分析,从而提取到信号在原时域上看不到的频谱特征。快速傅里叶变换则是根据对离散傅里叶变换的特性进行改进得到的,它将原有的计算复杂度从N2减少到N×log10N。
假设xn为采集到的时域信号,N为样本个数,k表示频域信号中的样本下标,Xk为得到的频域信号的序列,则其离散傅里叶变换的计算公式如下:
Xk=∑N-1n=0xne-2jπkn/N[JZ)][JY](2)
以正常数据和损伤一类数据为例,其经过快速傅里叶变换后的频谱如图1所示,研究人员对输出结果进行了归一化处理,可以看到,当桥梁出现损伤后,损伤一数据的频谱信号中出现明显的高频特征,从频域上得到的频谱信息表现出在时域上没有显示出的损伤类别的依赖差异,因此本文选择模态频率作为损伤识别的特征,并在后续的实验对比中验证了该方法的有效性。
在整个样本长度上对所有数据特征进行采样,选择滑动窗口大小为1 142,为数据采样频率的两倍,步长为1,并针对每次滑动窗口中的每个采样点提取频谱图中的幅值最大点和幅值第二大点的模态频率,滑动窗口示意图如图2所示。在处理完36 000个样本后,每个样本得到了94个数据特征,新的样本数量为35 400,这些数据构成了频率统计数据集。
1.2.2 特征选择
由于频率统计数据集中的每个数据都有94个特征维度,因此为了提高模型的解释性和降低训练的难度,需要在尽可能地保留特征信息的前提下,减少数据的维度。本文提出采用主成分分析法进行特征降维,目的是对高维数据进行空间压缩,从而提取更有效的关键信息。一般而言,信息量衡量指标就是样本方差,样本方差越大,代表特征所带的信息量越多。
在实际计算中,主成分分析法通过计算属性间相关矩阵的特征值和特征向量构造主成分,依据特征值的大小确定主成分的贡献率[8],这种方式可以有效避免过拟合的问题[9]。假设有一个样本为m条、特征数为n的数据集,对所有样本去中心化后得到矩阵[WTHX]X[WTBX],其协方差矩阵[WTHX]C的计算公式如下:
从表1中可以明显地看出,前7个主成分的累加贡献占了所有特征主成分的92.4%,其余87个主成分的独立解释方差均小于0.01。故按照贡献率从大到小排列,只保留前7个主成分特征,丢弃权重贡献较小的其他主成分,新构造的特征维度仅占原始数据集的14.9%。
2 实验搭建(Experiment setup)
2.1 模型建立[HJ1.5mm]
近年来,深度自动编码器在结构化数据处理方面也开始得到应用,深度自动编码器的目的是通过神经网络学习映射关系,对输入信息进行重构[1],其优点在于能够以无监督的方式提取数据背后的隐含信息,提供了更高泛化能力和预测精度。深度自动编码器主要由编码器和解码器组成,编码器的作用是将输入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)
最小化误差的优化函数如下:
MinimizeLoss=dist(X,XR)[JZ)][JY](7)
其中:ω(1)、ω(2)、b(1)、b(2)是自动编码器的参数,经训练优化得到;dist为损失函数,通常为均方误差。
本文搭建的模型结构和相关参数如图3所示,模型主要包括3个编码层和3个解码层,每个编码层和解码层分别连接一个Batch Normalization(BN)层和Leaky ReLU激活函数,对每一批数据进行归一化处理和特征映射。在得到初始维度的输出后,研究人员额外连接一个激活函数为Softmax的全连接层,负责将前者提取的特征映射到相应的损伤类别[10],从而得到最终的输出结果。
2.2 实验设置
本文对数据集的所有标签进行One\|Hot编码,训练前每次随机选取总数据量的80%作为训练集,剩下的20%作为测试集,保证两个独立的单元没有信息交互。在训练中选用适合进行损伤多分类的交叉熵损失函数计算实际类别和预测类别之间的差异,模型预先使用正态分布进行随机初始化,并采用五折交叉验证法保留最佳模型。
本次实验一共迭代训练100个周期,选择的优化算法为Adam[11],设置初始学习率为0.001,衰减率为10-8,训练批次为128次。本文的算法使用Python语言实现,深度学习计算平台为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)
精确率表示预测为损伤类的样本数据中有多少是正确的,召回率表示有多少损伤样本被正确预测,而F1得分则是精确率和召回率的调和平均值。
3 [JP5]实验结果与分析(Experimental results and analysis)
3.1 实验结果
将训练好的模型在测试集上进行测试,得到的混淆矩阵如表2所示,表2中还列出了测试后的精确率、召回率和F1得分。在仅保留7个特征维度的情况下,模型预测时的各项指标均超过了97%,特别是对于表现最好的正常和损伤五的数据,F1得分分别为99.26%和99.59%。实验结果表明,在采用滑动窗口提取模态频率和丢弃掉大量带有无效损伤信息的特征后,深度自动编码器模型在基于桥梁振动信号的损伤识别方面拥有极为优异的表现。
3.2 实验对比和分析
3.2.1 不同的特征选择方法
为了验证主成分分析法的有效性,本文还使用线性判别分析(Linear Discriminant Analysis, LDA)和独立成分分析(Independent Component Analysis, ICA)与本文所提方法进行了性能比较,这两种方法均通过Python中的Sklearn库实现,结果如表3所示。可以看出,LDA和ICA的精确率分别只有89.58%和76.30%,而PCA的各项指标均超过了98%。
3.2.2 不同算法的性能对比
本文使用BP神经网络、K最近邻算法(K\|Nearest Neighbor, KNN)、支持向量机(Support Vector Machine, SVM)和决策树(Decision Tree, DT)与深度自动编码器进行了对比。以精度提升作为目标函数,通过贝叶斯优化在取值空间中不断迭代对其进行超参数调优,调试结果如下:设置BP神经网络输入层的神经元数量为7,3个隐藏层的神经元数量均为64,输出层的神经元数量为6;设置KNN算法的邻近点数为1;SVM算法的惩罚系数为200,核函数为高斯核函数,停止训练的误差值为10-4;设置DT算法的最小样本叶子数为1,最小样本划分数目为2。不同算法的评估结果分别如图4和图5所示。
综合分析不同算法的精确率和召回率,相比于其他算法,本文搭建的深度自动编码器模型对于6类数据的识别效果均表现优异,并且并未出现单类数据分类表现较好而对其他数据识别不佳的情况,有效验证了模型的性能。
3.2.3 特征工程的性能影响
为了详细探究特征工程中各环节对系统损伤识别性能的影响,本文准备了3种不同的数据集,包括原始数据集、仅经过主成分分析法处理后的数据集以及经过特征工程处理后的数据集。在3种数据集上,模型训练过程中的准确率和损失值的变化趋势分别如图6和图7所示,表4展示了各环节对于损伤识别的影响。
通过图6、图7和表4可以看出,由于原始数据集中特征分布不明显,使用原始数据集训练模型的效果一般,识别精确率仅为81.12%,在未进行特征提取时,通过主成分分析法直接降维会丢失太多的关键信息,导致识别精度大幅下降。在此基础上,通过快速傅里叶变换和滑动窗口对特征信息进行提取和整合后,各项指标均得到了大幅提升,识别精确率达到了98.67%,说明在特征提取过程中,从频谱图中提取到的模态频率极大地提高了识别的灵敏度和精度,此时的模型在识别性能和计算效率之间达到了较好的平衡。
4 结论(Conclusion)
本文通过研究数据挖掘和损伤识别技术,提出了一种特征工程和深度自动编码器相结合的桥梁损伤识别方案。首先根据信号频谱图中所反映出的特征差异,提出了以快速傅里叶变换和滑动窗口提取模态频率的特征提取方法,以及以主成分分析法为主的特征选择方法,以此挖掘出蕴含损伤类别的关键信息,并搭建深度自动编码器模型进行损伤识别。实验结果表明,新的损伤指标有效保留了数据类别的信息,在经过特征工程处理后,模型在测试集上的精确率从81.12%提升到了98.67%,同时与其他算法相比,模型在6类数据上的泛化能力也极为优异,因此本文的识别方案在保证计算量最低的同时,还获得了极高的识别精度,具有应用于实际桥梁损伤识别的能力。
参考文献(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] 勾红叶,刘畅,班新林,等. 高速铁路桥梁\|轨道体系检测监测与行车安全研究进展[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] 李贵凤. 基于深度学习的桥梁健康监测数据分析关键技术研究[D]. 重庆:重庆交通大学,2018.
[9] 谢璐阳,夏兆君,朱少华,等. 基于卷积神经网络的图像识别过拟合问题分析与研究[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局部优化的分布式近似牛顿深度学习模型训练[J]. 计算机应用与软件,2021,38(10):278\|283.
作者简介:
侯 怡(2000\|),男,硕士生。研究领域:深度学习,缺陷检测。
钱松荣(1972\|),女,博士,教授。研究领域:计算机视觉,机器学习,数据治理。