返回列表

9th place solution

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

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

第9名方案

作者: S. Tomizawa | 比赛排名: 第9名

我的解决方案是以下三种类型模型的加权平均集成。神经网络模型通过原生 PyTorch [1, 2] 和 fastai [3] 实现。我没有使用外部数据。

  1. 基于 DLDL-v2-PyTorch 的深度标签分布学习 (DLDL) 模型 (论文) (3个模型)
  2. 作为二分类任务训练的回归模型 (2个模型)
  3. 基于 @ilovescience高影响力笔记本 的 fastai 模型 (2个模型)

各模型简要概述如下。

[1] DLDL 模型

  • 神经网络骨干网络: Swin Transformer L 384
  • 数据增强: torchvision RandAugment(2, 10), mixup(alpha=0.2, p=0.5)
  • 元数据: 使用了表格数据 (我认为表格元数据没什么用,但我没有省略它。)
  • 损失函数: (KLDivLoss 和 HuberLoss) 或 (FocalLoss 和 HuberLoss)
  • 优化器: Ranger21
  • 学习率调度器: OneCycleLR
  • 正则化: MixOut
  • 数据划分: StratifiedKFold(n_splits=5)
  • 附加头: SVR 和 Catboost
  • TTA (测试时增强): 2次 [1: Resize(size)->CenterCrop(size) / 2: Resize(size, size)]
    DLDL model

[2] 回归模型

  • 神经网络骨干网络: Swin Transformer L 384
  • 数据增强: torchvision RandAugment(2, 10), mixup(alpha=0.2, p=0.5)
  • 元数据: 使用了表格数据
  • 损失函数: BCEWithLogitsLoss()
  • 优化器: AdamW
  • 学习率调度器: OneCycleLR
  • 数据划分: StratifiedKFold(n_splits=5)
  • 附加头: SVR 和 Catboost
  • TTA: 无 [Resize(size)->CenterCrop(size)]

[3] fastai 模型

  • 神经网络骨干网络: Swin Transformer L 224 / ConvNeXt XL 224
  • 数据增强: Brightness(), Contrast(), Hue(), Saturation()
  • 元数据: 无
  • 损失函数: BCEWithLogitsLossFlat()
  • 附加头: 无
  • 数据划分: StratifiedKFold(n_splits=10) / StratifiedKFold(n_splits=5)
  • TTA: 5次 / 1次

最终得分选定的提交

  • 最佳公共榜单提交
    • 公共榜单: 17.74385 (第33名)
    • 私有榜单: 16.95033 (第17名)
  • 唯一成功包含 ConvNeXt (fastai 模型) 的提交
    • 公共榜单: 17.77487 (第94名)
    • 私有榜单: 16.91650 (第9名)

关于单个 ConvNeXt 模型,其交叉验证 (CV) 表现很好,但榜单 (LB) 表现没那么好。
比赛期间我在私有榜单上表现最好的单个神经网络模型是一个 DLDL 模型,其得分是:

  • CV: 17.36578
  • 私有榜单: 17.01783
同比赛其他方案