跨模态学习能力再升级,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进行模型的预训练。

跨模态学习能力再升级,EasyNLP电商文图检索效果刷新SOTA_深度学习

CLIP的双流架构使得其在推理阶段可以非常方便地用于计算图文相似度,因为CLIP已经将图文的表示映射到同一个向量空间。此外,通过对类别标签设计Prompt,CLIP的还具有强大的Zero-shot Classification能力。如下图所示,将文本标签转化为Prompt “A photo of a object.”,并且使用目标图像作为输出。如果文本“A photo of a dog.”于当前图像匹配度最高(具有最大的余弦相似度),即可以说明,当前图像的物体是“dog”。由此可见,预训练后的CLIP模型可以非常好的直接应用于图像分类模型,而不需要额外的训练。

跨模态学习能力再升级,EasyNLP电商文图检索效果刷新SOTA_图文检索_02

电商场景下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.

跨模态学习能力再升级,EasyNLP电商文图检索效果刷新SOTA_深度学习_03


跨模态学习能力再升级,EasyNLP电商文图检索效果刷新SOTA_图文检索_04

2

Jersey skirt in black. Elasticised waistband. Shirring at front waist. Drop-tail hem. Fully lined. Tonal stitching.

跨模态学习能力再升级,EasyNLP电商文图检索效果刷新SOTA_PyTorch_05

跨模态学习能力再升级,EasyNLP电商文图检索效果刷新SOTA_图文检索_06

3

Long sleeve French terry pullover in black. Rib knit crewneck collar. Lace-up fastening at side-seams. Tonal stitching.

跨模态学习能力再升级,EasyNLP电商文图检索效果刷新SOTA_深度学习_07

跨模态学习能力再升级,EasyNLP电商文图检索效果刷新SOTA_PyTorch_08

4

Long sleeve cotton-blend jersey henley in heather medium grey. Crewneck collar. Three-button placket. Rib knit cuffs. Tonal stitching.

跨模态学习能力再升级,EasyNLP电商文图检索效果刷新SOTA_图文检索_09

跨模态学习能力再升级,EasyNLP电商文图检索效果刷新SOTA_图文检索_10

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电商文图检索效果刷新SOTA_深度学习_11

跨模态学习能力再升级,EasyNLP电商文图检索效果刷新SOTA_PyTorch_12

通过上述案例展示可以看出,EasyNLP电商CLIP在图文交互过程中可以捕捉更细粒度的时尚信息,更进一步在概念知识层级实现图文样本的跨模态

以上是关于跨模态学习能力再升级,EasyNLP电商文图检索效果刷新SOTA的主要内容,如果未能解决你的问题,请参考以下文章

跨模态学习能力再升级,EasyNLP 电商文图检索效果刷新 SOTA

EasyNLP中文文图生成模型带你秒变艺术家

EasyNLP 中文文图生成模型带你秒变艺术家

EasyNLP 带你玩转 CLIP 图文检索

当大火的文图生成模型遇见知识图谱,AI画像趋近于真实世界

淘宝视频的跨模态检索