基于软阈值函数的深度学习磁信号去噪算法
2023-09-12李杨,田斌,杨超
李 杨,田 斌,杨 超
(武汉工程大学电气信息学院,湖北 武汉 430205)
0 引言
磁信号传感器已经被广泛应用到航空航天、交通运输、工业生产等领域中[1]。磁信号自身信号微弱且易受外界干扰的影响,导致传感器测量的信号信噪比低且噪声呈非线性与非高斯性。实测磁信号的该特性对后续信号的处理造成负面的影响,甚至进一步可能导致检测与测量任务的失败[2]。因此,高效的实测磁信号去噪算法成为现今磁信号检测与测量技术研究中的热点问题[2]。
当前常用的信号去噪算法可分为传统信号去噪算法和基于深度学习的信号去噪方法两类。文献[3]提出了一种将高斯尺度小波变换混合模型和贝叶斯估计相结合的分数阶小波域模型来处理实测地震信号,实验结果表明该方法可以有效地抑制地震信号中的随机噪声。文献[4]针对传统经验模态分解方法会产生目标信息失真这一问题,提出了一种改进经验模态分解方法来解决这个问题,改进后的经验模态分解方法取得了良好的效果。文献[5]分析了复杂的噪声结构和微弱信号特征,提出了一种模型约束下的在线字典学习去噪方法,该方法可以在高噪声背景下有效地提取出微弱信号。上述方法虽然都取得了良好的实验结果,但是存在泛用性差和需要人工设置的参数量多的问题,这些参数的质量会影响最终算法的效果,且对于不同的数据类型最优参数都不同。
因深度学习算法的发展,自适应去噪算法研究成为当前此类研究的热点。如文献[6]提出了模糊C均值深度信念网络FCMDBN模型结构,使用该模型处理心电信号发现该模型具有较高的适应性。文献[7]使用长短时记忆(long short-term memory, LSTM)神经网络来处理地电场数据,可以有效地处理地电场数据。文献[8]提出了一种将递增卷积和递减卷积相结合的神经网络模型,利用该模型对含有高噪声的信号进行去噪,发现该模型可以有效地去除噪声,并获得更高的峰值信噪比和结构相似度。文献[9]提出了一种基于双向LSTM神经网络来抑制信号中的噪声,在非平稳噪声环境中,该算法可以获得较好的特征提取效果。
上述方法虽然都在信号去噪领域中取得了成功,但是这些方法都使用了ReLU[10]激活函数,ReLU激活函数会将特征图中小于0的部分全部滤除。磁信号传感器探测到的信号是矢量,具有方向信息,使用ReLU激活函数就会导致特征丢失,得到的去噪信号信噪比低。在某些无法得知信号中噪声分布的情况下,使用传统信号处理算法,就需要对探测环境进行仿真,来得到纯净信号的理论值,而实际探测到的信号值往往与理论值不一致,因此在这种情况下人工设置的参数也不一定能得到正确的纯净信号。为解决上述问题,提出一种可用于磁信号去噪的激活函数APSTF。
1 理论知识
1.1 传统软阈值函数
软阈值函数是信号去噪算法的重要组成部分[11-12],该函数能提高均方误差信号的收敛速度,解决含已知分布噪声的信号去噪问题。然而,在含分布未知噪声的情况下,则需要模拟不含噪声的理想信号为去噪算法提供参考。此类方法费时费力且效果不佳。深度学习提供了一个新的方法可以较好地解决此问题,神经网络可以通过梯度下降算法来自动学习如何选取合适的阈值。由于软阈值函数可以和神经网络结构融合,形成APSTF,该函数可以抑制数据中的噪声,并将数据中的有用信息提取出来,重建高质量的特征。软阈值函数的定义如下:
(1)
式(1)中,x是输入特征图,y是输出特征图,τ是阈值。利用软阈值函数来替代ReLU作为神经网络的激活函数,可以保证磁信号特征不会丢失,并可以有效地对其进行去噪处理。由式(1)可知,软阈值函数的导数不是0就是1,这可以有效地防止梯度消失,和ReLU具有类似的功能。
1.2 深度学习相关知识
卷积层是神经网络中不可或缺的一部分,与全连接层不同的是卷积层需要训练的参数量更少,可以有效地避免过拟合。卷积操作是卷积核与输入特征图的逐点相乘之和,再加上一个偏置项,其表达式为
(2)
式(2)中,xi是第i个通道的输入特征图,yj是第j个通道的输出特征图,k是卷积核,b是偏置项,Mj是通道数的集合。
ReLU激活函数被广泛使用,因为它可以有效地防止梯度消失。ReLU激活函数的导数不是0就是1,当在层与层之间传播时,这种特性使特征图的数值范围不被改变,使得神经网络模型易于训练。ReLU激活函数公式为
y=max(0,x)。
(3)
全局平均池化(global average pooling, GAP)是一种将每个通道特征图变为一个平均值的操作。GAP可以减少输出层的参数,避免模型遇到过拟合问题。
MSE损失函数被广泛应用在回归问题中,其数学表达式为
(4)
式(4)中,n代表输入数据的长度,i代表当前数据的索引。
2 基于APSTF的深度学习去噪算法
2.1 自适应参数软阈值函数及其实现
对噪声和传统信号处理算法进行研究,发现大部分噪声都是近0的,且软阈值函数作为传统信号处理算法的核心可以有效地对信号进行去噪。受此启发,本文提出了一种可用于磁信号去噪的激活函数APSTF。
在传统的信号处理算法中,人工设置合适的阈值是没有通适性方法的。为了解决这个问题,本文将ECA模块和软阈值函数进行了结合,形成了APSTF。
本文实验将APSTF作为激活函数,插入到神经网络框架中,阈值不需要人工设置,神经网络会根据不同的输入数据,自动地设置不同的阈值,达到最优的特征提取效果。APSTF网络结构如图1所示。
图1 APSTF网络结构
本文使用的改进ECA模块和原始ECA模块不同的是原始ECA模块将输入特征图和经过Sigmoid激活函数的输出进行元素级乘法来得到输出特征图,而APSTF中的改进ECA模块令卷积的输出和经过Sigmoid激活函数的输出进行元素级乘法来得到软阈值τ。在改进ECA模块中,GAP将输入特征压缩为全是正数的一维向量,然后将一维向量送入卷积层去获得一组放缩系数,在卷积层后面使用Sigmoid激活函数,将卷积层得到的结果压缩到0到1之间,确保这组放缩系数不会太大,若放缩系数过大,会使得最后得到的阈值τ过大,这样就会将特征图中所有特征过滤掉,但是噪声通常是近0的,因此需要使用Sigmoid激活函数来压缩放缩系数的值,使得阈值τ处于合理的范围之内。Sigmoid激活函数的数学表达式为
(5)
式(5)中,z是卷积层输出的特征,α是对应于特征图中每个通道的放缩系数。在得到放缩系数α后,α乘平均值|x|来得到阈值。阈值τ的数学表达式为
τ=α×average|xi,j,c|,
(6)
式(6)中,i是特征图x的行索引,j是特征图x的列索引,c是特征图的通道索引。通过式(6)可知,阈值τ处于一个合适的大小,不会将特征图中所有的信息都置为0。在得到阈值后,将输入特征图分为正样本特征图和负样本特征图,正样本特征图是输入特征图中大于阈值τ的部分,负样本特征图是输入特征图中小于阈值-τ的部分,它们的数学表达式为
ypos=max(x,τ),
(7)
yneg=min(x,-τ),
(8)
式中,ypos是正样本特征图,yneg是负样本特征图。在得到正、负样本特征图后,让正样本减去阈值τ负样本加上τ,它们的数学表达式为
y1=ypos-τ,
(9)
y2=yneg+τ,
(10)
式中,y1和y2分别是正样本特征图和负样本特征图经过软阈值化后的输出。得到处理后的正负样本特征图后,将这两个样本特征图进行数值相加,就可以得到最终的输出特征图,数学表达式为
y=y1+y2,
(11)
式(11)中,y是最终的输出特征图。以上过程就是特征图被软阈值化的整个过程。
2.2 深度学习去噪算法
图2为本文使用的U-Net网络结构。U-Net有编码(下采样)和解码(上采样)两个过程,初始输入为1×1 024的一维信号,在编码过程中使用1×3大小的卷积核,使用了1×2大小卷积核的最大池化层对输入信号进行降维解码处理。在每一个卷积层后都使用APSTF作为激活函数。在解码过程中,使用上采样操作对输入特征图进行解码处理。网络接收到的特征图经过上采样层后将特征图的尺寸大小翻倍,同时与编码过程中输出的特征图进行合并,最终在网络结构的最后一层解码出处理过后的一维信号,大小仍为1×1 024。使用的U-Net与原始U-Net网络结构总体一致,只是使用的激活函数不同。
图2 U-Net网络结构
3 实验及结果分析
3.1 数据集建立及超参数选取
图3所示的是实验使用的三轴感应式传感器,传感器探头被黑框标出。由于该传感器具有硬件滤波电路,探测值近似于纯净信号,因此直接将其作为神经网络的训练标签数据,对探测数据加入不同程度的高斯白噪声(-5~5 dB)作为神经网络的训练数据。
图3 磁数据采集系统
本文实验选用U-Net神经网络作为基础网络,网络内部参数与原始U-Net保持一致,在训练模型时,采用了10折交叉验证法,该方法是将训练数据集平均划分为10份,其中9份用于训练,1份用于验证,每训练完成1个epoch后,都会更新验证集中的数据。
在训练模型最初的40个epoch中,初始学习率为10-3,在随后的40个epoch中,学习率为10-4,在最后的20个epoch中,学习率为10-5,这么做的目的是为了让模型在训练的后期可以找到最优参数。
为了防止神经网络在训练过程中出现过拟合现象,在网络结构中加入了L2正则化参数、早停技术和学习率自降低技术。L2参数可以将神经网络中的权重值压缩到近0值,降低神经网络中参数的变化幅度。本文实验将L2参数设置为10-5;学习率自降低技术是当模型在训练几个回合后,模型性能基本不变,这时就降低学习率来让模型进一步学习;早停技术是当模型在训练几个回合后,性能基本不变,就停止模型进一步训练。在本文实验中,设置了连续3个训练回合loss不下降就让学习率降低0.1,如从0.1自动更改为0.01,连续训练10轮数据,loss不下降就让模型早停,防止模型的训练不充分和过拟合。
3.2 实验结果分析
建立了训练数据信噪比从-5~5 dB的10个训练数据集和与之对应的测试集。实验首先用训练数据信噪比为-5 dB的数据集训练神经网络,然后在与之对应的测试集上验证了APSTF的有效性,最后将10个训练数据集做成一个综合数据集,利用综合训练集训练神经网络,在综合测试集上进一步验证了APSTF的有效性。原始数据和加噪后的数据见图4。
图4 纯净信号和噪声信号
本文实验首先用信噪比为-5 dB的训练集作为神经网络的训练数据,且用与之对应的验证集分别验证了ReLU[10]、ELU[13]、LeakyReLU[14]、PReLU[15]、APReLU[16]、DY-ReLU-A、DY-ReLU-B、DY-ReLU-C[17]和APSTF的性能,具体性能指标如表1所示。
表1 训练数据信噪比为-5 dB时不同激活函数的性能
由表1可知,使用了APSTF的U-Net去噪效果最好,去噪后信号的平均信噪比比其他方法分别高了2.654 7、2.532 5、2.529 4、2.4、1.985 7、2.500 9、2.353 1、2.455 2 dB;训练误差分别低了0.047、0.020、0.029、0.022、0.026、0.033、0.025、0.036;GPU延迟分别高了25、124、117、121、22、128、123、95 ms;参数量分别多了2.88倍、2.88倍、2.88倍、1.96倍、2.51倍、2.62倍、1.94倍、1.94倍。其中GPU延迟指的是神经网络在训练和预测时,处理一批数据使用的时间。
为了说明本文方法的有效性,使用一组信噪比为-5 dB的信号分别输入到APSTF和ReLU中,将这两个神经网络倒数第二层的第一个通道得到的特征进行可视化,输出特征图如图5所示。
图5 APSTF和ReLU输出特征图
由图5细节图可知,使用了ReLU的U-Net得到的输出特征会将小于0的部分都置为0,只保留大于0的特征,使用了APSTF的U-Net不仅可以保留负值特征,还会将噪声从信号中剔除出去,提取到的特征值与纯净信号值非常接近,这也为最后一层卷积还原纯净信号提供了坚实的基础。
为了进一步验证本文方法的有效性,用综合训练集作为神经网络的训练数据,在综合测试集上分别验证了小波变换、ReLU、ELU、LeakyReLU、PReLU、APReLU、DY-ReLU-A、DY-ReLU-B、DY-ReLU-C和APSTF的性能,具体性能指标如表2所示。
表2 不同方法在综合测试集上的性能
小波变换是信号处理中常用的算法,该算法可以达到较好的去噪效果,因此本文将小波去噪算法得到的结果作为基线。由表2可知,除了本文提出的APSTF,其他方法得到的结果均比基线低,进一步验证了APSTF的有效性。
使用不同的方法对同一组信号进行去噪,得到去噪后的结果见图6。
图6 不同方法输出信号图
由图6(a)可知,由小波去噪算法得到的还原信号的大部分值都在纯净信号和噪声信号之间,这说明了去噪算法的有效性,但是少部分值要高于纯净信号,这部分值没有还原得很好,造成了一些还原信号信噪比的损失。图6(b)、(d)和(e)得到的还原信号较为相似,还原信号大于0部分的值几乎都在纯净信号和含噪信号之间,去噪效果良好,但是ReLU和LeakyReLU基本把负值特征全部过滤掉了,因此在负值信号上的还原很差,造成了还原信号信噪比的损失,若将LeakyReLU中的α参数增大,可能会将噪声包含进来,造成信噪比的损失。图6(c)得到的还原信号是比较差的,它将负值特征全部过滤掉,且在正值信号的还原上也比纯净信号的值高,这说明它过度地还原信号,反而为还原信号中加入了一些噪声。图6(f)在这组信号的还原上是最差的,为信号加入了很多噪声,导致去噪后信号的值要远高于纯净信号值。图6(g)得到的还原信号值在大于0部分的值都处于纯净信号和含噪信号之间,在小于0的部分,虽然有一定的去噪效果,但这仍比小波去噪的效果要差。图6(h)和(i)得到的还原信号值是比较差的,去噪信号值要小于纯净信号值。而使用了APSTF激活函数的U-Net得到的去噪后信号的值在纯净信号和噪声信号值之间,且与纯净信号值非常接近,完美地还原了纯净信号。
为了说明本文方法的训练难易程度,将ReLU的训练过程和本文方法的训练过程进行对比,训练时loss对比图见图7,验证时loss对比图见图8。
图7 训练不同方法时的loss曲线
图8 验证不同方法时的loss曲线
由图7可知,在训练时,使用ReLU的U-Net训练了65个回合后停止了训练,即此时模型已收敛,使用了APSTF的U-Net训练了66个回合后停止训练,在第10个回合的训练时,loss值出现了跳变,在跳变后loss继续降低,下降的总体趋势与ReLU一致。
由图8可知,在验证时,使用了APSTF的U-Net在第17训练回合结束后,在验证集上的loss出现了跳变,而后验证集loss持续降低,降低趋势与ReLU一致。
虽然本文提出的APSTF会使神经网络的参数量增多,但是通过早停和学习率自降低这两种辅助训练技术,可以使神经网络正常训练,且获得较好的性能。
4 结论
本文提出的APSTF可以提升神经网络在高噪声特征图中学习特征的能力,从而达到更好的去噪效果。该方法利用ECA模块来自动地选取阈值τ,通过梯度下降算法训练神经网络,使阈值τ逐渐向最优值收敛。该方法不仅适用于含已知分布噪声的信号去噪问题,还适用于分布未知噪声的信号去噪问题,且无需将不含噪声的理想信号作为参考信号,就可以得到最好的去噪效果。但是该方法仍然存在参数量大、单步训练时间长的问题。若是将该方法应用在图像识别任务中,会使模型的参数量成倍增加,这会引发过拟合现象。在未来的研究中,会考虑将深度可分离卷积融入到APSTF中,提出一种轻量级的APSTF方法,并为其设计一个合理的神经网络模型。