如何斩获KDD Cup两冠一季?美团广告团队公开解决方案( 九 )


复杂多模信息匹配问题:怎么进行多模信息融合是多模态学习中的基础性问题 , 而怎么对复杂的多模信息进行语义匹配 , 是本竞赛特有的挑战 。 从数据看 , 一方面商品图片多框 , 信息含量大、噪点多;另一方面用户搜索 query 一般具有多个细粒度属性词 , 且各个词均在语义匹配中发挥作用 。 这就要求我们在模型设计上针对性地处理图和 query 两方面的复杂性 , 并做好细粒度匹配 。
竞赛技术方案
该团队的方案直接回应了上述两项挑战 , 其主体部分包含两方面内容:一是通过联合多样化的负采样策略和蒸馏学习来桥接训练数据和测试集的分布 , 处理分布不一致问题;二是采取细粒度的文本 - 图片匹配网络 , 进行多模信息融合 , 处理复杂多模信息匹配问题 。 最后 , 通过两阶段训练和多模融合 , 进一步提升模型表现 。
整个方案的流程如图 16 所示:
如何斩获KDD Cup两冠一季?美团广告团队公开解决方案
本文插图
图 16:基于多样化负采样的多阶段蒸馏学习框架
下面我们来看该方案的各个部分 。
1. 多样化负采样策略和预训练
训练集和测试集分布不一致 。 最直观的不一致是 , 训练集中只有正样本 , 没有负样本 , 因此需要设计负采样策略来构造负样本 , 并尽可能使得采样的样本靠近测试集的真实分布 。
最直观的想法是随机采样 。 随机采样简单易行 , 但和验证集区别较大 。 分析验证集发现 , 同一 query 下的候选图片通常有着紧密的语义关联 。 如「甜美法式长裙」这一 query 下 , 待选的图片全是裙装 , 只是在款式上有所不同 。 这说明 , 这一多模匹配赛题需要在较细的属性粒度上对文本和图片进行匹配 。 从图片标签和 query 词两个角度出发 , 我们可以通过相应的聚类算法 , 使得待采样的空间从全局细化为相似语义条目 , 从而达到负采样更贴近测试集分布的目的 。
基于如上分析 , 该团队设计了如表 9 所示的四种采样策略来构建样本集 。 这四种策略中 , 随机采样得到的正负样本最容易区分 , 按 query 最后一词采样得到的正负样本最难区分;在训练中 , 该团队从基准模型出发 , 先在最简单的随机采样上训练基准模型 , 然后在更困难的按图片标签采样、按 query 的聚类采样上基于先前的模型继续训练 , 最后在最难的按 query 最后一词采样的样本上训练 。 这样由易到难、由远到近的训练方式 , 有助于模型收敛到验证集分布上 , 在测试集上取得更好的效果 。
如何斩获KDD Cup两冠一季?美团广告团队公开解决方案
本文插图
表 9:多样化负采样
2. 蒸馏学习
尽管使用多种采样策略 , 可从不同角度逼近测试集的真实分布 , 但由于未直接利用测试集信息指导负采样 , 因此该方法仍存在不足 。
于是 , 该团队采用蒸馏学习的办法 , 来进一步优化负采样逻辑 , 以便获取更贴近测试集的 label 分布 。 如图 17 所示 , 在通过训练集负采样得到的样本集上预训练以后(第 1 步);将该模型在验证集上进一步 finetune , 得到微调模型(第 2 步);利用微调模型 , 反过去在训练集上打伪标签 , 作为 soft label , 并把 soft label 引入 loss , 和原始的 0-1 hard label 联合学习(第 3 步) 。 这样 , 在训练集的训练上 , 直接引入了验证集的分布信息 , 进一步贴近了验证集分布 , 提升了预训练模型的表现 。
如何斩获KDD Cup两冠一季?美团广告团队公开解决方案
本文插图
图 17:多阶段蒸馏学习
3. 细粒度匹配网络
多模态学习方兴未艾 , 各类任务、模型层出不穷 。 针对此次竞赛面临的复杂图片和搜索 query 匹配的问题 , 参照 CVPR 2017 VQA 竞赛的冠军方案 , 该团队设计了图 18 所示的神经网络模型作为主模型 。