点击蓝字关注,提升学习效率
title:SEMI: A Sequential Multi-Modal Information Transfer Network for E-Commerce Micro-Video Recommendations
from:KDD 2021
-
导读
本文针对 电商视频 推荐所提出的模型方法,以往的方法关注用户的浏览行为,忽略了购买行为。本文作者将 产品域的用户行为辅助视频推荐 ,提出SEMI模型。SEMI在微视频域和产品域中有效地选择具有多模态特征的相关商品(即微视频和产品)来表征用户的偏好,并结合跨域对比学习CCL预训练一个编码器,对两个域中的序列行为进行编码。
本文主要是从三个方面来解决这个问题:
- 通过跨域对比学习,从稀疏数据中学习到好的表征
- 通过SEMI将不同域的信息进行融合,主要利用注意力机制
Note:
本文涉及相关方法MoCo,不熟悉的小伙伴可以阅读:https://zhuanlan.zhihu.com/p/94390862
-
方法
如图所示为所提方法的框架图,包含一些基础组件和SEMI方法的流程以及CCL方法
2.1 问题定义
用户的近期行为包括用户对短视频的观看行为和用户对产品的点击行为。对于目标视频,用户的产品点击序列为,观看序列为。预测问题可以表示为下式,
2.2 基础组件
主要包含三个组件:特征提取器,多头注意力块和多模态序列编码器
2.2.1 特征提取器
这部分采用预训练模型UniVL[1]提取视频的多模态信息(名字,标签,帧等),采用UNITER提取产品的多模态信息(名字,类型等)。分别得到视频和产品的多模态表征,。具体可见该论文附录部分和参考文献。
2.2.2 多头注意力块
利用多头注意力块在用户的产品行为是视频行为中挖掘用户的行为模式,其具体流程如图所示。多头注意力部分的计算方式是常见的方式,这里不做过多介绍。 不熟悉的小伙伴可以看Multi-Modal Hypergraphs这篇的attention layer部分 。
2.2.3 多模态序列编码器
如图所示为视频和产品序列的编码器结构。上一节的注意力机制可以发现不同商品之间的关系,但是他对位置不敏感,因此这一部分,利用时间戳embedding来保留顺序信息,从而可以随着时间变化捕获用户的动态偏好。
首先 ,将用户的历史行为划分为多个时间块,每个时间块时间间隔1h。 然后 ,为每一个时间块学习一个时间戳embedding,视频域和产品域的时间戳分别表示为,,在相同时间快内,共享同一时间戳embedding。 视频的输入特征 为,由时间戳embedding和多模态embedding求和得到,对于产品采用同样的方式计算得到。对序列中的每个视频或产品计算得到输出embedding后,对整个序列进行多头自注意力计算(Q,K,V相同),得到最终表征为,。
2.3 跨域对比学习CCL
在电商环境中,许多用户的视频行为序列很稀疏,比如有的人一周可能就看了少于三个视频,如果从头开始训练跨域推荐模型,行为数据会严重影响跨域只是迁移。本文采用CCL来预训练视频和产品的多模态序列编码器,动机是一个活跃用户在一个会话内的行为具有一致性。 CCL 的目标是使得来自一个活跃用户的同一会话的微视频序列和产品序列的表征相似 。基于MoCo[3],作者设计了用于跨域推荐场景的动量对比学习。如图所示,为每个batch的微视频和产品序列构建两个基于队列的字典,其中“key(键)”是从数据中随机采样的。序列编码器经过训练以执行字典查找:编码的“query(查询)”应该与其匹配键的值相似,而与其他键的值不同。该训练目标最大化不同域之间互信息的下限。令和表示视频和产品的行为序列的集合。,表示用户在视频和产品上的序列行为,样本对来自用户的同一会话,查边编码器为,,键编码器为,。可学习参数分别为,。这些编码器就是2.2.3中的编码器,公式如下,g()是最大池化。
如图所示为CCL的伪代码,
-
2-4行,从和中随机采样K个样本构成集合,
-
7-12行,对于每一个epoch中的每个循环,加载数据并放到队列中
-
对于微视频序列表征到产品序列表征,计算所有微视频序列样本相对于产品序列字典𝐷𝑝𝑠 中的负样本的后验,如下所示,其中M为batch size。后验是在一个跨域空间上定义的,其中包含一个正样本对和 𝐾个负样本对
-
同理可以计算出产品序列表征对于微视频的后验。公式如下
-
17行,对于查询编码器,,结合交叉熵损失函数和反向传播对其参数进行更新,其中γ是学习率,是真实标签表示是否是一对。
-
然后利用动量更新键编码器的参数,公式如下,其中m是动量的值,
动量更新允许字典缓慢地改变它们的状态,从而使它们在迭代中保持一致。执行双向对比编码并端到端地训练整个模型。最后,CCL 生成预训练的序列编码器,它可以学习有区别的微视频和产品序列表示。
2.4 SEMI
预训练的序列编码器通过最大化不同域之间的互信息来弥合序列表示级别的域差距。为了对用户可能喜欢的视频进行预测,作者提出SEMI方法, SEMI 由分层注意力机制组成,可以充分整合和增强用户在两个域中的兴趣,并自动选择这些域中的相关商品,以动态捕捉用户的偏好 。
首先 ,利用CCL预训练好的参数初始化两个序列编码器,然后生成域内的表征,; 然后 ,两者拼接后送入多头注意力块,Q,K,V相同。 做完注意力机制后 ,拆分得到和,分别和目标视频做注意力机制,目标视频的embedding由视频的多模态信息embedding和时间戳embedding求和得到,在注意力机制中Q是目标视频embedding,K和V相同,可以是或者,然后得到用户在两个域中的表征,。 最后 ,将用户在两个域的表征,以及目标视频的表征拼接后,送入MLP计算得到预测概率。损失函数采用交叉熵损失函数。
-
结果
image.png
-
参考文献
[1] Huaishao Luo, Lei Ji, Botian Shi, Haoyang Huang, Nan Duan, Tianrui Li, Jason Li, Taroon Bharti, and Ming Zhou. 2020. UniVL: A Unified Video and Language PreTraining Model for Multimodal Understanding and Generation. arXiv:2002.06353
[2] Yen-Chun Chen, Linjie Li, Licheng Yu, Ahmed El Kholy, Faisal Ahmed, Zhe Gan, Yu Cheng, and Jingjing Liu. 2020. UNITER: UNiversal Image-TExt Representation Learning. arXiv:1909.11740
[3] Yuxin Wu Saining Xie Ross Girshick Kaiming He, Haoqi Fan. 2020. Momentum Contrast for Unsupervised Visual Representation Learning. In CVPR. IEEE.
精彩推荐
交流群:联系作者--备注“研究方向-公司或学校”
长按关注
更多精彩
秋枫学习笔记
点个在看你最好看