APP下载

基于深度残差反向传播神经网络的钢筋腐蚀检测

2021-12-02林旭梅朱广辉陈一戈苗芳荣

科学技术与工程 2021年33期
关键词:残差梯度神经网络

林旭梅,胡 川,朱广辉,陈一戈,苗芳荣

(青岛理工大学信息与控制工程学院,青岛 266520)

海水是一种富含侵蚀性盐类的腐蚀电解质溶液[1],架驻在海洋环境下的钢筋混凝土工程在漫长服役期里易遭受腐蚀侵坏,其中内部钢筋的腐蚀是造成混凝土结构工程耐久性失效的主要原因,因此提高对服役钢筋损伤状态的检测精度,及时对危险工程做出预判尤为重要。

近年来,中外学者对钢筋混凝土腐蚀检测做出大量研究,Gotoh等[2]利用钢筋锈蚀过程中磁导率产生变化这一特性,利用电磁感应原理结合霍尔元件来检测钢筋锈蚀程度。王潇舷等[3]通过研究钢筋锈蚀应变力的变化结合数字图像技术实现对混凝土内部腐蚀程度的检测。Völker等[4]将探地雷达引入混凝土腐蚀检测之中,通过测量钢筋反射振幅,电势等特征数据,采用机器学习方法对数据进行融合处理来判断钢筋锈蚀程度。

阳极梯传感器在海洋工程钢筋腐蚀监测中被广泛应用[5],现采用阳极梯传感器监测系统对腐蚀样本数据进行采集,将采集的腐蚀电压、腐蚀电流、腐蚀阻抗及环境温度等特征参数作为模型的输入,钢筋的腐蚀状态作为模型输出。针对小样本数据下浅层神经网络模型拟合能力不足,而加深网络层数出现网络性能退化问题,建立双跳跃深度残差网络模型,同时对Adam算法中影响学习率的二阶矩估计梯度进行调整,并将其用于钢筋混凝土腐蚀状态预测。

1 阳极梯传感器数据预处理及分类模型

1.1 钢筋混凝土腐蚀状态预测模型

钢筋混凝土腐蚀状态与各特征之间具有强耦合性,常规数学建模往往无法准确全面地反映出各因素与腐蚀程度之间的高度复杂关系。因此,采用神经网络模型对钢筋混凝土腐蚀程度进行判别,利用其强大的非线性映射能力,从预处理后的数据中直接提取特征,自动学习拟合各特征量与输出标签间的函数关系,避免了复杂的数学建模过程。钢筋混凝土腐蚀检测模型结构如图1所示。

图1 钢筋混凝土腐蚀监测模型结构图Fig.1 Structure diagram of reinforced concrete corrosion monitoring model

1.2 阳极梯监测数据预处理

数据集中于阳极梯测得的腐蚀电压、腐蚀电流、腐蚀阻抗、环境温度特征量纲各不相同,且数值之间存在较大差异,使用梯度下降法时势必会减缓梯度的寻优速度。因此,使用min-max归一化方法对上述特征值进行归一化处理,消除不同特征之间的量纲影响,且使损失函数无论从任何位置开始,使用梯度下降法都能更迅速地找到最小值,加速模型的收敛速度,公式为

(1)

f(x)=max(0,x)

(2)

式(2)为激活函数Relu表达式,其具有拟合非线性的能力[6]。

数据集中钢筋锈蚀数据的标签分成“未腐蚀”“轻度腐蚀”“重度腐蚀”3类。为了将类别变量转换成计算机能够识别的形式,采用One-hot编码。如表1所示。

表1 One-hot编码Table 1 One-hot coding

2 改进双跳跃深度残差BP神经网络模型

2.1 双跳跃残差网络模块

基于传统反向传播(back propagation,BP)神经网络的钢筋混凝土腐蚀分类方法,在样本规模相对较小的情况下,当网络层数达到一定深度时,网络的拟合能力将达到饱和,其分类准确率很难再得到提升[7]。若继续加深网络层数,则会导致网络退化。为了提高钢筋腐蚀分类准确率,提出双跳跃深度残差BP神经网络模型。

所提的双跳跃残差神经网络模块如图2所示,在传统神经网络结构基础上引入双跳跃连接,每个残差模块使用3个同维度的网络层进行堆叠,分别在网络的一层到二层、一层到三层之间加入跳跃连接,在不增加额外参数的基础上构成双跳跃连接残差神经网络模块,加强特征信息在网络层间的传递和利用。这里规定一层到二层的跳跃连接用S1表示,一层到三层间的跳跃连接用S2表示。

图2 双跳跃残差神经网络模块Fig.2 Double jump residual module

在单个残差模块中,对输入样本的处理主要包括以下3个步骤。

步骤1特征向量x作为残差网络模块的输入,经过第一层的权值线性加权后输出为f1(x),R(·)表示Relu激活函数。

f1(x)=w(1)x+b(1)

(3)

F1(x)=R[f1(x)]

(4)

式中:w(1)、b(1)分别为第一层的权重和偏置参数;F1(x)为对f1(x)激活后的输出。

步骤2将第一层激活后的非线性输出F1(x)作为第二层网络的输入,经过加权偏置后输出f2(x);f2(x)与第一层的跳跃连接f1(x)相加,经过Relu激活后输出F2(x)。

f2(x)=w(2)F1(x)+b(2)

(5)

f21(x)=f2(x)+f1(x)

(6)

F2(x)=R[f21(x)]

(7)

式中:w(2)、b(2)分别为第二层的权重和偏置参数;f21(x)为第一层的跳跃信息输出与第二层线性信息输出的叠加,实现了浅层特征重用。

步骤3将第二层的非线性输出F2(x)作为第三层网络的输入,经过加权偏置后输出f3(x)。H(x)表示加上跳跃连接后残差模块期望拟合的基础映射,经过激活后输出为F3(x)。

f3(x)=w(3)F2(x)+b(3)

(8)

H(x)=f3(x)+f1(x)

(9)

F3(x)=R[H(x)]

(10)

式中:w(3)、b(3)分别为第三层的权重和偏置参数。式(9)将传统堆叠层非线性映射转换为加有跳跃连接的残差映射。传统堆叠层网络随着深度的增加,经过逐层映射后所表达信息的非线性复杂度也在增加,其拟合恒等映射的能力却在下降,通过跳跃连接,将传统深度BP神经网络难以拟合的恒等映射转化为更容易学习的残差映射[8]。

式(9)不仅能利用跳跃传播使低层信息得到充分利用,也能带来很好的反向传播效果,用L表示损失函数,使用梯度下降法来表示S2跳跃连接层之间的梯度传递过程。根据反向传播的链式求导法则有

(11)

由式(11)可知,梯度∂L/∂f1(x)由两部分组成,一部分由∂L/∂H(x)直接传播梯度信息到浅层而不涉及任何权重层,从而保证了梯度信息的反向有效传递。另外一部分则是∂L/∂H(x)与∂f3(x)/∂f1(x)的链式乘积,梯度信息的传递需要经过中间权重层,如果中间权重层的梯度信息很小,经过链式连乘后到达浅层的梯度信息会变得更小,可能导致梯度消失现象,从而使优化变得困难[9]。正是由于跳跃连接引入的额外梯度∂L/∂H(x),使得梯度信息能直接从深层反向跨越传递到浅层,避免了梯度消失问题,使得网络更容易优化。

2.2 Adam优化算法

Adam算法[10]是一种基于低阶矩自适应估计的随机目标函数的一阶梯度优化算法。该算法易于实现,计算效率高,对内存的需求小,被广泛应用于深度学习训练中,Adam算法过程如表2所示。

由表2可以看出,Adam算法中的学习率由mt和vt共同控制调整,mt为gt的一阶矩估计加权平均梯度,可将其看做当前预测梯度的近似,即从过去历史的梯度来预测下一步应该得到的梯度。

表2 Adam算法Table 2 Adam algorithm

引入步长退火思想使用一阶矩估计加权平均梯度mt对二阶矩估计加权平均梯度vt进行调整,改进后的公式为

(12)

2.3 双跳跃深度残差BP神经网络模型

模型共堆叠了4个双跳跃残差模块构成双跳跃深度残差BP神经网络,如图3所示,每个残差模块均包含3个基础层,其中第Ⅰ、Ⅲ模块中每个基础层的神经元个数为128个,第Ⅱ、Ⅳ模块中每个基础层的神经元个数为64个。模型的输入xi为具有21个特征的列向量,输出为3个类别概率分布的列向量,模型选择其中最大概率值对应类别为预测标签[11]。

图3 双跳跃深度残差BP神经网络模型Fig.3 Double jump depth residual BP neural network model

传统BP神经网络通过神经元的逐层非线性映射来实现复杂分类函数的拟合,其具有一定的自学习和决策能力。但在小样本数据下,当网络层数达到一定深度时,网络的拟合性能将达到饱和,若继续加深网络层数,则会导致网络性能下降,产生网络退化现象。因此,现通过构建残差神经网络模块来增强特征信息在非线性层间的传递,增加双重跳跃连接实现低非线性度特征信息的重复充分利用。将改进的Adam算法与双跳跃深度残差神经网络相结合,对钢筋混凝土的腐蚀程度进行预测分类。

3 实验及结果分析

3.1 实验平台及方法

实验在Windows 10系统环境下,采用谷歌开发的TensorFlow 2.2-GPU版本深度学习平台进行网络训练,实验中网络模型程序由python3.7编写完成。使用的钢筋混凝土腐蚀检测数据共有4 500条,其中未腐蚀数据、轻度腐蚀数据、重度腐蚀数据各1 500条。在训练过程中,前l-1层均使用Relu函数进行激活,最后一层l采用Softmax函数激活输出。

将数据集分别按照6∶4、7∶3、8∶2的比例分为训练集(T1~T3)和测试集(P1~P3),在训练过程中,设置迭代次数为500次,分别用Adam算法优化6层,14层普通BP神经网络和14层残差神经网络及本文所提改进Adam算法优化14层残差神经网络。上述4种算法模型在各自比例测试集下的测试准确率与测试损失误差趋势变化如图4~图9所示。

3.2 实验对比分析

对比分析图4~图9中在不同比例测试数据集上的准确率、损失误差的变化趋势可知,将Adam算法优化的普通BP网络从6层加深至14层时,训练过程中,曲线波动较大,难以收敛,反映出普通深度BP神经网络在小样本数据下其网络拟合能力退化,泛化性能弱的缺点;用Adam算法优化的双跳跃残差神经网络,由于其增加了双重跳跃连接实现低非线性度特征信息的重复充分利用,其性能较为改善;利用所提改进Adam算法优化双跳跃残差神经网络其收敛速度及拟合性能均有明显提升。

图4 P1测试集下的测试准确率Fig.4 Test accuracy under test setP1

图5 P1测试集下的测试损失误差Fig.5 Test loss error under test setP1

图6 P2测试集下的测试准确率Fig.6 Test accuracy under test setP2

图7 P2测试集下的测试损失误差Fig.7 Test loss error under test setP2

图8 P3测试集下的测试准确率 Fig.8 Test accuracy under test setP3

图9 P3测试集下的测试损失误差Fig.9 Test loss error under test setP3

4 结论

针对小样本数据下钢筋混凝土腐蚀状态检测方法单一且精度不高等问题,提出一种利用改进Adam算法优化双跳跃深度残差神经网络检测钢筋混凝土腐蚀状态的预测方法。

(1)建立了双跳跃深度残差神经网络模型,该模型能加强了浅层低非线性度特征信息在不同网络层间的跨越传递和重复利用,同时在反向传播过程中避免了梯度消失,相比较浅层和传统深度BP神经网络具有更好的预测分类性能。

(2)引入步长退火思想对Adam算法进行改进,使用一阶矩估计加权平均梯度对二阶矩估计加权平均梯度进行调整,促使算法合理动态调整学习率,加速算法的全局寻优能力,使目标函数在不陷入局部极小值的前提下尽快收敛。

(3)仿真表明,改进Adam算法优化的双跳跃深度残差神经网络模型在小样本数据下具有更好的预测分类性能。

猜你喜欢

残差梯度神经网络
磁共振梯度伪影及常见故障排除探讨
基于残差-注意力和LSTM的心律失常心拍分类方法研究
基于双向GRU与残差拟合的车辆跟驰建模
基于递归模糊神经网络的风电平滑控制策略
基于残差学习的自适应无人机目标跟踪算法
神经网络抑制无线通信干扰探究
基于深度卷积的残差三生网络研究与应用
一个具梯度项的p-Laplace 方程弱解的存在性
基于神经网络的中小学生情感分析
基于AMR的梯度磁传感器在磁异常检测中的研究