返回列表

16 Place Solution

396. SIIM-ISIC Melanoma Classification | siim-isic-melanoma-classification

开始: 2020-05-27 结束: 2020-08-17 医学影像分析 数据算法赛
第16名方案

第16名方案

作者: khyeh, Μαριος Μιχαηλιδης KazAnova
比赛: SIIM-ISIC Melanoma Classification

恭喜所有获奖者!感谢组织者和 Kaggle 举办这次比赛。我们真诚希望获胜的模型能在这个领域发挥作用。感谢 @kazanova 对我们所尝试的所有工作的付出。这很有趣!

我们还要感谢 @cdeotte 在整个比赛过程中所做的出色工作,他提供了非常有用的见解,并准备了格式良好的数据集,使其易于使用。

我们的方法是集成了 30 多个不同的模型,这些模型由各种图像尺寸和网络组合构建而成。我们使用了 5 折交叉验证(5-fold CV),并针对 logloss 进行了优化。我们发现,在评估最佳模型时,logloss 比 AUC 更稳定。我们可以用不同的种子运行相同的模型,(即使有很多 TTA)单折中 AUC 的差异可能达到 +- 0.02,而 logloss 则稳定得多。

对我们最有效的增强方法(除了旋转和翻转等常用方法外)依次是:

  • Coarse dropout(粗丢弃)
  • Grid mask(网格掩码)
  • Cutmix
  • mixup

在网络方面,我们只使用了 EfficientNet 模型。我们尝试了其他预训练网络,但效果不如 EfficientNet。表现最好的模型和尺寸组合是 EfficientNet b5 配合 512 的尺寸。我们的大部分模型是在 TensorFlow 中使用 TPU 构建的(在 Colab 或 Kaggle 上)。TPU 环境对我们来说意义重大——它使我们能够加速训练和实验,这从根本上帮助我们在这次比赛中找到了好的训练方案。我们也有一些模型是用 PyTorch 构建的。在 CV 方面,两个框架表现接近,但 TensorFlow 的实现在这里稍微好一点(在 CV 和 LB 上都是)。

恒定调度、检查点平均和大量的 TTA(30 种不同的增强组合)效果非常好。每折预测使用了 150 次推理(5 个检查点 x 30 种增强)。这对我们模型的稳定性有很大帮助。除了平均值,对于每个模型,我们还使用了最大值、最小值、标准差和几何平均(所有这 150 次预测的)。让我们相当惊讶的是,标准差在 logloss 和 AUC 上的表现往往优于平均值。这可能意味着,当我们对实际预测越不确定时,它越有可能是恶性的。

对于我们的最终模型,我们使用了 ExtraTreesClassifier 进行堆叠。我们的 CV 是 0.9536(LB 0.9457)。我们表现最好的堆叠模型(版本 38)在私有 LB 上(几乎)是最好的。我们的上一个版本(37)是最好的。我们所有的堆叠模型在 CV 和 LB 之间都有很好的相关性。

详细的有效与无效方案

有效方案:

  • 2018 年数据和外部数据(含 3 万样本)
  • 多检查点 + TTA(使用 Mean\Max\Min\Std)
  • 不同尺寸的图像和 EfficientNet(efb5,512 在 CV 中表现最好)
  • 先在外部数据上预训练,然后在 2020 年数据上微调
  • 使用 ExtraTreesClassifier 进行堆叠

无效方案:

  • 训练多分类器
  • Focal loss
  • 患者级别的堆叠:按患者聚合预测
  • 对 EfficientNet 使用 SWA/AdamW/随机深度进行调优
  • 针对较大图像尺寸(768\1024)的批次累积
同比赛其他方案