返回列表

9th place solution: smaller and faster

327. Freesound Audio Tagging 2019 | freesound-audio-tagging-2019

开始: 2019-04-04 结束: 2019-06-17 音视频处理 数据算法赛
第9名方案:更小、更快

第9名方案:更小、更快

作者: Iafoss (Grandmaster) 及队友 suicaokhoailang, theoviel, yanglehan
比赛: Freesound Audio Tagging 2019
排名: 第9名 (Private LB 0.72171)

首先,我想祝贺本次比赛所有的获胜者和参与者,感谢 Kaggle 和组织者发布这个有趣的挑战并提供参与资源。此外,我要向我的队友 @suicaokhoailang@theoviel@yanglehan 表达我最深的感激和赞赏,感谢他们与我一起在这个挑战中并肩作战。这是我第一次处理音频相关的任务,这一个月的学习非常紧张。我要特别感谢 @theoviel,他在模型优化和准备最终提交方面与我一起付出了巨大的努力。

我们用于训练最终模型的代码现已在 此链接 提供(Private LB 分数 0.72171,前 42 名,单模型(5折交叉验证)训练时长 7 小时)。关于我们方案的更多细节可以在我们的 DCASE2019 技术报告 中找到。

我们方案的关键点如下(详情见下文):

  1. 使用架构优化的小型快速模型
  2. 使用 64 mels 而不是 128(有时少即是多),时长为 4秒
  3. 使用数据增强和噪声数据进行预训练。

第一阶段 (Stage 1)

像许多参赛者一样,我们开始比赛时尝试了常见的计算机视觉模型。频谱图的输入尺寸为 256x512 像素,沿第一维度将输入图像放大 2 倍。在此设置下,DenseNet 模型表现出了最佳性能:它们优于 此 Kernel 中发布的基线模型(该模型一年前在比赛中也被成功使用),且 Dnet121 速度更快。通过在全噪声集上预训练、频谱增强和 MixUp,CV 可以达到约 0.85+,单折、4折和 4模型集成的 Public 分数分别为 0.67-0.68、约 0.70 和 0.717。尽管这些模型未用于我们的最终提交,但这些实验为下一阶段提供了重要的见解。

第二阶段 (Stage 2)

噪声数据的使用

这是组织者希望我们关注的重点(无外部数据、无预训练模型、无测试数据使用策略)。我们使用了两种策略:

  1. 在全噪声数据上预训练。
  2. 在策展数据与最可信标签噪声数据的混合集上预训练。

在这两种情况下,预训练后仅在策展数据上进行微调。最可信的标签是基于在策展数据上训练的模型识别的。对于我们最好的设置,我们有以下 CV 值(第二阶段我们使用 5 折方案):

  • 仅在策展数据上训练:0.858
  • 在全噪声数据上预训练:0.866
  • 策展数据 + 1.5万最佳噪声样本:0.865
  • 策展数据 + 5千最佳噪声样本:0.872

我们利用了所有 3 种噪声数据使用策略来增加集成的多样性。

预处理

根据我们的实验,像 Dnet121 这样的大型模型在 128 mels 甚至更高图像分辨率下效果更好,而我们的默认模型在 64 mels 下达到最佳性能。此设置还减少了训练时间并提高了收敛速度。也可以考虑 32 mels,但在我们最好的设置中性能下降至 0.856。使用 4秒间隔而不是传统的 2秒也带来了相当大的提升。模型的输入图像尺寸为 64x256x1。我们尝试了基于图像和全局训练集统计数据的归一化,结果相似。不过,我们的最佳 CV 是通过全局归一化达到的。在最终模型中,我们使用了两种策略来增加多样性。我们也尝试了 FFT 窗口大小,但没有看到显著差异,最终选择了 1920。我们没时间尝试的一

同比赛其他方案