返回列表

3rd place Solution

473. PetFinder.my - Pawpularity Contest | petfinder-pawpularity-score

开始: 2021-09-23 结束: 2022-01-14 计算机视觉 数据算法赛
第三名解决方案

第三名解决方案

作者: toxu (Grandmaster) | 队友: ludovick (Grandmaster)
比赛: PetFinder.my - Pawpularity Score

首先,我要感谢 Kaggle 和主办方举办了这场有趣的比赛。同时,我要祝贺我的队友 @ludovick 成为 Kaggle 比赛特级大师🎉🎉。在过去的一年里,我们一起赢得了 4 枚金牌。我的传统方法和他创新的想法总是能帮助我们赢得比赛。

在尝试了许多技巧但 LB 分数没有提升后,我们决定只专注于提高本地交叉验证分数。幸运的是,CV 分数和 Private LB 分数非常相关。

以下是我们的解决方案,稍后我会邀请我的队友 @ludovick 详细介绍他的部分:

骨干模型

TensorFlow 模型:

  • Swin large 384
  • Swin large 224
  • Vit large 384

PyTorch 模型:

  • cait_m36_384
  • cait_m48_448

损失函数

所有 TensorFlow 模型使用 tf.keras.losses.BinaryCrossentropy 训练,所有 PyTorch 模型使用 nn.CrossEntropyLoss 训练。

模型与 CV 分数

模型 CV 分数
swin large 384 + nn heads 17.4358
swin large 384 (知识蒸馏) + nn heads 17.3328
swin large 384 1k + nn heads 17.4402
swin large 224 + nn heads 17.5702
vit large 384 + nn heads 17.6180
cait384 17.6475
cait448 17.5348

对于所有的 TensorFlow 模型,包含了 3 个使用不同参数训练的 sklearn SVR heads。

由于所有模型都使用相同的折数训练,我们训练了一个第二阶段的线性回归模型来获得我们最好的集成分数:17.0275

备注

老实说,我认为我们的解决方案可能在交叉验证分数上过拟合了,但幸运的是 CV 分数和 Private LB 分数是相关的。

同比赛其他方案