【FCon】聚焦金融行业在数智化的全面革新,一线的金融数智化实践干货 了解详情
写点什么

KDD Cup 2020 多模态召回比赛季军方案与广告业务应用

  • 2020-10-07
  • 本文字数:7179 字

    阅读完需:约 24 分钟

KDD Cup 2020多模态召回比赛季军方案与广告业务应用

6 月 17 日,极客时间《企业级 Agents 开发实战营》正式上线,10 周掌握企业级 Agents 从设计、开发到部署全流程。

ACM SIGKDD(ACM SIGKDD Conference on Knowledge Discovery and Data Mining)是世界数据挖掘领域的顶级国际会议。今年,KDD Cup 共设置四个赛道共五道赛题,涉及数据偏差问题(Debiasing)、多模态召回(Multimodalities Recall)、自动化图学习(AutoGraph)、对抗学习问题和强化学习问题。

美团搜索广告算法团队最终在Debiasing赛道中获得冠军(1/1895),在AutoGraph赛道中也获得了冠军(1/149)。在Multimodalities Recall赛道中,亚军被美团搜索与 NLP 团队摘得(2/1433),而季军被美团搜索广告算法团队收入囊中(3/1433)。

本文将介绍多模态召回赛道季军的技术解决方案,以及在美团搜索广告业务中的应用与实践。希望能给从事相关工作的同学带来一些帮助或者启发。

背景

美团到店广告平台搜索广告算法团队基于自身的业务场景,一直在不断进行前沿技术的深入优化与算法创新,团队在图学习、数据偏差、多模态学习三个前沿领域均有一定的算法研究与应用,并取得了不错的业务结果。


基于这三个领域的技术积累,团队在 KDD Cup 2020 比赛中选择了三道紧密联系的赛题,希望应用并提升这三个领域技术积累,带来技术与业务的进一步突破。团队的黄坚强、胡可、漆毅、曲檀、陈明健、郑博航、雷军与中科院大学唐兴元共同组建参赛队伍 Aister,参加了 AutoGraph、Debiasing、Multimodalities Recall 三道赛题,最终在 AutoGraph 赛道中获得了冠军(1/149)(KDD Cup 2020 自动图学习比赛冠军技术方案及在美团广告的实践),在 Debiasing 赛道中获得冠军(1/1895)(KDD Cup 2020 Debiasing比赛冠军技术方案及在美团广告的实践),并在 Multimodalities Recall 赛道中获得了季军(3/1433)。



图 1 KDD 2020 会议


要处理自然界、生活中多种模态纠缠、互补着的信息,多模态学习是必由之路。随着互联网交互形态的不断演进,多模态内容如图文、视频等越发丰富;在美团的搜索广告系统中,也体现出同样的趋势。


搜索广告算法团队利用多模态学习相关技术,已在业务上取得了不错的效果,并在今年 KDD Cup 的 Multimodalities Recall 赛道获得了第三名。本文将介绍 Multimodailites Recall 赛题的技术方案,以及团队在广告业务中多模态学习相关技术的应用与研究,希望对从事相关研究的同学能够有所帮助或者启发。



图 2 KDD Cup 2020 Multimodalities Recall 比赛 TOP 10 榜单

赛题介绍与分析

题目概述

多模态召回赛题由阿里巴巴达摩院智能计算实验室发起并组织,关注电商行业中的多模信息学习问题。2019 年,全世界线上电商营收额已经达到 3530 亿美元。据相关预测,到 2022 年,总营收将增长至 6540 亿美元。大规模的营收和高速增长同时预示着,消费者对于电商服务有着巨大的需求。跟随这一增长,电商行业中各种模态的信息越来越丰富,如直播、博客等等。怎样在传统的搜索引擎和推荐系统中引入这些多模信息,更好地服务消费者,值得相关从业者深入探讨。


本赛道提供了淘宝商城的真实数据,包括两部分,一是搜索短句(Query)相关,为原始数据;二是商品图片相关,考虑到知识产权等,提供的是使用 Faster RCNN 在图片上提取出的特征向量。两部分数据被组织为基于 Query 的图片召回问题,即有关文本模态和图片模态的召回问题。


为方便理解,本赛道提供了少量真实图片及其对应的原始数据,下面是一个例子。该图例是一个正样例,其 Query 为 Sweet French Dress,图片主体部分是一名身着甜美裙装的女性,主体部分以外,则有大量杂乱信息,包括一个手提包、一些气球以及一些商标和促销文字信息。赛题本身不提供原始图片,而提供的是 Faster RCNN 在图片上提取出的特征向量,即图片中被框出的几个部分。可见,一方面 Faster RCNN 提取了图片中有明显语义的内容,有助于模型学习;另一方面,Faster RCNN 的提取会包含较多的框,这些框体现不出语义的主次之分。怎样利用这些框和文本相匹配,是该赛题的核心内容。


本次赛题设置的评价指标为 NDCG@5。具体来说,在给定的测试集里,每条 Query 会给出约 30 个样本,其中大约 6 条为正样本,其余为负样本。赛题需要选手设计匹配算法,召回出任意 5 条正样本,即可获得该 Query 的全部分数,否则,按照召回的正样本条数来计算 NDCG 指标作为该 Query 的分数。全部 Query 的分数进行平均,即为最终得分。



图 3 Query 和 Product 数据示例

数据分析和理解

本赛道提供了三份数据集,分别称为训练集、验证集和测试集。各个数据集的基本信息如下:



表 1 数据集概况


为进一步探索数据特点,我们将验证集给出的原始图片和特征信息做了聚合展现,下表是一组示例。



表 2 搜索短语与图片的匹配正负例


根据如上探索,我们总结了数据集的三个重要特点:


  • 训练集和验证集/测试集的数据特点大不相同。训练集量级显著高于验证集/测试集,足有三百万条 Query-Image 对,是验证集/测试集的一百倍以上。同时,训练集的每条 Query-Image 对均被视为正样本,这和验证集给出的一条 Query 下挂多个有正有负的 Image 截然不同。而通过对验证集原始图片和 Query 进行可视化探索,可见验证集数据质量很高,应该为人工标注。考虑人工标注成本和负样本的缺失,训练集有极大可能描述的是点击关系,而非人工标注的语义匹配关系。我们的解决方案中必须要考虑到训练集分布和测试集分布并不匹配这一基本特点。

  • 图片信息复杂,常常包含多个物体。这些物体均被框出,作为给定特征,但各个框之间语义信息并不平等;某些是噪音,如 Query(men’s high collar sweater)下的墨镜、围巾、相机等框图,某些又是因商品展示需要而重复,如 Query(breathable and comfortable children’s shoes)下的重复鞋的框图。平均来说,一张图片有 4 个框,怎么将这多个框包含的语义信息去噪、综合,得到图片的整体语义表达,是建模的一个重点。

  • Query 作为给定的原始文本,有着与常用语料截然不同的构造和分布情况。从示例表可见,Query 并非自然语句,而是一些属性和商品实体连缀成的短语。经过统计发现,90%的 Query 都由 3-4 个单词组成;训练集有约 150 万的不同 Query,其词表大小在 15000 左右;通过最后一个单词,可将全部 Query 归约为大约 2000 类,每一类都是一个具体的商品名词。我们需要考虑文本数据的这些特质,进行针对性处理。

问题挑战

本竞赛是在电商的搜索数据上的一个多模信息匹配任务。从上述数据集的三个特点出发,我们总结了该竞赛的两大主要挑战:


第一,分布不一致问题。经典统计机器学习的基础假设是训练集和测试集分布一致,不一致的分布通常会导致模型学偏,训练集和验证集效果难以对齐。我们必须依赖于已有的大规模训练集中的点击信号和小规模的和测试集同分布的验证集,设计可行的数据构建方法和模型训练流程,采取诸如迁移学习等技术,以处理这一问题。


第二,复杂多模信息匹配问题。怎么进行多模信息融合是多模态学习中的基础性问题,而怎么对复杂的多模信息进行语义匹配,是本竞赛特有的挑战。从数据看,一方面商品图片多框,信息含量大、噪点多;另一方面,用户搜索 Query 一般具有多个细粒度属性词,且各个词均在语义匹配中发挥作用。这就要求我们在模型设计上针对性处理图和 Query 两方面的复杂性,并做好细粒度的匹配。


针对这两大挑战,下面将详述搜索广告团队的解决方案。

竞赛方案

我们的方案直接回应了上述两个挑战,其主体部分包含两方面的内容,一是通过联合多样化的负采样策略和蒸馏学习以桥接训练数据和测试集的分布,处理分布不一致问题;二是采取细粒度的文本-图片匹配网络,进行多模信息融合,处理复杂多模信息匹配问题。最后,通过两阶段训练和多模融合,我们进一步提升了模型表现,整个方案的流程如下图所示。下面详述方案的各个部分。



图 4 基于多样化负采样的多阶段蒸馏学习框架

多样负采样策略和预训练

训练集和测试集分布不一致。最直观的不一致是,训练集中只有正样本,没有负样本。我们需要设计负采样策略来构造负样本,并尽可能使得采样出的负样本靠近测试集真实分布。最直观的想法是随机采样。随机采样简单易行,但和验证集区别较大。


但分析验证集发现,对同一 Query 下的候选图片,通常有着紧密的语义关联。如“甜美法式长裙”这一 Query 下,待选的图片全是裙装,只是在款式上有不同。这说明,这一多模匹配赛题需要在较细的属性粒度上对文本和图片进行匹配。从图片标签和 Query 词两个角度出发, 我们可以通过相应的聚类算法,使得待采样的空间从全局细化为相似语义条目,从而达到负采样更贴近测试集分布的目的。


基于如上分析,我们设计了如下表所示的四种采样策略来构建样本集。这四种策略中,随机采样得到的正负样本最容易被区分,按 Query 最后一词采样得到的正负样本最难被区分;在训练中,我们从基准模型出发,先在最简单的随机采样上训练基准模型,然后在更困难的按图片标签采样、按 Query 的聚类采样的样本集上基于先前的模型继续训练,最后在最难的按 Query 最后一词采样的样本集上训练。这样由易到难、由远到近的训练方式,有助于模型收敛到验证集分布上,在测试集上取得了更好的效果。



表 3 多样化负采样

蒸馏学习

尽管使用多种采样策略,可从不同角度去逼近测试集的真实分布,但由于未直接利用测试集信息指导负采样,这些采样策略仍有不足。因而,我们采用蒸馏学习的办法,来进一步优化负采样逻辑,以求拿到更贴近测试集的样本集分布。


如下图所示,在通过训练集负采样得到的样本集上预训练以后(第 1 步),我们将该模型在验证集上进一步 Finetune,得到微调模型(第 2 步)。利用微调模型,我们反过去在训练集上打伪标签,作为 Soft Label,并把 Soft Label 引入 Loss,跟原始的 0-1 Hard Label 联合学习(第 3 步)。这样,训练集的训练上,即直接引入了验证集的分布信息,进一步贴近了验证集分布,提升了预训练模型的表现。



图 5 多阶段蒸馏学习

细粒度匹配网络

多模态学习方兴未艾,各类任务、模型层出不穷。针对我们面临的复杂图片和搜索 Query 匹配的问题,参照 CVPR 2017 的 VQA 竞赛的冠军方案,我们设计了如下的神经网络模型作为主模型。


该模型的设计主要考虑了如下三点:


  • 利用带门全连接网络做语义映射。图片和 Query 处于不同语义层级,需利用函数映射到相同的语义空间,我们采取了两个全连接层的方式达到该目的。实验发现,全连接层的隐层大小是比较敏感的参数,适当增大隐层,可在不过分增加计算复杂度的情况下,显著提升模型效果。此外,如文献所述,使用带门的全连接层可进一步提升语义映射网络的效果。

  • 采用双向 Attention 机制。图片和 Query 均由更细粒度的子语义单元组成。具体来说,一张图片上可能有多个框,每个框均有独立的语义信息;一个 Query 分为多个词,每个词也蕴含独立的语义信息。这一数据特点是由电商搜索场景决定的。因而,在模型设计时,需考虑到单个子语义单元之间的匹配。我们采用单个词和全部框、单个框和全部词双方向的注意力机制,去捕捉这些子单元的匹配关系和重要程度。

  • 使用多样化多模融合策略。多模信息融合有很多手段,大部分最终归结为图片向量和 Query 向量之间的数学操作符。考虑到不同融合方式各有特点,多样融合能够更全面地刻画匹配关系,我们采用了 Kronecker Product、Vector Concatenation 和 Self-Attention 三种融合方式,将经过语义空间转化和 Attention 机制映射后的图片向量和 Query 向量进行信息融合,并最终送入全连接神经网络,得到匹配与否的概率值。


此外,我们采用在训练集样本上预训练词向量的方式得到原始 Query 的表示,而非使用 BERT 模型等流行的预训练模型。这里的主要考虑是,数据分析指出,Query 和常见的自然语句很不同,而更像是一组特定属性/品类名词组合在一起的短语,这和 BERT 等预训练模型所使用的语料有明显差异。事实上,我们初步尝试引入 Glove 预训练词向量等,和直接在 Query 文本上预训练相比,并无明显收益。再考虑到 BERT 模型比较笨重,不利于快速迭代,我们最终没有使用相关的语言模型技术。



图 6 细粒度匹配网络

多模融合

在上述技术手段的处理下,我们得到了多个基础模型。这些模型均可在验证集上进行 Finetune,从而使其效果更贴近真实分布。一方面,Finetune 阶段可继续使用前述的神经网络匹配模型。另一方面,前述神经网络可作为特征提取器,将其在规模较小的验证集上的输出,放入树模型重新训练。这一好处是树模型和神经网络模型异质性大,融合效果更好。最终,我们提交的结果是多个神经网络模型和树模型融合的结果。

评估结果

我们以随机采样训练的粗粒度(图片表示为所有框的平均,Query 表示为所有词的平均)匹配网络为基准模型。下表列出了我们解决方案的各个部分在基准模型上的提升效果。



表 4 不同方法的 NDCG 提升

广告业务应用

搜索广告算法团队负责美团与点评双平台的搜索广告与筛选列表广告业务,业务类型涉及餐饮、休闲娱乐、丽人、酒店等,丰富的业务类型为算法优化带来很大空间与挑战。搜索广告中的创意优选阶段,目的在通过当前搜索词或者筛选意图,为用户的每一个广告展示结果选择高质量的图片。用户的搜索词与图片在维度,表达粒度均有较大差异,我们采用多模态学习来解决这一问题,将跨模表达进行同空间映射。


如下图所示,在多模态网络中,将广告特征、请求特征、用户偏好连同图片特征作为输入,其中图片特征通过 CNN 网络提取图片向量表示,其他特征通过多层 MLP 进行交叉得到稠密向量表示,最终通过图片 Loss 和多模 Loss 两个损失函数约束模型训练。通过这样的建模方式,创意优选模型可以根据查询为不同用户的广告结果呈现最合适的图像。



图 7 广告创意业务中的多模态学习


搜索广告系统分为广告触发、创意优选,点击率预估(广告粒度)等模块。其中,创意优选阶段对于每个广告结果有超过十张的图片候选,线上服务的计算量是点击率预估(广告粒度)的十倍以上,对性能有更高的要求。而为了缩短耗时而减少模型复杂度又必然导致模型精度的的下降。


为了平衡模型的性能和效果,我们借鉴了知识蒸馏的思路来处理这一难题,借用了高表达能力的广告粒度预估模型。如上图 7 所示,左侧模型为复杂的广告粒度点击率预估模型,可以作为教师网络;右侧为简单的创意粒度优选模型,作为学生网络。学生网络的目标损失函数中,除学生网络自身输出 Logit 的 Logloss 以外,还加入了其 Logit 和老师网络输出 Logit 之间的平方误差。这一辅助 Loss 能够迫使学生模型的输出和老师模型的输出更接近。因此,学生模型可以学得与老师模型更接近,从而达到保持相对简单网络规模的同时、提升精度的目的。


除此以外,底层共享 Embedding 的设计,也使得学生模型的底层参数可得到老师模型的训练。并且,在提升精度的同时,多模块之间的一致性(例如 CTR 预估与创意优选)也是系统精度提高的一个关键,在目标与表达学习的 Teacher-Student 联合训练有利于多阶段的目标统一。基于精度提升与多阶段目标的一致性,我们取得线上业务效果较为显著的提升。



图 8 广告创意业务中的蒸馏学习

总结与展望

KDD Cup 是同工业界联接非常紧密的比赛,每年赛题紧扣业界热点问题与实际问题,其中历年产出的 Winning Solution 对工业界有很大影响。例如,KDD Cup 2012 产出了 FFM (Feild-Aware Factorization Machine)与 XGBoost 的原型,在工业界取得广泛应用。


今年的 KDD Cup 主要关注在自动化图表示学习以及推荐系统等领域上。自然界的信息常常是多种模态混合的,对多模信息的处理和处理是近年来的一大研究热点。同时在工业界的搜索引擎或推荐系统中,涉及到的多模信息处理等,正变得越来越重要。特别是随着直播、短视频等业务形态的兴起,多模态学习已变得不可或缺。


本文主要介绍了 KDD CUP 2020 的多模态竞赛情况以及美团搜索广告算法团队的解决方案。对数据进行充分探索后,我们分析出竞赛数据的三大特点,同时定位了赛题有两大挑战,即训练集和测试集分布不一致和复杂多模信息匹配。我们通过多样化负采样策略、蒸馏学习和预训练与 Finetune 等技术处理了分布不一致问题,并通过细粒度匹配网络处理复杂多模信息匹配问题,两方面思路均取得了效果的显著提升。


同时,本文还介绍了多模态学习相关技术在搜索广告业务中的实际应用情况,包括创意优选模型中的图片和用户偏好联合学习、蒸馏学习在创意模型中的应用等。通过比赛高强度、快频率的迭代,团队在多模态学习方面有了更深的理解。在未来的工作中我们会基于本次比赛取得的经验,深入更多的多模态业务场景中进行分析和建模,发挥数据的价值。

参考文献

[1] Teney, Damien, et al. “Tips and tricks for visual question answering: Learnings from the 2017 challenge.” Proceedings of the IEEE conference on computer vision and pattern recognition. 2018.


[2] Hinton, Geoffrey, Oriol Vinyals, and Jeff Dean. “Distilling the knowledge in a neural network.” arXiv preprint arXiv:1503.02531 (2015).


[3] Pennington, Jeffrey, Richard Socher, and Christopher D. Manning. “Glove: Global vectors for word representation.” Proceedings of the 2014 conference on empirical methods in natural language processing (EMNLP). 2014.


[4] Devlin, Jacob, et al. “Bert: Pre-training of deep bidirectional transformers for language understanding.” arXiv preprint arXiv:1810.04805 (2018).


[5] Zhou, Bolei, et al. “Simple baseline for visual question answering.” arXiv preprint arXiv:1512.02167 (2015).


[6] Yu, Zhou, et al. “Deep modular co-attention networks for visual question answering.” Proceedings of the IEEE conference on computer vision and pattern recognition. 2019.


作者介绍


漆毅,坚强,胡可,雷军等,均来自美团广告平台搜索广告算法团队。


本文转载自公众号美团技术团队(ID:meituantech)。


原文链接


KDD Cup 2020多模态召回比赛季军方案与广告业务应用


公众号推荐:

AGI 概念引发热议。那么 AGI 究竟是什么?技术架构来看又包括哪些?AI Agent 如何助力人工智能走向 AGI 时代?现阶段营销、金融、教育、零售、企服等行业场景下,AGI应用程度如何?有哪些典型应用案例了吗?以上问题的回答尽在《中国AGI市场发展研究报告 2024》,欢迎大家扫码关注「AI前线」公众号,回复「AGI」领取。

2020-10-07 14:001854

评论

发布
暂无评论
发现更多内容

预售2小时,破10000册!顶级投资人的投资策略首度全面公开

博文视点Broadview

Binder源码阅读指南之java层

爱好编程进阶

Java 面试 后端开发

BS-GX-018 基于SSM实现在校学生考试系统

爱好编程进阶

Java 面试 后端开发

大数据培训Hive面试核心知识点分享

@零度

大数据 hive

30 网站架构师职场攻略

爱好编程进阶

Java 面试 后端开发

蓝翔:百度开源深度学习平台飞桨的核心技术及应用

百度开发者中心

45天拿下美团Offer,狂抬阿里这本Java性能调优手册,不愧是No

爱好编程进阶

Java 面试 后端开发

Meetup回顾|星策社区FeatureStore Meetup V2

星策开源社区

机器学习 Meetup Feature Store 特征平台 MLOps

什么是知识库管理系统?如何搭建企业知识库系统?

小炮

企业知识管理 企业知识管理工具 知识管理系统

MySQL 无法满足查询性能?北明天时选择 TDengine 实现热网监控和能源分析

TDengine

数据库 tdengine 开源 时序数据库

2021最新最全Java基础高频面试题汇总(1W字详细解析)

爱好编程进阶

Java 面试 后端开发

BAT大厂大佬教你:Docker部署Prometheus+Grafana监控系统

爱好编程进阶

Java 面试 后端开发

java培训JVM内存模型和GC机制的解析

@零度

Java JVM GC

技术文档|基于双目感知的封闭园区自动驾驶搭建--感知适配

百度开发者中心

2021最新Spring Boot 面试题

爱好编程进阶

Java 面试 后端开发

不同阶段的人,如何学习Rust?加入非凸,一起学习!

非凸科技

rust 招聘 编程语言‘

打破虚拟边界的视频交互新方式,AR隔空书写的应用理念和探索实践

阿里云视频云

音视频 AR 直播 视频云

TASKCTL 作业异常报错如何发送短信和邮件

敏捷调度TASKCTL

开源 DevOps 分布式 方法论 敏捷开发

GitHub上最火的SpringCloud微服务商城系统项目,附全套教程

爱好编程进阶

Java 面试 后端开发

GitHub榜首的阿里“绝巅版”工程师面试手册

爱好编程进阶

Java 面试 后端开发

web前端培训javaScript的内存管理机制分享

@零度

JavaScript 前端开发

@Configuration注解 -【Spring底层原理

爱好编程进阶

Java 面试 后端开发

Linux下玩转nginx系列(四)---nginx做Web服务器

anyRTC开发者

nginx Linux Web 音视频 服务器

GitHub 自动合并 pr 的机器人——auto-merge-bot

NebulaGraph

图数据库 知识图谱

elasticsearch实战三部曲之三:搜索操作

爱好编程进阶

Java 面试 后端开发

69-个经典-Spring-面试题和答案详解(下)

爱好编程进阶

Java 面试 后端开发

一文读懂在OpenHarmony轻量设备开发应用

OpenHarmony开发者

OpenHarmony OpenHarmony应用开发 轻量设备

TASKCTL C/S客户端两种不同的登陆模式

敏捷调度TASKCTL

分布式 ETL 批量操作 自动化运维 调度任务

Spring入门基础

乌龟哥哥

4月月更

dubbo实战之三:使用Zookeeper注册中心

爱好编程进阶

Java 面试 后端开发

建木持续集成平台v2.3.0发布

Jianmu

持续集成 工作流 gitops pipeline 建木CI

KDD Cup 2020多模态召回比赛季军方案与广告业务应用_软件工程_坚强_InfoQ精选文章