425. VinBigData Chest X-ray Abnormalities Detection | vinbigdata-chest-xray-abnormalities-detection
感谢 Kaggle 和主办方提供了这个非常有趣的比赛以及极具挑战性的数据集。这是一个伟大的合作成果。请为 @fatihozturk @socom20 @avsanjay 点赞。祝贺获胜者们。
@fatihozturk 在他的帖子中解释了他参加这次比赛的经历,本帖旨在概述我们最终解决方案的全貌,该方案在 PublicLB/PrivateLB 上取得了 0.354/0.314 的成绩。值得一提的是,我们还有一个更好的方案,成绩为 0.330/0.321 PublicLB/PrivateLB(不幸的是我们没有选择它)。正如大家所知,我们在这次比赛中使用的主要“魔法”是我们的集成过程,此外还有许多其他重要发现,我们将在本文中提及。
CV 策略:这是我们的主要挑战,我们没有统一的验证方案。由于我们是以不同的队伍开始比赛的,我们都使用不同的 CV 划分来训练模型并构建各自的最佳集成。为了克服这个困难,我们最终使用 Public LB 作为额外的验证数据集。我们觉得这个策略有点冒险,所以我们也使用共同的验证划分重新训练了一些最佳模型,然后将它们集成(后一种方法本身在 Private LB 上并没有获得最佳分数)。我们认为,使用 Public LB 作为验证来源的最后一次集成,帮助我们的最终方案更好地适应了用于构建测试数据集的共识方法。
我们最终提交的策略可分为 3 个阶段:
完全验证阶段:
部分验证阶段:
未验证阶段:
为了集成所有部分模型,我们主要使用了 @zfturbo 的集成仓库 Weighted-Boxes-Fusion。我们的集成技术如下图所示:
正如你在未验证阶段结束时所见,我们使用了 WBF+p_sum。最后这种混合方法是 @socom20 提出的 WBF 的一种变体,旨在模拟这个特定测试数据集中使用的放射科医生共识。通过使用 WBF+p_sum,我们在 PublicLB 上的未验证阶段分数从 0.319 提高到了 0.331。
改进的 WBF: 它比 WBF 具有更大的灵活性,它有 4 种 bbox 混合技术,我们发现其中只有 2 种在这次比赛中有用:</