BirdCLEF+ 2025 竞赛第 29 名解决方案
BirdCLEF+ 2025 竞赛第 29 名解决方案
我们的顶级解决方案
感谢组织者举办这场有趣的比赛,感谢过去 Kaggle 选手在之前 BirdCLEF 竞赛中的工作给了我们很大的启发。这是一场具有挑战性的比赛,因为公共测试和私人测试分布似乎不相关,所以很难知道良好的验证分数是否会从我们的本地验证转移到私人测试。还要感谢我的队友 @siavrez 和 @kainsama 在这场竞赛中的创新工作和努力!
无论如何,我们在这场竞赛中的最终解决方案包含以下几个部分:
骨干模型 (Backbone Models)
- EfficientNet-B3 (单通道 stem, ImageNet 初始化)
- ResNeSt-50 (更宽 stem 64→128, ImageNet 初始化)
- Nfnet-l0 (单通道输入,调整过的层归一化)
数据处理 (Data Processing)
- 在 256*313(2x,3x,4x,6x) 片段上训练
- 使用来自 ~10k 样本的全局均值/标准差进行标准化
- 在线增强:时间 shift ±10 帧,频率 shift ±5 bins; SpecAugment 掩码 (time ≤ 15, freq ≤ 6); 50% mixup
损失函数 (Loss Function)
- 多类别 focal loss (γ = 1.5, α = 0.25) 以关注困难/稀有类别
模型训练 (Model Training)
- AdamW (lr = 2 × 10⁻⁴, weight_decay = 1 × 10⁻⁵), 带 3 epoch 预热的余弦衰减
- 在 10-15-20-30 秒片段上训练,在 5 秒片段上推理
- 根据验证 LRAP 平均每个模型的前 5 个检查点
模型集成 (Ensembling)
- 模型内:平均前 5 个检查点的 logits
- 跨模型混合(在保留集上调优):EfficientNet 0.48, ResNeSt 0.32, ConvNeXt 0.20
其他事项 (Other Things)
- 最终解决方案在所有数据上训练
- 使用 ONNX 提高运行时性能。
我们的顶级解决方案在公共 leaderboard 上得分为 0.902,在私人 leaderboard 上得分为 0.906。