第9名方案
第9名方案
作者: S. Tomizawa | 比赛排名: 第9名
我的解决方案是以下三种类型模型的加权平均集成。神经网络模型通过原生 PyTorch [1, 2] 和 fastai [3] 实现。我没有使用外部数据。
- 基于 DLDL-v2-PyTorch 的深度标签分布学习 (DLDL) 模型 (论文) (3个模型)
- 作为二分类任务训练的回归模型 (2个模型)
- 基于 @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)]

[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