文/万新民 中国十七冶集团有限公司 安徽马鞍山 243000
卷积神经网络(Convolutional Neural Network,简称CNN 网络)属于典型的前馈神经网络,即先利用卷积和激活函数从原始信号中提取出包含的土木工程结构损伤信息,再利用池化层将提取出的信息重新压缩。结构损伤信息经卷积和池化后,会排列成向量形式,再通过“部分连接”方式向前不断运算。随后,卷积神经网络将拟研究对象转化成目标函数,并将真实值和预测值进行对比,计算出损失值。如损失值可接受,则中止运算。反之,由最后一层向前逐层反馈运算,直至模型收敛。
1.2.1 部分连接
相对于全连接层,卷积神经网络从A 层到第A+1 层的计算时,A 层中仅部分单元与A+1 层相连接,连接部分可称之为网络权重。部分连接方式可在尽量保留上一层特征信息的基础上,将其传递给下一层,从而减小神经网络的计算量。如图1 所示。
1.2.2 权值共享
由图1 可知:卷积神经网络的第A 层包括5 个神经元,黑色箭头、橙色箭头、红色箭头分别表示不同的网络权值,且相同颜色箭头的连接权值相同。通过权值共享,可大幅提升卷积神经网络的计算效率。
1.3.1 局部感受野
一般情况下,神经网络并不是直接卷积,而是利用局部感受野(Receptive Field)对局部区域逐步卷积,通过提取、分析局部信息,以获得更高层次的信息特征。为了提高神经网络预测能力,局部感受野不能局限于矩形,可采用自由形状。
1.3.2 卷积层
卷积层是神经网络中最关键的部分,属线性层,层与层之间不完全连接,同一层的同一个卷积核可以权值共享,从而大幅减小计算量,避免模型过拟合。卷积实现具体过程如下:先用尺寸固定的卷积核在数据矩阵中滑动,在此期间卷积核的权值与原始数据中相应子域的数据相乘。同时,卷积核以固定的步长移动(先左右,再上下),不断重复上述运算过程,直至形成一个全新矩阵。
1.3.3 池化层
在机器学习中,特征值会随数据量的增加而增大,从而提高矩阵求解难度,甚至难以求解,这种现象称之为“维度灾难”。此时,可利用池化层(也叫下采样层)对数据进行整合、压缩,其具体作用如下:一是特征降维。池化层能使矩阵维度约减,能用较少的数据表达出较广泛的信息,从而降低计算量;二是特征不变性。不变形包括了平移、旋转、尺度不变性,池化层能使神经网络学习到的特征具有更强的泛化能力,从而适应复杂的特征变异。
结合相关研究成果,可将神经网络的池化划分为有均值池化和最大值池化两类,其数学模型可用式(1)表达[1]:
在卷积神经网络中,池化层可以提高其泛化能力。目前,一般用过拟合和欠拟合来度量神经网络的泛化能力。在神经网络训练时,一旦跨越“最优点”,模型的训练误差和泛化误差变化呈相反趋势,前者继续减小,后者开始增加。
1.3.4 激活函数
激活层由若干个实函数组成,属线性层,可将输入数据进行非线性变换,从而提高神经网络的特征提取能力。结合相关研究成果,常用的激活函数有Sigmod 函数、ReLU 函数、Tanh 函数等,不同激活函数的表达式和应用特点见表1。
表1 神经网络激活函数对比
1.3.5 Softmax 层和损失函数优化
Softmax 层的核心功能是利用Softmax 函数得到神经网络中各个输入样本的概率值,见式(2)
此外,在神经网络训练期间,需对损失函数进行优化,以降低损失值。当损失值达到稳定状态后,可视为神经网络的训练完成。目前,常用随机梯度下降算法来优化损失函数,即沿损失函数负梯度方向更新神经网络的权值、偏差等参数,使损失函数减小,见式(3):
需注意,在每一次迭代过程均选用小子集,当子集覆盖整个训练集,即完成损失函数优化。
数据的融合可划分为三个层次:(1)数据级融合。将n 个传感器所采集的原始数据融合,作为后续分析的基础;(2)特征级融合。从n 个传感器采集的原始数据中提取结构损伤特征信息,将损伤特征信息进行融合;(3)决策级融合。对不同方法所得到的损伤识别结果进行融合,提炼出结构的损伤特征,并做出最终决策。卷积神经网络的数据融合发生在Softmax 层,即利用Softmax 函数对土木工程结构损伤信号赋予不同权值,以便于实现各个损伤信号间的数据融合,并结合提取的损伤特征输出结构损伤信息。需注意,在结构损伤数据融合前,要对各个信号的权重进行初始化(初始学习效率取0.00001),将权值控制在[0,1]区间内。
2.2.1 归一化处理
结构损伤数据增广处理前,要对数据进行归一化处理,即将波动大的数据映射到一个固定区间([0,1]或[-1,1]),不仅能使异源数据具有可比性,还可提高神经网络模型计算速度和准确性,具体归一化公式见式(4)[2]:
式中:x、y—分别为归一化前、后的数值;b、a—分别为样本数据的最大值和最小值。
2.2.2 数据增广
随着数据增广技术的日益成熟,其应用范围从图像识别领域向工程领域扩展。对于卷积神经网络,结构损伤的检测数据越多,损伤特征分析越准确。但由于各种自然因素和人为因素的限制,在实际项目中难以获取大量的检测数据样本。为了解决这一问题,需对结构损伤数据样本进行增广处理。
土木工程结构损伤数据增广可利用固定大小的滑动窗口,将采集信号或模拟信号在窗口内按一定的步长进行滑动,每一次滑动所得到的数据就是一个样本。
文章以某桥梁结构数值模拟模型为研究对象,分析CNN 网络的应用效果。模型长2.1m、宽0.5m、高0.3m,角钢使用30mm×30mm×2mm 的L 型钢,杆件与角钢间用螺栓连接,两端支撑假设为固定端。损伤构杆件为腹杆,共20 根(编号1#~20#)。腹杆出现损伤后,其刚度有明显变化,故本文通过对各个腹杆的弹性模量进行折减来模拟其损伤。假设腹杆在无损状态下的弹性模量为200Gpa,共设置9 中损伤程度,弹性模量分别折减10.0%(180 Gpa)、20.0%(160 Gpa)、30.0%(140 Gpa)、40.0%(120 Gpa)、50.0%(100 Gpa)、60.0%(80 Gpa)、70.0%(60 Gpa)、80.0%(40 Gpa)、90.0%(20 Gpa)。在采集信号时,分析步时长去4.0s,增量步取0.01。同时,对结构数值模型施加激振力后,模型的各个单元会产生加速度。本文共设置8个采集点来获取加速度信号的采集,每个采集点有300个数据,则加速度矩阵为300×8。
拟采用卷积神经网络对结构损伤进行诊断,关键步骤如下[3]:利用数值模拟方法得到结构损伤样本集,并将其随机划分成训练集、预测集→建立神经网络基本框架→神经网络超参数确定,选择适当的卷积层数和迭代次数→将训练集输入神经网络中→利用随机梯度下降算法来优化损失函数→降噪能力测试→直至识别精确度满足要求。
基于上文研究研究成果,搭建了用于分析土木工程结构损伤的神经网络框架,见图2:
图2 神经网络框架搭建
图2 中的字母表示卷积神经网络模型的超参数,其中n 为卷积核的个数(20 个),k 为卷积核尺寸(2×2),m 为池化层滑动窗口尺寸,F 为全连接层节点数,b1、b2 为卷积层尺寸,c1、c2 为池化层尺寸。此外,神经网络的激活函数采用ReLU 函数[4]。
卷积神经网络模型的训练结果与超参数大小密切相关。为了确定卷积神经网络超参数,本文开展了若干组试验,分析了卷积层数和迭代次数对神经网络模型识别精度的影响,试验结果见图3:
图3 不同工况下神经网络模型的识别精度
由图3 可知:(1)随着卷次层数的增加,神经网络对结构损伤的识别精度呈先增大后减小的趋势。当卷积层数为2~4 层时,神经网络的识别精度较大,均达到了80%以上。当卷积层数超过5 次,神经网格的识别精度有下降趋势。(2)随着迭代次数的增加,卷积神经网络对结构损伤的识别精度不断增加,但增加速率并不固定。当迭代次数<3000 次时,结构损伤识别精度快速提升,识别精度最终稳定在了90%左右。当迭代次数超过3000 次,结构损伤识别精度变化不明显,甚至略有减少。
上述现象表明:神经网络框架在建立时,卷积层数和迭代次数的取值不宜过高或过低,取值过高对神经网络的识别精确度提高幅度不大,反而会大幅降低模型训练效率,产生模型过拟合问题;取值过小,神经网络对结构损伤的识别精确度低,不满足工程需求。综合考虑卷积神经网络模型的计算精度和计算效率,建议预测该桥梁结构模型损伤的卷积神经网络的卷积层数取3层,迭代次数取3000次。
文章以杆件弹性模量折减10%、30%、40%、60%、70%、80%后的加速度信号作为CNN 网络的训练集,用杆件弹性模量折减20%(轻度损伤)、50%(中度损伤)、90%(重度损伤)的加速度信号作为CNN 网络的测试集。假设每个杆件视作一种损伤工况,则每一种结构损伤程度有20 个工况,训练集中的6 种损伤程度共有120 中损伤工况。
3.5.1 损伤位置度识别
经计算,得到了测试集的结构损伤位置识别准确性,见表2:
表2 结构损伤位置识别准确性
由表2 可知:结构损伤程度越严重,CNN 网络对损伤位置的识别精确性较好。当结构损伤程度从轻度损伤到中度损伤,损伤位置识别精确性提高了7.6%;从中度损伤到重度损伤,损伤位置识别精确性提高了3.8%。
3.5.2 损伤程度识别
为了定量地评价CNN 网络对结构损伤程度的识别精度,定义了绝对误差C,见式(5)。一般情况下,绝对误差越小,卷积神经网络模型对土木工程结构损伤的检测效果越好。
式中:P—预测损伤程度,%;A—实际损伤程度,%。
随后,利用卷积神经网络预测了部分杆件的损伤程度,并与实际损伤程度进行对比,如图4 所示:
图4 不同杆件的损伤程度识别结果
由图3 可知:卷积神经网络对杆件损伤程度的预测值可能大于实际值,也可能小于实际值。经计算,1#、3#、5#、7#、9#、11#、13#、15#、17#、19#杆件的损伤程度绝对误差分别为1.8%、1.2%、1.3%、5.6%、1.2%、1.5%、1.3%、2.2%、2.7%,绝对误差的平均值为1.3%,说明卷积神经网络的预测精确度可满足土木结构损伤分析需求。
论文主要研究了CNN 网络工作原理、具体结构组成、损伤数据处理方式等,并以某桥梁杆件为研究对象,分析了其在结构损伤识别中的具体应用,得到了以下4 个结论:(1)CNN 网络属于前馈神经网络,具有部分连接、权值共享两大特点,主要由局部感受野、卷积层、池化层、Softmax 层、激活函数、损失函数等组成。(2)利用CNN 网络检测土木工程结构损伤需基于大量检测数据,且检测数据的精确性直接决定了结构损伤检测效果,故需对结构损伤数据进行融合和增广。(3)神经网络检测结构损伤要建立基本框架,选择适当的卷积层数和迭代次数等。经计算,神经网络对结构损伤的识别精度会随卷积层数的增加先增大后减小,随迭代次数的增加不断增加。(4)为了验证神经网络对结构损伤的检测效果,可从损伤位置和损伤程度两个方向着手。