关于算法:KDD-Cup-2020多模态召回比赛亚军方案与搜索业务应用

3次阅读

共计 9668 个字符,预计需要花费 25 分钟才能阅读完成。

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 部)

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

正文完
 0