王晨宇,刘礼文,刘罡,李博,杨云川
(中国船舶集团有限公司 第705 研究所,陕西 西安,710077)
水下高速航行器是目前海战中水面舰艇、潜艇和飞机用于反潜攻舰的主要装备之一,其水下目标识别能力直接决定着水下高速航行器的命中概率和攻击效能,是水下高速航行器综合性能和智能化水平的重要体现[1]。当前,随着水声对抗技术的不断发展,水声对抗器材已经由最初仅可以模拟点目标特性的点源式声诱饵,发展到了近年出现的长线阵诱饵甚至二维平面阵诱饵等,对传统水下目标识别方法提出了巨大的挑战,亟需寻求新型特征提取与目标识别的途径[2]。
深度学习是一种利用大量数据、自动学习有利于分类特征表示的学习方法,是一种具有多层信息处理网络的机器学习技术,已广泛应用于计算机视觉[3]、语音识别[4-6]和自然语言处理[7]3 个方面。在人工智能引领的浪潮下,将深度学习方法应用在水下目标识别领域已经成为当前研究的热点之一。学者们已将人工智能技术应用在水下目标识别领域中,如肖璐等[8]中使用主成分分析(principal component analysis,PCA)对水下目标声图像进行了识别,并在不同信噪比下的识别率进行了分析;代宏伟[9]提取干涉图像的多个特征构成特征向量,使用前馈神经网络对水下目标进行了识别;朱炜[10]在反向传播(back propagation,BP)神经网络的基础上引入粒子群优化算法提高了网络的收敛速度和学习能力。然而,在实际科学研究中,由于受环境、时间、成本等多方面因素的限制,水下样本数据的获取变得极其困难,样本总量的不足导致模型的训练效果不佳[11]。生成对抗网络(generative adversarial networks,GAN)作为一种新的人工智能技术,在数据增强[12-14]、图像生成[15-16]、语音降噪等领域具有广泛的应用。利用GAN 对稀少的水下目标回波信号数据进行数据扩充和增强,可有效提高深度学习在水下识别领域的训练效果。但是,传统结构的GAN 模型对水下高速航行器水下回波样本并不适用,不能直接用于样本数据生成。因此,如何基于水下回波样本对GAN 模型进行改进是一个重大的挑战。
基于上述水下目标数据不足的问题,提出了小样本条件下基于改进型GAN 的水下回波信号生成方法,并结合回波信号的特点,设计并搭建了基于卷积单元的GAN 模型。利用水池实验测试数据进行了回波信号生成仿真实验,在信号波形和幅度概率分布层面验证了生成信号的有效性。将该方法应用到水下目标识别领域,对于解决样本不足的问题具有重要的意义,为水下目标的主动探测、识别提供了新的思路。
GAN 是一种基于博弈论的生成模型[17]。该模型通过对训练样本的概率分布进行学习,生成与训练样本概率分布相似的新样本,从而达到数据生成的目的,该方法在很多研究领域中已经取得了不错的效果。
生成对抗网络的基本结构如图1 所示,其主要由2 个深度网络组成,分别为生成网络和判别网络。生成网络主要用来生成符合一定分布的且与真实数据极为相似的生成数据;判别网络的主要作用是在同时收到真实数据和生成器生成数据时,准确地将两者区分开[18-19]。
图1 生成对抗网络结构示意图Fig.1 Structure diagram of GAN
GAN 的学习过程就是判别网络和生成网络通过相互对抗,不断更新迭代各自的参数,相互促进相互提升,最终使得生成网络能够生成与真实数据服从相同分布的数据,同时判别网络也通过不断对抗,使其具有更强的分辨能力,进一步提高生成数据的质量。
GAN 本质上是一个博弈的过程,目标是收敛到纳什均衡(Nash Equilibrium),训练完成后使得生成器学习到真实数据的分布。
将判别网络表示为D,生成网络表示为G,则GAN 的损失函数可以表示为
式中:x为判别网络D的输入数据;D(x)为判别网络将输入数据辨别为真实数据的概率;pdata(x)对应的是输入真实数据时判别网络判别为真实的概率;pG(x)对应的是输入为生成网络产生的生成数据时判别为真实的概率。在训练判别网络的时候需要最大化损失函数V(G,D),即当输入是训练集中的真实数据时,使得D(x)取得最大值,当输入是由生成网络产生的生成数据时,使得D(x)取得最小值;在训练生成网络的时候需要最小化损失函数V(G,D),具体来说就是当输入是由生成网络产生的生成数据时,使得D(x)取得最大值。
当GAN 训练其对应的判别网络时,需要将生成器中的网络参数固定,只更新判别器的网络参数。因此,由式(1)可知需要使得下式取得最大值,即
式(2)为求极值问题,可以通过求导来解决。式(2)对D(x)求导并且令其导数为0,求解可得对应的极大值点
式中:D*表示使得式(2)取得最大值时所对应的点,将其代入到式(1)可得
式中,KL(·)表示KL散度(Kullback-Leibler divergence),主要用来描述2 个分步之间的差异[20];其中JSD(·)表示JS散度(Jensen-Shannon divergence)是KL 散度的一种变形,对不同分布间的差异性具有更强的判别能力。训练判别器的过程实质上就是最大化JS 散度。
接下来,GAN 训练其对应的生成网络时,是在判别器取得最大JS 散度的同时更新生成网络的网络参数,使得生成数据的概率分步和判别数据的概率分步之间的JS 散度最小化,即
当上式取最小值时,需要JS D(pdata(x)‖pG(x))达到最小值,即真实数据和生成数据的概率分布之间的差异尽可能小。
针对具体的小样本水下目标回波信号生成任务,对生成对抗模型的网络结构进行设计。
不同于传统的图像生成任务(训练样本为二维矩阵),回波信号生成任务的样本为一维向量。相应的,其GAN 的基本单元应该选取全连接层或者一维卷积层。卷积结构具有局部感受野、权值共享等特点,在降低网络模型参数和复杂度的同时还确保了高度的缩放、平移不变性,具备广泛的实用性,所以文中选择了一维卷积结构作为GAN 的主要运算单元。生成网络的详细结构如图2 所示,其中deconv 表示反卷积层,stride 表示步长,filters表示卷积核的通道数,BatchNorm 表示批量归一化处 理(batch normalization),activation 表示激活函数。生成网络主要由输入层、输出层和5 个反卷积单元组成。前4 个反卷积单元的激活函数选取Leaky Relu 函数,以避免梯度消失;第5 个反卷积单元的激活函数选取tanth 函数,使得输出介于-1~+1 之间。为了提高收敛速率以及防止过拟合,前4 个反卷积单元中加入了Batch Norm进行批量归一化处理。
图2 生成网络详细结构Fig.2 Detailed structure diagram of generative network
判别网络的详细结构如图3 所示,其中conv表示卷积层,Fully Connected 表示全连接层。判别网络主要由输入层、输出层、3 个卷积单元和一个全连接层组成。3 个卷积单元和全连接层的激活函数选取Leaky Relu 函数,以避免梯度消失;为了提高收敛速率以及防止过拟合3 个卷积单元中加入了Batch Norm 进行批量归一化处理。
图3 判别网络详细结构Fig.3 Detailed structure diagram of discriminative network
整个GAN 首先将长度为100 个数据点的随机噪声输入到生成网络中,经过5 个反卷积单元的运算,输出长度为1024 个数据点的生成信号。然后将生成信号和真实信号分别输入到判别网络中,经过3 个卷积单元和1 个神经元个数为128 的全连接层,最终输出信号的真假信息。
GAN 的训练过程如图4 所示。
1) 对生成网络进行训练。将判别网络的参数冻结,只更新生成网络的参数训练过程如图4(a)所示。生成网络的输入为随机噪声,其对应的标签为真实(1),输出为真假信息(0/1)。
2) 对判别网络进行训练。将生成网络的参数冻结,只更新判别网络的参数训练过程如图4(b)所示。判别网络的输入有2 种,一种为随机噪声通过生成网络后输出的生成信号,其对应的标签为虚假(0);一种为真实信号,其对应的标签为真实(1)。输出为真假信息(0/1)。
图4 生成对抗网络训练过程示意图Fig.4 Schematic diagram of GAN training process
3) 顺序重复以上2 步,直至收敛。通过生成网络和判别网络的不断对抗使得生成信号越来越逼近真实信号。
文中所使用的水下回波数据均来自消声水池的实验测试数据。
通过利用水下高速航行器自导系统原理样机实物,按照水下高速航行器实际应用场景和态势,针对水下目标构建半实物仿真环境。水池实验如图5 所示,水下高速航行器向水下目标所在方向行进的同时发射探测信号,探测信号经目标反射形成回波信号被水下高速航行器探测系统接收。
图5 水池实验侧视示意图Fig.5 Side view of pool experiment
文中以水池实验测试数据中水下高速航行器主动探测系统接收的水下目标回波的波束输出信号作为基础,对其进行处理之后作为训练样本输入。不直接使用原始波束的输出数据作为神经网络的输入主要有以下两方面的考虑:其一,原始信号的目标特征微弱会导致网络的训练难度增大;其二,原始信号的样本维度过高,使得网络的训练参数太多计算量呈指数增长,极大的增长加计算机压力,产生维度灾难[21]。对原始回波数据进行数据标准化、数据截取和副本相关的处理工作,以降低数据维度、增强目标特征,使其适用于神经网络模型,信号处理流程如图6 所示。
图6 数据处理流程Fig.6 Data processing flow
首先对数据进行标准化。由于实验条件不尽相同,各个样本之间的分布范围都有差异,所以需要对数据进行标准化处理。采用Z-score 标准化方法实现数据标准化[22],先对数据去均值,再除以标准差,将数据变换为相同尺度,即
式中:µ为该特征的平均值;σ为标准差,则标准化后的样本数据均值为0,方差为1,且为无量纲。
接着进行数据截取。由于水下高速航行器主动声探测系统的1 个周期内接收的回波数据可长达数万或数十万个点,而且由于各个探测周期下目标距离不断发生改变,各周期接收信号长度也会发生变化,回波数据一般长短不一。因此要对原始回波进行信号截取,重点分析目标回波中能量聚集区的数据,以降低输入数据维度,提高模型的训练效率。
最后对数据进行副本相关处理。由于截取数据样本受背景干扰影响较大,特征不够突出,且各类样本之间差别较小,因此需要对数据进行副本相关处理。副本相关主要由互相关接收器实现,该方法可以有效提高回波数据的信噪比,使目标特征更加明显,其原理如图7 所示。
图7 相关接收机原理Fig.7 Principle of correlation receiving machine
图中:x(t)为声呐接收信号;s(t)为参考信号,一般取声呐发射信号副本;τ为信号延迟时间;输出Rxs(τ)为 互相关函数。当 τ等于目标回波的时间延迟时,互相关函数可以取得最大值,即副本相关峰值。
根据实际工程经验对归一化后的水池实验测试原始数据进行数据截取和副本相关处理,得到长度为1024 个数据点的样本。随机选取某个段回波信号,对比其数据处理前后的时域波形,如图8 所示。对比可知,相比于原始回波信号而言,处理后的回波信号数据维度大幅降低,信混比大幅度提高,数据质量有明显的提升。经过处理后数据集包含288 个样本,每个样本的长度都为1024个数据点。
图8 处理前后的回波信号Fig.8 Echo signal before and after processing
为了验证所提基于GAN 的目标回波信号生成模型的有效性,利用处理后的目标回波信号作为真实信号进行回波信号生成实验。生成模型训练时所使用的超参数如表1 所示。
表1 训练超参数选择Table 1 Training hyper-parameter selection
网络模型训练时选用的优化器为深度学习中收敛速度较快的Adam 函数。为了防止网络出现拟合,在网络中加入了L2 正则化,正则化系数为0.001。由于训练集数据量较小,选择小批次训练,批次大小设为4,进而每回合网络参数更新次数为72 次。
网络训练的回合数会影响生成信号的质量,回合数太少会导致欠拟合,使得生成信号和水池测试信号差异较大;回合数太多会导致过拟合,使得生成信号和水池测试信号完全一样,丧失了生成信号的意义。下面分别给出训练100,150,200,250 回合时的生成信号及其幅度概率分布对比。
图9 所示为训练100 回合后生成信号与水池测试信号的对比。图9(a)为随机选取的16 个水池测试信号的波形图;图9(b)为随机选取的16 个生成信号的波形图;图9(c)为288 个水池测试信号与生成信号的幅度概率分布对比。通过对比可以看出,从信号波形层面看,生成信号的亮点等间隔分布基本与水池测试信号一致;从信号幅度概率密度分布来看,水池测试信号的概率分布更加尖锐一些。
图9 训练100 回合后生成信号与水池测试信号对比Fig.9 Comparison between generated signal and pool test signal after 100 epoch of training
图10 所示为训练150 回合后生成信号与水池测试信号的对比。从信号波形层面看,生成信号的亮点分布相对较为杂乱且亮点个数相对较多;从信号幅度概率密度分布来看,较训练150 回合后生成信号更加尖锐一点,但是与水池测试信号还有差距。
图10 训练150 回合后生成信号与水池测试信号对比Fig.10 Comparison between generated signal and pool test signal after 150 epoch of training
图11 所示为训练200 回合后生成信号与水池测试信号的对比。从信号波形层面看,生成信号的亮点等间隔分布与水池测试信号基本一致,且亮点个数与水池测试信号基本一致,都在3~6 之间;从信号幅度概率密度分布来看,生成信号与水池测试信号的幅度概率密度分布走势基本一致。
图11 训练200 回合后生成信号与水池测试信号对比Fig.11 Comparison between generated signal and real signal after 200 epoch of training
图12 所示为训练250 回合后生成信号与水池测试信号的对比。从信号波形层面看,生成信号的亮点等间隔分布与水池测试信号基本一致,且亮点个数与水池测试信号基本一致都在3~6 之间;然而,从信号幅度概率密度分布来看,生成信号与水池测试信号差距开始变大,说明训练回合数太多会导致过拟合,丧失了生成信号的意义。
图12 训练250 回合后生成信号与水池测试信号对比Fig.12 Comparison between generated signal and real signal after 250 epoch of training
综合上述实验结果可知,文中提出的基于生成对抗网络的回波信号生成模型,在训练200 个回合后能够有效生成高度逼真的水下目标回波信号,且生成的回波信号在信号波形和幅度概率密度分布层面与水池测试信号基本一致。
针对水下目标回波信号数据量稀少且获取成本较高的问题,提出了一种小样本条件下基于GAN 的水下回波信号生成方法。结合回波信号的特点,设计并搭建了基于卷积单元的GAN 模型,并且利用水池实验测试数据进行了回波信号生成仿真实验。最后在信号波形和幅度概率分布层面验证了生成信号的有效性。实验结果表明,文中提出模型可以在小样本的情况下,有效的生成高度逼真的回波信号,为水下目标的主动探测、识别提供了新的思路。文中所提出的改进型GAN 是基于小样本条件下的水下回波信号,所生成的数据并不包含分类信息,因此该网络并不能进行识别训练。后续会继续对GAN 进行改进,加入类别信息,为水下目标识别提供新的方法。