(论文)使ConvNeXt模型适应语音数据集上的音频分类

news/2025/2/25 7:49:40

《Adapting a ConvNeXt Model to Audio Classification on AudioSet》

摘要

在计算机视觉中,ConvNeXt 等卷积神经网络 (CNN) 已经能够超越最先进的转换器,部分归功于深度可分离卷积 (DSC)。DSC 作为常规卷积的近似值,使 CNN 在时间和内存复杂性方面更加高效,而不会降低其准确性,有时甚至会提高准确性。

在本文中,我们首先将 DSC 实现到预训练音频神经网络 (PANN) 系列中,以便在 AudioSet 上进行音频分类,以展示其在准确性/模型大小权衡方面的优势。

其次,我们将现在著名的 ConvNeXt 模型应用于相同的任务。它很快就会过拟合,因此我们报告了改进学习过程的技术。

我们最好的 ConvNeXt 模型在 AudioSet 上达到了 0.471 的平均精度,这比最近的大型音频转换器更好或相当,而使用的参数减少了三倍。我们还使用此模型在音频字幕和音频检索方面取得了积极成果。

结论

在这项工作中,我们想在最近在计算机视觉中现代化 CNN 的新视角下重新审视应用于音频分类的 CNN。
我们表明,适用于 AudioSet 上的音频标记的 ConvNeXt-Tiny 模型实现了与最近的 transformer 相同的精度,但参数减少了大约三倍。

该模型在两个下游任务上取得了非常好的结果,即音频字幕和基于语言的音频检索。我们计划继续这一行,但使用其他学习范式,例如知识提炼和自我监督,以进一步探索此类模型的能力。

背景

音频分类的重要性

音频分类技术在智能家居、自动驾驶、音频监控等多个领域具有重要应用。随着智能音箱、音乐流媒体服务和音频搜索等应用的普及,音频分类技术的需求不断增加。音频分类任务的目标是将音频片段准确地分类到预定义的类别中,这对于提高用户体验和实现智能音频处理至关重要。

传统方法的局限性

传统的音频分类方法主要基于卷积神经网络(CNN),这些方法虽然在一定程度上取得了成功,但仍然存在一些局限性。例如,传统的CNN模型在处理复杂音频数据时可能会遇到过拟合问题,且模型的参数量较大,导致计算成本较高。此外,传统的CNN模型在处理多标签音频分类任务时,往往难以捕捉到音频数据中的长时序依赖关系,从而影响分类性能。

ConvNeXt模型的引入

ConvNeXt是一种现代的卷积神经网络,最初为计算机视觉任务设计。它通过引入深度可分离卷积(DSC)、倒置瓶颈结构和残差连接等技术,显著提高了模型的效率和性能。这些技术使得ConvNeXt在ImageNet分类任务中超越了传统的变换器模型。作者怀疑这些现代技术也可以在音频分类任务中发挥作用,因此决定将ConvNeXt模型适应到AudioSet数据集上的音频分类任务。

Dilated Convolution with Learnable Spacings (DCLS)

DCLS是一种新的卷积方法,其中卷积核元素的位置在训练过程中通过反向传播学习。这种方法在计算机视觉任务中已经显示出其有效性,例如在ImageNet分类和下游任务中表现出色。DCLS通过在训练过程中动态调整卷积核元素的位置,能够更好地捕捉数据中的复杂特征,从而提高模型的性能。

AudioSet数据集

AudioSet是一个大规模的多标签音频事件数据集,由Google于2017年发布。该数据集包含超过200万个音频片段,涵盖了527种不同的音频事件类别。AudioSet的构建基于广泛的应用场景,旨在提供一个全面且多样化的音频数据资源,以支持机器学习模型在复杂音频环境中的训练和评估。该数据集的发布极大地促进了音频处理领域的发展,为研究人员提供了丰富的实验材料,推动了音频识别技术的进步。

自动音频字幕生成和基于语言的音频检索

自动音频字幕生成(AAC)和基于语言的音频检索是音频分类的两个重要下游任务。AAC旨在构建能够生成自然语言句子来描述音频内容的模型,而基于语言的音频检索则旨在根据自然语言查询检索和排序音频记录。这些任务的共同点在于都需要对音频内容进行深入的理解和分类,因此音频分类模型的性能直接影响这些下游任务的效果。

内容成果

1. ConvNeXt 模型的适应

  • 背景

    • ConvNeXt 是一种现代的卷积神经网络(CNN),最初为计算机视觉任务设计。

    • 它通过引入深度可分离卷积(DSC)、倒置瓶颈结构和残差连接等技术,显著提高了模型的效率和性能。

    • 作者怀疑这些现代技术也可以在音频分类任务中发挥作用,因此决定将 ConvNeXt 模型适应到 AudioSet 数据集上的音频分类任务。

  • 具体方法

    • 模型架构

      • 深度可分离卷积(DSC):将标准卷积分解为深度卷积和逐点卷积,显著减少了参数数量和计算复杂度。

      • 倒置瓶颈结构:通过增加通道数,然后减少通道数,实现特征的高效混合。

      • 残差连接:通过跳跃连接,缓解了深层网络中的梯度消失问题,提高了模型的训练稳定性。

    • 模型适应

      • 输入层调整:将模型的输入层调整为适应音频数据的大小,具体来说,将输入从图像的三通道调整为单通道的 mel 频率谱图。

      • 输出层调整:将模型的输出层调整为适应 AudioSet 数据集的 527 个类别。

    • 训练配置

      • 优化器:使用 AdamW 优化器,学习率调度器为“one-cycle”调度器,最大学习率为 4e-3。

      • 数据增强:使用 SpecAugment、Mixup 和 Speed Perturbation 等技术。

      • 正则化:使用权重衰减(WD)和 DropPath 来减轻过拟合。

2. 数据集和预处理

  • 数据集

    • 使用 AudioSet 数据集,包含约 200 万个从 YouTube 下载的 10 秒音频片段,标注了 527 种音频事件类别。
  • 预处理

    • 将音频片段转换为 mel 频率谱图,大小为 (1000, 64)。如果样本长度超过 10 秒,则截断;如果短于 10 秒,则用零填充。

3. 实验结果

  • AudioSet 上的性能

    • ConvNeXt-Tiny:在 AudioSet 上的 mAP 达到了 0.471,优于或相当于最近的大型音频变换器模型,如 Audio Spectrogram Transformer(AST)和 PaSST-S,同时参数数量减少了约 3 倍。

    • ConvNeXt-Small:尽管参数数量更多,但由于过拟合问题,mAP 仅为 0.458。

  • 下游任务

    • 自动音频字幕生成(AAC):使用 ConvNeXt-Tiny 模型作为编码器,在 AudioCaps 数据集上取得了 0.471 的 SPIDEr 分数,接近当前最佳方法(0.475)。

    • 基于语言的音频检索:在 Clotho v2.1 数据集上,ConvNeXt-Tiny 模型取得了 0.240 的 mAP@10,优于 PaSST-MPNet 模型(0.234)。

在这里插入图片描述

贡献点

  • 性能提升

    • 通过将 ConvNeXt 模型适应到音频分类任务,显著提高了模型的性能,同时减少了参数数量。
  • 泛化能力

    • 证明了 ConvNeXt 模型在音频分类任务中的泛化能力,特别是在下游任务(如自动音频字幕生成和基于语言的音频检索)中的表现。
  • 计算效率

    • 通过使用深度可分离卷积和倒置瓶颈结构,显著减少了模型的计算复杂度,提高了模型的训练和推理效率。
  • 方法的可扩展性

    • 证明了 ConvNeXt 模型可以轻松适应不同的音频分类任务,为未来的研究提供了新的方向。

http://www.niftyadmin.cn/n/5865204.html

相关文章

点击修改按钮图片显示有问题

问题可能出在表单数据的初始化上。在 ave-form.vue 中,我们需要处理一下从后端返回的图片数据,因为它们可能是 JSON 字符串格式。 vue:src/views/tools/fake-strategy/components/ave-form.vue// ... existing code ...Watch(value)watchValue(v: any) …

Java 大视界 -- 总结与展望:Java 大数据领域的新征程与无限可能(96)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

echart实现自写下载图片按钮

需求&#xff1a;点击自己写的下载按钮&#xff0c;下载echart提供的图片代码 <el-button style"margin-left:10px;" type"primary" plain click"saveImgae" >导出</el-button><div class"z-echartbox" style"he…

Flutter - StatefulWidget (有状态的 Widget) 和 生命周期

StatefulWidget /*** 需求&#xff1a;* 两个按钮&#xff0c;一个计数器* 这里要用到 StatefulWidget,因为 StatelessWidget 通常用来展示固定不变的数据*/ main() > runApp(MyApp());class MyApp extends StatelessWidget {overrideWidget build(BuildContext context) {…

Django ORM 的常用字段类型、外键关联的跨表引用技巧,以及 `_` 和 `__` 的使用场景

一、Django ORM 常用字段类型 1. 基础字段类型 字段类型说明示例CharField字符串字段&#xff0c;必须指定 max_lengthname models.CharField(max_length50)IntegerField整数字段age models.IntegerField()BooleanField布尔值字段is_active models.BooleanField()DateFiel…

【入门音视频】音视频基础知识

&#x1f308;前言&#x1f308; 这个系列在我学习过程中&#xff0c;对音视频知识归纳总结的笔记。因为音视频相关讲解非常稀少&#xff0c;所以我希望通过这个音视频系列&#xff0c;跟大家一起学习音视频&#xff0c;希望减少初学者在学习上的压力。同时希望也欢迎指出文章的…

【C++11】 并发⽀持库

&#x1f308; 个人主页&#xff1a;Zfox_ &#x1f525; 系列专栏&#xff1a;C从入门到精通 目录 前言&#xff1a;&#x1f680; 并发⽀持库一&#xff1a;&#x1f525; thread库 二&#xff1a;&#x1f525; this_thread 三&#xff1a;&#x1f525; mutex 四&#xff1…

【Gin-Web】Bluebell社区项目梳理6:限流策略-漏桶与令牌桶

本文目录 一、限流二、漏桶三、令牌桶算法四、Gin框架中实现令牌桶限流 一、限流 限流又称为流量控制&#xff0c;也就是流控&#xff0c;通常是指限制到达系统的并发请求数。 限流虽然会影响部分用户的使用体验&#xff0c;但是能一定程度上保证系统的稳定性&#xff0c;不至…