返回列表

In Gauss (God) we Trust! 26th place solution

424. RANZCR CLiP - Catheter and Line Position Challenge | ranzcr-clip-catheter-line-classification

开始: 2020-12-14 结束: 2021-03-16 医学影像分析 数据算法赛
In Gauss (God) we Trust! 第26名方案
比赛排名: 第26名
作者: gao-hongnan, Wei Hao Khoong, Solomon

迁移学习

众所周知,如果我们使用 imagenet 权重进行训练,即使进行微调,收敛也可能需要很长时间。直觉很简单,imagenet 是在许多生活中的常见物品上训练的,其中没有一个与X射线的图像结构非常相似,因此,模型可能难以检测X射线中的形状和细节。我们当然可以解冻所有层并从头开始重新训练,使用最先进模型的骨干网络,但是,由于硬件有限,我们决定最好使用其他人训练好的权重。毕竟,站在像 ammarali 这样的巨人的肩膀上要容易得多。因此,我方便地使用了一组专门针对该数据集训练的预训练权重作为起点。权重和想法可以在这里找到。

我们尝试了几种模型,发现 resnet200d 在这组训练图像上效果最好。没有深层原因解释为什么该模型优于其他最先进的模型,但使用 gradcam 我们可以看到模型是如何观察图像的。

交叉验证策略

知道如何选择一个稳健且无泄漏的交叉验证策略极其重要。数据泄漏会导致你对模型产生盲目的信心。我们也犯了一个错误,因为我们在训练模型时使用了NiH预训练权重,而没有考虑权重是否与训练和验证折叠信息重叠。

  • 交叉验证策略:多标签分层分组 KFold(K=5)- 使用 sin 的方法分割折叠将确保没有泄漏。几乎逐字引用 sklearn
  • 假设某些数据是独立同分布的,即假设所有样本来自同一个生成过程,并且该生成过程被认为没有过去生成样本的记忆。**

因此,至关重要的是确保在这 3255 名独特患者中,我们需要确保每位独特患者的图像不出现在验证折叠中。也就是说,如果患者 John Doe 有 100 张 X 射线图像,但在我们的 5 折分割中,他在第 1-4 折中有 70 张图像,而在第 5 折中有 30 张图像,那么如果我们在第 1-4 折上训练并在第 5 折上验证,可能存在潜在的泄漏,模型将自信地预测 John Doe 的图像。这是基于 John Doe 的数据不满足 i.i.d 过程的假设。

模型架构、训练参数与增强

我们在得分最高的模型中基于 Tawara 的多头模型进行了构建。特别是,我们尝试了激活函数和 dropout 率。我们发现网络多头组件中具有 Swish 激活函数的模型在我们的实验中表现最好。我们得分最高的单一模型是一个带有 resnet200d 骨干网络的多头模型。特别是,resnet200d 的单一折叠给出了 0.970 的私人分数。

我们开始尝试 sin 的 pipeline,这类似于 qishen ha 在 Melanoma 比赛中的 pipeline,并使用了 Tawara 的多头方法。我们没有时间尝试 3-4 阶段的训练,因为我们参加比赛较晚。

  • 模型:
    • 骨干网络ResNet200DSeResNet152d
    • 分类器/多头:独立的空间注意力模块和按目标组的 MLP(ETT(3), NGT(4), CVC(3), 和 Swan(1))
    • 注意:我使用了 @ammarali32 分享的预训练模型