返回列表

23rd Place Solution: Supervised Contrastive Learning Meets Domain Generalization (with TF code)

419. Rainforest Connection Species Audio Detection | rfcx-species-audio-detection

开始: 2020-11-17 结束: 2021-02-17 环境监测 数据算法赛
第23名方案:监督对比学习结合域泛化(含TF代码)

第23名方案:监督对比学习结合域泛化(含TF代码)

作者: Nguyen Quan Anh Minh (Team: some-team-name)
比赛: Rainforest Connection Species Audio Detection

简介

感谢 Kaggle 举办了这场激动人心的比赛。我们的团队( @dathudeptrai @mcggood @akensert @theoviel @ratthachat )祝贺所有的获胜者——我们从这次比赛和所有获胜者的方案中学到了很多!!

从获胜者的方案来看,主要有 4 种方法可以突破 0.95x 的分数:

  1. 掩码损失
  2. 后处理
  3. 伪标签
  4. 额外标注

我们实际上尝试了前三种方法,但不幸的是没能真正有效地发挥作用。在这里,作为一个替代方案,我们非常愿意分享我们自己的解决方案,该方案在 Private 榜上达到了 0.943 分。

训练流程(从 0.80x 基线提升至 0.92x)

基线

我们的基线模型得分略高于 0.8。我们采用了音频标记方法,使用 densenet121 作为骨干网络,并使用 BCE 损失函数。

我们的训练流程包含以下技巧:

  • 类别平衡采样,每个 batch 使用 8 个类别。Batch size 通常为 64,较大的模型为 32。
  • 循环学习率,min_lr 为 0.0001,max_lr 为 0.001,step_size 为 3 个 epoch。我们训练模型 100 个 epoch,并使用早停。
  • LookAhead 优化器结合 Adam(sync_period 为 10,slow_step_size 为 0.5)。

使用监督对比学习 进行预训练 [0.81x -> 0.85x]

由于数据量小,模型很快就会过拟合。为了解决这个问题,有两种选择:使用外部数据和巧妙地预训练模型。与许多竞争对手不同,我们专注于自预训练技术:@dathudeptrai 尝试了自编码器、GAN、SimCLR、Cola 以及 监督对比学习,最终只有后者有效。

非重叠时间 Cutmix [0.85x -> 0.88x]

Non-overlap time Cutmix

我们的采样策略包括随机选择包含标签的裁剪区域。大多数时候,裁剪区域比标签大,这会引入假阳性。为了充分利用我们的窗口,一个想法是调整 cutmix 以连接样本,从而尽可能完整地保留标签。

使用 MixStyle 进行域泛化 [0.88x -> 0.89x]

域偏移在深度学习中总是存在,无论是在实践还是 Kaggle 比赛中,尤其是对于小数据而言。因此,域泛化技术应该有助于提高鲁棒性。我们应用了一种简单而有效的技术,称为 Mixstyle

多尺度推理 (MSI) [0.89x -> 0.91x]

物种叫声的持续时间差异很大。例如,类别 3 大约是 0.7 秒,而类别 23 大约是 8 秒。为了利用这些先验信息,我们使用多种窗口大小(而不是使用单一大小)。对于每个类别,我们选择产生最佳 CV 的窗口大小。如果有多个窗口大小达到最大值,我们取最大的窗口。尽管我们的 CV 设置(由以标签为中心的裁剪组成)与 LB 的相关性不是很好,但 2% 的 CV 提升在 LB 上反映得很好。

正学习和负学习 [0.91x -> 0.92x]

我们使用以下假设来改进模型的训练:
对于给定的录音,如果一个物种有 FP(假阳性)且没有 TP(真阳性),则它不在叫声中。我们的 BCE 随后被更新,以确保模型对此类物种预测为 0。

模型集成

我们最好的单模型 densenet121 在 Public 榜得分约为 0.92,在 Private 榜得分约为 0.93。通过对不同骨干网络的模型进行平均,我们达到了 0.937。我们尝试了许多不同的集成、尺度修正和后处理想法,并能够稍微提高我们的分数,但不幸的是我们没能找到真正的魔法。

最后,我们凭经验分析了最佳模型中最不确定的类别预测,并将预测结果与其他(较弱的)模型进行平均。我们依靠多样性来使提交更加稳健。我们的最终集成在 Public 榜得分为 0.942,Private 榜得分为 0.943

同比赛其他方案