返回列表

18th solution. Single swin transformer with custom head, with code.

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

开始: 2021-09-23 结束: 2022-01-14 计算机视觉 数据算法赛
第18名方案:带有自定义头的单一Swin Transformer(含代码)

第18名方案:带有自定义头的单一Swin Transformer(含代码)

作者: CPMP (Grandmaster) | 比赛排名: 18th

我对我的结果感到非常惊讶(也很高兴)。

我的模型是一个单一的10折 Swin Large Transformer。与公共Notebook的主要区别在于,我使用了一个序数回归头:https://en.wikipedia.org/wiki/Ordinal_regression

我也没有使用 fastai,只用了原生 PyTorch。

我读到过 BCE(二元交叉熵)效果很好,但我无法认同这一点,因此尽管公共 LB(排行榜)分数不佳,我还是坚持使用我的回归头。

我的 CV(交叉验证)分数是 17.25。CV 分数是根据袋外预测的 RMSE 计算的,而不是各折 RMSE 的平均值。后者有点过于乐观了。

详细说明

我分享了我的提交 Notebook:https://www.kaggle.com/cpmpml/pet-064。我没有清理代码,写得很匆忙。

每个折模型都有两个检查点。

  • 第一个检查点来自本次比赛数据的训练(pet_052 检查点)。
  • 第二个检查点(pet_064)是使用之前 PetFinder 比赛训练数据中的伪标签对同一模型进行进一步训练得到的。我曾对此抱有很大希望,但结果证明我错了。改进微乎其微。

我有三个提交项:

  • pet_52 检查点
  • pet_64 检查点
  • 两个检查点都用。

它们的分数非常接近。它们的 CV 也很相似。

致谢

我复用了这些公共 Notebook 的部分内容,非常感谢 @ytakayama

补充说明

我的头部并不是完全的序数回归,因为我固定了分箱边界而不是学习它们。

同比赛其他方案