483. Happywhale - Whale and Dolphin Identification | happy-whale-and-dolphin
首先,我要感谢 Kaggle 提供了这个超级棒的平台和社区。我关于数据科学(DS)的所有知识都是在 Kaggle 上学到的。其次,感谢比赛组织者提供了如此有趣的任务,这帮助我从悲伤的思绪中解脱出来。
比赛的关键点在于数据集。我使用了由 JAN BRE 提供的 Baskfins 和 Fullbody 数据集。
原本有想法使用中间数据集,但我没时间了。
我也尝试过使用去除了水体的数据集,但结果差了很多。不过我还是把它加入到了集成模型中。
我尝试了 EfficientNet 模型,其中 Effnet 7 的效果最好。
使用了 ArcFace Loss。
图像分辨率为 768。我尝试过 1024,但模型无法收敛。
我也尝试了 ConvNext,结果稍差,但也加入了集成模型中。
训练了 30-50 个 epoch,包含 5 个 epoch 的预热,之后使用余弦退火衰减。
完全没有出现过拟合。训练轮数越多,结果越好。
我连接了来自 9 个模型的嵌入向量,并计算了训练集和测试集图像之间的余弦距离。
由于数据量很大,而 TPU 上的时间非常有限,我只在 1 个折上进行了交叉验证。
在不考虑 new_individual 的情况下,CV 分数为 0.72;在阈值为 0.6 的情况下,CV 分数为 0.86。
然后我在 100% 的训练数据上训练了所有模型,并使用 0.65 作为阈值,因为测试集中 new_individual 较少。
感谢阅读!