返回列表

9th place solution - DINOv2 + CatBoost = 🚀

610. PlantTraits2024 - FGVC11 | planttraits2024

开始: 2024-02-05 结束: 2024-06-02 作物智能识别 数据算法赛
```html

第九名解决方案 - DINOv2 + CatBoost = 🚀

作者:Aleksandr Korotaevskiy

比赛:PlantTraits2024

排名:第9名

公开评分:0.51162

私有评分:0.51238

致谢

首先,我要感谢比赛主办方和其他参赛者的工作,这次旅程非常有趣且有趣!这是我第一次真正需要处理多模态数据,所以在这次比赛中我学到了很多东西。

方法一 - 训练一个大模型

我开始尝试使用这个笔记本,试图利用不同的损失函数、骨干网络和其他超参数。这种方法很有前景,一些方法确实有效,但我很快耗尽了资源——模型训练时间太长,批大小太小,所以我切换到了新的策略。

方法二 - 嵌入 + 提升方法

我发现了这个讨论(以及同一个人发的其他帖子),认为这是一个好主意——从一些大型开源图像模型中提取嵌入,将它们与表格数据连接,然后传给提升模型。

对于提升方法,我尝试了XGBoost和CatBoost,CatBoost表现更好,特别是当我发现它可以直接处理嵌入(它不仅可以将嵌入作为数值特征,还可以对它们进行一些降维处理),这帮助很大。

至于嵌入部分,我尝试了很多模型——从CLIP类(EVA-CLIP、MetaCLIP等)到大型多模态模型如ImageBing或InternVL,但出于某种原因,一个模型始终领先于其他——那就是DINOv2 [大型版本]。于是我调整了一些CatBoost的超参数,并获得了最佳结果。

方法二.1 - 多项式特征、混合和其他Kaggle技巧

当时我并没有真正希望获得更高的R2分数,所以我尝试了一些技巧。我不记得全部,但有两个确定的见解:1) 使用不同嵌入训练的模型进行混合没有效果;2) 添加一些2次多项式特征略有帮助。

结果

我发布了我的最终笔记本公开评分0.51162私有评分0.51238,还有一些额外的评论和更多我尝试过的方法,希望对大家有所帮助。

```
同比赛其他方案