主动声呐经常伴随着大量的杂波虚警[1-3],而真正需要判别的目标特别稀少,且夹杂在大量杂波中。传统的做法是通过声呐员分析识别筛选目标,这种做法费时费力,而且随着声呐员精力的下降,其识别概率会大大降低。随着人工智能的市场化成功应用,基于特征的水声探测的目标分类技术受到越来越多研究者的关注。文献[1,3]通过训练机器学习/深度学习等分类模型,二分类水声数据,实现目标与杂波的粗筛,达到抑制虚警率的目的。
模型分类方法一般将不同类别的数据同等看待,以数据分布均衡作为前提,致力于提高整体的分类准确度[4,5]。但现实中水下主动目标回波数据获取代价较大,收集整理困难,加上回波受到海底、海面的干扰[2-3],杂波数据远远高于目标数据。极度不平衡数据集训练的模型往往会将所有的少数类样本判别为多数类,显然这与分类的初衷背驰。当数据类别间不平衡时,正确区分少数类样本的意义往往高于整体分类准确率,这也正切合水下目标分类目的:在保证目标分类的基础上,尽可能抑制杂波数量。本文以卷积神经网络为分类模型,重点研究不平衡数据集的处理方法,并对各个方法进行了性能对比。
1 不平衡数据集处理方法对于基于卷积神经网络图像分类领域,解决不平衡数据集分类问题的方法包括数据层面和算法层面两类。数据层面主要调整数据的分布情况,使之能够适应一般分类算法,比如通用和常见的重采样技术;算法层面对传统的分类算法进行调整,从而使得在不平衡数据集上训练也能得到准确率较高的分类模型,例如代价敏感学习。
1.1 数据层面数据层面的不平衡技术主要是重采样技术,通过对不平衡的数据集调整样本分布,达到相对稀疏类样本的分布均匀,使用类别分布均匀的训练集训练分类模型,提高少数类的分类性能。
1.1.1 随机过采样对训练集中的少数类进行“过采样”,即增加一些少数类样本使得正反例数目接近,这是机器学习中使用最为频繁的不平衡处理技术之一。最基础的过采样模式为随机过采样,其在少数类样本中随机选择一些样本,然后通过简单复制所选择的样本生成样本集,将其添加到原始数据集中,扩大原始数据集从而得到新的少数类集合。由于需要对少数类样本进行复制扩大数据集,造成模型训练复杂度加大。另一方面由于简单的对初始样本进行复制采样也容易造成模型的过拟合问题。
1.1.2 图像增强技术图像增强技术能够丰富样本数量,增加模型泛化能力,一般应用在样本数量不足的情形。在主动声呐回波样本中,杂波样本作为多数类,样本的数量级足以支撑其受模型的训练,而目标作为少数类样本,其有限的数据不足以支撑其分类器的训练与泛化,所以在少数类样本之上采用图像增强技术。图像增强技术一般有静态数据增强和实时数据增强(动态数据增强)2种方式。静态数据增强就是对数据增强后直接加入训练集。实时数据增强是在训练中对每个batch的数据进行数据增强(数据随机性更大,更不易发生过拟合)。
样本数据来源于全波束探测结果的局部数据,其由“亮点”与“背景”组成。虽然采用实时图像增强技术随机性更大,但被增强的样本其原始的亮点与背景的分布均未发生变化,只是对图像部分数据进行“修改”。而在水声数据中图像背景分布在一定的程度上会影响最终的判别结果,所以结合2种图像增加的2种方式,在采集样本的过程中,采用静态数据增强技术,平移与颜色色差增强每一个样本,而在训练过程中,采用随机翻转与遮挡、噪声扰动的动态数据增加技术。这样既在静态数据增强中扩充了亮点的背景数据,又在动态数据增加中增加了样本的随机性。
随机欠采样技术是下采样最为常用的方法,其基本思想是降低多数类的样本,以达到少数类与多数类的平衡,再使用传统的分类方法训练平衡后数据集。随机欠采样数据集不平衡性差异不大的情况下存在一定的应用场景,但声纳样本数据由于类别间的不平衡性超过了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) |
其中:
$ 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) |
通过权重参数
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) |
式中:
$ \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函数在仅使用权重因子
1)当样本被正确预测,其预测概率
2)参数
样本数据集来源于湖试水声数据,其中正类样本为关注的水下目标,且为少数类样本,负类样本为提取的回波亮点中非正类的回波样本。主动回波样本如图2所示,图中画出了7个样本图像,每个图像的像素大小为
分别采集并形成3组数据集,数据集分别被标记为A,B与C,其正类与负类个数统计如表1所示。表中类别比例明显体现了“大数据小样本”的特点,正类样本所占比例不足1%,杂波样本数量远远超出目标样本数量。同时,不同组数据样本表现的不平衡性也不相同,这是由于水声环境、探测量程等因素综合影响造成杂波数量的起伏。以样本集A与样本集B的60%数据作为训练数据集
自ImageNet大规模视觉理解竞赛以来,卷积神经网络在视觉分类取得了突飞猛进的进展。发展至今,研究人员已发明多种优秀的深度学习网络结构,如AlexNet,VGGNet,ResNet等,随着网络的深度的增加,视觉分类的识别精度也越发精确。
在深度学习模型中,由于大量堆叠网络模块,在反向传播过程中由于经历较多的网络层,导致网络的前层很容易造成梯度消失,ResNet引入的残差网络结构改善这个问题。残差网络结构在相邻的卷积层之间增加的不同层之间的连接,通过这种方式在反向传播时,梯度不仅可以沿反向顺序流动,还可以跳过连接反向流动[7]。这样从后层网络往前层网络反向传播的过程中,梯度就不会因为经历太多的神经网络模块造成梯度消失。
在实际中深度网络的训练是基于数据驱动的,需要足够大的数据集,通常的做法是在一个很大的数据集上进行预训练得到卷积网络,然后将这个网络的参数作为目标任务的初始化参数。以目标任务的训练样本训练被初始化的网络,迭代网络参数,得到最终训练模型。本文以ResNet18作为预训练网络,加载预训练网络参数作为初始化参数,并修改了网络的全连接层fc1,增加了全连接层fc2与fc3,全连接层fc3输出为2(二分类问题),网络结构如图3所示。网络训练中采用二分类损失函数
实验采用
对于类别不平衡数据,ROC曲线(Receiver operating characteristic curve)不易受到数据分布影响,是一种评价分类模型性能的常用方法[8]。ROC曲线以真正率(检测概率
在不平衡数据集下,不作非平衡处理技术训练过程难以进行,模型将所有的样本分类为多数类,难以实现抑制杂波的目的。分别在数据与算法2个层次增加非平衡处理技术,2组测试集的测试结果分别如表2和图4所示。数据层面与算法层面都提高了目标被正确分类的概率,但是数据层面的非平衡处理技术目标被正确分类的概率较低,不能够满足本文的需求。而在算法层面的非平衡处理技术,目标检测概率提高超过75%,同时虚警概率被抑制不超过20%。明显可认定,算法层面在主动声呐图像不平衡处理的效果更为明显,具有更高的目标检测概率。而加权交叉熵相较于Focal Loss算法,更能保证目标被正确分类。
虽然不平衡数据处理技术改善了模型分类的性能,但模型还未能够达到应用的目的:目标作为稀少样本,其检测的概率较低;对比2组测试数据,其目标检测概率随测试数据变化较大,得到模型的泛化能力有所欠缺。基于“一定的目标检测概率下,最大限度的降低杂波数据量”的条件下,本文将数据层面的重采样技术与非平衡处理算法技术相结合,联合训练分类模型。数据处理结果如表3和图5所示。纵向比较表2与表3,可以观察到,通过结合非平衡处理技术,极大的提高了目标被检测的概率
本文针对卷积神经网络应用水声数据集上存在类别间不平衡的问题,研究不同非平衡处理方法对分类模型的影响效果。为验证非平衡处理方法对模型泛化能力,本文采用了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.
|