返回列表

9th place solution

399. Cornell Birdcall Identification | birdsong-recognition

开始: 2020-06-15 结束: 2020-09-15 环境监测 数据算法赛
第9名解决方案

第9名解决方案

作者:realsleim (Master), canalici (Expert)
比赛排名:第9名

我要感谢主办方提供这个独特的挑战。祝贺我的队友 @canalici 以及所有的参赛者。这确实是一场在音频领域非常有教育意义的比赛。非常感谢 @hidehisaarai1213 在比赛中的指导,感谢 @doanquanvietnamca 提供的 GRU-SED,以及 Dmytro Karabash 提供的想法。

数据增强

模型在原始数据集和扩展数据集上均进行了训练。增强方法应用于波形和梅尔频谱图两个层面。

  • 高斯噪声
  • SpecAug

建模

我修改了 SED 模型(PANN’s),将其低效的主干网络替换为 Noisy-Efficientnet,并进一步尝试了 GRU、LSTM 和 Transformer 进行时序建模。我们的最终模型包含 CNN 主干网络 -> GRU 层 -> 注意力层。

  • EfficientNet-B4 (Noisy Student)
  • EfficientNet-B7 (Noisy Student)
  • EfficientNet-B7 (Noisy Student)

为了集成不同的解决方案,我去除了每个模型的注意力层,保留了提取部分的预训练权重,并根据上述3个不同模型提取的特征重新训练了一个注意力层。

模型集成架构图

训练

  • B4 模型的 Batch size 为 32,B7 模型为 8(单 GPU)
  • 没有使用 mixup :(
  • BCELoss
  • AdamW 优化器配合 Cosine Anneal 学习率调度
  • 5秒的音频片段 (501, 64)(将 mel_bins 缩放到 224, 300 确实会有帮助,但计算成本太高)
  • 在主要标签上进行预训练,使用次要标签进行微调

为了验证,我们将无叫声片段手工标注到 gt_birdclef2020_validation_data 中,并排除了不相关的物种,这提供了一个在真实环境中测试算法的机会。

未来的工作方向

预训练模型在许多知识迁移任务中被证明是很有优势的。避免分类器过拟合是非常困难的,特别是在这次比赛中,我们有少量音频片段的标签噪声很大。Hidehisa Arai 针对这个问题指出了 PANN’s(音频领域最大的预训练模型之一),但它们的 CNN 主干网络比轻量级替代方案效果要弱一些。我们使用了一个强大的 CNN 主干网络来克服这个问题,该网络在大规模图像语料库上进行了预训练(Noisy Student, Efficientnet)。然而,从著名的文本转语音、语音对话算法(如 Tacotron, Glow TTS...)中提取梅尔频谱编码器/解码器部分是可能的,因为它们是在相对更大的语料库上训练的。适应音频领域成功的预训练模型,用我们所有的鸟类数据进行微调,然后应用 noisy-student 训练方案,可能会是有益的。

同比赛其他方案