返回列表

[22nd Place + Code] Margin Scheduling – First time on Kaggle :D

401. Google Landmark Recognition 2020 | landmark-recognition-2020

开始: 2020-07-29 结束: 2020-09-29 计算机视觉 数据算法赛
[第22名 + 代码] Margin Scheduling – Kaggle 初体验 :D

[第22名 + 代码] Margin Scheduling – Kaggle 初体验 :D

作者:Chan Kha Vu
比赛:Google Landmark Recognition 2020

首先,恭喜获得前排的团队!!! 🎉🎉🎉🎉🎉🎉🎉 他们取得的成就令人难以置信!

今年的 Landmark RetrievalRecognition 挑战赛是我第一次参加的 ML 比赛。我已经有一年没碰过任何与 ML 相关的东西了,所以这次经历让人耳目一新。

不幸的是,我参加 Retrieval 比赛的时间较晚(结束前 8 天),并且只有大约 2 周的时间兼职参与这次比赛。我在这次比赛中学到了很多。如果明年还有地标挑战赛,我会打得更好!

另外,我要感谢 @keetar 带来的启发——他仅用 Colab Pro 取得的成绩向我展示了,即使是在数据量如此巨大的高难度比赛中,你也不需要昂贵的硬件就能参与竞争。他那篇 出色的分享 是我决定参加 Recognition 赛道的唯一原因。

Retrieval 赛道(第39名,银牌)

  • 没什么特别的,只是 0.2710.277 模型的加权集成,然后就拿了银牌,哈哈哈 😆😆😆 我也尝试了使用 Places365 VGG 模型进行一些过滤,但没起作用。

Recognition 赛道(第22名,银牌) – Margin Scheduling(边界调度)

我意识到我在 Discussion 区灌水太多了,所以我长话短说:

  • 我在 Cleaned GLDv2 数据集上训练了一个带有 GeM (p=3) + ArcFaceResNet152V2,以及一个带有 GAP + ArcFace 全局描述符的 EffNetB6。可惜没时间训练到完全收敛 ☹️☹️☹️

  • 对于 ArcFace,我从一个较小的 margin 开始(即 1e-3),并在每个 Cosine LR 周期结束时逐渐增加,直到 0.31。对我来说,用固定的 margin 训练更难。

  • 训练硬件:仅使用 Colab Pro!

  • 我只是使用了一个在 Open Images V4 上训练的公开目标检测器 FastRCNN+InceptionResNetV2 来进行非地标移除。这在公开 LB 上带来了大约 +0.005 的提升。

  • 因为我开始得晚(结束前约 2 周),没有足够的时间进行实验,所以我使用了 Data Echoing 技术来加速训练 约 20%

  • 标准的重排序流程:检索步骤(使用 KNN)+ 非地标移除(如上所述)+ 局部描述符提取(使用基线 DELG 模型)+ RANSAC。

  • 在推理过程中,我只使用了索引嵌入!我没有时间为训练样本生成嵌入。

我没时间完成的事情: