返回列表

3rd place solution

438. Plant Pathology 2021 - FGVC8 | plant-pathology-2021-fgvc8

开始: 2021-03-15 结束: 2021-05-26 作物智能识别 数据算法赛
第三名解决方案

第三名解决方案

作者: Anil Thomas (Grandmaster)
比赛: Plant Pathology 2021 - FGVC8
排名: 第3名

我们的方法与那些高分笔记本中发布的方法并没有太大不同。让我列出几点我认为有助于我们解决方案进入前三名的因素。

1. 同时使用 fgvc7 和 fgvc8 数据进行训练。有趣的是,添加 fgvc7 数据的贡献似乎超出了其应有的比例。从 fgvc8 数据中剔除 2000 张图像似乎没有太大影响。然而,剔除 fgvc7 数据(图像数量大致相同)却导致排行榜分数大幅下降。即使在数据泄露问题修复之后,这一现象依然存在,尽管没那么明显了。

2. 使用软标签。正如许多人观察到的那样,训练集中的标签噪声很大。“complex”(复杂)这个标签尤其成问题。看起来“complex”可能意味着疾病太多或者是一种未识别的疾病。由于我们使用交叉熵作为损失函数,使用经常出错的硬标签没有太大意义。为了软化标签,我们使用了这种简单的方法:

training_loop:
    train_for_one_epoch()
    labels = gamma*predictions + (1 - gamma)*labels

我们将 gamma 视为超参数,并对其进行调整以最小化验证误差。

3. 自动化超参数调优。使用 Luminide 开发的新协议进行调优。

4. 缩放概率。我们在训练时去掉了“healthy”(健康)标签。在推理过程中,所有对所有疾病预测结果均为阴性的图像都被视为健康。验证表明,这种方法高估了健康叶片的比例。为了补偿,我们在四舍五入获得预测结果之前,将逻辑输出乘以 1.3(这几乎等同于将阈值设置为 0.4)。

我们使用了来自 @rwightman 出色的 timm 库的预训练权重。最终提交的结果平均了 resnet50 和 seresnext50 的预测。

同比赛其他方案