返回列表

1st place solution with very simple code

459. RSNA-MICCAI Brain Tumor Radiogenomic Classification | rsna-miccai-brain-tumor-radiogenomic-classification

开始: 2021-07-13 结束: 2021-10-15 医学影像分析 数据算法赛
第一名方案:非常简单的代码

第一名方案:非常简单的代码

作者:Firas Baba
发布时间:2021-10-24

首先恭喜所有的获奖者!同时感谢 Kaggle 和 RSNA 举办这次比赛,让我们有机会研究如此有趣的问题。

与顶级解决方案通常的样子相反,我的最终方案是我最开始建立的最初基线之一。没有模型融合,没有复杂/巨大的模型,也没有复杂的训练技巧。

队名背后的秘密:

正如你们许多人所见,在上个月队名被设置为“我讨厌这场比赛”,我将在下面解释让我讨厌在这场比赛中花费时间的原因。

  • 在每场比赛中,我总是从一个非常简单的模型开始,然后提交。之后,我尝试使用不同的验证策略,以找到真正反映模型性能的最佳策略。让我对这场比赛感到沮丧的是,在我早期的模型中,交叉验证(CV)分数几乎是随机的,没有任何策略能成功验证模型的性能。
  • 更大的模型给出的 CV 分数非常嘈杂(几乎是随机的),我无法对它们中的任何一个进行微调。在所有的实验中,我只将模型限制在 resnet10-50 和 b0-b3(大型 resnet、densenet 和 efficientnet 都失败了)。
  • 当我为 CNN 使用 3 个空间输入时,这个 Efficientnet 实现中的批归一化层给出了无意义的输出。在搜索这个问题后,我发现其他人也遇到了这个问题,我感到很失望,因为我的许多实验完全失败了。那时我切换到了 monai 库。
  • 集成并没有真正提高分数。一旦我改变折数,分数就会完全改变,而且分数的标准差非常高。
  • 看到人们在公共排行榜上获得 0.8+ 的分数,而我的模型卡在 0.5-0.6 左右,这让我很恼火。
  • 我确信并 100% 肯定大多数公共排行榜分数只是随机分数,所有分数都会在私人排行榜下降。
  • 我在讨论区看到有人分享说他/她仅通过随机预测就在公共排行榜上获得了 0.7+ 的分数。
    我每天都在阅读讨论,我真的很惊讶有多少人的目标是 0.7 和 0.8+ 的分数。这对我来说似乎是一个不可能完成的任务。我最大的抱负是获得一个在验证集和公共排行榜上得分 0.6+ 的模型(即使在比赛结束后我也没能做到)。

整整一周做 EDA 后我得出的结论:

  • 如果你不过拟合验证集,公共排行榜是有意义的。
  • 大多数公共模型无法学习任何有用的模式。
  • 许多团队只是专注于提高他们的公共分数,甚至没有考虑比赛结束时可能发生的洗牌。
  • 洗牌是无法避免的。
  • 在私人排行榜上获得前 100 名的位置将非常容易,因为许多竞争对手只关注公共分数。
  • 组队(为了集成不同的模型)无助于提高任何分数。
  • 我不应该在这场比赛上投入超过 2 周的时间,因为风险太高,我不能保证获得任何奖牌。
  • 进入前 1% 或排在排行榜中间(500-700 名)的几率几乎是一样的。

非常慢的验证策略:

使用相同的参数、硬件、固定的所有随机种子、相同的训练数据和相同的验证集训练同一个模型,会给出不同的 AUCROC 分数。我记得当我训练 EF-b0 超过 100 次(所有设置相同)时,我得到的 CV 分数在 0.53 到 0.62 之间,标准差很高(记不清了)。训练 5 折 100 次,大大降低了分数的标准差,我得到的分数(平均 5 折后)在 0.52 到 0.56 之间。

你猜怎么着?为了判断任何模型/想法/方法,我曾经训练 100 个模型(每个模型训练 20 次 x 5 折)。我根据分数平均值对实验进行排名。然后,我选择了前 5 个想法+模型,每个想法运行 250 个模型(每个模型训练 50 次 x 5 折。第二阶段的折数与第一阶段不同)。之后,我根据 250 个模型的平均分数重新对想法进行排名(我对每个想法/模型进行 OOF 预测,并平均 50 个 OOF)。

请注意,我在本节中提到的一些“模型”代表了 4 个经过训练的模型(分别针对 "FLAIR"、"T1w"、"T1wCE"、"T2w")。每当我想尝试一个想法时,我都会将其应用于使用所有 4 种类型数据的 CNN 模型,我训练 4 个不同的模型并平均这 4 个模型。我在大多数最终模型中排除了“T2w”数据(我认为超过 50% 的模型没有使用“T2w”数据)。无论如何,让我们跳过这部分,因为我尝试的想法和模型完全是随机的。事实上,我尝试的大多数想法都是我闭上眼睛睡觉时想到的。老实说,这场比赛毁了我的许多夜晚,让我觉得自己像个愚蠢的失败者。

经过两阶段筛选后排名第一的想法是什么?