-
0 引言
-
近年来,随着人工智能的发展,深度学习被更多应用于水声目标识别领域。基于深度学习的水声目标识别方法可将传统的特征提取与分类识别相结合,实现特征自动提取,完成从输入到输出的一体化处理[1]。
-
深度学习方法需要大量数据对模型进行训练才能达到较好的识别效果,而水声目标信号样本的获取较为困难,缺少优质的公开数据集,同时部分目标的辐射噪声信号数据有一定程度的保密限制,这将会导致深度神经网络在训练时无法获取到足够量的样本来对模型的权重和参数进行更新,导致其无法达到最佳效果。
-
在深度学习中,解决数据量不足的常用方法是数据增强。传统的数据增强方法主要是对原始样本进行某种变换来扩充训练集的多样性。变换的形式包括了平移、翻转、对比度修改、加噪等[2],然而对于样本量较小的数据集来说,以上所述的几种数据增强方法对由于数据缺少而带来的训练问题改善有限,大多数时候只能对模型性能带来轻微提升,且对于水声数据提取的特征图,进行翻转变换的时候会使其特征值发生改变从而影响训练精度和样本质量,对模型性能产生负面影响。
-
近些年来,生成式深度学习模型逐渐开始被用于解决实验中数据样本不足的问题。生成式模型通过对数据样本的分布进行学习来生成逼真的新样本,以此提升模型的训练效果。Diffusion Model 是近些年生成式模型中炙手可热的焦点,于 2015 年提出,2020 年开始受到国内外研究学者的重点关注[3]。区别于传统的生成式模型例如生成对抗网络(Generative Adversarial Networks,GAN)和变分自编码器(Variational Auto-Encoder,VAE),扩散模型可以生成更高质量的数据[4]。
-
目前在水声目标识别数据增强的研究中,大多采用了 GAN 及其变体来实现样本的生成[5]。GAN 的主要结构包括了一个判别模块和一个生成模块,通过判别模块对生成模块生成的数据进行判别来对生成模块进行优化,同时通过生成模块不断优化后生成的更逼真的结果来对判别模块进行优化,在模型达到纳什均衡[6]时,能够达到最终目的,也即生成模块能够生成极为逼真的结果使得判别模块无法正确识别生成数据的类别。JIN 等[7]和 GAO 等[8]将水声信号的 LOFAR谱输入 GAN模型中实现目标识别,得到了较好的识别效果,然而实验中采用的数据量极大使得其并不符合实际应用场景;薛灵芝等[9]对 GAN 进行了改进,采用了预训练方法,对模型中的判别器和生成器进行了预训练,实验结果表明了 GAN 也可以在小样本水声数据集中可以得到较好的识别效果。张明洪等[10]在 GAN 的基础上对网络进行了改进,结果表明生成的高质量样本提升了识别的精度。然而,GAN 作为一种较早被提出的方法,相较于扩散模型有以下不足。
-
1)GAN 的训练过程更加困难。GAN 需要同时训练一个生成器和一个判别器,且需要对二者的平衡进行控制。扩散模型则采用自回归的过程进行训练,训练过程更加直观和简洁,更加易于进行微调。
-
2)GAN 生成的数据质量更差。GAN 模型的生成过程是一个不稳定的过程,这导致 GAN 的生成结果可能存在模式崩塌和模式噪声。扩散模型通过迭代将噪声数据转化为目标数据,可以更加稳定高质量的生成数据。
-
3)可解释性较差。扩散模型的生成过程可以从概率论角度进行详细解释和可视化,有利于深入理解生成机制,GAN 则不能做到。
-
由于扩散模型相较于 GAN 拥有更好的生成质量[11],且扩散模型在水声数据增强的应用暂时较少,本文尝试研究基于扩散模型实现水声数据增强,解决水声信号样本不足的问题,并与基于 GAN 的数据增强方法开展对比实验,通过实验结果探究两种方法的优劣。
-
1 扩散模型
-
1.1 扩散模型基本结构
-
扩散模型的灵感来源于物理学中非平衡热力学的能量模型(EBM)的能量扩散过程[12],该过程包括前向过程和逆向过程 2 部分[13]。在前向过程中,系统逐步添加高斯噪声到样本的数据分布中,直到将原有的数据样本分布转化成为一个简单的标准高斯分布;在逆向过程中,先生成一个高斯分布,然后进行一个去噪过程,在每个步骤中去除一部分高斯噪声,逐步逼近真实数据样本分布。扩散模型通过以上 2 个步骤实现了对数据的生成[14]。
-
1.2 扩散模型前向扩散过程
-
扩散模型的前向过程是一个马尔科夫链,初始分布为,设加噪过程数量为T,前向噪声样本 ,前向过程中每一时刻 t 向数据中加入均值和标准差为特定值 的方差,其中方差 满足(0,1),前向过程结构如图1。
-
前向过程可以被描述为
-
由马尔科夫链的性质可知其下一个时刻的状态只和当前时刻的状态相关:
-
任意时刻的 可以通过和 计算得到,可以求出。
-
图1 扩散模型前向过程
-
Fig.1 Forward process of diffusion model
-
1.3 扩散模型逆向过程
-
逆向过程是从一个完全噪声化的样本逐步进行去噪,对原始数据进行还原的过程,逆向过程结构如图2。构建模型时假设其整个逆向扩散过程为一个马尔科夫链:
-
假设逆向过程的每一步可以用条件分布概率表示,可以通过迭代求得 :
-
由于该过程难以求解,所以引入深度学习方法通过神经网络对分布进行学习和参数权重更新,假设存在逆向的概率分布,且服从高斯分布,其均值和方差均以 和 t 作为输入参数,有:
-
采用贝叶斯公式对模型准确性进行验证,即计算:
-
对公式(6)进行化简推导,使其简化为不含中间过程 的数学形式:
-
计:
-
可得:
-
通过对比 和 之间的关系确定损失函数。
-
图2 扩散模型逆向过程
-
Fig.2 Backward process of diffusion model
-
1.4 扩散模型损失函数
-
在 DDPM 论文中,作者采用了预测随机变量噪声的方法[15],新的逆向条件分布的均值可以表示为
-
式中,为噪声 z 的预测值,其损失函数为
-
对于网络模型进行优化时,采用变分下界 (VLB)的方法对其负对数近似函数进行优化。
-
公式(8)为变分下界损失 LVLB的重新加权形式,比直接优化 LVLB生成的样本质量更高,采用不含系数的 Lsim 进行训练可以得到更好的训练质量,其最终形式为
-
2 模型结构设计
-
扩散模型训练过程示意图如图3 所示,在扩散模型设计中,对于预测噪声的神经网络有以下需求:1)对于数据样本特征提取能力有较高要求;2)训练过程中产生的损失较小。
-
图3 扩散模型训练过程示意图
-
Fig.3 Schematic diagram of diffusion model training process
-
在模型中采用 U-net 神经网络,相较其他网络, U-net 具有数据需求少、分割准确率高、高梯度下降、权重划分等特点[16]。
-
2.1 U-net 网络的结构
-
U-net 网络的结构主要包括上采样和下采样模块、正弦位置编码模块、注意力模块、残差模块等,以下对各个模块进行简要介绍。
-
上采样模块和下采样模块:上采样模块通过反卷积或转置卷积的方法将输入的矩阵向量进行扩大或拉长;下采样模块则是与上采样相反,能够将输入的矩阵向量进行缩小或缩短,通常通过卷积运算来实现。
-
正弦位置编码:扩散模型中的 U-net 网络包括了正弦位置编码模块,用于为数据提供位置信息。其基本思想是通过三角函数为每个位置生成唯一的向量,让模型能够对应学习。
-
注意力模块:注意力机制能够选择性关注一部分信息,忽略另一部分。在 U-net 网络增加注意力模块以解决多个串联的 CNN 导致的重复提取相似特征的问题。
-
残差模块:最早由残差网络 ResNet[17]论文中提出的残差模块能够用于防止增加网络层数的过程中训练误差产生上升现象,即网络退化的问题。
-
本文所使用的预测噪声网络结构模型为如图4 所示的改进 U-net 结构,网络输入为 875*656 大小的 RGB 图像,时间 t 通过正弦位置编码的方法进行编码,再通过一个残差模块,输入进网络,网络结构上采样模块和下采样模块对称设计,采用 4 层下采样结构,卷积核尺寸为 3×3,步长设置为 2, padding 设置为 1。网络的输出在通道维度、矩阵维度上与输入相同。为避免梯度消失和梯度爆炸问题,使用残差结构对网络进行传递。
-
图4 U-net 网络结构图
-
Fig.4 U-net network architecture
-
2.2 条件控制模块的设计
-
在网络中增加条件控制模块实现对模型生成内容的定向控制,在输入端增加标签维度。通过改变输入模型的内容,包括条件控制和非条件控制两种采样输入。2 种输入都会被送进同一个扩散模型中,使模型能够在条件生成和自由生成模式之间相互切换。
-
具体做法为在网络模型中每个下采样模块和上采样模块之间添加残差模块类用于分类和时间编码,通过 2 层多层感知机将 2 种信息映射到固定的嵌入大小。在第 3 个下采样模块后的位置添加自注意力层。
-
3 实验与结果
-
3.1 数据集
-
本次研究实验数据采用无人航行器舷侧阵在海上试验过程中实测的水声数据构成的数据集进行训练,数据集包含 6 类水声目标,水声数据处理流程如图5。首先将舷侧阵采集到的原始水声阵元域信号划分为 2 s 一段并进行波束形成以提高数据的信噪比,然后对波束形成后得到的波束域信号进行 LOFAR 谱特征提取,采用短时傅里叶变换 (STFT)获取 LOFAR 谱。STFT 使用局部平稳的思想将长时间的非平稳随机过程看成一系列短时随机平稳过程的叠加,通过对信号进行加窗实现对于波束域信号的截取,使用窗函数 与波束域信号 相乘,实现在 u 附近的加窗和平移,然后进行傅里叶变换:
-
本文采用汉宁窗函数,计算时将信号频带设置为 0~4 kHz,将得到的 LOFAR 谱图作为模型训练的输入。提取了六类目标共 4 930 张 LOFAR 谱图,每张谱图为 875*656 的 RGB 图像,六类目标的 LOFAR 谱图如图6。
-
图5 数据预处理过程
-
Fig.5 Data preprocessing
-
图6 六类目标的 LOFAR 谱图样本
-
Fig.6 LOFAR spectrogram samples for 6 types of targets
-
3.2 实验条件及参数设置
-
实验在 Windows11 系统下进行,基于 Python3.11,使用的深度学习框架为 PyTorch2.1,CUDA 版本为 12.1,硬件设备为 AMD Ryzen 7 5800H with Radeon Graphics@3.20 GHz,运行内存 16GB (RAM),显卡 NVIDIA GeForce RTX 3060 Laptop GPU,显存 6 GB,使用 TensorBoard 可视化训练相关信息。
-
3.3 实验结果
-
3.3.1 数据样本生成结果
-
分别使用目标样本谱图对 GAN 和扩散模型进行训练,对训练过程中的超参数进行控制变量,统一将 batch size 设置为 32,训练轮数 epoch 设置为 20,采用 Adam 优化器,学习率设置为 0.001,扩散模型的总步数设置为 300。训练完成后分别生成各个类别的图像,结果如图7。
-
图7 样本生成结果对比
-
Fig.7 Comparison of sample generation results
-
可以看出,扩散模型的生成结果能够较好地体现出原始样本的特征,例如其在中低频段的幅度差异被相对完整的表现了出来,而 GAN 所生成的样本较为模糊,关键的频段和幅度特征体现不足,这可能会在对模型进行训练时产生负面作用,具体产生的影响将会在下一节进行实验验证。
-
3.3.2 识别率对比实验设计
-
为了验证生成样本结果对识别模型的训练是否有帮助,开展识别率对比试验。首先使用原始谱图对模型进行训练得到分类性能结果,再分别将 GAN 和扩散模型生成的样本添加至原始样本中输入进行训练,得到添加 GAN 生成样本的模型分类性能结果和添加扩散模型生成样本的模型分类性能结果进行综合对比。其中参与对比实验的 GAN 基于论文[18],修改网络以适应 RGB 三通道图片,将输入训练的图片变换为 224×224 以节约显存。
-
采用改进后的 AlexNet作为对样本进行识别的深度学习网络结构模型,其结构如图8。将图片变换为 224×224 以节约显存,对实验进行控制变量,统一设置 batch size 为 32,训练轮数 epoch 设置为 20,采用 Adam 优化器,学习率设置为 0.001。
-
图8 改进的 AlexNet 结构图
-
Fig.8 Improved AlexNet architecture diagram
-
3.3.3 识别率对比实验结果
-
识别率对比实验结果如表1。
-
1)实验 1 将原生 LOFAR 样本 6 类共 4930 张图像按照 8︰1︰1 划分为训练集、验证集和测试集。将训练集输入 AlexNet 网络进行训练,经过测试集测试准确率为 0.899,其余模型性能评价指标结果如图9、表2。
-
图9 实验 1 损失函数曲线和混淆矩阵
-
Fig.9 Loss function curve and confusion matrix of Experiment 1
-
2)实验 2 使用 GAN 网络训练生成的每类各300 张样本图像添加至训练集中进行训练,保持 AlexNet 网络模型超参数和测试集不变,经过测试集测试准确率为 0.893,其余模型性能评价指标结果如图10、表3。
-
可以看出,使用 GAN 生成了更多数据样本输入网络进行训练并没有提升网络的性能,分类准确率以及部分性能评价指标反而有微小的下降。以上结果可以说明由 GAN 生成的较低质量的数据不仅无法提升训练质量和分类准确率,反而可能污染数据样本使训练质量下降,导致模型性能下降。
-
图10 实验 2 损失函数曲线和混淆矩阵
-
Fig.10 Loss function curve and confusion matrix of Experiment 2
-
3)实验 3 使用扩散模型训练生成的每类各300 张样本图像添加至训练集中进行训练,保持 AlexNet 网络模型超参数和测试集不变,经过测试集测试准确率为 0.921,其余模型性能评价指标结果如图11、表4。
-
根据实验 3 的结果,向训练集中添加了扩散模型生成的数据后,训练完成后的模型在测试集上的准确率提升了约 3%,且其余性能指标如精确率、召回率等也有所提高。可以得出结论,深度神经网络需要大量数据进行训练才能达到预期的识别性能,此时使用扩散模型生成高质量样本的方法可以在数据不足的情况下提升训练效果,提高模型性能。
-
图11 实验 3 损失函数曲线和混淆矩阵
-
Fig.11 Loss function curve and confusion matrix of Experiment 3
-
4 结束语
-
本文针对水声信号样本难获取、数量少导致的深度学习训练过程中训练数据不足的问题,提出了一种基于 Diffusion Model 的水声数据增强方法,对噪声预测网络进行了改进,增加残差模块和子注意力机制,同时在方法中添加了条件生成控制模块。该方法利用已有的数据对扩散模型进行训练,使其能够生成高质量的 LOFAR 谱图,将生成的样本输入训练网络进行对比实验,实验结果验证了方法的可行性,相较于只使用原始样本和使用传统的 GAN 方法生成的样本训练得到的模型,使用扩散模型生成的样本训练得到的模型的识别错误率下降了 30%,模型的性能得到了显著提升。当前,扩散模型仍然存在训练和生成速度慢等缺陷,下一步可以继续对噪声预测网络、扩散过程以及采样过程进行改进,在不损失生成质量的同时提升训练速度和生成速度,实现模型的优化。
-
参考文献
-
[1] IRFAN M,JIANGBIN Z,ALI S,et al.DeepShip:an underwater acoustic benchmark dataset and a separable convolution based autoencoder for classification[J].Expert Systems with Applications,2021,183(C):115270.
-
[2] SHORTEN C,KHOSHGOFTAAR T M.A survey on image data augmentation for deep learning[J].Journalof Big Data,2019,6(1):1-48.
-
[3] YUE Z S,WANG J Y,LOY C C.Resshift:efficient diffusion model for image super-resolution by residual shifting[J].Advances in Neural Information Processing Systems,2024:13294-13307.
-
[4] HO J,JAIN A,ABBEEL P.Denoising diffusion probabilistic models[J].Advances in Neural Information Processing Systems,2020,33:6840-6851.
-
[5] ABAYOMI-ALLI O O,DAMAŠEVIČIUS R,QAZI A,et al.Data augmentation and deep learning methods in sound classification:a systematic review[J].Electronics,2022,11(22):11223795.
-
[6] DEUTSCH Y.A polynomial-time method to compute all Nash equilibria solutions of a general two-person inspection game[J].European Journal of Operational Research,2020,288(3):1036-1052.
-
[7] JIN G H,LIU F,WU H,et al.Deep learning-based framework for expansion,recognition and classification of underwater acoustic signal[J].Journal of Experimental & Theoretical Artificial Intelligence,2020,32(2):1647560.
-
[8] GAO Y J,CHEN Y C,WANG F Y,et al.Recognition method for underwater acoustic target based on DCGAN and DenseNet[C]//2020 IEEE 5th International Conference on Image,Vision and Computing(ICIVC).Beijing:IEEE,2020.
-
[9] 薛灵芝,曾向阳,杨爽.基于生成对抗网络的水声目标识别算法 [J].兵工学报,2021,42(11):2444-2452.
-
[10] 张明洪,罗昕炜.基于生成对抗网络数据增强的水声目标识别[C]//中国声学学会水声学分会 2021–2022 年学术会议论文集.青岛:东南大学水声信号处理教育部重点实验室,2022:355-357.
-
[11] DHARIWAL P,NICHOL A.Diffusion models beat GANs on image synthesis[J].Advances in Neural Information Processing Systems,2021,34:8780-8794.
-
[12] 杨光锴.基于扩散模型的指纹图像生成方法[J].河北省科学院学报,2023,40(1):13-18.
-
[13] YANG L,ZHANG Z L,SONG Y,et al.Diffusion models:a comprehensive survey of methods and applications[J].ACM Computing Surveys,2023,56(4):1-39.
-
[14] 段倚天,余华云.基于扩散模型的图像生成技术研究 [J].电脑知识与技术,2024,20(2):16-20.
-
[15] NICHOL A,DHARIWAL P.Improved denoising diffusion probabilistic models[C]//The 38th International Conference on Machine Learning.Online:IEEE,2021.
-
[16] RONNEBERGER O,FISCHER P,BROX T.U-net:convolutional networks for biomedical image segmentation[C]//The 18th International Conference on Medical Image Computing and Computer-Assisted Intervention-MICCAI 2015.Munich:IEEE,2015.
-
[17] HE K M,ZHANG X G,REN S Q,et al.Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition(CVOR).Las Vegas:IEEE,2016.
-
[18] GOODFELLOW I,POUGET-ABADIE J,MIRZA M,et al.Generative adversarial nets[J].Communications of the ACM,2014,63(11):139-144.
-
摘要
深度学习需要大量数据对网络模型进行训练才能达到良好的识别效果,而水声数据的数量较少且难以获取。为了解决这一问题,采用了一种基于改进的扩散模型的水声数据增强方法,改进了噪声预测网络并增加条件生成模块。使用海上试验采集的水声数据进行训练,构建数据生成模型,生成高质量的数据样本,扩充训练数据集。实验结果表明,使用 AlexNet 作为分类模型进行训练时,该方法相较于传统数据增强方法能够将识别错误率降低约 30%,验证了方法的有效性。
Abstract
Deep learning requires a large amount of data to train network models in order to achieve good recognition performance,while underwater acoustic data is scarce and difficult to obtain. To solve this problem,a diffusion model-based underwater acoustic data augmentation method is adopted,which uses underwater acoustic data collected from offshore experiments for training,constructs a data generation model,generates high-quality data samples,and expands the training dataset. The experimental results show that when using AlexNet as a classification model for training,this method can reduce the recognition error rate by about 30% compared with traditional data augmentation methods,which verifies the effectiveness of the proposed method.