郭新宇,方圣恩,2
(1.福州大学土木工程学院,福建 福州 350108;2.福州大学土木工程防震减灾信息化国家地方联合工程研究中心,福建 福州 350108)
拉索作为大跨径斜拉桥的主要承重构件,索力监测是桥梁健康监测系统的重要组成部分。据统计,中国自1970 年至1990 年建造的30 多座斜拉桥中,有近50%的加固乃至拆除等措施与拉索力学性能劣化直接相关[1]。因此,准确掌握索力状态是保障桥梁安全运营和维养的重要先决条件。目前索力监测和测试主要分为直接测试法和间接测试法两类,其中频率法作为一种操作简单、经济快捷的间接方法被广泛应用。近年来,在最初张紧弦公式[2]的基础上,针对不同边界或应用条件下的索力公式也不断被提出[3-4]。然而目前研究的重点仍是从一系列振动响应中识别不变的索力[5]。大多数对于拉索索力的研究仍是事后的索力识别,而不是事前的索力预测,对斜拉桥性能监测来说存在不足。
机器学习的发展[6]及健康监测系统的完善[7]为索力预测研究提供了可能。自基于反向传播的BP 神经网络被开发以来[8],针对不同领域的特定任务衍生出了基于深度学习算法的网络形式,比如卷积神经网络[9]、循环神 经网络(Recurrent Neural Network,RNN)以及它们的变种或组合模型等[10]。其中RNN打破了传统神经网络对输入输出的诸多限制,能够有效挖掘数据中的时序信息,已成功应用于如桥梁性能劣化预测[11]、损伤识别[12]及传感数据重构[13]等方面,但尚未发现其在索力预测方面的研究。另一方面,光纤光栅传感技术的发展,也使高精度的索力监测有了新的突破[14],可以为研究提供高准确率的索力数据。
基于某实际大跨度斜拉桥的索力时程数据,研究了基于门控循环单元(Gated Recurrent Unit,GRU)神经网络的索力预测模型。在分析了GRU网络的组成结构及运算特点后,提出了基于GRU 的索力预测模型。将完整的索力数据通过滑动窗口等操作进行预处理,采用GRU 层对索力序列的内在规律进行学习,通过全连接层将学习到的信息综合输出为一个索力值,实现对未来索力的预测。该方法可根据历史索力数据实现对未来索力的预测。
RNN 作为经典前馈神经网络的拓展,主要是用于处理和预测序列数据。如图1 所示,RNN 主要由输入层X、隐藏层U,V,W以及输出层Y组成。但与前馈神经网络不同的是,RNN 能够记忆时间轴上的历史信息,并影响后续节点的输出。
图1 循环神经网络结构示意图Fig.1 Structure of a recurrent neural network
根据上述特点,可以得到t时刻隐藏节点与输出节点的数学表达式[15]:
式中f与g均为激 活函数;xt为t时刻的输入;yt为t时刻的输出;st为t时刻的隐藏层状态。若将式(1)循环代入式(2),则可进一步得到如下表达式:
由图1 与式(3)可以看出,某个时刻的状态st-1将会与下个时刻的输入xt一起被训练并形成回路,形成所谓的循环神经网络。要注意的是,每个时刻的U,V,W都是相同的,这种权值共享的机制不仅降低了模型的复杂度,更是其捕捉序列规律的关键。尽管RNN 在理论上能够解决序列问题的训练,但随着序列长度的增加,基于梯度的优化算法将无法进行,这一点也可由式(3)看出,即序列长度的增加将导致梯度的计算复杂度呈指数型的增加,导致梯度消失或梯度爆炸。
为解决上述问题,RNN 的另一种变体长短期记忆(Long Short Term Memory,LSTM)[15]神经网络通过引入输入门、遗忘门及输出门动态调节信息流动,减少计算负担,有效解决训练过程中梯度爆炸或消失的问题。随后,又有研究将LSTM 中的输入门与遗忘门合并,创建了结构形式更加简单的GRU 神经网络[16],其神经 元结构如图2 所示。图中zt代表更新门,控制训练过程中要添加或舍弃的信息内容;rt代表重置门,控制对历史时刻信息的保留程度;ht为t时刻隐藏层单元状态,为更新后t时刻隐藏层单元状态。整个数据传递的数学表达式如下[16]:
图2 门控循环单元神经网络示意图Fig.2 Schematic diagram of gated recurrent unit neural networks
式中Wg,Wgz,Wgr,Vg,Vgz,Vgr为各式的网络权重矩阵。
利用GRU 神经网络对序列数据的学习能力,提出基于GRU 的斜拉桥索力预测框架,如图3 所示。按照对数据处理的功能不同,可分为输入层、GRU隐藏层与索力输出层。
图3 基于GRU 网络的索力预测Fig.3 Cable force prediction using GRU networks
输入层:由于索力的影响因素众多,想要得到较好的预测模型,需要较长一段时间的索力数据作为训练样本。为了学习序列间的前后依赖关系,需要对时序数据进行切片才能得到最终的神经网络样本。因此,在训练神经网络之前,首先需要将一段完整的索力数据进行切片、归一化等处理,并根据实际情况划分训练样本;
GRU 隐藏层:GRU 层是整个神经网络的核心,它的作用是学习索力时程数据之间的内在一般规律,从而使网络获得对未来索力预测的能力。该过程需要设定相关训练参数,如优化器、迭代次数等,同时不断调整网络拓扑,找寻比较合适的时间步长。
索力输出层:本文研究的是索力预测问题,最终输出结果为基于已有数据的下一时间节点上的索力值,而GRU 隐藏层输出的是对各输入时间节点上的预测结果,并非未来索力预测的期望值。因此,需要通过全连接层进一步对GRU 层的输出结果进行综合,需要在神经网络的末端添加一层全连接隐藏层,实现对GRU 层输出结果的综合,并将GRU 层的输出结果作为全连接层的输入层数据,再设定与之相对应的索力标签作为整个神经网络的索力输出层,便可以实现对未来索力的预测。
如图4 所示,本文以某实际大跨斜拉桥为研究对象,验证所提方法的可行性[17],斜拉桥主跨长260 m,两边跨均为99.85 m+26.55 m。该桥于1987 年12 月通车,由于超载等原因,在运营19 年后发现严重损伤,2005 年至2007 年间进行了一系列加固维护措施。对主梁进行了重铸,并在其他梁段表面粘贴了碳纤维布进行加固,同时更换了所有拉索。在维修过程中,安装了一套完整的结构健康监测系统,其中也包括了对部分索力的监控。索力测量通过在拉索中嵌入光纤光栅传感器来记录应力时程,进而转换为拉索索力。
图4 某实际斜拉桥Fig.4 An actual cable-stayed bridge
本文选取该桥1周(2008 年1 月10 日12:00—2008 年1 月17 日12:00)内具有代表性的3 根拉索的索应力实测数据。如图4(b)所示,C1,C2 及C3 分别代表了短索、中长索及长索。索力的采样频率为2.5 Hz,考虑到一般情况下短时间内的索力变化较小,因此先对数据进行压缩,取10 min 内索力数据的平均值为一个样本。然后选取了上述时间内连续采集的1000 个样本来验证方法的可行性,其中前700 个用作训练样本,后300 个作为验证样本。
由前文和图5 可知,待训练及预测样本实际为该桥在一周内连续不间断采集的数据。根据图3 所示的索力预测流程,首先需要对这一段索力数据进行切片以划分数据集。在处理时间序列问题上,定长滑动窗口是一种常用的数据分割手段[18],通过滑动窗口可将原本完整的时序数列划分为若干子序列,作为神经网络的数据集。需要注意的是,所设定的滑动窗口长度表示期望采用多长时间的历史数据实现对未来索力的预测。若滑动窗口长度过短,则不能充分学习历史索力数据的变化趋势;反之,则会增加很多冗余信息,加重网络训练负担。如图5 所示,本算例通过50 min 时长的5 个索力均值数据X去预测未来10 min 的索力均值Y,故将滑动窗口的时间步长设定为5,即全部样本在时间轴上的连续5个索力数据组成一组样本的输入层,然后取窗口下个索力值作为当前窗口的标签。
图5 滑动窗口与数据切片Fig.5 Sliding window and data slices
划分好训练样本后,便可开始该桥GRU 神经网络的搭建。采用了基于Python 语言的PyTorch 框架[19]。在网络训练之前,通常还需对数据进行归一化,其目的是使各特征具有相同的度量尺度,以便于神经网络的快速收敛。本文对样本数据处理所用的归一化公式如下:
式中xi为样本值;Xmin为样本中最小值;Xmax代表样本中最大值代表归一化后的值。网络训练采用了可以自适应调节学习率的Adam 优化器[20],并通过最小化均方误差损失函数实现对GRU 模型的迭代训练。经过多次调试后,确定输入层的节点数为5 个,对应上述时间步长为5 的5 个索力值;GRU隐藏层为1 层,各时间节点上的神经元个数为64 个;输出层节点为1,对应了预测索力值,将GRU 层的64 个神经元节点与这1 个输出节点通过线性的全连接层相连接,便完成了整个网络的搭建。
GRU 网络模型预测准确度采用整体平均误差作为评价指标,整体平均误差是所有样本预测误差百分比的平均值,用于评价数据整体误差程度:
式中N为样本个数;为第i个样本的真实值;mi为第i个样本的预测值。
300 个验证样本中第1~5 个样本作为输入层数据时,网络输出对应第6 个时刻的值,可与第6 个验证样本对比,以此类推,最终得到295 个预测值,如图6 所示。C1~C3 号拉索的预测索应力平均误差分别为0.072%,0.104%及0.090%,说明GRU 神经网络能够很好地预测索力的发展趋势。另一方面,3组预测索力的最大误差分别为0.443%,0.763%及0.670%,对应于图6 中C1,C2 及C3 号索的第228,72 及72 号样本值。需要指出的是,该最大误差值实际也很小,说明所提出的索力预测方法效果良好。
图6 拉索应力预测结果Fig.6 Cable stress prediction results
以某实际大跨斜拉桥为分析对象,提出了一种基于GRU 神经网络的索力预测方法,并基于该桥3根不同长度拉索一周时间连续采集的索应力数据验证了所提方法的可行性并得到以下结论:
(1)GRU 神经网络对桥梁健康监测获取的时序型数据具备良好的数据处理能力,可以利用拉索历史数据实现对未来索力的预测。对于实际斜拉桥上的不同长度拉索均可以获得较好的预测效果,平均误差及最大误差均小于1%。
(2)对实桥监测的庞大数据量进行预处理,如本文采用的压缩、数据切片和归一化,有利于提高GRU 网络的训练和预测准确度。
(3)在GRU 神经网络的末端添加一层全连接隐藏层,可实现对GRU 层输出结果的综合,有利于获取准确的预测结果。