一种基于自动编码器的水声信号增强方法与流程

文档序号:19153446发布日期:2019-11-16 00:21阅读:231来源:国知局
一种基于自动编码器的水声信号增强方法与流程

本发明涉及一种水声信号增强的方法,特别是一种基于深度学习技术的水声信号增强的方法,属于水声信号处理领域。



背景技术:

在信号处理过程中,由于噪声的影响,使得远距离探测和微弱信号处理变得非常困难,降噪成为长期困扰研究者的一个课题,降低噪声是对信号进行有效分析的一个必不可少的过程。在传统的信号处理方法中,降噪是通过滤波来完成的,在使用线性滤波方法时,根据信号在频域中的分布特点,只要时间序列足够长,对于周期和准周期信号中的噪声是可以彻底消除的。但是对于非线性系统产生的噪声,由于信号与噪声在频谱上表现均为宽带连续谱,使得传统方法的滤波效果大大降低,这就需要探索新的适用于非线性信号的降噪方法。

随着计算机技术的发展,神经网络算法得到了广泛应用,深度学习是由hintong等人在2006年提出具有的多层学习结构的神经网络,虽然网络结构中每一个隐藏层一般只使用了简单的非线性变换,但是多层网络的非线性组合就可以产生非常复杂的非线性变换,因此深度学习具有强大的特征学习能力,可以发掘出数据中内在的变化规律。深度学习自提出以来,引起了国内外诸多学者的广泛关注,不仅在理论算法上不断推陈出新,在图像识别、图片降噪、语音信号处理、模拟人脑等实际场合的应用也日益增多。



技术实现要素:

为了克服传统方法中的种种缺陷,本发明要解决的技术问题时提供一种降噪效果比较好的基于深度学习技术的水声信号增强的方法。

为了解决上述的技术难题,本发明的技术方案是:

一种基于自动编码器的水声信号增强方法,包括以下步骤:

(1)构建一个降噪自动编码器的神经网络模型以及一个基于卷积自动编码器的神经网络模型;所述降噪自动编码器输入带噪信号,输出信号作为所述卷积自动编码器的输入信号,所述卷积自动编码器呈现对称结构,包括编码部分和解码部分,编码部分将输入信号进行编码,将特征信息压缩至低维空间,解码编码部分将低维特征信息解压成干净信号;

(2)根据主动声呐发射的线性调频信号各项参数仿真一系列可能接收到的回波信号,生成带噪信号和干净信号相对应的信号对;

(3)将数据样本随机划分为训练样本集和测试样本集;

(4)用训练样本集预训练降噪自动编码器神经网络模型的参数,至训练集样本损失函数达到指标;

(5)用降噪自动编码器输出作为卷积自动编码器的输入,干净信号作为其输出,以此预训练卷积自动编码器神经网络模型的参数,至训练集样本损失函数达到指标;

(6)以带噪信号作为整体神经网络的输入,以干净信号作为整体神经网络的输出,以此数据集对编码器进行调优,至训练集样本损失函数达到指标;

(7)完成编码器参数的设置,获得网络模型参数,将水声信号采样后作为联合降噪自动编码器和卷积自动编码器的整体神经网络的输入,得到降噪后的增强信号。

进一步地,步骤(2)中的带噪信号与干净信号所构成的信号对都是时域波形,步骤(4)中降噪自动编码器的输入和输出为带噪信号和干净信号,在预训练完降噪自动编码器后,将带噪信号所对应的网络输出作为卷积自动编码器的输入,并以干净信号作为卷积自动编码器的输出。

进一步地,在步骤(6)中,当降噪自动编码器的损失函数小于预设阈值t,卷积自动编码器的损失函数小于预设阈值p时,开始以带噪信号作为联合编码器的输入,干净信号作为联合编码器的输出,对整个编码器网络进行联合调优。

进一步地,所述的降噪自动编码器的编码部分每一层的神经元个数随层数递增而减少,解码部分每一层的神经元个数随层数递增而增加,直至等于干净信号的采样点数。

进一步地,所述的卷积自动编码器的网络模型包括输入层、输出层和若干卷积层,所述的卷积层层数大于等于3层,各卷积层的通道数大于等于30;在编码部分,每一层卷积层后面加入池化层,池化层为最大池化层,池化层的通道数与之前的卷积层的通道数相等;在解码部分,每一层卷积层后面加入上采样层,上采样层的通道数与之前的卷积层的通道数相等。

进一步地,步骤(2)中根据如下公式仿真接收到的回波信号:

其中,r0(t)为接收的回波信号,x(t)为发射信号,n(t)为接收端高斯噪声干扰,等号右侧第一项是直达声,第二项是多途径信号,参数l为通过接收点的本征声线的数目;ai,τi分别为第i途径到达接收点信号幅度及相对于直达声信号的时延值,a0为直达声信号幅度。

本发明的有益效果:由于本发明采用深度学习的数据驱动学习能力,可以很好地解决由于海洋中信道的改变,与环境噪声的影响导致提取回波信号困难的问题,可以通过神经网络强大的非线性映射能力减小信号中的非线性噪声。本发明直接以信号的时域波形作为神经网络的输入和输出特征,不对信号做其他的变换和特征提取,节省大量人力;本发明中的训练数据集是在知道主动声呐发射信号的各项参数的情况下生成的,不仅符合实际的主动声呐探测条件,还能是网络具有较强的鲁棒性,由于海洋信道的时变空变等特性,人为的特征提取往往不具有鲁棒性,而通过深度学习是一种数据驱动学习算法,可以根据现有仿真数据自动提取出较为鲁棒的特征,使得降噪水平可以达到较高的水平。

附图说明

图1为本发明的算法框图;

图2为深度学习卷积神经网络中的基本计算单元神经元计算过程示意图;

图3为深度学习卷积神经网络中的池化层运算过程示意图;

图4(a)为未经dropout全连接层的示意图;

图4(b)为经过dropout全连接层的示意图;

图5为降噪自动编码器的神经网络模型示意图;

图6为卷积自动编码器的神经网络模型示意图;

图7(a)为降噪效果与降噪自动编码器网络层数的变化图;

图7(b)为降噪效果与降噪自动编码器压缩最小维度的变化图;

图7(c)为降噪效果与迭代次数的变化图;

图7(d)为降噪效果与单独使用降噪自动编码器和联合使用卷积自动编码器的变化图;

图8(a)为干净信号的时域波形图;

图8(b)为信噪比为-10db的加噪信号时域波形图;

图8(c)为单独使用降噪自动编码器训练后网络输出的时域波形图;

图8(d)为联合卷积自动编码器训练后网络输出的时域波形图;

图9(a)为信噪比为-10db的加噪信号的时频分布图;

图9(b)为联合卷积自动编码器训练后网络输出的时频分布图。

具体实施方式

下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

本发明实施例公开的一种基于自动编码器的水声信号增强方法,主要包括如下步骤:

(1)构建一个输入与输出神经元个数相同的回归的自动编码器神经网络模型,网络的框架图如图1所示,训练网络采用降噪自动编码器与卷积自动编码器(convolutionaldenoisingautomatic-encoder,cdae)相结合的联合自动编码器(dae+cdae)方式。在预训练阶段,将训练集(train_clean)加上噪声称为加噪信号(train_noise),train_noise作为dae网络的输入信号,train_clean作为dae网络的目标信号,通过反向调优训练好dae网络,将train_noise,test_noise输入dae,得出新的训练集(train1),新的测试集(test1),预训练阶段结束。将train1作为cdae的输入信号,train_clean作为cdae的目标信号,通过反向调优训练cdae网络,在训练完成之后,对test1进行网络测试,得到最终的去噪信号,完成整个训练过程。具体的降噪自动编码器如图5所示,具体的卷积自动编码器如图6所示,在进行编码过程时,给每一层卷积层后面加入池化层,池化层为最大池化层。

(2)在已知主动声呐发射的线性调频信号的各项参数的情况下,仿真一系列可能接收到的回波信号,生成带噪信号和干净信号相对应的信号对,并预处理后转换为降噪自动编码器的输入形式;具体地,对回波信号和带噪的回波信号进行仿真,将仿真回波信号和仿真的带噪信号进行归一化、数据划分,制作成每m个采样点作为一个原始数据样本的样本对;

(3)将所有数据样本对随机分为训练样本集和测试样本集两类;

(4)用训练样本集对降噪自动编码器神经网络进行训练,所用方法为通过反向传播算法算法。判断降噪自动编码器神经网络的损失函数是否达到预设的指标(损失函数小于等于预设阈值t),如果达到指标,保留网络的参数,将降噪自动编码器神经网络的输入切换为测试数据样本集,如果没达到指标,在原先网络模型参数的基础上,继续用训练样本集对降噪自动编码器神经网络进行训练,从而不断更新网络的参数。再判断损失函数,循环往复,直至损失函数达到指标;

(5)将训练集的带噪样本输入上述训练好的降噪自动编码器的网络中,将其输出作为卷积自动编码器的输入,并将输入和输出均变换成卷积神经网络的输入形式。

(6)用上述数据集对卷积自动编码器神经网络进行训练,所用方法为通过反向传播算法算法。判断卷积自动编码器神经网络的损失函数是否达到预设的指标,如果达到指标(损失函数小于等于预设阈值p),保留网络的参数,将卷积自动编码器神经网络的输入切换为测试数据样本集,如果没达到指标,在原先网络模型参数的基础上,继续用训练样本集对卷积自动编码器神经网络进行训练,从而不断更新网络的参数。再判断损失函数,循环往复,直至损失函数达到指标;最后以带噪信号作为整体神经网络的输入,以干净信号作为整体神经网络的输出,对编码器进行调优,至训练集样本损失函数达到指标(损失函数小于等于预设阈值q);

(7)完成编码器参数的设置,获得网络模型参数,将水声信号采样后作为联合降噪自动编码器和卷积自动编码器的整体神经网络的输入,即可输出降噪后的增强信号,将卷积自动编码器的输出变换为正常的时域波形形式,并显示输出结果。

上述步骤中,带噪信号与干净信号所构成的信号对都是时域波形,步骤(4)中降噪自动编码器的输入和输出为带噪信号和干净信号,在预训练完降噪自动编码器后,将带噪信号所对应的网络输出作为卷积自动编码器的输入,并以干净信号作为卷积自动编码器的输出。

在步骤(6)中,当降噪自动编码器的损失函数小于t,卷积自动编码器的损失函数小于p时,开始以带噪信号作为联合编码器的输入,干净信号作为联合编码器的输出,对整个编码器网络进行联合调优。

降噪自动编码器的编码部分每一层的神经元个数随层数递增而减少,解码部分每一层的神经元个数随层数递增而增加,直至等于干净信号的采样点数。

深度卷积自动编码器网络模型包括输入层、输出层和若干卷积层,所述的卷积层层数大于等于3层,所述的各卷积层的通道数均大于等于30;在编码部分,每一层卷积层后面加入池化层,池化层为最大池化层,池化层的通道数与之前的卷积层的通道数相等;在解码部分,每一层卷积层后面加入上采样层,上采样层的通道数与之前的卷积层的通道数相等。

下面针对本发明实施例涉及的有关编码器的相关概念和计算过程进行详细的阐述。

a、神经元及其计算

如图2所示,神经元是神经网络中的基本运算单位,它是模仿生物神经细胞的某些特性而搭建的数学化模型,神经元的输入可以为多个变量但之间有权重之分,在神经元里进行线性组合,并且其和需要与作为神经元自身属性的某一阈值进行比较,然后才会激励神经元响应输出,而且神经元的响应输出与输入的线性组合之间一般为非线性关系,所以神经元的数学模型化的计算如下:

其中xi为神经元的每个输入,wi为与之对应的权重,为非线性激活函数向量,即n为上一层的神经元个数,b为偏置。

非线性激活函数一般为以下几种:

本实施例的网络模型中的非线性激活函数采用第二种。

b、神经网络

神经网络的权值和阈值一般由反向传播算法得到,有关反向传播算法的计算过程在后文进行介绍。

c、池化层处理

如图3所示,由于当神经网络的神经元的个数很多时,需要调整的参数也会很多,可对一层的神经网络进行池化操作,即对输入数据进行降采样,这样既减少了计算量,也增强了泛化能力。如图所示,将池化范围中的多个数合成一个数,最常见的有最大池化、平均池化、求和池化等。本实施例的网络模型的池化层采用最大池化层,即池化的结果取池化范围的最大的数。如果由于输入数据的形状和池化范围的形状的原因,池化范围不能均等划分,可以适当用0补位,在进行池化操作。

d、dropout处理

如图4(a)和图4(b)所示,为进一步提高模型的泛化能力,hinton提出在一次训练过程中可按照一定的概率将某些神经元隐藏,即与该神经元有关参数并不会在这次训练过程中更新,保持上一次训练的数值,而在最后测试阶段,所有神经元都会参与计算。

e、反向传播算法

如图5所示,dae在自动编码器(automatic-encoder,ae)的基础上改进而来,是一种执行数据压缩的网络结构,通过神经网络对样本数据进行学习,可以通过自动学习得到压缩函数与解压函数。dae的主要思想是首先训练一个自动编码器,能够在该编码器输入层手动添加随机噪声,在输出层重建输入数据;然后,通过训练后的编码器模型能够对输入数据进行压缩与解压,在这一过程中实现降噪,从而为后续的探测任务能够生成更好的特征表示。带有丢弃结构的dae基本网络结构如图所示,其中x为原始信号,为带噪信号,y为隐含层,为输出层。设输入特征为x,输出特征为y,则期望的目标结果是将映射值尽可能地接近于x,所以可以构造一个平方重构误差函数,即dae的损失函数,对其进行最小化,从而得到优化后的参数:

其中n是神经元的个数,wopt,wo′pt,bopt,bo′pt分别为更新前的网络权重,更新后的网络权重,更新前的网络偏置,更新后的网络偏置。

然后由随机梯度下降法对整个网络的权重参数进行更新,求解出目标函数的最优解。降噪自动编码器算法首先初始化权值与偏置参数,然后迭代更新求出最优解,具体算法步骤如下:

(1)随机初始化:对所有的l,设δw(l)=0,δb(l)=0;

(2)迭代次数:从i=1到m:

a)使用bp算法计算出

b)计算出

c)计算出

(3)更新权重参数:

其中α是学习率,λ是网络的固定参数。结合以上全连接层以及每一层的各个参数的偏导数的计算方法,以此类推,根据附图5和附图6的示意图,由后一层推知前一层各参数的偏导数,从而求得整个深度学习卷积神经网络模型的偏导数,最后,按参数空间的负梯度方向更新参数,此即为反向传播算法。

如图6所示,cdae主要由编码(encoder)和解码(decoder)两部分组成,通过分层训练来优化总体结构。cdae网络呈现对称结构,这种结构在前两卷积层中先将输入信号进行编码,将特征信息压缩至低维空间,在后两层卷积层中将隐含层进行解码,从而将低维特征信息解压成干净信号。

每个卷积层的输入均是3维特征数据,滤波器、池化、上采样都采用2维算子,在每个卷积层中,cdae通过学习的去噪变换,将输入信息映射到更抽象、鲁棒性更强的特征。cdae中的编码器部分由多个卷积层、激活层和池化层组成,卷积层由一组滤波器组成,这些滤波器从它们的输入层中提取特征,本发明中的激活层是对特征图施加非线性的修正单元。在池化层中,池化函数选择最大池化函数(max-pooling),max-pooling通过映射特定空间范围内的最大值的常数因子,对激活层进行下采样并生成具有降维的新映射空间。在解码部分是由卷积层、激活层和上采样层(up-sampling)组成,上采样层是通过对前面的激活层进行上采样,生成高维的新层。

cdae的损失函数以及整体网络的损失函数与dae的损失函数定义公式网络更新方式也是一样的,此处不再赘述。

考虑到实验过程中水声信道属于不平整双界面随机不均匀介质信道,因而发射信号经过水声信道传播过程中时变,空变及多途径扩展严重,接收信号波形发生畸变。水声信道具有多途径扩展的特性,发射信号经过不同途径的声线先后到达接收水听器,最后的接收信号是经各个声线传播到达信号的干涉叠加。设发射信号为x(t),接收端高斯噪声干扰为n(t),则接收信号r0(t)为:

其中,等号右侧第一项是直达声,第二项是多途径信号,参数l为通过接收点的本征声线的数目;ai,τi分别为第i途径到达接收点信号幅度及相对于直达声信号的时延值,a0为直达声信号幅度。

在训练数据的仿真中,采用未受污染的lfm作为目标信号,首先确定带宽为2khz~8khz,在48k的采样率下,生成10ms的lfm信号,然后随机插入某个时间点中来模拟目标回波出现的位置,生成一段具有1200个采样点的目标信号,共生成200500个这样的目标信号,其中200000个信号作为训练集,剩余500个作为测试集;在目标信号的基础上,设本征线数为3,信号幅度依次为区间[0.9,0.6),[0.6,0.3),[0.3,0.1]的某个随机值,时延值依次为(rand*100)个采样点,随机加上信噪比为-20db~5db的高斯白噪声,直接将其时域信号作为输入信号,能够更好地保留输入信号的相位信息。在训练网络时,改变dae网络层数,可得增强效果与dae网络层数的变化图,如图7(a);改变压缩最小维度时,可得增强效果与压缩最小维度的变化图,如图7(b);改变迭代次数时,可得增强效果与迭代次数的变化图,如图7(c);图7(d)显示的是网络只包含dae和网络包含dae、cdae两种情况的信号增强效果。由此确定最优的网络结构,在对该网络结构完成训练后,可得到增强后的结果图,如图8(d),在训练之前的干净信号如图8(a)所示,信噪比为-10db的加噪信号如图8(b)所示,在只有dae的网络结构下的增强信号如图8(c)。

为了进一步验证本发明提出方法的可行性和有效性,进行了松花江冰下信号传输实验。发射信号采用的是lfm信号,lfm信号脉宽为10ms、带宽为2~8khz。将接收信号输入本发明网络中得到恢复信号,对恢复前后的信号进行时频分析,得到其分析结果如图9(a)、9(b)所示。

如图9(a)、9(b)所示的时频图,可以发现恢复后的背景噪声明显减小,在目标信号的时间段内,信号更加集中在应有频带范围内,这个也是与理论仿真的结果是一致的。由于实验信号难以与发射信号对齐,无法计算其准确信噪比,本发明通过将无信号段近似为噪声信号,有信号段近似为目标信号,计算其能量均值,可以得出信号恢复前的信噪比为3.75db,恢复后信噪比为17.56db。因此,以上结果在一定程度验证了本发明设计的深度学习神经网络结构在解决主动声呐信号增强的问题上的有效性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1