Skip to content

syxuming/Shopee---Price-Match-Guarantee-Solution

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shopee电商商品多模态检索竞赛 银牌4%

header https://www.kaggle.com/c/shopee-product-matching

比赛介绍

Shopee是东南亚和台湾的领先电子商务平台,本次主办多模型商品匹配竞赛。使用深度学习和传统机器学习的结合分析图像和文本信息,以比较相似度,预测哪些商品是相同的产品。

  • 赛题涵盖的知识点:
    • 图像/文本编码
    • 度量学习损失
    • 信息检索中的集成学习
    • 如果单纯使用图像和文本特征排序,只能得到非常基础的分数,则需要根据赛题数据进行训练,并进行进一步处理。

解决方案思路

  • 本次竞赛我们的方案是

    1. CNN模型(主导)匹配商品图像,使用NFNet和Swin Transformer双模型 + ArcFace检测头对图片做检索匹配。
    2. 使用TF-IDF对商品标题做了做检索匹配
    3. 图像phash值,匹配完全相同的图像。
    4. 使用简单的embedding concat融合方式输出最终匹配结果。
  • 上分过程

    1. 0.7(图像特征), 0.64(文本特征)
    2. 拼接图像和文本特征 -> normalize: 0.724 -> 动态阈值调整: 0.743
    3. normalize -> 拼接图像和文本特征: 0.753
    4. 所有数据训练: 0.757
    5. union comb, img, txt matches & tune threshold: 0.776

比赛trick

  1. 多模态 比赛会同时用到CV和NLP的模型,需要参赛者两者都比较了解,但以CV为主。

  2. 图像尺寸 我们在比赛过程中发现了大部分图像尺寸都在640x640,于是我们先在小尺寸上验证模型的可行性,然后再使用640的大尺寸得到最终结果。

  3. arcface Arcface原来使用于人脸识别,也可以用于本次比赛图像检索,我们参赛后发现论坛上大部分选手都使用了,于是我们也使用,并发现效果较好。 可惜我们最后没有时间对Arcface调参,不然可以得到更好的效果。

  4. 三种匹配方式ensemble难题 因为我们有三种匹配方式(cv/nlp/phash),但cv分数对三种融合的阈值极其敏感,所以在最终ensemble阶段严重依赖于public LB。

  5. 2小时运行时间 本次竞赛只给了我们2小时的infere时间,所以我们不能像往常的比赛一样5fold * n_models,所以我们需要挑出每个模型在5fold中最好的一个,融合后进行提交。

  6. 测试数据远多于训练数据。 比赛训练数据约35,000张,私有测试数据约有70,000张。这样的分布会产生一个问题,无法建立有效的验证集,导致无法使用CV得分正确估计LB得分。因为70,000张数据中会出现更多的图片相似但不属于同一类别的情况,所以在infer阶段,LB得分对相似度匹配的阈值极其敏感,需要多次提交来确认。

代码、数据集、额外lib

  • 代码 代码有train和inference。train是训练阶段的代码,inference是推理阶段的代码。 将train出来的模型,上传的kaggle,再在kaggle上使用inference代码即可得出结果。 代码提供ipynb版和py版,两者一致

  • 数据集 本次比赛没有使用外部数据集,请至kaggle官网下载相关数据。 https://www.kaggle.com/c/shopee-product-matching/data

  • 额外lib 请讲lib文件夹下的zip文件都解压到train.ipynb中libdir下,以便运行。

TL;DR

Shopee是东南亚和台湾的领先电子商务平台,本次主办多模型商品匹配竞赛。使用深度学习和传统机器学习的结合分析图像和文本信息,以比较相似度,预测哪些商品是相同的产品。我用CNN模型(主导)匹配商品图像,使用NFNet和Swin Transformer双模型 + ArcFace检测头对图片做检索匹配,用TF-IDF对商品标题做了做检索匹配,图像phash值,匹配完全相同的图像。使用简单的embedding concat融合方式输出最终匹配结果。

About

Kaggle Shopee - Price Match Guarantee silver solution

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages