第8名方案
第8名方案
作者: kapenon | 比赛排名: 第8名
感谢组织本次大赛的所有人员和每一位辛勤参赛的选手!!
频谱图
MelSpectrogram(
sample_rate=32_000,
n_fft=1_095,
hop_length=500,
f_min=40,
f_max=15_000,
n_mels=128,
)
模型
我使用了三个模型的集成。
- SED
- eca_nfnet_l0
- tf_efficientnet_b0.ns_jft_in1k
- Simple 2D CNN
logits 集成略优于 rank 集成。
推理
训练
损失
步骤 0:预训练
- 数据
- 2021、2022、2023 年的数据,但仅使用主标签不在 2024 年 182 个标签范围内的样本。
- 前 5 秒
- 细节
- 信号增强
- 噪声注入 (NoiseInjection)
- 高斯噪声 (GaussianNoise)
- 粉红噪声 (PinkNoise)
- 随机音量 (RandomVolume)
- 频谱图增强
- 频率遮蔽 (2 条) (FrequencyMasking)
- 时间遮蔽 (2 条) (TimeMasking)
- 随机翻转 (RandomFlip)
步骤 1:伪标签微调
如前所述,异种数据(xeno)与测试数据之间存在明显的分布差异,这体现在模型的预测受昆虫噪声、鸟鸣音量、障碍物回声等多种因素影响。为弥补这一差距,我采用了伪标签方法。
- 数据
- 仅使用 2024 年数据
- 使用 Google 鸟鸣分类器的预测进行过滤
- 5 秒
- 细节
使用预训练模型训练 15 个 epoch,并选取 CV 分数最高的模型对无标签数据进行推断。
步骤 2:提交微调
- 数据
- 2024 年、ff1010bird(仅 nocall)以及使用步骤 1 预测的无标记 soundscapes(unlabeled_soundscapes)
- 使用 Google 鸟鸣分类器的预测分数提取除 nocall 外的鸟鸣前景
- 5 秒
- 全量数据
- 细节
其他尝试但未充分验证的想法
- SED 变体(频率轴注意力、混合模型等)
- 1D 模型
- 各类 mixup 方法(sumix 效果最佳)
- 更长片段(作为弱标签数据的对策)
- 背景噪声、强增强
- 多轮伪标签
- 测试时增强(轻微时间平移)
- 知识蒸馏 (KD)
我尝试了许多想法,但大多数似乎并未取得显著效果。然而,由于无法建立可靠的交叉验证方案,我对这些想法的效果无法进行准确评估,因此只能依赖排行榜来评估效果。这使得 BirdCLEF 2024 对我来说是一场格外艰难的竞赛。最后,伪标签是我唯一用来弥补领域差距的方法,但在可视化伪标签后,我发现它们并不准确。我仍然不完全了解关键所在,但隐约感受到构建一个简单的 pipeline 是有帮助的。
致谢
向 Rist Inc. 表示衷心的感谢,感谢他们的宝贵支持。