返回列表

7th place solution

432. Shopee - Price Match Guarantee | shopee-product-matching

开始: 2021-03-09 结束: 2021-05-10 商品理解 数据算法赛
第7名解决方案

第7名解决方案

作者:T Nakamura
发布时间:2021-05-11

首先,我要感谢主办方举办这次比赛。祝贺所有奖牌获得者。让我分享一下我的解决方案。

概览


模型

训练/验证集划分

GroupKfold(5折),根据 label_group 中的样本数量分布进行分层。

图像模型

  • 骨干网络:NFNet-F0 配合 GeM 池化(训练时 p=3(固定),推理时 p=4)
  • 输入尺寸:420x420
  • 轮次:30
  • 优化器:madgrad(momentum=0.9, weight_decay=1e-5) [1]
  • 学习率调度器:余弦退火 (1e-5 --> 1e-8)
  • 距离度量:余弦相似度
  • 损失函数:多相似度损失 (alpha=2, beta=50, base=0.5) 配合 XBM(memory_size=1024) [2]
  • 批大小:32,通过随机采样相同 label_group 中的图像对生成 mini-batch
  • 数据增强:Rotate, ColorJitter, RandomBrightnessContrast, RandomGamma, HorizontalFlip, CoarseDropout

文本模型

  • 骨干网络:DistilBERT (distilbert-base-indonesian)
  • 轮次:30
  • 优化器:madgrad(momentum=0.9, weight_decay=1e-5)
  • 学习率调度器:余弦退火 (1e-4 --> 1e-8)
  • 距离度量:余弦相似度
  • 损失函数:多相似度损失 (alpha=2, beta=50, base=0.5)
  • 挖掘器:多相似度挖掘器 (epsilon=0.1)
  • 批大小:256,通过随机采样相同 label_group 中的标题对生成 mini-batch
  • 数据增强:OneOf([random_delete, random_swap, random_swap+random_delete, random_swap*2]) 概率为 p=0.1
    • random_delete:如果 len(title) > 2,随机删除一个单词
    • random_swap:如果 len(title) > 2,随机交换两个单词

交叉验证分数

5折平均 F1 分数如下。alpha-QE 的参数在每折中分别进行了优化。

alpha-QE 图像 文本 拼接 图像/文本
No 0.83031 0.80803 0.88777
Yes - - 0.91179

私有排行榜阈值

我绘制了图像数量与最佳阈值的曲线图,观察到随着图像数量增加,最佳阈值呈指数衰减,因此我在最终提交时降低了阈值。但这恶化了私有 LB 分数(0.762, 0.757)。如果我不更改在公共 LB 上调整的阈值,我的模型可以获得 0.765 分。