第三名解决方案
第三名解决方案
作者: kenji (Grandmaster) | 比赛排名: 第3名
我们要感谢主办方举办了这场非常激动人心的比赛。祝贺所有完成比赛的人以及获奖者。
总结
最佳提交是一个集成了四个带有卷积三元组注意力模块的 EfficientNets 的模型。
此帖子于 2021 年 9 月 1 日更新。
主要更改如下:
- 增加了 stage0 以训练用于生成伪标签的模型。
- 在 stage1 中已经使用了伪标签,并对此进行了修正。
- 更新了初始学习率的值。
包括训练代码在内的实现已在以下 URL 发布:
https://github.com/knjcode/kaggle-seti-2021
验证与预处理
- 仅使用新的训练数据
- StratifiedKFold (k=5)
- 仅使用 ON 通道 (819x256) 并调整大小为 (768x768)
模型架构
Backbone (骨干网络) -> Triplet Attention (三元组注意力) -> GeM Pooling (GeM 池化) -> FC (全连接层)
训练
训练过程包含三个阶段:
阶段 0 (Stage 0)
此模型不会用于最终提交。
训练 EfficientNet-B4:
- 60轮 DDP AMP
- Focal Loss (gamma=0.5)
- MADGRAD 优化器
- 初始学习率 1e-2,LinearWarmupCosineAnnealingLR (warmup_epochs=1)
- Mixup (alpha=1.0)
- 如果任一数据的目标是 1,则 mixed_target 也将设置为 1
- 数据增强
- 水平和垂直翻转 (p=0.5)
- ShiftScaleRotate (shift_limit=0.2, scale_limit=0.2, rotate_limit=0)
- RandomResizedCrop (scale=[0.8,1.0], ratio=[0.75,1.333])
从该模型对新测试集的 oof 预测中生成伪标签。
(选取 5,000 张高置信度的正样本和负样本图像)
阶段 1 (Stage 1)
通过添加伪标签图像训练 EfficientNet-B1, B2, B3 和 B4。
训练设置几乎与 stage0 相同。
- 60轮 DDP AMP
- Focal Loss (gamma=0.5)
- MADGRAD 优化器
- 初始学习率 1e-2 或 1e-3,LinearWarmupCosineAnnealingLR (warmup_epochs=5)
- Mixup (alpha=1.0)
- 如果任一数据的目标是 1,则 mixed_target 也将设置为 1
- 数据增强