返回列表

GUIE 4th Place Solution

512. Google Universal Image Embedding | google-universal-image-embedding

开始: 2022-07-11 结束: 2022-10-10 计算机视觉 数据算法赛
GUIE 第4名解决方案

GUIE 第4名解决方案

作者:Ivan Aerlic (Grandmaster) | 比赛排名:第4名

非常感谢我的队友 @simjeg 和 Marcos,与你们合作非常愉快。作为一个团队,探索不同的数据集和降维技术非常有趣。最后,感谢举办这次比赛的工作人员。

代码仓库:G-Universal-CLIP 🔥 🚀

简短总结 (TLDR)

我们以著名的 open_clip 仓库内容作为基线。

我们的解决方案是集成了2个CLIP模型,使用带有自适应边际损失(adaptive margin loss)的子中心ArcFace(sub-center ArcFace)进行训练,每个模型生成一个512维的描述符。我们总共训练了9个模型,包括4个 ViT-L-14-336 模型和5个 ViT-H-14 模型。
然后将这9个模型的权重进行平均,制成了2个“模型汤(model soups)”。

我们利用两个模型的输出拼接创建了1024维的嵌入向量。然后使用PCA将维度从1024降低到64。

CLIP 模型

预训练模型来自 open_clip
ViT-L-14-336 : openai
ViT-H/14 on LAION-2B laion_s32b_b79k

训练数据

Google Landmarks 2020 : https://www.kaggle.com/competitions/landmark-recognition-2020/data

Products-10k : https://www.kaggle.com/competitions/products-10k/data

我们发现使用更多数据进行微调并没有带来好处。产品和地标数据已经占本次挑战数据分布的50%。

训练流程

我们在 G-Universal-CLIP 和我们的论文中提供了详细信息!请继续关注。

请注意,我们仅将 ObjectNet 用于离线验证,如该帖子所述:https://www.kaggle.com/competitions/google-universal-image-embedding/discussion/352644

单模型表现

Single Model Performance

模型集成表现

Model Ensemble Performance

模型汤 / 集成

在创建模型汤时,我们需要找到一种方法,在平均权重之前使模型多样化。我们决定在每次运行时使用不同的增强技术训练每个模型,然后训练一个没有增强的模型。对于最终的集成,我们使用了以下增强方法:

这些增强方法取自该解决方案:

同比赛其他方案