APP下载

一种基于LSTM循环神经网络和振动测试的结构损伤检测方法

2021-10-22王子凡张健飞

噪声与振动控制 2021年5期
关键词:准确率网格噪声

王子凡,张健飞

(河海大学 力学与材料学院,南京211100)

工程结构的稳定性关系着人民福祉。因此如何及时有效的对结构进行损伤检测也成了学术界一个热点课题。如超声波或射线等传统损伤检测技术的探测范围有局限性,其对于结构内部或者人力、机械难以达到的部位探测效果欠佳。相比于传统检测技术,基于结构动态响应的损伤检测技术则具有很大的优越性,它利用采集到的振动信息来检测结构损伤,不仅经济性强,且无需打断结构的连续使用。结构振动信息包括诸如位移、加速度等的时域信息以及诸如频率、振型等的频域信息。目前,学者普遍使用基于频域信息的结构损伤识别方法,该方法比较损伤前后根据振动响应数据识别出的结构模态参数,通过其差异来识别损伤[1],或是借助神经网络[2]、模型修正[3]等手段进行损伤识别。使用时域数据进行结构损伤检测的基本思想则是利用时域分析模型,通过模型提取结构的振动响应在时域上的特征对损伤进行判定[4]。由于这种方法使用测量到的时域数据直接进行识别,无需进行数值转换,所以其结构响应中与损伤相关的特征不会产生数值误差具有更强的适应性。

目前,很多深度学习模型已经被应用到基于时域数据的异常检测之中,2015年,Serkan 等[5]首次将一维卷积神经网络用于病人特定心电图(ECG)的分类和检测,其结果表明卷积神经网络对于心室异位搏动(VEB)和室上异位搏动(SVEB)的检测上具有很好的分类性能,其分类准确率分别达到99%以及97.6 %;赵建鹏等[6]利用长短期记忆(Long-short Term Memory,LSTM)循环神经网络,对旋转机械的不同故障种类进行了分类判别及预测。结果表明,与支持向量机等传统时域分析模型相比,LSTM 模型的性能更强。目前对于进行结构损伤检测的深度学习模型研究较少,2018年,李雪松等[7-8]建立了卷积神经网络桥梁损伤识别模型,其结果表明卷积神经网络具有在噪声和弱激励环境下良好的识别能力。Lin 等[9]将卷积神经网络用于简支梁的损伤检测,结果表明网络可以从低电平波形信号中自动提取特征,在有噪声的数据上表现出较高的识别损伤的准确度。

本文基于LSTM循环神经网络提出了一种结构损伤检测方法,利用LSTM 循环神经网络直接提取某重力坝有限元模型结构加速度时序数据中的特征进行损伤识别;并使用不同噪声水平的加速度数据对模型进行测试;采用网格搜索算法对LSTM 循环神经网络超参数进行优化;最后通过悬臂梁振动试验,生成试验数据对网络进行训练和测试。

1 LSTM循环神经网络的基本原理

深度学习模型作为一种自动提取特征的学习模型,可以通过非线性变换将初始的底层特征表示转化为高层特征,从而挖掘出更深层次的规律。循环神经网络(Recurrent Neural Network,RNN)率先将在网络结构中引入了时序设计,是增加了自身输出指向输入的循环连接的人工神经网络[10],适用于对于时序数据进行建模及序列识别。但是RNN 网络中存在梯度消失和梯度爆炸的问题[11],导致RNN 不具备良好的长期学习能力,为了解决这个问题,Hochreiter 等[12]在1977年首次提出了长短期记忆(Long-short Term Memory,LSTM)模型。LSTM 模型通过内部一条稳定无损耗的梯度流缓解梯度消失,同时通过复杂的函数计算缓解梯度爆炸。目前,LSTM 循环神经网络广泛应用于如语音识别[13]及语言模型[14-16]等的序列识别任务中。

一个基础的RNN 包含输入层、隐藏层和输出层。输入至输入层的是一段关于时间t的向量(…,xt-1,xt,xt+1,…),其中xt= (x1,x2,…,xN),通过式(1)和式(2),可以计算出隐藏层h及输出层y序列:

其中:f为激活函数;b为偏置向量;W表示连接权重(比如Wxh表示输入层至隐藏层的连接权重);t表示时刻。

式(1)和式(2)表明了RNN 可以有效地处理非线性时间序列,但是,由于存在梯度消失或梯度爆炸的问题[11],RNN无法处理长时间的时间序列,LSTM循环神经网络使用了记忆细胞来代替一般网络中的隐藏层单元,有效缓解了梯度消失及爆炸问题,记忆细胞的输入和输出都由一些门控单元来控制,这些门控单元控制流向隐藏层单元的信息,保留前一个时间步传来的真正有用的信息。经过长时间的演化,目前应用最为广泛的LSTM 循环神经网络细胞结构如图1所示。

图1 LSTM循环神经网络细胞结构

图1 中:i、f、c、o、h分别代表输入门、遗忘门、细胞状态、输出门以及隐藏层输出序列,其计算方法如式(3)至式(7)所示;W和b分别为对应的连接权重矩阵以及偏置;σ和tanh分别为sigmoid与双曲正切激活函数;t表示时刻。

如前文所述,LSTM内部具有一系列门控运算,这些复杂的运算会占用计算资源,故LSTM 的改进模型之一——门控循环单元(Gated Recurrent Unit,GRU)应运而生[17],它精简了门控设置,仅使用更新门及重置门两个门控。更新门控制前一时刻流入本时刻的接纳程度,重置门用于控制前一时刻信息流入本时刻的舍弃程度。在实际应用中,GRU 与LSTM有很强的可比性。

2 基于LSTM的结构损伤检测

考虑到结构振动响应的多维时间序列数据特征,本文构建LSTM循环神经网络的整体框架如图2所示。

图2 基于LSTM循环神经网络的大坝损伤预测框架

图中,C与H为LSTM 细胞的状态和输出,Y为经由连接权重计算所得到的输出。首先将经过经典z-score标准化处理的整个时长的加速度时间序列数据分割为样本序列,每个样本的序列长度取值为L,则数据分割之后的每个样本序列数据,即各个测点的加速度值X={X1,X2,···,XL} ,将样本序列输入到LSTM 记忆细胞中,经过神经网络隐藏层的特征提取及传递后,通过最后一个LSTM 单元将其输出至输出层。输出层后加入全连接层,用以损伤工况的识别分类。在本文中,全连接层使用激活函数Softmax函数,这个函数的作用就是将每个损伤类别所对应的输出归一化,其计算如式(8)所示。

式中:Y={y1,y2,···,yi,···,yn}为神经网络的全连接层输出,每个分量对应一种损伤工况。

训练LSTM循环神经网络的过程中使用了与反向传播(Back Propagation,BP)算法类似的基于时间的反向传播(Back Propagation Through Time,BPTT)算法,首先按照式(3)至式(7)前向计算LSTM细胞的输出,然后按网络结构以及时间两个方向反向计算误差,使用基于梯度的优化算法更新连接权重矩阵。本文的损失函数选择用于多分类的交叉熵损失函数,即在Softmax 函数将神经网络的输出变成一个概率分布后,通过交叉熵损失函数来计算预测的概率分布和实际的概率分布之间的距离。如式(9)所示。

其中:K为多分类的种类数量,此处为损伤工况数;p为真实概率,也就是如果损伤类别是i,则pi=1,否则为0为经由式(8)所示的Softmax函数计算得来的输出值,即损伤工况i的预测概率。

3 数值试验

3.1 试验数据

本节利用某重力坝的二维有限元模型,在坝底施加横向及竖向的白噪声加速度来模拟环境激励,生成大坝动力响应数据集。采用瑞利阻尼,计算时间步长0.005 s,数据集中加速度信号采样频率为200 Hz。由于重力坝上游面的深层水平裂缝较为常见,且具有更大的危害性[18],故本文模型在上游面的不同高程处设置深2 m 的水平裂缝,模拟损伤。下游面在不同高程出设置10个测点,测量大坝的横向加速度,坝体下游面测点位置和上游面裂缝位置如图3所示。

图3 有限元模型及测点和裂缝位置

损伤工况如表1 所示。计算后共生成时长为250 s 的9 组不同损伤位置(含无损伤)的数据集,划分20%为验证集,每条数据由10个测点数据以及标签组成,每组工况共生成5万条数据,以及时长为20 s的测试集数据。

表1 损伤工况

3.2 参数优选

网络超参数的选取通常根据经验选取,为了达到更好的效果,本文采取了网格搜索算法进行参数优选。网格搜索算法是穷举法的一种,根据参数的个数来确定网格搜索的空间维度,在每个维度上划分网格,然后遍历所有的网格交叉点,根据网格交叉点所给出的结果来确定最佳参数。相比于其他的超参数优化方法(比如粒子群算法、随机搜索算法等),这种方法简单实用、效率高[19]。LSTM 循环神经网络的参数优选主要集中在3 个超参数:样本长度L;前馈网络层隐藏神经元数量,又称状态向量大小Sstate以及控制网络调参幅度的学习率η,这3 个超参数构成一个三维的搜索空间,通过网格搜索算法来找到相对最优的超参数组合。其搜索过程可以主要分为三步:首先固定相对重要性较低的超参数,比如网络迭代的次数epochs,在本文中,迭代次数取100。接着预设3 个超参数的取值范围,学习率的取值范围是η∈[0.000 1,0.001,0.1],样本长度分为L∈[200,150,100,50,20],状态向量大小Sstate∈[16,32,48,64]。最后,设置目标函数为模型测试准确率最高。优化结果如表2至表4所示,结果最大值为1。

表2 η=0.000 1时网格搜索的优化结果

表3 η=0.001时网格搜索的优化结果

表4 η=0.01时网格搜索的优化结果

可以看出,总体而言,相同学习率下及样本长度下,较大的状态向量大小更容易获得较高的准确率;样本长度在100或是150时,网络训练预测的效果相对最好;学习率为0.001 时,所获得的模型训练预测效果最好;学习率为0.000 1时,网络收敛效果较差,这是由于过小的学习率导致损失函数的变化很慢,使得网络很容易困在局部最小值点。选取前5组最优参数,使其充分迭代500 次,对应的模型准确率如表5所示。最优参数的损失值以及准确率如图4 所示。在选定了优化参数后,500次迭代模型准确率最高可达到99.5%,损失值最低达到0.094 7,说明LSTM循环神经网络结构损伤识别效果良好,几乎能精准识别出每一个样本的工况状况。

表5 网格搜索前5的参数组合以及其对应的工况准确率

图4 最优参数组合下网络准确率以及损失

3.3 不同循环神经网络的比较

为了验证LSTM循环神经网络在循环神经网络中的优势,将LSTM 循环神经网络中的隐藏层细胞换为RNN和GRU结构,在相同的参数下迭代100次进行比较,试验结果如图5 及表6 所示。可以看出,与其他两种模型相比,LSTM在工况准确率上较高,有四种工况(工况1、2、3、4)达到了100%识别,其余的工况也都显示出了较高的准确率,相比GRU提升最高达16.25 %,相比RNN 提升最高达15 %,GRU与LSTM 损失曲线趋势较为相似,但是LSTM 循环神经网络的损失最低达到0.14,GRU为0.15,这两种模型的损失都有继续下降的趋势,但是由于选定的优化超参数对于RNN模型来说并不合适,其损失在后期出现了上升。在耗时上,LSTM 循环神经网络多于另外两个模型,主要是由于LSTM 涉及的超参数数量更多,网络结构相对较为复杂。

图5 相同参数下3种循环神经网络的准确率和损失对比

表6 3种循环神经网络的准确率和损失对比

3.4 抗噪性

实际工程或试验中所获得的数据往往包括噪声,目前对于测量噪声的模拟大部分都是基于零均值且为正态分布的假设下进行的[20]。

本处研究中所使用的噪声也是基于零均值且为正态分布的条件下生成的,生成的噪声是通过式(10)计算得到[21]。

式中:εcorrect为原始的时域数据,ω为符合正态分布的高斯白噪声变量,RMSε为原始时域数据的均方根值,p%为噪声水平,、εn为计算得到的噪声数据。

选取4 种水平下的噪声(5 %,10 %,15 %及20 %),将噪声数据加入原始数据集中进行训练预测,充分迭代500次,所得到的验证集及测试集准确率如表7所示。不同噪声水平下测试集的工况准确率如表8所示。

表7 各噪声水平下验证及测试集准确率

表8 各噪声水平下测试集的工况准确率

从表中可以看出,加入了噪声数据使得LSTM循环神经网络预测性能相比于无噪声数据有略微下降,这是由于加入的噪声湮灭了一部分数据特征,但是网络在各种噪声水平下预测准确率依然保持着较高的水准,体现网络良好的抗噪鲁棒性。

4 试验验证

为了进一步验证方法的准确性,本文在实验室进行了不同损伤工况下的悬臂梁振动试验,利用试验数据进行方法验证。试验所选用的悬臂梁长度为1 200 mm,其无损情况下的横截面尺寸为20 mm×20 mm,损伤采用人工切割缝模拟,其损伤工况如表9所示。试验采用电动振动台产生的随机激励模拟有限带宽白噪声振动,激励的功率谱密度取0.1(m/s2)2/Hz,激振频率带宽为5 Hz~1 000 Hz。悬臂梁从自由端到固定端布置7 个加速度传感器(测点1,2,3,4,5,6,7)采集悬臂梁水平加速度,其中固定端的测点7 所测量的数据是振动台台面水平加速度。测点高度分别为1 200 mm,1 000 mm,800 mm,600 mm,400 mm,200 mm和0 mm,其坐标系取固定点为原点,向上为正。试验装置如图6 所示。悬臂梁加速度采样频率为5 000 Hz,共生成时长为1 800 s的5组不同损伤位置(含无损伤)的数据,未重叠采样,每条数据由7个测点数据以及标签组成,每组工况共生成790 万条数据,组合后按照8:1:1 的比例随机划分训练集、验证集以及测试集。根据第3 节的结果,将样本长度设置为500,学习率设置为0.001,状态向量大小设置为64,构建LSTM循环神经网络。充分迭代200次后其准确率及损失曲线如图7所示。为了更加直观地看出预测结果,在每一种工况中随机选择了一条没有参与训练的工况数据进行测试,其损伤识别结果如表10所示。

图6 试验装置

表9 悬臂梁试验损伤工况

图7 试验数据下网络准确率及损失

表10 5个样本的识别结果

由图7 及表10 可以看出,200 次迭代后验证集的最高准确率达到了99.92%,测试集准确率达到了99.5%,损失最低为0.002 2,每一种样本预测的工况的概率与其他工况概率有着明显的差别,且与实际工况一致。这说明了LSTM循环神经网络在实际试验数据下依然能保持较好的损伤识别效果,几乎可以准确识别每一个样本的工况。

5 结语

本文提出了一种基于长短期记忆循环神经网络(LSTM)的损伤检测方法,并采用网格搜索算法进行参数的优选,数值试验结果表明:本文提出的基于LSTM循环神经网络的结构损伤检测方法能够有效地识别结构的损伤,相比于传统的循环神经网络以及门控循环神经网络,其识别准确率相对较优;LSTM 循环神经网络在训练时对参数选取比较敏感,基于网格搜索的参数优化方法效果较好,在选定了优化参数后,识别准确率大幅提高;在不同噪声水平的数据上的数值试验显示了本文的网络在验证集和测试集上都具有较高的准确率,具有较好的抗噪鲁棒性,表明了LSTM 循环神经网络用于结构损伤检测的可行性,同时通过试验室悬臂梁振动试验也验证了本文方法具有优良的损伤识别能力。本文目前对基于LSTM循环神经网络的结构损伤检测技术只是进行了初步研究,今后需要进一步研究多裂缝损伤识别、混合噪声抗噪性等问题,需要进一步通过试验和实际工程对方法进行验证和改进。

猜你喜欢

准确率网格噪声
用全等三角形破解网格题
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
噪声可退化且依赖于状态和分布的平均场博弈
反射的椭圆随机偏微分方程的网格逼近
高速公路车牌识别标识站准确率验证法
控制噪声有妙法
重叠网格装配中的一种改进ADT搜索方法
基于曲面展开的自由曲面网格划分