473. PetFinder.my - Pawpularity Contest | petfinder-pawpularity-score
首先,感谢主办方和本次比赛的所有参与者。
我的解决方案如下。
我使用了由2个fastai模型和1个pytorch模型组成的3个模型的加权集成。
Fastai模型基于此链接,
而pytorch模型基于此链接。
各模型的详细信息如下。
| 模型配置 | beit_large_patch16_224 | swin_large_patch4_window7_224 | swin_large_patch4_window12_384 |
|---|---|---|---|
| 框架 | fastai | fastai | pytorch-lightning (推理时使用纯pytorch) |
| 学习率 | 2e-5 | 4e-5 | 1e-5 |
| 轮数 | 10 | 5 | 20 (使用早停) |
| 调度器 | OneCycleScheduler | OneCycleScheduler | CosineAnnealingWarmRestarts(T_0=20, eta_min=1e-4) |
| 批次大小 | 4 | 4 | 4 |
| 梯度累积 | 16 | 8 | 8 |
| 折数 | 10 | 10 | 10 |
| 数据增强 | 翻转, 亮度, 对比度, 饱和度 | 翻转, 亮度, 对比度, 饱和度 | 随机水平翻转, 随机垂直翻转, 随机仿射变换, 颜色抖动 |
| TTA | 3倍, beta=0.5, 仅翻转 | 4倍, beta=0.5, 仅翻转 | 3倍, 水平翻转和随机旋转(rotate=45) |
| 附加头 | - | - | SVR 头 |
| CV 得分 | 17.46 | 17.47 | 17.33 |
| 公开/私有 LB | 18.00 / 17.20 | 17.87 / 17.02 | 17.86 / 17.01 |
我使用的损失函数是 BCEWithLogitsLoss,Mixup 在所有模型中通用。
此外,我使用 optuna 进行权重优化。
集成结果 CV/publicLB/privateLB: 17.121/17.774/16.936
以下两点对我很有效。