唐 良,边祖光,赵银飞,金 婉
(1.陕西建工机械施工集团有限公司,陕西 西安 710000;2.浙江科技学院 土木与建筑工程学院,浙江 杭州 310023;3.浙江科嘉工程技术研究有限公司,浙江 宁波 315000;4.浙江大学 建筑工程学院,浙江 杭州 310058)
随着越来越多大型桥梁的建造,桥梁的安全问题迎来新的挑战,因此桥梁健康监测系统的研究也日益兴起。但是,目前大多数监测系统中缺乏有效而可靠的数据预处理与分析系统,导致大量存储的数据显得多余且无效[1]。因此,有必要加强对监测数据的预处理和分析,得出监测数据中能够反映桥梁损伤状态的关键指标,从而通过桥梁的损伤识别来预判桥梁的安全问题[2]。
对于传统的损伤识别方法,大多数学者采用的是整体法,该方法涉及了结构动力学、静动力识别、信号处理等不同学科内容[3]。整体法中,人工智能技术在结构损伤识别中得到了较为深入的应用,其中以人工神经网络、遗传算法、机器学习等技术较为成熟。占洋洋等[4]围绕基础理论较完善的BP神经网络进行损伤识别研究,发现BP神经网络方法虽然能够准确检测出损伤,但这需要依赖完整的损伤模式库,故其在工程中的应用受到模态测量的影响。Tang等[5]将异常检测问题建模为一个标准的图像分类任务,多类异常检测过程被统一到一个神经网络模型中。在神经网络的时域和频域图像特征信息的基础上,所有七种数据异常模式识别都取得了85%以上精度。此外,刘春城等[6]在拱桥损伤识别中首次引入支持向量机来分析;熊仲明[7]等在大跨钢结构损伤识别中分别采用了人工神经网络中的BP网络、概率网络和径向基网络。虽然基于人工智能技术的损伤识别研究取得一定进展,但是以上人工智能算法中的浅层神经网络如支持向量机(SupportVectorMachines,SVM)和k最近邻(k-NearestNeighbor,KNN)等,由于结构简单、实际应用中的分类能力较弱,使得对它们的研究在桥梁损伤识别领域陷入瓶颈。
深度神经网络的出现解决了浅层神经网络分类能力有限的问题,其具有更多的隐藏层,能够处理实际工程中的复杂模式分类及回归问题[8]。在深度神经网络中,卷积神经网络(ConvolutionalNeuralNetwork,CNN)和栈式自动编码器(StackedAutoencoders,SAE)应用较为广泛,在无人机、自动驾驶、语音及图像识别领域均得到了很大发展[9],同样,它们在桥梁领域也有了初步应用。Pathirage等[10]提出了一种用于结构损伤识别的深度稀疏自动编码器,对钢框架结构和桥梁结构进行了损伤识别研究,并证明了所提方法的可靠性。Guo等[11]使用卷积神经网络来提取损伤指标,数据来源于数值模拟以及实验测量,与其他网络体系结构相比,该方法的准确性至少提高了10%。Bao等[12]将计算机视觉方法应用于数据异常诊断,使用桥梁健康监测系统的加速度响应进行识别,证明了该方法能够识别数据的多模式异常。以上学者将深度学习方法引入到了桥梁结构损伤领域,但基于健康监测数据的损伤识别却鲜有研究与应用。
针对桥梁健康监测系统中海量数据的冗余问题和传统损伤识别方法的不足,在桥梁损伤识别领域采用深度学习技术,并立足于监测数据完成损伤识别。区别于前人使用的数值模拟数据集及试验测试数据集等,本文利用CNN和SAE直接对实际的桥梁健康监测数据进行分析,从监测数据中来获取桥梁的损伤状态。
深度学习,又称深度神经网络,是当下人工智能与机器学习的热门技术。与传统的机器学习不同,深度神经网络在大量的数据样本中学习数据之间的映射关系,并使用优化算法来获得网络参数[13]。本文采用深度神经网络中的CNN和SAE来识别监测数据中的损伤信息。
CNN结构如图1所示,单个卷积层连接到单个池化层,池化层再与卷积层相连,而输出层之前则由全连接层相连接组成[14]。
图1 卷积神经网络结构模型
卷积层的运算[13]可以表示为:
池化层上的神经元的计算公式[13]为:
式中:Xi、Yi分别为第i层网络的特征图;f(ai+Xi-1*Wi)为激活函数;g(Yi-1)为池化函数;ai、Wi分别为卷积过程第i层的偏置向量和权重向量;bi为第i层的偏置向量;*为进行卷积运算。
自动编码器,又称自编码神经网络,如图2所示。由多个自动编码器前后相连就组成了栈式自编码神经网络,网络的输出端是用于分类、回归等任务的分类器[8],如图3所示。
图2 自动编码器模型
图3 栈式自动编码器模型
编码神经网络的编码过程[15]可表示为:
解码过程[15]可表示为:
式中:A1、A2分别代表权重矩阵;c1、c2分别代表偏置矩阵;σe、σd分别代表激活函数,本文的激活函数选用针对复杂分类情况的Softmax函数,即
式中:zi、zj分别为第i个和第j个节点的输出;N为分类的种类数量。
区别于传统的桥梁损伤识别,基于监测数据的损伤识别方法需要先对监测数据进行预处理,将处理后的数据分别用CNN和SAE进行识别。整个过程包括4个步骤:确定损伤指标、监测数据预处理、构建训练样本库、搭建并训练网络。
深度神经网络的识别效果往往依赖于损伤指标的特征,理想的损伤指标具有以下特征:对结构损伤敏感性高同时对测试误差的敏感性较低,获取比较方便、容易[16]。本文选用能够反映结构损伤特征,对损伤敏感且在实际应用中获取较为容易、方便的竖向加速度作为损伤指标。
原始的监测数据包含大量噪声,在损伤识别之前须经预处理得到降噪后的平滑数据。数据的预处理包括可信度评价、粗差剔除及平滑滤波3个步骤,本文的预处理过程基于Matlab程序,通过编程来计算处理。
2.2.1 可信度评价
首先,选择桥跨对称位置的4个测点,以一周的时间跨度提取每个测点的竖向加速度响应信号,每一组加速度信号以列向量的形式存储在表格中。然后对所有列向量进行均值化处理,得到更加稳定的数据形式。选取某一列向量为参考序列,其余的作为比较序列,依次相减得到最大差值和最小差值。最后利用邓氏关联度[17]计算关联系数(式6)和关联度(式7),可以得到不同测点加速度响应信号的关联度值,若关联度的概率标准差低于阈值,则说明对称位置的监测数据相关性较好,可进行下一步处理。
式中:ξi(j)为j时间的参考序列和比较序列i的关联系数;Δ(min)和Δ(max)分别是所有比较序列的绝对差值中的最小差值和最大差值;ρ是分辨系数,本文取值为0.5;Δi(j)为j时间的参考序列和比较序列i差值的绝对值;γi为参考序列和比较序列i的关联度;m为序列维度。
2.2.2 粗差剔除
对于粗差剔除,先利用概率法剔除明显的异常值,剩余的粗差剔除由数据跳跃法[18]实现。将通过可信度评价的列向量存储在不同向量组中,设定分位数为5%,使用基于平均值与标准偏差的概率法处理,可以剔除异常值及其对应的采样时间。然后将概率法处理后的数据代入循环依次相减得到互差值,互差最大的值两侧即为跳跃点。对跳跃点的监测数据Lk分别计算残差值,每一组残差代入式(8)中,判断该跳跃点是否异常,若存在异常值,直接在数组中剔除其对应的数据及采样时间。
式中:vk为跳跃点的残差值;Li为第i个采样时间点对应的监测数据;n为每个测点的采样次数;δ为列向量的方差。
2.2.3 平滑滤波
平滑滤波,统一采用较为经典的滑动平均法[19]处理。作为预处理的最后一步,需要通过自定义平滑函数来实现。在自定义函数中,先选择平滑窗口大小,对窗口内的数据作加权平均来得到平滑数据,利用循环来实现其不断向前滑动,直至到达端点。其中,平滑效果受参数选取的影响,本文中,为保证平滑效果,平滑窗口选择为5。
样本库分为有、无标签两类样本,无标签样本是未使用理想输出标签标注的训练样本,有标签样本则是具有理想输出标签的训练样本[20]。本文中,CNN由于只需要有监督训练即可完成,故仅需要有标签样本;SAE的训练分为各个自动编码器预训练与整个SAE通过BP算法进行有监督微调两部分,其中预训练需要无标签样本,而有监督微调需要有标签样本。无标签样本不需要标出数据的损伤信息,提取较容易;而有标签样本需要大量含损伤信息的数据。由于监测数据中的损伤数据提取需要耗费大量时间,故本文中的有标签样本以有限元模拟获得的损伤数据为主,用监测数据当作补充。
2.4.1 卷积神经网络
利用Matlab平台,笔者通过编程搭建并训练CNN,设计结构图如图4所示。其中:输入层对应图像的像素100×100×1,输出层则对应工况种类设置。卷积池化过程设置为3次,第一层是8个7×7卷积核,第二层是16个7×7卷积核,第三层是64个7×7卷积核。两个池化层的步长为2,矩形输入区域为2×2。搭建CNN后,训练采用随机梯度下降法,将最大训练轮数设置为100,初始学习率为0.001,并不断调整学习率,保存最优训练结果。
图4 CNN设计结构图
2.4.2 栈式自编码网络
利用Matlab平台,笔者通过编程搭建并训练SAE,设计结构图如图5所示。其中输入层大小对应测点一周采集数据点总量,设置3个自动编码器,其隐含层数量分别为700、100、50,依次递减以提取输入数据特征的更小表示。
图5 SAE设计结构图
SAE的训练包括以下4个步骤:
(1)用预处理后的数据作为输入,训练第1个编码器,设置其最大训练轮数为600,网络权重为0.004,稀疏正则项的参数4,稀疏比例为0.15;
(2)把第1个编码器的结果保存并用作第2个编码器的输入,设置其最大训练轮数为400,网络权重为0.004,稀疏正则项的参数4,稀疏比例为0.15;
(3)把第2个编码器的结果保存并用作第3个编码器的输入,设置其最大训练轮数为100,网络权重为0.002,稀疏正则项的参数4,稀疏比例为0.1;
(4)堆叠3个编码器和Softmax分类器形成整个网络,最后训练整个网络。
本文选取宁波市明州大桥健康监测数据,进行损伤定位识别,详细论述本文提出的桥梁监测数据损伤识别方法应用。
明州大桥位于宁波市高教园区,为中承式系杆拱桥,总长约1330m,其中主桥为100m+450m+100m,桥宽46m,引桥桥宽32m。大桥主要监测的内容包括钢箱梁应变、桥梁的整体挠度以及桥梁的结构动力特性及振动等。其中拱肋振动加速度测点布置如图6所示。
图6 明州大桥拱肋振动加速度监测点布置图
由于篇幅原因,本小节选取明州大桥2020年1月1日至1月7日的跨中拱肋竖向加速度监测点AC14所得数据为例说明。由于明州大桥健康监测系统每10分钟自动采集一次数据,AC14测点一周采集数据点总计1008个。图7所示是监测数据通过粗差剔除、平滑滤波前后的对比图。
图7 AC14测点竖向加速度处理前后对比曲线(单位:m/s2)
针对明州大桥的损伤位置识别任务,本文提取了明州大桥健康监测系统2020年1月至6月的跨中拱肋竖向加速度监测值。由于监测数据中含有的损伤监测数据不足,笔者采用Midas对明州大桥进行有限元建模,而损伤工况则利用有限元模型来模拟,有限元模型如图8所示。模型中相关单元的选取:吊索及系杆用桁架单元模拟,其他主梁及主拱用梁单元模拟,总计2330个节点,3270个单元。模型中,荷载分析采用时程荷载,主梁各节点之间视为刚性连接,吊索及系杆节点采用铰接。为对比分析,有限元模拟数据的加速度响应则选取跨中拱肋位置的竖向加速度时程响应(对应AC14测点监测数据),由于时程分析的时长为4s,频率为50Hz,所以直接从竖向加速度时程响应提取前1008个数据即可得到相应损伤样本。其中,损伤程度用材料弹性模量E的变化来模拟。
图8 明州大桥有限元模型图
CNN方法的有标签样本采用20个AC14测点一周的竖向加速度样本以及10个不同类型单元分别损伤10%、20%、30%、40%、50%、60%、70%、80%、90%的有限元加速度响应,共计110个有标签样本。SAE方法的有标签样本采用10个AC14测点一周的竖向加速度样本以及10个不同类型单元分别损伤25%、75%的有限元加速度响应;无标签样本采用有限元模型随机提取的70个加速度响应样本和20个AC14测点一周的竖向加速度样本,训练样本见表1。
表1 训练样本
根据实际桥梁结构的测点布置,并参考有限元模型的结果,本文选择桥梁易发生损伤关键部位的监测和数值模拟数据作为损伤研究对象,其中监测数据取自AC14测点,模拟数据取自10处易受损单元对应的跨中拱肋加速度响应。为简化损伤状态,检验基于监测数据的损伤识别效果,本文将相同损伤位置的不同损伤程度情况设定为同一损伤工况,工况设置见表2。
表2 损伤工况
3.4.1 卷积神经网络识别结果
由于CNN的图像识别能力较强,笔者首先对样本数据以一周为单位进行图像可视化,之后再利用CNN来识别归一化、压缩、灰度化后的样本图像,图像像素保存为100×100×1。对全部110个样本图像识别,其中70%用作训练集,30%用作预测集,预测集不参与网络训练,训练过程如图9所示。
图9 CNN训练过程
由图9的结果可见,经过100次完全迭代后,损失值保持稳定,表明训练完成。图10中,展示了10个样本数据,分别对应10个灰度图,其中图像下方为真实的工况(种类为11类,对应数据1至11),图像上方为预测工况,若预测与真实工况情况一致则为预测正确。由图9可知,CNN识别样本数据的损伤整体正确率达到87.5%,识别结果说明:针对二维图像的CNN损伤识别具备优秀的分类能力,可用于识别真实的健康监测数据。
图10 CNN部分识别结果
3.4.2 栈式自编码网络识别结果
和CNN不同,本节利用SAE直接识别样本数据序列,其中输入层大小对应明州大桥健康监测系统AC14测点一周采集数据点总量1008,输出层设置为11以对应11种工况。训练过程中自动编码器的网络性能变化如图11所示,将所得结果与CNN识别结果比较,结果如图12所示。
图11SAE网络性能变化图
图11 中,以均方误差来衡量网络的性能,可见均方误差值随着训练次数的增加而不断下降,并最终无限逼近最佳网络性能值,这说明SAE进行有效的训练后,网络可用于损伤识别。由图12的结果可见,经过3层自动编码器充分迭代后,SAE识别样本数据的损伤整体正确率达到85.1%。如图12所示的混淆矩阵中,有9种工况的预测正确率都达到80%以上,其中工况6、7、9识别正确率达到100%,识别结果说明:针对数据序列的SAE损伤识别同样具备优秀的分类能力,具备工程应用的可能性。
图12 SAE混淆矩阵图
3.4.3 浅层神经网络识别结果
为比较深度神经网络和浅层神经网络的识别效果,本节基于Matlab的分类学习工具箱建立了与SAE隐含单元数量一致的浅层神经网络SVM及KNN,训练采用相同训练样本库,训练结果如图13所示。
由图13的混淆矩阵计算可得,SVM识别正确率为64.3%,KNN为55.4%。综合图9~图13的结果可见,在样本数据不多的情况下,基于深度学习方法的损伤位置识别效果就已经大幅领先浅层神经网络的识别结果。其中,CNN识别正确率为87.5%,SAE为85.1%,而浅层神经网络中的SVM为64.3%,KNN为55.4%。对比上述方法的识别结果可得:基于深度学习的损伤识别方法可用于识别海量监测数据,其具有优秀的损伤模式记忆能力,可以区分不同的损伤工况;采用相同的损伤样本库,它比浅层神经网络方法具有更高的精度。
图13 浅层神经网络识别结果
(1)本文采用的损伤识别方法不论是通过图像识别还是通过数据序列识别,都表现出优秀的性能,识别正确率均超过85%,具备识别海量监测数据的能力。
(2)在监督训练样本数量一致的情况下,深度神经网络的损伤识别效果比浅层神经网络更好,识别正确率提高20%以上。
(3)本文的损伤样本主要取自有限元模型,难以充分反映桥梁实际损伤情况,待将来建立了各类桥梁监测数据损伤样本库,本文所提方法针对海量数据集还待有更进一步的工程应用效果。