1. 背景

ACM SIGKDD(ACM SIGKDD Conference on Knowledge Discovery and Data Mining)是世界数据挖掘畛域的顶级国内会议。KDD Cup较量由ACM SIGKDD举办,从1997年开始每年举办一次,也是数据挖掘畛域最有影响力的赛事之一。该较量同时面向企业界和学术界,星散了世界数据挖掘界的顶尖专家、学者、工程师、学生等加入,通过比赛,为数据挖掘从业者们提供了一个学术交流和研究成果展现的现实场合。往年,KDD Cup共设置四个赛道共五道赛题,波及数据偏差问题(Debiasing)、多模态召回(Multimodalities Recall)、自动化图学习(AutoGraph)、反抗学习问题和强化学习问题。

美团搜寻广告算法团队最终在Debiasing赛道中取得冠军(1/1895),在AutoGraph赛道中也取得了冠军(1/149)。在Multimodalities Recall赛道中,亚军被美团搜寻与NLP团队摘得(2/1433),美团搜寻广告算法团队取得了第三名(3/1433)。

跟其它电商公司一样,美团业务场景中除了文本,还存在图片、动图、视频等多种模态信息。同时,美团搜寻是典型的多模态搜索引擎,召回和排序列表中存在POI、图片、文本、视频等多种模态后果,如何保障Query和多模态搜寻后果的相关性面临着很大的挑战。鉴于多模态召回赛题(Multimodalities Recall)和美团搜寻业务的挑战比拟相似,本着磨炼算法基本功和积淀相干技术能力的目标,美团搜寻与NLP组建团队参加了该项赛事,最终提出的“基于ImageBERT和LXMERT交融的多模态召回解决方案”最终取得了第二名(2/1433)(KDD Cup2020 Recall榜单)。本文将介绍多模态召回赛题的技术计划,以及多模态技术在美团搜寻场景中的落地利用。

相干代码曾经在GitHub上开源:https://github.com/zuokai/KDDCUP_2020_MultimodalitiesRecall_2nd_Place。

2. 赛题简介

2019年,寰球批发电子商务销售额达3.53万亿美元,预计到2022年,电子批发支出将增长至6.54万亿美元。如此快速增长的业务规模表明了电子商务行业的广大发展前景,但与此同时,这也意味着日益简单的市场和用户需要。随着电子商务行业规模的一直增长,与之相干的各个模态数据也在一直增多,包含各式各样的带货直播视频、以图片或视频模式展现的生存故事等等。新的业务和数据都为电子商务平台的倒退带来了新的挑战。

目前,绝大多数的电子商务和批发公司都采纳了各种数据分析和开掘算法来加强其搜寻和举荐零碎的性能。在这一过程中,多模态的语义了解是极为重要的。高质量的语义了解模型可能帮忙平台更好的了解消费者的需要,返回与用户申请更为相干的商品,可能显著的进步平台的服务质量和用户体验。

在此背景下,往年的KDD Cup举办了多媒体召回工作(Modern E-Commerce Platform: Multimodalities Recall),工作要求参赛者依据用户的查问Query,对候选汇合中的所有商品图片进行相关性排序,并找出最相干的5个商品图片。举例说明如下:

如图2所示,用户输出的Query为:

leopard-print women's shoes

依据其语义信息,左侧图片与查问Query是相干的,而右侧的图片与查问Query是不相干的。

从示例能够看出,该工作是典型的多模态召回工作,能够转化为Text-Image Matching问题,通过训练多模态召回模型,对Query-Image样本对进行相关性打分,而后对相关性分数进行排序,确定最初的召回列表。

2.1 较量数据

本次较量的数据来自淘宝平台实在场景下用户Query以及商品数据,蕴含三局部:训练集(Train)、验证集(Val)和测试集(Test)。依据较量阶段的不同,测试集又分为testA和testB两个局部。数据集的规模、蕴含的字段以及数据样例如表1所示。实在样本数据不蕴含可视化图片,示例图是为了浏览和了解的便当。

在数据方面,须要留神的点有:

  • 训练集(Train)每条数据代表相干的Query-Image样本对,而在验证集(Val)和测试集(Test)中,每条Query会有多张候选图片,每条数据表示须要计算相关性的Query-Image样本对。
  • 赛事主办方曾经对所有图片通过指标检测模型(Faster-RCNN)提取了多个指标框,并保留了指标框相应的2048维图像特色。因而,在模型中无需再思考图像特色的提取。

2.2 评估指标

本次较量采纳召回Top 5后果的归一化折损累计增益(Normalized Discounted Cumulative Gain,NDCG@5)来作为相干后果排序的评估指标。

3. 经典解法

本次较量须要解决的问题能够转化为Text-Image Matching工作,即对每一个Query-Image 样本对进行相似性打分,进而对每个Query的候选图片进行相关度排序,失去最终后果。多模态匹配问题通常有两种解决思路:

  1. 将不同模态数据映射到不同特色空间,而后通过隐层交互这些特色学习到一个不可解释的间隔函数,如图3 (a)所示。
  2. 将不同模态数据映射到同一特色空间,从而计算不同模态数据之间的可解释间隔(类似度),如图3 (b)所示。

一般而言,同等条件下,因为图文特色组合后能够为模型隐层提供更多的穿插特色信息,因此左侧的模型成果要优于右侧的模型,所以在后续的算法设计中,咱们都是围绕图3左侧的解决思路开展的。

随着Goolge BERT模型在自然语言解决畛域的巨大成功,在多模态畛域也有越来越多的钻研人员开始借鉴BERT的预训练方法,倒退出交融图片/视频(Image/Video)等其余模态的BERT模型,并胜利利用与多模态检索、VQA、Image Caption等工作中。因而,思考应用BERT相干的多模态预训练模型(Vision-Language Pre-training, VLP),并将图文相关性计算的上游工作转化为图文是否匹配的二分类问题,进行模型学习。

目前,基于Transformer模型的多模态VLP算法次要分为两个流派:

  • 单流模型,在单流模型中文本信息和视觉信息在一开始便进行了交融,间接一起输出到Encoder(Transformer)中。典型的单流模型如ImageBERT [3],VisualBERT [9]、VL-BERT [10] 等。
  • 双流模型,在双流模型中文本信息和视觉信息一开始先通过两个独立的Encoder(Transformer)模块,而后再通过Cross Transformer来实现不同模态信息的交融。典型的双流模型如LXMERT [4],ViLBERT [8] 等。

4. 咱们的办法:Transformer-Based Ensembled Models TBEM

本次较量中,在算法方面,咱们选用了畛域最新的基于Transformer的VLP算法构建模型主体,并退出了Text-Image Matching作为上游工作。除了构建模型以外,咱们通过数据分析来确定模型参数,构建训练数据。在实现模型训练后,通过后果后处理策略来进一步晋升算法成果。整个算法的流程如下图4所示:

接下来对算法中的每个环节进行具体阐明。

4.1 数据分析&解决

数据分析和解决次要基于以下三个方面思考:

  • 正负样本构建:因为主办方提供的训练数据中,只蕴含了相干的Query-Image样本对,相当于只有正样本数据,因而须要通过数据分析,设计策略构建负样本。
  • 模型参数设定:在模型中,图片指标框最大数量、Query文本最大长度等参数须要联合训练数据的散布来设计。
  • 排序后果后处理:通过剖析Query召回的图片数据分布特点,确定后果后处理策略。

惯例的训练数据生成策略为:对于每一个Batch的数据,依照1:1的比例抉择正负样本。其中,正样本为训练集(Train)中的原始数据,负样本通过替换正样本中的Query字段产生,替换的Query是依照肯定策略从训练集(Train)中获取。

为了晋升模型学习效果,咱们在构建负样本的过程中进行了难例开掘,在结构样本时,通过使正负样本的局部指标框蕴含同样的类别标签,从而构建一部分较为类似的正负样本,以进步模型对于类似的正负样本的区分度。

难例开掘的过程如下图5所示,左右两侧的相干样本对都蕴含了“shoes”这一类别标签,应用右侧样本对的Query替换左侧图片的Query,从而构建难例。通过学习这类样本,可能进步模型对于不同类型“shoes”形容的区分度。

具体而言,负样本构建策略如表2所示:

其次,通过对训练数据中指标框的个数以及Query长度的散布状况剖析,确定模型的相干参数。图片中指标框的最大个数设置为10,Query文本的最大单词个数为20。后处理策略相干的内容,咱们将会在4.3局部进行具体的介绍。

4.2 模型构建与训练

4.2.1 模型构造

基于上文中对多模态检索畛域现有办法的调研,在本次较量中,咱们别离从单流模型和双流模型中各抉择了相应SOTA的算法,即ImageBERT和LXMERT。具体而言,针对较量工作,两种算法别离进行了如下改良:

LXMERT模型方面次要的改良包含:

  • 图片特色局部(Visual Feature)融入了指标框类别标签所对应的文本特色。
  • Text-Image Matching Task中应用两层全连贯网络进行图片和文本交融特色的二分类,其中第一个全连贯层之后应用GeLU [2] 进行激活,而后通过LayerNorm [1] 进行归一化解决。
  • 在第二个全连贯层之后采纳Cross Entropy Loss训练网络。

改良后的模型构造如下图6所示:

特色网络的预训练权重应用了LXMERT所提供权重文件,下载地址为:https://github.com/airsplay/lxmert。

ImageBERT:本计划中一共用到了两个版本的 ImageBERT模型,别离记为ImageBERT A和ImageBERT B,上面会别离介绍改良点。

ImageBERT A:基于原始ImageBERT的改良有以下几点。

  • 训练任务:不对图片特色和Query的局部单词做掩码,仅训练相关性匹配工作,不进行MLM等其余工作的训练。
  • Segment Embedding:将Segment Embedding对立编码为0,不对图片特色和Query文本独自进行编码。
  • 损失函数:在[CLS]位输入Query与Image的匹配关系,通过Cross Entropy Loss计算损失。

根据上述策略,选用BERT-Base模型权重对变量初始化,在此基础上进行FineTune。其模型构造如下图7所示:

ImageBERT B:和ImageBERT A的不同点是在Position Embedding和Segment Embedding的解决上。

  • Position Embedding:去掉了ImageBert中图像指标框地位信息的Position Embedding构造。
  • Segment Embedding:文本的Segment Embedding编码为0,图片特色的Segment Embedding编码为1。

根据上述策略,同样选用BERT-Base模型权重对变量初始化,在此基础上进行FineTune。

三种模型构建中,共性的翻新点在于,在模型的输出中引入了图片指标框的标签信息。而这一思路同样被利用在了微软2020年5月份最新的论文Oscar [7] 中,但该文的特色应用形式和损失函数设置与咱们的计划不同。

4.2.2 模型训练

应用节4.1的数据生成策略构建训练数据,别离对上述三个模型进行训练,训练后的模型在验证集(Val)上的成果如表3所示。

4.2.3 利用损失函数进行模型微调

实现初步的模型训练后,接下来应用不同的损失函数对模型进行进一步的微调,次要有AMSoftmax Loss [5]、Multi-Similarity Loss [6]。

  • AMSoftmax Loss通过权值归一化和特色归一化,在放大类内间隔的同时增大类间间隔,从而进步了模型成果。
  • Multi-Similarity Loss将深度度量学习转化为样本对的加权问题,采纳采样和加权交替迭代的策略实现了自相似性,负绝对相似性和正绝对相似性三种,可能促使模型学习失去更好的特色。

在咱们的计划中所采纳的具体策略如下:

  • 对于LXMERT,在特色网络后退出Multi-Similarity Loss,与Cross Entropy Loss 组成多任务学习网络,进行模型微调。
  • 对于ImageBERT A,应用AMSoftmax Loss代替Cross Entropy Loss。
  • 对于ImageBERT B,损失函数解决形式和LXMERT统一。

通过微调,各模型在验证集(Val)上的成果如表4所示。

4.2.4 通过数据过采样进行模型微调

为了进一步提高模型成果,本计划依据训练集(Train)中Query字段与测试集(testB)中的Query字段的类似水平,对训练集(Test)进行了过采样,采样规定如下:

  • 对Query在测试集(testB)中呈现的样本,或与测试集(testB)中的Query存在蕴含关系的样本,依据其在训练集(Train)呈现的次数,依照反比例进行过采样。
  • 对Query未在测试集(testB)中呈现的样本,依据两个数据集Query中反复词的个数,对测试集(testB)每条Query抽取反复词数目Top10的训练集(Train)样本,每条样本过采样50次。

数据过采样后,别离对与上述的三个模型依照如下计划进行微调:

  • 对于LXMERT模型,应用过采样失去的训练样本对LXMERT模型进行进一步微调。
  • 对于ImageBERT A模型,本计划从训练集(Train)选出Query中单词和测试集(Test)Query存在重合的样本对模型进行进一步微调。
  • 对于ImageBERT B模型,思考到训练集(Train)中存在Query表白意思雷同,然而单词排列程序不同的状况,相似"sporty men's high-top shoes"和"high-top sporty men's shoes",为了加强模型的鲁棒性,以肯定概率对Query的单词(Word)进行随机打乱,对ImageBERT B模型进行进一步微调。

训练后各模型在验证集(Val)上的成果如表5所示:

为了充分利用全副有标签的数据,本计划进一步应用了验证集(Val)对模型进行FineTune。为了防止过拟合,最终提交后果只对ImageBERT A模型进行了上述操作。

在Query-Image样本对的相关性的预测阶段,本计划对测试集(testB)Query所蕴含的短句进行统计,发现其中“sen department” 这一短句在测试集(testB)中大量呈现,但在训练集(Train)中从未呈现,但呈现过“forest style”这个短句。为了防止这组同义短句对模型预测带来的影响,抉择将测试集(testB)中Query的“sen department”替换为“forest style”,并且利用ImageBERT A对替换后的测试集进行相关性预测,后果记为ImageBERT A'。

4.3 模型交融和后处理

通过上述的模型构建、训练以及预测,本计划共失去了4个样本对相关性得分的文件。接下来对预测后果进行Ensemble,并依照肯定策略进行后处理,失去Query相应的Image候选排序汇合,具体步骤如下:

(1)在Ensemble阶段,本计划抉择对不同模型所得相关性分数进行加权求和,作为每一个样本对的最终相关性得分,各模型依照LXMERT、ImageBERT A、ImageBERT B、ImageBERT A'的程序的权值为0.3:0.2:0.3:0.2,各模型的权重利用网格搜寻的形式确定,通过遍历4个模型的不同权重占比,每个模型权重占比从0到1,选取在valid集上成果最优的权重,进行归一化,作为最终权重。

(2)在失去所有Query-Image样本对的相关性得分之后,接下来对Query所对应的多张候选图片进行排序。验证集(Val)和测试集(testB)的数据中,局部Image呈现在了多个Query的候选样本中,本计划对这部分样本做了进一步解决:

a.思考到同一Image通常只对应一个Query,因而认为同一个Image只与相关性分数最高的Query相干。应用上述策略对ImageBERT B模型在验证集(Val)上所得后果进行后处理,模型的NDCG@5 分数从0.7098晋升到了0.7486。

b.思考到同一Image对应的多条Query往往差别较小,其语义也是比拟靠近的,这导致了训练后的模型对这类样本的区分度较差,较差区分度的相关性分数会肯定水平上引起模型NDCG@5的降落。针对这种状况咱们采纳了如下操作:

  • 如果同一Query的相关性分数中,Top1 Image和Top2 Image相关性分数之差大于肯定阈值,计算NDCG@5时则只保留Top 1所对应的Query-Image样本对,删除其余样本对。
  • 相同的,如果Top1 Image和Top2 Image相关性分数之差小于或等于肯定阈值,计算NDCG@5时,删除所有蕴含该Image的样本对。

应用上述策略对ImageBERT B的验证集(Val)后果进行后处理,入选定阈值为0.92时,模型的NDCG@5 分数从0.7098晋升到了0.8352。

能够看到,采纳策略b解决后,模型性能失去了显著晋升,因而,本计划在测试集(testB)上,对所有模型Ensemble后的相关性得分采纳了策略b进行解决,失去了最终的相关性排序。

5. 多模态在美团搜寻的利用

后面提到过,美团搜寻是典型的多模态搜寻场景,目前多模态能力在搜寻的多个场景进行了落地。介绍具体的落地场景前,先简略介绍下美团搜寻的整体架构,美团整体搜寻架构次要分为五层,别离为:数据层、召回层、精排层、小模型重排层以及最终的后果展现层,接下来依照搜寻的五层架构具体介绍下搜寻场景中多模态的落地。

数据层

多模态示意:基于美团海量的文本和图像/视频数据,构建平行语料,进行ImageBERT模型的预训练,训练模型用于提取文本和图片/视频向量化表征,服务上游召回/排序工作。

多模态交融:图片/视频数据的多分类工作中,引入相关联的文本,用于晋升分类标签的准确率,服务上游的图片/视频标签召回以及展现层按搜寻Query出图。

召回层

多模态示意&交融:内容搜寻、视频搜寻、全文检索等多路召回场景中,引入图片/视频的分类标签召回以及图片/视频向量化召回,丰盛召回后果,晋升召回后果相关性。

精排层&小模型重排

多模态示意&交融:排序模型中,引入图片/视频的向量化Embedding特色,以及搜寻Query和展现图片/视频的相关性特色、搜寻后果和展现图片/视频的相关性特色,优化排序成果。

展现层

多模态交融:图片/视频优选阶段,引入图片/视频和Query以及和搜寻后果的相关性信息,做到按搜寻Query出图以及搜寻后果出图,优化用户体验。

6. 总结

在本次较量中,咱们构建了一种基于ImageBERT和LXMERT的多模态召回模型,并通过数据预处理、后果交融以及后处理策略来晋升模型成果。该模型可能细粒度的对用户查问Query的相干图片进行打分排序,从而失去高质量的排序列表。通过本次较量,咱们对多模态检索畛域的算法和钻研方向有了更深的意识,也借此机会对前沿算法的工业落地能力进行了摸底测试,为后续进一步的算法钻研和落地打下了根底。此外,因为本次较量的场景与美团搜寻与NLP部的业务场景存在肯定的相似性,因而该模型将来也可能间接为咱们的业务赋能。

目前,美团搜寻与NLP团队正在联合多模态信息,比方文本、图像、OCR等,发展MT-BERT多模态预训练工作,通过交融多模态特色,学习更好的语义表白,同时也在尝试落地更多的上游工作,比方图文相关性、向量化召回、多模态特色示意、基于多模态信息的题目生成等。

参考文献

  • [1] Ba, J. L., Kiros, J. R., and Hinton, G. E. Layer Normalization. arXiv preprint arXiv:1607.06450 (2016).
  • [2] Hendrycks, D., and Gimpel, K. Gaussian Error Linear Units (GeLUs). arXiv preprint arXiv:1606.08415 (2016).
  • [3] Qi, D., Su, L., Song, J., Cui, E., Bharti, T., and Sacheti, A. Imagebert: Cross-modal Pre-training with Large-scale Weak-supervised Image-text Data. arXiv preprint arXiv:2001.07966 (2020).
  • [4] Tan, H., and Bansal, M. LXMERT: Learning Cross-modality Encoder Representations from Transformers. arXiv preprint arXiv:1908.07490 (2019).
  • [5] Wang, F., Liu, W., Liu, H., and Cheng, J. Additive Margin Softmax for Face Verification. arXiv preprint arXiv:1801.05599 (2018).
  • [6] Wang, X., Han, X., Huang, W., Dong, D., and Scott, M. R. Multi-similarity Loss with General Pair Weighting for Deep Metric Learning. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (2019), pp. 5022–5030.
  • [7] Li X, Yin X, Li C, et al. Oscar: Object-semantics aligned pre-training for vision-language tasks[J]. arXiv preprint arXiv:2004.06165, 2020.
  • [8] Lu J, Batra D, Parikh D, et al. Vilbert: Pretraining task-agnostic visiolinguistic representations for vision-and-language tasks[C]//Advances in Neural Information Processing Systems. 2019: 13-23.
  • [9] Li L H, Yatskar M, Yin D, et al. Visualbert: A simple and performant baseline for vision and language[J]. arXiv preprint arXiv:1908.03557, 2019.
  • [10] Su W, Zhu X, Cao Y, et al. Vl-bert: Pre-training of generic visual-linguistic representations[J]. arXiv preprint arXiv:1908.08530, 2019.
  • [11] 杨扬、佳昊等. MT-BERT的摸索和实际. https://tech.meituan.com/2019...

作者简介

左凯,马潮,东帅,曹佐,金刚,张弓等,均来自美团AI平台搜寻与NLP部。

招聘信息

美团搜寻与NLP部,长期招聘搜寻、举荐、NLP算法工程师,坐标北京/上海。欢送感兴趣的同学发送简历至:tech@meituan.com(邮件注明:搜寻与NLP部)

浏览更多技术文章,请扫码关注微信公众号-美团技术团队!