432. Shopee - Price Match Guarantee | shopee-product-matching
Shopee 是我第一个从头到尾完整参加的 Kaggle 比赛,也是我投入精力最多的一场比赛。在这个挑战中,图像、文本和后处理都是取得好成绩的重要因素,因此很难同时优化所有这些方面。幸运的是,我的队友 @meliao、@ywenlu、@dandingclam 和 @mathurinache 提供了巨大的帮助。
同时,祝贺 @ywenlu 晋升为 Competition Master(竞赛大师)!
我们的主要解决方案基于 Chris 的著名基线和 Ragnar 的 ArcFace 训练 Notebook。
我们花费了超过一半的时间专注于优化单一图像模型和 TF-IDF,但分数卡在 0.740 左右。
直到比赛结束前两周,我们终于发现了后处理的重要性。因为我们通过观察本地匹配发现,有近 4000 行数据没有匹配到任何其他产品,而这种情况在目标(测试集)中是不存在的。
借助后处理,我们仅使用一个 B3 模型和 TF-IDF 就达到了 0.763 的分数。随后我们集成了其他模型,在公开榜上达到了 0.771。

基于 Ragnar 的分层数据集,我们使用 1/3 的数据进行训练,并在另外 2/3 的数据上检查验证损失。这帮助我们快速识别有用的增强方法和参数。我在这里发布了我的结果:Shopee Image Benchmark
以下是我们在最终阶段使用的模型:
| 模型 | 图像尺寸 | 数据增强 | 验证损失 |
|---|---|---|---|
| efficientnet b3 | 512 | central_crop random_crop random_flip_left_right |
14.2 |
| eca_nfnet_l1 | 512 | RandomResizedCrop CenterCrop RandomBrightnessContrast OneOfBlur |
14.31 |
| efficientnet b4 cosine LR | 384 | central_crop random_crop random_flip_left_right random_hue random_saturation random_contrast random_brightness |
14.34 |
| efficientnet b4 | 456 | central_crop random_crop random_flip_left_right random_flip_up_down random_hue random_saturation random_contrast random_brightness mosaic_augmentation |
14.3 |
预处理