徐源超 蔡志明 孔晓鹏 黄 炎
(海军工程大学电子工程学院 武汉 430033)
船舶辐射噪声分类是目前水声目标探测领域的重要课题之一。深度神经网络,特别是卷积神经网络(Convolutional Neural Networks, CNN),已在船舶辐射噪声分类任务中得到广泛研究[1-6]。CNN可直接用来提取时域信号中的船舶分类特征[1,2]。Gammatone滤波器组被用于初始化第一层卷积核,并构建以时域信号为输入的端到端的CNN,该方法结合了人耳听觉原理设计分类模型[1]。不同尺寸的卷积核被用于处理时域信号并构建CNN[3]。CNN也可从LOFAR中提取目标特征信息[4,5]。卷积自编码器可以无监督地自动提取目标特征[4]。包括LOFAR在内的多种谱融合特征被输入到CNN中实现船舶分类[6]。然而由于水声目标数据集小样本、非均衡等特点,模型的泛化性能未见明显改善。另外,数据驱动得到的CNN模型的可解释性较差,模型得到的知识难以人为掌握。可视化分析是观察模型所学习到的“知识”的一种技术手段。基于领域知识并结合可视化结果为模型改进提供了一条技术路径。
神经网络中权值的物理意义往往难以解释。对于CNN模型,可直接可视化学习到的浅层卷积核权值。图像任务中,浅层的卷积核组可以被解释为一组Gabor滤波器[7]。然而这种可视化方法对深层的卷积核无能为力,因为深层单元的输入是原始输入的复杂的非线性变换。在输入空间观察模型是可视化分析的重要途径,即基于模型重建输入空间。基于反卷积网络可以重建输入空间[8]。对于一个给定的输入样本,反卷积网络针对指定的神经单元重建样本。重建样本反映此神经单元在给定的输入样本中“观察”到的东西。导向反向传播(Guided Backward Propagation, GBP)方法改善了重建效果[9]。上述两种重建输入空间的方法是依赖样本的。输入空间优化(Optimization in Input Space,OIS)方法则不依赖于样本[10],此方法输入一个随机样本,然后基于梯度下降优化输入空间,使指定神经单元的响应值最大化。反卷积网络与输入空间优化的方法可以结合使用并相互印证[11]。
LOFAR谱中包含丰富的船舶目标信息。本文首先构建了以对数谱为输入的CNN网络[12],并在DeepShip数据集[13]上训练。其次,提出一套用于船舶辐射噪声分类的CNN可视化流程,基于GBP和OIS方法重建输入空间,以分析CNN模型习得的知识。对CNN的某个深层卷积核,在训练集中寻找使其拥有最大激活值的若干噪声记录作为输入,利用GBP方法重建输入空间。提出的多帧特征对齐算法用于合并多条噪声记录。OIS作为GBP的辅助观察手段。可视化分析发现,同一个卷积核总是激活相似的输入模式,这些输入模式拥有相近的线谱结构或其他模式特征。本文将深层卷积核归纳为两类,即线谱模式与背景模式。相比船舶辐射噪声中的背景特征,其中的线谱是船舶目标分类的稳健特征。基于此知识,本文提出一种CNN剪枝方法,通过保留线谱模式卷积核而剔除背景模式卷积核,并重新训练全连接层,提升模型分类性能,降低过拟合风险。神经网络剪枝的目的通常是压缩模型参数规模[14,15],且一般是数据驱动的[16]。而本文提出的剪枝方法则是在对船舶辐射噪声分类CNN的可视化分析基础上实施的,其主要目的是提高模型泛化性能,是基于船舶线谱的物理知识进行的人工剪枝。此外,针对船舶类别的GBP重建样本可视化表明,剪枝后的CNN模型更加关注样本中的线谱信息而相对忽略干涉条纹等背景信息,从而提升泛化性能。
当输入样本经由神经网络产生输出时,信息逐层向前流动,这一过程称为前向传播(Forward Propagation)。相反地,当信息在神经网络中逐层往回流动时称为反向传播(Backward Propagation,BP),如模型训练时采用的梯度BP算法。可以利用BP算法来重建输入空间:给定输入x并执行前向传播过程至指定层;令感兴趣的神经单元的值为1,而该层其余单元的值为0,作为反向传播的信息;执行BP算法直至输入空间,即是输入样本x在指定神经元下的重建样本。基于GBP的输入空间重建方法[9]通过在信息反传过程中经过ReLU(Rectified Linear Unit)激活单元时将负值置零,提升了可视化效果。以下是GBP算法原理。输入层变量x0前向传播至指定的第L层得到输出xL的过程为
令xL中需要可视化的目标单元的值为1,其余值为0,作为重建输出空间的信息rL,执行BP得到输入空间r0的过程为
对于传统BP算法有
其中I(·)为指示函数。那么,对于传统BP算法有
而在GBP算法中,rI+1中的负值被置零,即
其中,ReLU(x)=max(0,x)为整流线性单元激活函数。
GBP方法有赖于输入样本x0=x,而OIS方法则完全基于训练好的模型来重建输入空间,其思路是寻找输入样本x*使得指定层指定神经单元的响应最大,即
其中,ai为神经网络中指定单元i的关于输入x的响应值。使用梯度下降法求解x*,随机初始化x,其迭代表达式为
其中η为学习率。
2.3.1 输入特征与CNN模型
CNN通过卷积层和池化层,实现逐层提取样本信息。本文以对数谱为输入[12],构建深层CNN用于船舶辐射噪声分类。对数谱是频率轴使用对数坐标的功率谱,其优点有二:一是放大低频信息而压缩高频信息,二是保留同组谐波线谱在不同基频下的间距结构特征。一方面,船舶辐射噪声的目标类别信息主要集中于低频段,特别是低频线谱中[17]。另一方面,对数频率坐标下不同基频的同一谐波线谱结构,契合CNN卷积层对平移变换的等变性。对平移变换的等变性是指当输入信号作平移变换时,其输出也作相同平移而响应值相等。这有助于卷积层中的同一卷积核检测相似的输入特征。
船舶噪声记录数据被处理成对数谱,然后输入到CNN中。对数谱样本尺寸为8×512,表示8帧512个频点,频率范围为8~2048 Hz,每倍频程64个频点;相邻帧之间滑动时长0.5 s。样本幅值取对数后,线性缩放到[0, 1]区间。构建的CNN包含7个卷积层,其中6个卷积层紧接最大池化层,卷积层后使用批正则化;网络提取出1 024维特征后输入3层全连接网络;全连接层使用Dropout(p=0.2)模型正则技术[18]。模型具体参数如表1所示,表中Conv2d, MaxPool2d和FC分别指2维卷积层、2维最大池化层、全连接层。
表1 CNN模型参数
2.3.2 数据集和模型训练
DeepShip[13]数据集包含来自265艘船舶的609条噪声记录。DeepShip数据集的船舶辐射噪声的采集时间为2016年5月2日至2018年10月4日,采集地点为乔治亚海峡附近海域。数据采集点位于太平洋东北海岸最繁忙的航线之一,靠近加拿大温哥华港口,背景噪声受到河流流量和潮汐影响,且该地区海洋生物活动频繁。该地区海底由淤泥和砂质沉积物组成,水深300~400 m。噪声由单水听器在深度140~150 m处采集,当水听器2 km半径范围内只有一艘船舶时进行记录。因为数据采集横跨四季,且包含一天的不同时段,水文条件变化比较丰富,所以在DeepShip数据集上验证分类算法具有一定普适性。船舶被分为4类:货轮,客轮,油轮和拖船(分别用A, B, C和D指代)。船舶噪声记录的时长为6秒至25分钟不等,信号采样率为32 kHz。每条噪声记录切片为若干对数谱样本。对每种船舶类别,随机选取80%的噪声记录作为训练集,20%的噪声记录作为测试集(确保训练集与测试集中的样本切片不能来自同一条噪声记录,且训练集与测试集内各类船舶样本占比相等)。数据集样本划分情况如表2所示。训练时使用Adam优化器,学习率设置为0.000 5;损失函数为交叉熵;训练批大小为128;迭代训练20轮,得到CNN模型在测试集上的正确率为69.49%。基于训练好的模型进行可视化分析研究。
表2 DeepShip数据集样本划分
图1和图2分别为基于GBP和OIS的船舶辐射噪声CNN卷积核可视化分析流程和各步骤输出。可视化流程包括5个步骤:
图1 基于导向反向传播(GBP)和输入空间优化(OIS)的船舶辐射噪声CNN卷积核可视化流程
(1) 在训练数据集中寻找对指定卷积核响应最强的8条噪声记录。指定一个卷积核,训练集中拥有最强响应的样本能反映该卷积核的性质。此处以分析第7卷积层(见表1,以下简称Conv7)的卷积核为例。通过前向过程计算训练集中每个样本的Conv7输出;以同一条噪声记录中的样本为一组,统计指定卷积核的最大输出的平均值,计为该条噪声记录对该卷积核的响应值。对每个卷积核,排序并可视化响应值最大的8条噪声记录如图2(a)所示(样本切片数少于50的噪声记录不在统计范围内)。
(2) 对样本执行前向传播算法并基于GBP算法重建样本。对8条最强响应噪声记录的样本切片执行前向传播至Conv7层输出。Conv7层的特征尺寸为128×1×8,128表示卷积核数(也称通道数),时间和频率方向尺寸分别为1和8;对应输入空间的接受域(receptive field)尺寸为8×192。考虑到Conv7中的池化层,特征中的每个单元仅是输入空间8×160区域单元的响应。换言之,Conv7层是作用于输入的1组共128个滤波器;每个滤波器的窗口尺寸是8×160,滤波器沿频率方向滑动步长为32;得到16个输出后,每相邻2个输出取较大值。为了清晰可视化卷积核的最强响应输入,在原噪声记录中高亮显示响应区域如图2(b)所示。
初始化一个与Conv7输出尺寸一致的张量,设置指定卷积核的最大响应单元处的值为1,其余值为0,此张量即为GBP算法的输入。根据式(1)和式(2)执行GBP算法的重建样本如图2(c)。重建样本中的非0连通区即为指定神经单元的响应区域。
(3) 对各条记录的GBP重建样本进行多帧特征对齐并求均值,得到卷积核的GBP可视化结果。CNN的池化层使得网络具有局部平移不变性,即当输入的局部发生少量平移时输出不变。由于CNN的局部平移不变性,滤波器对响应窗口中的输入特征容忍了一定程度的平移。如图2(c)中响应区域内的谐波线谱基频变化,线谱结构发生平移。为了在可视化时消除这些平移的干扰,本文提出多帧特征对齐算法(见算法1),将同一噪声记录最强响应区域中的各样本对齐并求均值,将8条记录的GBP结果并列后也进行对齐,结果如图2(c)所示。
(4) 对8条记录的响应区间求均值。根据GBP重建结果得到输入样本的响应区域,截取原样本的响应区域,对每条噪声记录执行多帧特征对齐并求均值,合并为一个8×160的矩阵如图2(d)所示。
(5) 基于OIS重建输入空间。根据指定的Conv7层卷积核,选取处于频率轴中间的第4个单元;根据式(3)和式(4)迭代计算最优的输入样本w*使该单元响应最大化;截取8×160的响应区域如图2(e)所示。
图3为卷积核的可视化报告样例。前8列是该卷积核的最强响应噪声记录,及其对应的GBP重建样本。第1行是原对数谱样本(标签指示噪声记录类别和编号),高亮部分为卷积核的最强响应区域;纵轴为频率,频率范围为8~2 048 Hz,每倍频程64个频点;横轴为时间。第2行是GBP重建样本,对应上一行原样本的高亮部分。除原样本外,其余子图的纵轴频率范围都是2.5个倍频程、共160个频点。图3(a)为8条记录的响应区域对齐后求均值;图3(c)为响应区域经GBP重建后对齐并求均值;图3(d)为图3(c)中8条记录的平均,其中红线值为0;图3(b)为OIS结果。此卷积核检测样本中的一组谐波线谱,从图3(c)和图3(d)看出,此组谐波在2.5个倍频程范围内有约20根线谱,其中较强线谱出现在响应区域中段。图3(b)的OIS结果也指示在响应区域中段有2根较强线谱。
图3 Conv7中一个卷积核的可视化结果
分析Conv7的128个卷积核可视化结果,将其归纳为两类:线谱模式卷积核与背景模式卷积核。线谱模式是指卷积核只检测输入样本中的线谱信息,包括多根谐波线谱和单根强线谱。背景模式是指卷积核检测输入样本中的背景特征,包括干涉条纹和连续谱,这些背景可单独出现,也会伴随线谱出现。图3展示的即是卷积核检测多根谐波线谱的模式。
图4集中展示了另外4种典型模式,各分块含义参照图3,其中仅给出最强一条响应噪声记录。图4(a)的GBP卷积核检测输入样本中的单根强线谱模式。图4(b)卷积核检测干涉条纹模式。需注意,多条记录GBP对齐结果是1根很强亮线时,其模式不一定是单根强线谱模式:如图4(b)检测的是干涉条纹背景。曲线图中可以看出二者的区别,图4(a)中峰值周围的值在0附近,而图4(b)中峰值周围的值则大于0。结合对原噪声记录响应区域的观察或OIS的可视化结果也可区别图4(a)与图4(b)中的模式。图4(a)的OIS指示响应区域的低频部分存在一根强线谱,而图4(b)的OIS区域中段的亮斑则指示样本中的非线谱模式。OIS的结果与GBP有一定的对应关系,一定程度佐证了选出的8条响应噪声记录具有代表性,但其本身不具有很强的物理解释性。图4(c)是卷积核检测样本中的线谱叠加连续谱的模式。图4(d)是卷积核检测样本中高频端的连续谱背景。
图4 卷积核的4种典型模式
GBP重建也可对输出层可视化,即针对类别可视化。网络输出层向量长度等于类别数C。初始化长度为C的one-hot向量作为GBP重建时的输入,指定类别对应位置等于1,其余位置为0。重建过程与可视化隐层单元一致。指定不同的类别相当于选择不同的滤波器,根据在训练数据中习得类别“知识”,滤波器输出样本中与此类目标相关的特征。
背景特征往往反映海洋信道的信息,与之相比,船舶辐射噪声的线谱特征较为稳定且更具分辨力。本文根据可视化结果,对CNN网络的Conv7层进行剪枝,拣选并保留64个线谱模式卷积核;相应地,输入到后续全连接层的神经单元数由1 024减少到512。复制原CNN中前6层网络参数以及选中的64个卷积核参数;重新随机初始化全连接层参数并进行训练。在训练过程中,冻结卷积层参数,只训练全连接层参数(改进的网络记为CNN-L64)。训练迭代50轮,其他训练参数与前次试验一致。重复进行5次试验。
设置4组对照网络模型。(1)CNN-B64:CNN中保留剩下的64个背景模式卷积核,裁剪掉线谱模式卷积核。需要说明,Conv7的128个卷积核中人工拣选出共80个线谱模式卷积核。此处为了对照试验将128个卷积核分为互不相交的2组。(2)CNN-128:CNN中保留所有的128个卷积核,冻结卷积层参数,重新初始化全连接层。(3)CNN-64:CNN的Conv7为64个卷积核,所有参数随机初始化后训练70轮。(4)P-CNN-64:利用“排序截短平均算法[19]”去除了对数谱中的连续谱成分,CNN结构及训练过程均与CNN-64相同。排序截短平均算法中滑动窗大小为11,排除窗内的最大值,剩余10个频点的平均功率谱值作为噪声背景的估计。
表3是模型平均正确率。虽然4个模型的训练正确率大体相当(其中CNN-L64最低),但是CNNL64的测试正确率相比CNN-128提高了1.3%,而CNN-B64的测试正确率则降低了1%。CNN中只保留线谱模式卷积核时,模型分类性能提升;反之则分类性能下降。CNN-64的结构与CNN-B64, CNNL64是相同的,其测试正确率介于二者之间,等于69.05%。这证明了基于可视化方法挑选卷积核并进行剪枝的有效性。虽然P-CNN-64的输入去除了连续谱背景,但是其正确率却低于CNN-64。这表明知识驱动的传统算法去除连续谱背景时带来信息损失,其效果取决于算法参数的选取。而CNN则是基于数据驱动隐式地提取功率谱中的有效分类特征。本文方法在数据驱动的基础上,结合关于背景和线谱的知识来提高分类性能。
表3 各CNN模型分类正确率(%)
定义样本的最大线谱强度为样本中谱值最大的线谱高于背景噪声的分贝数(背景噪声用谱峰左右各5个频点的均值估计)。统计测试集样本的最大线谱强度,用16, 8, 4和2分位点将样本划分为8组,并计算各分组下的分类正确率,结果如表4和图5所示(各分组的样本数分别为546, 545, 1 090, 2 180,2 180, 1 090, 545, 546)。当最大线谱强度为15.7~24.6 dB时,CNN-L64的分类正确率都是最高的;当最大线谱强度在14.0~15.7 dB时,CNNL64分类正确率仅略低于CNN-128。这表明,当最大线谱强度为14.0~24.6 dB时,提出的算法是稳健的且具有明显优势。而当最大线谱低于14.0 dB时(此部分样本占比为1/8),5种算法的性能均明显下降。当最大线谱强度高于24.6 dB时(此部分样本占比为1/16),5种算法的性能也均出现下降。
图5 线谱强度与分类正确率的关系
表4 不同最大线谱强度(dB)下CNN模型分类正确率(%)
图6中每个点是同轮数的正确率均值,每个模型训练50轮。图6表明,整个训练过程中,CNNL64分类性能始终优于CNN-128,更优于CNNB64。这说明,拣选出来的64个线谱模式卷积核充分保留了船舶类别信息,而背景模式卷积核则起反作用。图6中,训练的最后几轮里CNN-L64的训练正确率提升较慢;而CNN-128和CNN-B64的训练正确率虽然还在提升,但是测试正确率反而下降,这表明网络中的背景模式卷积核过拟合了:CNNB64和CNN-128的训练正确率的提高来源于对背景信息的过分拟合,这对船舶分类任务是不利的。从图6中还可以看出CNN-L64的数据点分布更集中,表明CNN-L64的训练过程更加稳定,更易收敛。总之,经过剪枝而只保留线谱模式卷积核的CNN-L64,其分类性能提高,训练过程更稳定且更不易过拟合。
图6 卷积核剪枝前后CNN性能对比
图7是3个模型的针对船舶类别的GBP重建结果。输入的船舶噪声记录均来自测试集。GBP重建时指定类别为该记录的真实类别。第1行为船舶噪声记录输入,第2, 3, 4行分别为3个模型得到的GBP重建样本。从图7看出,CNN主要基于船舶线谱特征进行目标分类,样本中较强的干涉条纹会影响分类器判别,而平滑的连续谱背景则被CNN忽略。指定不同类别的4维向量作为GBP输入时,可视化结果的差异并不显著,只是GBP重建输出的幅值大小不同(篇幅限制未给出图);这表明,Deep-Ship数据集中4类船舶的区分度并不高。如图7,比较剪枝前后的GBP重建样本发现,CNN-L64重建样本中的干涉条纹等背景特征相比CNN-128减弱,而线谱特征特别是无条纹叠加的线谱特征增强了。相反的,CNN-B64重建样本中的背景特征相比CNN-128增强了,如前所述,这带来分类器泛化性能的降低。虽然CNN-L64的重建样本中干涉条纹有所减弱,但是条纹并未完全消除,继续裁剪Conv7层或其他层卷积核是否能继续带来性能提升还需进一步研究。
图7 针对类别的GBP重建样本
本文提出基于GBP和OIS的船舶辐射噪声CNN可视化方法,分析表明船舶辐射噪声分类CNN的深层卷积核包括线谱和背景两种模式,它们在不同频率位置上分别检测输入样本中的线谱和背景特征。这两类特征中,线谱是船舶分类的有效和稳健特征,而背景特征则更多反映海洋信道信息。本文基于此知识提出的卷积核剪枝方法提高了CNN的分类性能。GBP分析表明,改进的CNN更加注意样本中的线谱信息。本文的可视化方法虽然定性解释了CNN对船舶辐射噪声谱分类时的机理,但缺少对卷积核性质的定量分析,剪枝时需人工挑选卷积核,下一步将研究改进方法。另外,由于数据集的波导条件比较单一,未来将开展更全面的数据试验以研究算法的适用条件,以及结合海洋信道特性改进分类算法。