问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

轻便高效的音频分类神经网络

创作时间:
作者:
@小白创作中心

轻便高效的音频分类神经网络

引用
1
来源
1.
https://www.cnblogs.com/mcu-ai-QH/p/18202663

在音频分类领域,大规模数据集的出现推动了深度学习模型的发展。本文介绍了一种名为LEAN的轻量级音频分类神经网络,该模型结合了基于原始波形的时间特征提取器和预训练的YAMNet,能够在资源受限的设备上实现高性能的音频分类。

在过去的几年里,大规模数据集(例如 AudioSet)上的音频分类任务一直是一个重要的研究领域。一些更深层次的基于卷积的神经网络已经显示出引人注目的性能,特别是 Vggish、YAMNet 和预训练音频神经网络 (PANN)。这些模型可用作迁移学习以及特定音频任务采用的预训练架构。

在本文中,我们提出了一种基于设备上深度学习的轻量级音频分类模型 LEAN。LEAN 由称为 Wave Encoder 的基于原始波形的时间特征提取器和基于 logmel 的预训练 YAMNet 组成。我们证明,结合使用可训练的波编码器、预训练的 YAMNet 以及基于交叉注意力的时间重新调整,可以在下游音频分类任务上获得具有竞争力的性能,同时占用更少的内存,从而使其适用于资源受限的设备,例如移动设备、边缘设备等。我们提出的系统在 FSD50K 数据集上实现了 0.445 的设备上平均精度 (mAP),内存占用仅为 4.5MB,与同一数据集上的基线设备上 mAP 相比提高了 22%。

近年来,与语音识别一样,使用原始信号识别声音类型已成为一个新兴的研究领域。通常,音频模式识别是由许多任务组成,例如音频标记、声学场景分类、音频分类和声音事件检测。从实时信号中识别声音类型有多种用例,例如消除听力障碍、辅助功能、智能手机、改善游戏体验等。基于深度学习的方法实际上是先进的解决方案来检测数字信号中的声音事件。识别声音的任务通常需要足够大的数据集,特别是当问题需要多类多标签分类时。前几年已经发布了几个数据集,即 Kaggle Free 声音数据集、UrbanSound8K 和 ESC50。音频分类任务中最大的突破之一是发布了一个名为 AudioSet 的大规模音频数据集,这是一个公开可用的数据集,包含对应 527 个类别的 500 小时的剪辑。数据集基于 Youtube 视频和剪辑。

2020 年,研究社区发布了免费声音数据集 (FSD50K),并在开放许可下提供了原始文件,以发布大规模开放数据集。我们目前的工作基于这个 FSD50K 数据集。识别多类多标签数据集的声音类型是一项复杂的任务。用于此类任务的鲁棒模型需要能够捕获声音模式的深层且复杂的网络。受基于视觉的任务的启发,CNN 已被研究人员广泛用于检测声音模式、情感和语言检测。此类模型通常采用 1 秒到 10 秒范围内的固定输入,并生成用于分类任务的固定大小嵌入。还设计了几个深度且复杂的模型,它们在 AudioSet 上实现了最先进的性能。

在这项工作中,我们提出了一种新颖的轻量级网络,称为轻量高效音频分类网络(LEAN),用于设备上的音频分类。LEAN 由基于波形的时间特征提取器(称为波编码器)和基于 logmel 的预训练 YAMNet(作为特征提取器)和基于交叉注意的时间特征重新对齐方案组成。我们在这项研究中的贡献可以总结如下:

  • 我们提出了一种名为 LEAN 的轻量级设备端新型网络,它以时间和频率特征作为输入。
  • 我们通过交叉注意力引入了使用预训练嵌入的时间特征重新对齐方案,这通过略微增加训练参数来提高性能。
  • 我们表明,尽管内存轻量级和 1 秒更小的帧输入,我们实现了具有竞争力的性能,GPU 上最佳 mAP 为 0.4677,设备上 mAP 仅 4.5MB 模型为 0.445。

对于我们的系统评估,我们使用免费声音数据集(FSD50K)。它是一个开放数据集,包含超过 51,000 个声音事件的音频剪辑,并具有从 AudioSet Ontology 中提取的 200 个类。该数据集所有剪辑的总持续时间为 108 小时。数据集中的声音剪辑被弱标记,即类的标记是在剪辑级别而不是帧级别完成的。剪辑有多个标签,持续时间范围为 0.3-30 秒。音频文件由人声、物声、动物声、自然声、乐器声等组成。我们采用 FSD50K 数据集,因为它在知识共享许可下免费提供,并且广泛用于对声音事件检测模型进行基准测试。FSD50K 数据集分为三个部分,即训练、验证和评估。我们使用训练和验证分割来进行训练,微调模型和评估分割来展示我们的结果。为了对我们的模型性能进行基准测试,我们使用与基线系统中提到的相同的指标,例如 mAP(平均平均精度)。平均平均精度是类的精度-召回率曲线下的面积的近似值,在处理时更能提供性能信息。

本节描述应用于音频分类的方法。我们提出的端到端架构如图 1 所示。在这里,我们首先介绍用于音频特征生成的预处理步骤。然后,我们描述我们提出的 Wave 编码器以及基于 YAMNet 的预训练模型。然后我们讨论我们提出的基于交叉注意力的特征重新调整系统。

我们提出的模型中的通道之一(我们称之为右通道)是基于 CNN 的特征提取器,它捕获给定音频帧的空间特征。在用于迁移学习的可用的基于大规模音频数据集的预训练模型中,我们选择 YAMNet,而不是 Vggish 和 PANN。YAMNet 是基于移动网络的架构,采用深度和逐点卷积。它是一个轻量级预训练模型,拥有近 370 万个权重,在 AudioSet 数据集上进行训练,并在评估集上实现了 0.306 mAP。虽然与 YAMNet 相比,Vggish 和 PANN 模型在性能方面都更好,但它们在内存和计算方面都是重型网络,因此不适合手机和边缘设备等资源限制环境。

受到 PANN 模型的启发,我们建议使用原始波形输入来捕获时域特征。在 PANN 模型中,时间特征由 Wavegram 模型捕获,该模型是基于一维卷积的网络。相比之下,所提出的 Wave 编码器是基于双向 LSTM 的网络。波形编码器采用原始波形输入和输出学习的时间特征。我们将网络的这一部分称为左通道。它包含两个双向 LSTM 层,每个层有 128 个单元。由于 LSTM 需要时序输入,我们首先通过 reshape 将原始波形转换为时序数据。重塑层通过使用 25 毫秒的非重叠窗口将波形分割成补丁,将波形转换为 2D 时间序列数据。对于采样率为 16K 的 1 秒帧,重塑层输出的 2D 向量为 (40,400)。

我们提出了一种联合模型,使用 Wave Encoder 作为左通道,使用预训练的 YAMNet 和投影层作为右通道。投影层输出嵌入 E_yam = e_1, e_2, ..., e_n。波形编码器将原始波形数据编码为上下文向量 C_t。使用以下等式组合两个通道的输出:

E_组合 = 连接(E_yam, C_t) (1)

FSD50K 数据集上的性能如下

我们使用 Tensorflow-GPU 2.3.0 和 Keras 2.6.0 进行所有实现。对于我们所有的训练,我们将批量大小固定为 64,学习率为 1e-4,损失固定为二元交叉熵。训练进行 40 个时期,每个时期大约需要 1.5 小时。我们观察到模型通常在最后一个纪元之前收敛得很好。我们选择具有最高验证 AUC (PR) 的最佳模型。

我们使用 Nvidia GPU GeForce GTX 1080 Ti 11178 MB 卡进行训练和测试。所有模型都经过端到端的训练和测试。在 FSD50K 提供的评估数据集上进行测试。为了进行测试,给定的音频文件被分成 1 秒的块,每个块重叠 50%。对于每个块,计算原始波形和相应的 log-mel(均值归一化)并将其馈送到网络。计算块级类别预测分数并平均为获得整个文件的最终分类分数。我们观察到,与非重叠分割相比,重叠分割具有更好的性能。我们认为这主要是由于重叠分割提供了更多数据。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号