舰船科学技术  2022, Vol. 44 Issue (12): 116-120    DOI: 10.3404/j.issn.1672-7649.2022.11.023   PDF    
基于卷积神经网络的主动声呐图像不平衡分类研究
冯金鹿, 胡鹏, 何荣钦     
中国船舶集团有限公司第七一五研究所,浙江 杭州 310023
摘要: 主动声呐目标面临 “大数据,小样本”的问题,“大数据”是指回波亮点数量、种类、回波形态分布非常丰富,“小样本”是指人类感兴趣的目标亮点稀少。在实际水声样本中存在无法确认标签的问题,只得将关注类型的样本标记为正类,非关注的样本标记为负类,导致负类样本远远高于正类样本,加剧了主动声呐图像集的不平衡性。为解决不平衡数据集对卷积神经网络模型的影响,本文从数据与算法2个层面研究了不平衡数据集处理方法。通过大量的实验结果表明,加权交叉熵损失函数法为处理极度不平衡主动声纳图像数据集的较好方法,并且本文两两组合数据层面与算法层面的非平衡数据集处理技术,数据增强与交叉熵损失函数相结合的模型得到具有最优的分类结果。
关键词: 卷积神经网络     不平衡数据集     主动声纳图像     特征分类    
Research on unbalanced active sonar images classification based on convolutional neural network
FENG Jin-lu, HU Peng, HE Rong-qin     
The 715 Research Institute of CSSC, Hangzhou 310023, China
Abstract: Active sonar targets are faced the problem of big data and small samples. Big data refers to the number ,classes and morphologies of echo highlights are very rich ,while small samples means that the targets highlights which human beings interested are rare. In the actual underwater acoustic samples, there is a problem of not being able to confirm the labels, so we have to mark the concerned samples as positive class, and the unconcerned samples as negative class, leading to the extreme imbalance of the active sonar image set. In order to solve the influence of unbalance data set on convolutional neural network model, this paper studies the processing methods of unbalanced data set from two levels of data and algorithm. A large number of experimental results show that the weighted cross entropy loss function method is a better method to deal with extremely unbalanced sonar data sets. In addition, this paper combines the unbalanced data set processing technologies and the data level and the algorithm level in pairs and obtains the optimal classification result by combining data enhancement with weighted cross entropy loss function.
Key words: convolutional neural network     unbalance data set     active sonar images     feat classification    
0 引 言

主动声呐经常伴随着大量的杂波虚警[1-3],而真正需要判别的目标特别稀少,且夹杂在大量杂波中。传统的做法是通过声呐员分析识别筛选目标,这种做法费时费力,而且随着声呐员精力的下降,其识别概率会大大降低。随着人工智能的市场化成功应用,基于特征的水声探测的目标分类技术受到越来越多研究者的关注。文献[1,3]通过训练机器学习/深度学习等分类模型,二分类水声数据,实现目标与杂波的粗筛,达到抑制虚警率的目的。

模型分类方法一般将不同类别的数据同等看待,以数据分布均衡作为前提,致力于提高整体的分类准确度[4,5]。但现实中水下主动目标回波数据获取代价较大,收集整理困难,加上回波受到海底、海面的干扰[2-3],杂波数据远远高于目标数据。极度不平衡数据集训练的模型往往会将所有的少数类样本判别为多数类,显然这与分类的初衷背驰。当数据类别间不平衡时,正确区分少数类样本的意义往往高于整体分类准确率,这也正切合水下目标分类目的:在保证目标分类的基础上,尽可能抑制杂波数量。本文以卷积神经网络为分类模型,重点研究不平衡数据集的处理方法,并对各个方法进行了性能对比。

1 不平衡数据集处理方法

对于基于卷积神经网络图像分类领域,解决不平衡数据集分类问题的方法包括数据层面和算法层面两类。数据层面主要调整数据的分布情况,使之能够适应一般分类算法,比如通用和常见的重采样技术;算法层面对传统的分类算法进行调整,从而使得在不平衡数据集上训练也能得到准确率较高的分类模型,例如代价敏感学习。

1.1 数据层面

数据层面的不平衡技术主要是重采样技术,通过对不平衡的数据集调整样本分布,达到相对稀疏类样本的分布均匀,使用类别分布均匀的训练集训练分类模型,提高少数类的分类性能。

1.1.1 随机过采样

对训练集中的少数类进行“过采样”,即增加一些少数类样本使得正反例数目接近,这是机器学习中使用最为频繁的不平衡处理技术之一。最基础的过采样模式为随机过采样,其在少数类样本中随机选择一些样本,然后通过简单复制所选择的样本生成样本集,将其添加到原始数据集中,扩大原始数据集从而得到新的少数类集合。由于需要对少数类样本进行复制扩大数据集,造成模型训练复杂度加大。另一方面由于简单的对初始样本进行复制采样也容易造成模型的过拟合问题。

1.1.2 图像增强技术

图像增强技术能够丰富样本数量,增加模型泛化能力,一般应用在样本数量不足的情形。在主动声呐回波样本中,杂波样本作为多数类,样本的数量级足以支撑其受模型的训练,而目标作为少数类样本,其有限的数据不足以支撑其分类器的训练与泛化,所以在少数类样本之上采用图像增强技术。图像增强技术一般有静态数据增强和实时数据增强(动态数据增强)2种方式。静态数据增强就是对数据增强后直接加入训练集。实时数据增强是在训练中对每个batch的数据进行数据增强(数据随机性更大,更不易发生过拟合)。

样本数据来源于全波束探测结果的局部数据,其由“亮点”与“背景”组成。虽然采用实时图像增强技术随机性更大,但被增强的样本其原始的亮点与背景的分布均未发生变化,只是对图像部分数据进行“修改”。而在水声数据中图像背景分布在一定的程度上会影响最终的判别结果,所以结合2种图像增加的2种方式,在采集样本的过程中,采用静态数据增强技术,平移与颜色色差增强每一个样本,而在训练过程中,采用随机翻转与遮挡、噪声扰动的动态数据增加技术。这样既在静态数据增强中扩充了亮点的背景数据,又在动态数据增加中增加了样本的随机性。

图 1 静态数据增强-数据平移 Fig. 1 Static data enhancement-data move
1.1.3 随机欠采样技术

随机欠采样技术是下采样最为常用的方法,其基本思想是降低多数类的样本,以达到少数类与多数类的平衡,再使用传统的分类方法训练平衡后数据集。随机欠采样数据集不平衡性差异不大的情况下存在一定的应用场景,但声纳样本数据由于类别间的不平衡性超过了1∶100,而且少数类样本较为稀少,这样严格要求少数类与多数类样本平衡,导致损失了多数类较多的样本信息,造成模型的泛化能力较弱。

1.1.4 加权随机采样

顾明思议,加权随机采样给每个训练样本分配特定的被采样的权重,通过权重的平衡,达到训练数据的平衡。一般可根据样本集的先验信息设置样本类别间的权重,得到类别均匀的训练样本。加权随机采样允许单个样本重复采样,是有放回的抽样方法,这与机器学习中的口袋法相似。该算法没有像欠采样一样丢失一部分样本,而造成样本信息的缺失;而相较于上采样,也没有严格限制类别间样本的数量,而是通过采样权重的方法调节数量类别间的平衡,这种相对缓和的采样机制在一些情形下能够取得更好的效果。

1.2 算法层面

卷积神经网络在算法层面解决非平衡数据集的方法主要是加权交叉熵损失函数与Focal Loss函数,两者都属于代价敏感学习的方法。代价敏感学习的方法主要思想是增加少数类分类错误的代价,降低多数类分类错误的代价,让分类器在分类决策时更加关注少数类的样本,从而提高分类的准确性。

1.2.1 加权交叉熵损失函数

加权损失函数是机器学习领域最为常用的不平衡数据集的处理方法,其在常规分类算法的损失函数中增加区分多数类与少数错误分类的代价。将分类代价引入到深度学习领域,使用加权后的交叉熵损失函数训练网络,使得网络能够对少数类错误分类更为敏感。

加权交叉熵损失函数表达式如下式:

$ {L_s}\left( f \right) = \frac{1}{{\left| S \right|}}\sum\limits_{\left( {x,y} \right) \in S} {w\left( {x,y} \right)} l\left( {f\left( x \right),y} \right) \text{。}$ (1)

其中: $S$ 表示源域数据; $l\left( {f\left( x \right),y} \right)$ 表示神经网络预测与真实标签的交叉熵损失函数。 $w\left( {x,y} \right)$ 表示标签为类别y的样本的权重系数,对于该参数,少数类的值大于多数类。权重参数计算如下式:

$ w\left( {x,y} \right) = \frac{{{{\max }_{{y'}}}{C_s}\left( {{y'}} \right)}}{{{C_s}\left( y \right)}}\text{,} $ (2)
$ {C_s}\left( y \right) = \frac{{\left| {\left\{ {\left( {{x'},{y'}} \right) \in S|y = {y'}} \right\}} \right|}}{{\left| S \right|}}\text{。} $ (3)

通过权重参数 $w\left( {x,y} \right)$ 的限制,少数类和多数类得以在反向传播更新参数的过程中占据平等的地位,使得分类器在预测阶段不会倾向于多数类。

1.2.2 Focal Loss

Focal Loss函数是为了解决one-stage目标检测中正负样本比例严重失衡的问题而提出的。该损失函数降低了大量易分类样本在损失项中所占的权重,进而使得神经网络专注于对困难分类样本的学习,也可理解为一种困难分类样本挖掘算法。Focal Loss源于对交叉熵损失函数基础上的修改,对于二分类交叉熵损失,其损失函数如下式:

$ \begin{split} L =& - y\log \left( p \right) - \left( {1 - y} \right)\log \left( {1 - p} \right) =\\ & \left\{ {\begin{array}{*{20}{l}} { - \log p,} \\ { - \log \left( {1 - p} \right),} \end{array}\;\;\;\;\begin{array}{*{20}{l}} {y = 1} \text{,}\\ {y = 0} \text{。} \end{array}} \right. \end{split} $ (4)

式中: $p$ 为网络激活函数的预测输出,其范围为(0~1); $y$ 为样本的实际标签。Focal Loss函数在交叉熵损失函数之上,增加了重因子 $ \alpha $ 和调制因子 $ {p^\gamma } $ ,其具体的表达式如下式:

$ \begin{split} {L_{fl}} =& \left\{ {\begin{array}{*{20}{l}} { - \alpha {{\left( {1 - p} \right)}^\gamma }\log p} \\ { - \left( {1 - \alpha } \right){{\left( {1 - p} \right)}^\gamma }\log \left( {1 - p} \right)} \end{array}} \right. = \\ & \left\{ {\begin{array}{*{20}{l}} - \alpha {{\left( {1 - p} \right)}^\gamma }\log p,& y = 1 \\ - \left( {1 - \alpha } \right){{\left( p \right)}^\gamma }\log \left( {1 - p} \right),& y = 0 \end{array}} \right. = \\ & \left\{ {\begin{array}{*{20}{l}} - \alpha {p_t}^\gamma \log {p_t},& y = 1 \text{,}\\ - \left( {1 - \alpha } \right){p_t}^\gamma \log {p_t}, & y = 0 \text{。} \end{array}} \right. \end{split} $ (5)
$ {p_t} = \left\{ {\begin{array}{*{20}{c}} p\text{,} \\ {1 - p} \text{,} \end{array}} \right.\;\;\;\;\;\begin{array}{*{20}{c}} {y = 1} \text{,}\\ {y = 0} \text{。} \end{array} $ (6)

Focal Loss函数在仅使用权重因子 $ \alpha $ 则相当于上述的加权损失熵函数,调制因子的使用使得Focal Loss函数相对于标准交叉熵损失函数有以下特性:

1)当样本被正确预测,其预测概率 ${p_t}$ 接近1,调制因子接近0,降低了容易分类的样本的损失;当一个样本被误分类时,其对应的网络预测概率 ${p_t}$ 很小,调制因子接近1,损失项几乎不受调制因子的影响,使得模型更为关注误分类的样本。

2)参数 $ \gamma $ 平滑的调整了易分类样本权重降低的比率。 $ \gamma $ 增大能增强调制因子的影响作用。

2 样本数据集

样本数据集来源于湖试水声数据,其中正类样本为关注的水下目标,且为少数类样本,负类样本为提取的回波亮点中非正类的回波样本。主动回波样本如图2所示,图中画出了7个样本图像,每个图像的像素大小为 $ 17 \times 227 $ 。灰度图中强度较大的区域为回波信号,定义为“亮点”,亮点以外的区域为水声信号背景,每个样本图中横轴为角度,纵轴为回波时间。

图 2 数据样本示例 Fig. 2 Sample data

分别采集并形成3组数据集,数据集分别被标记为A,B与C,其正类与负类个数统计如表1所示。表中类别比例明显体现了“大数据小样本”的特点,正类样本所占比例不足1%,杂波样本数量远远超出目标样本数量。同时,不同组数据样本表现的不平衡性也不相同,这是由于水声环境、探测量程等因素综合影响造成杂波数量的起伏。以样本集A与样本集B的60%数据作为训练数据集 ${\rm{AB}}\_{\rm{train}}$ ,而以剩余的40%样本作为测试数据集 ${\rm{ AB}}\_{\rm{test}}$ ,样本集C作为独立的测试集 ${\rm{C}}\_{\rm{test }}$ 。这样的分组既保证了网络训练大数据的需求,又保证了测试数据的完备性,测试数据来源于与训练数据同分布与异分布的样本。

表 1 样本统计 Tab.1 Sample statistic
3 卷积神经网络

自ImageNet大规模视觉理解竞赛以来,卷积神经网络在视觉分类取得了突飞猛进的进展。发展至今,研究人员已发明多种优秀的深度学习网络结构,如AlexNet,VGGNet,ResNet等,随着网络的深度的增加,视觉分类的识别精度也越发精确。

在深度学习模型中,由于大量堆叠网络模块,在反向传播过程中由于经历较多的网络层,导致网络的前层很容易造成梯度消失,ResNet引入的残差网络结构改善这个问题。残差网络结构在相邻的卷积层之间增加的不同层之间的连接,通过这种方式在反向传播时,梯度不仅可以沿反向顺序流动,还可以跳过连接反向流动[7]。这样从后层网络往前层网络反向传播的过程中,梯度就不会因为经历太多的神经网络模块造成梯度消失。

在实际中深度网络的训练是基于数据驱动的,需要足够大的数据集,通常的做法是在一个很大的数据集上进行预训练得到卷积网络,然后将这个网络的参数作为目标任务的初始化参数。以目标任务的训练样本训练被初始化的网络,迭代网络参数,得到最终训练模型。本文以ResNet18作为预训练网络,加载预训练网络参数作为初始化参数,并修改了网络的全连接层fc1,增加了全连接层fc2与fc3,全连接层fc3输出为2(二分类问题),网络结构如图3所示。网络训练中采用二分类损失函数 ${\rm{BCEWithLogitsLoss}}$ ${\rm{FocalLoss}}$ 计算训练损失,采用随机梯度下降法SGD作为优化函数,初始学习率设置为 ${10^{ - 4}}$

图 3 ResNet18结构图 Fig. 3 ResNet18 structure
4 实验分析

实验采用 ${\rm{AB}}\_{\rm{Train}}$ 作为训练数据,其中正例样本个数为187个,负例样本个数为48291个,正负类比例为1∶258;使用 ${\rm{AB}}\_{\rm{Test}}$ 作为迭代的测试集,以测试集误差作为网络停止迭代训练的判决条件;使用 ${\rm{C}}\_{\rm{Test}}$ 作为模型的验证集,验证模型的泛化能力。

对于类别不平衡数据,ROC曲线(Receiver operating characteristic curve)不易受到数据分布影响,是一种评价分类模型性能的常用方法[8]。ROC曲线以真正率(检测概率 $pd$ )为纵坐标,以假正率(虚警概率 $pf$ )为横坐标。基于模型的预测概率分布,给定判决门限检测概率与虚警概率成对出现,滑动判决门限检测概率与虚警概率相应变化,从而得到ROC曲线,其反映了检测概率与虚警概率之间的相互制约关系。绘制ROC曲线下的面积被称为AUC(Area of under curve),面积越大,分类模型效果越好。虽然ROC曲线表征了分类器的性能,但是其未能对判决门限展示。期望正类样本预测的概率尽可能向概率 $p = 1$ 分布,相反,负类样本概率尽可能向概率 $p = 0$ 分布。本文选定门限 $TH = 0.5$ 作为判决门限,给出非平衡数据集处理方法的检测概率与虚警概率,以此来表征模型分类概率的分布特性。

在不平衡数据集下,不作非平衡处理技术训练过程难以进行,模型将所有的样本分类为多数类,难以实现抑制杂波的目的。分别在数据与算法2个层次增加非平衡处理技术,2组测试集的测试结果分别如表2图4所示。数据层面与算法层面都提高了目标被正确分类的概率,但是数据层面的非平衡处理技术目标被正确分类的概率较低,不能够满足本文的需求。而在算法层面的非平衡处理技术,目标检测概率提高超过75%,同时虚警概率被抑制不超过20%。明显可认定,算法层面在主动声呐图像不平衡处理的效果更为明显,具有更高的目标检测概率。而加权交叉熵相较于Focal Loss算法,更能保证目标被正确分类。

表 2 模型分类结果 Tab.2 Results of classification

图 4 非平衡处理技术比较 Fig. 4 Compared of unblanced technologies

虽然不平衡数据处理技术改善了模型分类的性能,但模型还未能够达到应用的目的:目标作为稀少样本,其检测的概率较低;对比2组测试数据,其目标检测概率随测试数据变化较大,得到模型的泛化能力有所欠缺。基于“一定的目标检测概率下,最大限度的降低杂波数据量”的条件下,本文将数据层面的重采样技术与非平衡处理算法技术相结合,联合训练分类模型。数据处理结果如表3图5所示。纵向比较表2表3,可以观察到,通过结合非平衡处理技术,极大的提高了目标被检测的概率 $pd$ ,虽然杂波的虚警概率有所增加,但保证了目标具有较大分类概率。同时,横向比较表3不同非平衡技术的组合方式,可以观察到数据增强技术与加权交叉熵相结合的方法得到了最好的分类处理结果,而且此模型相较于单一的图像增强与加权交叉熵非平衡技术,模型得到了更高的目标检测概率与更低的杂波虚警概率,同时两组测试数据的对比,得到结合模型的泛化能力也得到了提升。

表 3 组合处理技术下模型分类结果 Tab.3 Classification results under combined processing technologies

图 5 组合技术下的分类结果 Fig. 5 Classification results of combined technologies
5 结 语

本文针对卷积神经网络应用水声数据集上存在类别间不平衡的问题,研究不同非平衡处理方法对分类模型的影响效果。为验证非平衡处理方法对模型泛化能力,本文采用了2组海试测试集数据,实验结果表明,相较于数据重采样,加权交叉熵损失函数在2组测试数据集上表现的性能更为稳定,不仅具备较高的检测概率,而且兼顾较小的虚警概率。为得非平衡数据集下的最优模型,结合重采样与非平衡处理算法联合训练优化模型,图像增强与加权交叉熵相结合的方法得到了最佳分类结果。

参考文献
[1]
BU M, BENEN S, STILLER D, et al. Feature selection and classification for flase alarm redection on active diver dtection sonar data[C]//4th International Conference on Underwater Acoustics, September 2017.
[2]
关鑫, 李然威, 胡鹏. 基于数据驱动的智能化水声目标主动探测概述[J]. 船舶物资与市场, 2020(12): 1−2.
[3]
关鑫, 李然威, 胡鹏, 等. 基于改进支持向量机的水声目标-杂波不平衡分类研究[J]. 应用声学, 2021, 40(5): 715−722.
[4]
Aurelien Geron. 机器学习实战: 基于Scikit-learn和Tensorflow[M]. 北京: 机械工业出版社, 2018: 30−40.
[5]
周志华. 机器学习[M]. 北京: 清华大学出版社. 2016.
[6]
张校捷. 深入浅出PyTorch从模型到源码[M]. 北京: 电子工业出版社, 2020: 163.
[7]
于化龙. 类别不平衡学习: 理论与算法[M]. 北京: 清华大学出版社, 2017: 4−5.