跨模态学习能力再升级,EasyNLP电商文图检索效果刷新SOTA
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跨模态学习能力再升级,EasyNLP电商文图检索效果刷新SOTA相关的知识,希望对你有一定的参考价值。
作者:熊兮、欢夏、章捷、临在
导读
多模态内容(例如图像、文本、语音、视频等)在互联网上的爆炸性增长推动了各种跨模态模型的研究与发展,支持了多种跨模态内容理解任务。在这些跨模态模型中,CLIP(Contrastive Language-Image Pre-training)是一种经典的文图跨模态检索模型,它在大规模图文数据集上进行了对比学习预训练,具有很强的文图跨模态表征学习能力。在先前的工作(看这里)中,中⽂NLP/多模态算法框架EasyNLP支持了CLIP的基础功能,包括模型的Finetune、文图向量抽取等。在本期的工作中,我们对EasyNLP框架进行了再一次升级,推出了融合了丰富电商场景知识的CLIP模型,在电商文图检索效果上刷新了SOTA结果,并且将上述模型免费开源,贡献给开源社区。
EasyNLP(https://github.com/alibaba/EasyNLP)是阿⾥云机器学习PAI 团队基于 PyTorch 开发的易⽤且丰富的NLP算法框架,⽀持常⽤的中⽂预训练模型和⼤模型落地技术,并且提供了从训练到部署的⼀站式 NLP 开发体验。EasyNLP 提供了简洁的接⼝供⽤户开发 NLP 模型,包括NLP应⽤ AppZoo 和预训练 ModelZoo,同时提供技术帮助⽤户⾼效的落地超⼤预训练模型到业务。由于跨模态理解需求的不断增加,EasyNLP也⽀持各种跨模态模型,推向开源社区,希望能够服务更多的 NLP 和多模态算法开发者和研 究者,也希望和社区⼀起推动 NLP /多模态技术的发展和模型落地。
本⽂简要介绍我们在电商下对CLIP模型的优化,以及上述模型在公开数据集上的评测结果。最后,我们介绍如何在EasyNLP框架中调用上述电商CLIP模型。
CLIP模型技术概览
OpenAI于2021年提出的CLIP(Contrastive Language-Image Pre-training)模型,收集了4亿文本-图像对进行图文对比学习训练,建立了图像和文本的关联性。CLIP模型包含两部分,分别为图像和文本的Encoder,用于对图像和文本分别进行特征抽取。CLIP的图像的Backbone有多个选择,既可以使用经典的ResNet系列模型,也可以选择近两年更先进的Transfomer类模型,例如ViT等。对于文本而言,CLIP一般使用BERT类模型,RoBERTa等也可以作为选择。
CLIP模型基础技术
CLIP在特征抽取后,分别对图文向量进行Normalization,之后进一步进行内积计算,获取样本间的相似度。在模型Loss Function层面,由于我们对进行Normalization之后的图像和文本向量直接使用相乘以计算余弦距离,目的是使得匹配的图文对的结果趋近于1,不匹配的图文对的结果趋近于0;并且优化对比学习损失InfoNCE进行模型的预训练。
CLIP的双流架构使得其在推理阶段可以非常方便地用于计算图文相似度,因为CLIP已经将图文的表示映射到同一个向量空间。此外,通过对类别标签设计Prompt,CLIP的还具有强大的Zero-shot Classification能力。如下图所示,将文本标签转化为Prompt “A photo of a object.”,并且使用目标图像作为输出。如果文本“A photo of a dog.”于当前图像匹配度最高(具有最大的余弦相似度),即可以说明,当前图像的物体是“dog”。由此可见,预训练后的CLIP模型可以非常好的直接应用于图像分类模型,而不需要额外的训练。
电商场景下CLIP模型的优化
EasyNLP借鉴CLIP的轻量化、易迁移的预训练架构,构建基于CLIP包含图像和文本Encoder两部分的双流模型,同时基于商品数据,以优化电商场景的文图检索优化。具体来说,我们采样了200万的商品图文数据,在OpenCLIP公开的模型权重上进行了继续预训练,使得模型具有电商领域的感知能力。同时,由于电商场景的文本概念分布稀疏,图像以商品图为主,具有较低的场景丰富性,因此,我们在预训练过程中更加关注电商概念的相关知识,引入了图文知识的细粒度交互,使得模型具备电商知识的识别能力。特别地,我们重点参考了DeCLIP的工作,对于电商概念构建其Prototype表征,存储在Feature Queue中,从而在训练过程中关注当前图文对与电商概念Prototype表征的匹配信息(见参考文献8)。
对图像部分的输入,我们将图像统一Resize为224×224的大小,并考虑不同的应用和部署场景,采用ViT-B-32(Vision Transformer层数为12,图像Patch大小为32×32)和ViT-L-14(Vision Transformer层数为24,图像patch大小为14×14)两种模型作为图像侧的Encoder。对于文本部分的输入,我们和CLIP一样采用12层Text Transformer作为文本侧Encoder,通过BPE分词器做文本预处理,并限定文本词长小于77。这两个电商场景的CLIP模型参数配置如下表:
模型配置 | alibaba-pai/pai-clip-commercial-base-en | alibaba-pai/pai-clip-commercial-large-en |
参数量(Parameters) | 151M | 428M |
层数(Number of Layers) | 12 | 24 |
注意力头数(Attention Heads) | 12 | 16 |
隐向量维度(Hidden Size) | 768 | 1024 |
文本长度(Text Length) | 77 | 77 |
图像序列长度(Image Patch Size) | 32 x 32 | 14 x 14 |
图像尺寸(Image Size) | 224 x 224 | 224 x 224 |
词表大小(Vocabulary Size) | 49408 | 49408 |
如上表所述,电商CLIP模型包含了两个不同的图像Encoder架构,为表中的pai-clip-commercial-base-en和pai-clip-commercial-large-en模型,分别代表ViT-B-32和ViT-L-14作为图像Backbone。
此外,我们也提供了两个中文的预训练CLIP模型,贡献到开源社区,相关配置如下:
模型配置 | alibaba-pai/clip_chinese_roberta_base_vit_base | alibaba-pai/clip_chinese_roberta_base_vit_large |
参数量(Parameters) | 188M | 406M |
层数(Number of Layers) | 12 | 24 |
注意力头数(Attention Heads) | 12 | 16 |
隐向量维度(Hidden Size) | 768 | 1024 |
文本长度(Text Length) | 77 | 77 |
图像序列长度(Image Patch Size) | 16 x 16 | 16 x 16 |
图像尺寸(Image Size) | 224 x 224 | 224 x 224 |
词表大小(Vocabulary Size) | 21128 | 21128 |
电商CLIP模型效果评测
Fashion-Gen数据集是一个大规模的时尚场景的图文数据集,是电商领域FashionBERT、KaleidoBERT、CommerceMM等模型用来评测检索效果的较为通用的数据集。Fashion-Gen共包含293,088条商品图文数据,其中训练集包含260,480个图文对,验证集和测试集包含32,528条图文对。Fashion-Gen中的商品数据包含48个大类别,121个小类别,在训练和测试数据中类别最多的包括"tops","sweaters","jackets & coats"等。我们基于pai-clip-commercial-base-en和pai-clip-commercial-large-en这两个模型在Fashion-Gen数据集上进行了20个epoch的微调。
如下表所示,实验结果表明,相比于现公布的SOTA模型(CommerceMM),在文到图和图到文的检索结果上,我们的电商CLIP已经有了显著的效果提升。其中,Rank@1,Rank@5和Rank@10分别代表图文或文图检索结果Top 1、Top 5和Top 10中含有正确结果的准确率。我们的电商CLIP-large模型,在图文检索的结果上提升了2.9~5.6个百分点,在文图检索上的表现更加优秀,在三个评测指标上提升了8.7~15个百分点。电商base模型在文到图的检索结果上与CommerceMM相当,却使用了更少的参数量。电商CLIP无论在large还是base图像Encoder的设置下,都取得了有竞争力的电商场景跨模态检索能力。
文到图检索评测结果
模型 | Rank@1 | Rank@5 | Rank@10 | |
FashionBERT | 26.75 | 46.48 | 55.74 | |
KaleidoBERT | 33.9 | 60.5 | 68.6 | |
CLIP | 36.8 | 58.9 | 67.6 | |
CommerceMM | 39.6 | 61.5 | 72.7 | |
EI-CLIP | 28.4 | 57.1 | 69.4 | |
EasyNLP电商CLIP | pai-clip-commercial-base-en | 39.5 | 61.5 | 70.0 |
pai-clip-commercial-large-en | 54.6 | 75.1 | 81.4 |
图到文检索评测结果
模型 | Rank@1 | Rank@5 | Rank@10 | |
FashionBERT | 23.96 | 46.31 | 52.12 | |
KaleidoBERT | 28.0 | 60.1 | 68.4 | |
CLIP | 31.9 | 55.4 | 64.1 | |
CommerceMM | 41.6 | 64.0 | 72.8 | |
EI-CLIP | 25.7 | 54.5 | 66.8 | |
EasyNLP电商CLIP | pai-clip-commercial-base-en | 33.8 | 57.5 | 66.0 |
pai-clip-commercial-large-en | 47.2 | 69.3 | 75.7 |
如下展示了EasyNLP电商CLIP在Fashion-Gen验证集上的文图检索结果,对于相同的文本,我们分别展示了我们模型和开源CLIP模型的Top-1图像检索结果:
Case | Query | EasyNLP电商CLIP | OpenCLIP |
1 | Midi skirt in pine green. Stiff, washed finish throughout. Oversized bow accent at waist. Ruffled detail at front. Concealed zip closure at back. Vented at back. Tonal stitching. | ||
2 | Jersey skirt in black. Elasticised waistband. Shirring at front waist. Drop-tail hem. Fully lined. Tonal stitching. | ||
3 | Long sleeve French terry pullover in black. Rib knit crewneck collar. Lace-up fastening at side-seams. Tonal stitching. | ||
4 | Long sleeve cotton-blend jersey henley in heather medium grey. Crewneck collar. Three-button placket. Rib knit cuffs. Tonal stitching. | ||
5 | Canvas slip-on sandals in black. Fringed edges throughout. Open round toe. Leather lining in beige. Round block heel. Tonal leather sole. Tonal stitching. Approx. 3\\" heel. |
通过上述案例展示可以看出,EasyNLP电商CLIP在图文交互过程中可以捕捉更细粒度的时尚信息,更进一步在概念知识层级实现图文样本的跨模态
以上是关于跨模态学习能力再升级,EasyNLP电商文图检索效果刷新SOTA的主要内容,如果未能解决你的问题,请参考以下文章