今天给大家介绍的是阿里在WSDM21上发表的一篇文章,题目为《Multi-Interactive A ention Network for Fine-grained Feature Learning in CTR Prediction》,通过多交互注意力网络,建模了用户维度,上下文维度,行为序列维度等细粒度特征与候选物品的相关性,一起来看下。
1、背景
利用用户历史行为序列来挖掘用户兴趣,在CTR预估中是一种比较常用的方法,如阿里提出的DIN和DIEN。但过往的方法主要将重点放在建模用户历史行为序列中物品与候选物品之间的关系,对于用户信息,上下文信息很少关注。可能存在以下三方面的问题:
1)大多数现有的方法主要从用户历史行为中挖掘用户的兴趣,但用户经常会有与过往行为不同的新的需求出现;
2)部分用户的历史行为大都发生在很久以前,而近期行为较少,仅仅依赖于历史行为建模容易推荐出与用户当前兴趣不符的“过时”的物品;
3)上下文因素同样重要,如在夏天相较于冬天,T恤更容易被进行推荐。因此上下文因素和候选物品的特征交互同样需要考虑。
上述所说的三点问题可以由下图表示:
但幸运的是,在大多数推荐系统中,有众多的用户特征和上下文特征可以挖掘,使用这些特征可以有效缓解上述的问题,特别是当用户历史行为较少的情况下。如上图中,如果候选物品是机械键盘,这与用户当前的职业“程序员”可能较为匹配,但从用户历史行为中可能难以发现这一点。
基于上述问题和讨论,论文提出了Multi-Interactive Attention Network (MIAN),一起来看一下。
2、MIAN模型介绍
2.1 整体框架
MIAN的整体架构如下图所示,主要包含三部分,分别是Embedding Layer、Multi-Interactive Layer和Prediction Layer,接下来将分别进行介绍。
2.2 Embedding Layer
模型的输入特征主要包含四个方面,分别是候选物品特征、用户历史行为序列、用户特征和上下文特征。原始输入特征主要是离散特征,经过Embedding layer转换为对应的embedding。
经过转换后,候选物品特征、用户历史行为序列、用户特征和上下文特征分别表示为ei,eb,eu,ec。其中,eb,eu,ec的具体表示如下:
上式中,T表示用户历史行为序列的长度,J和K分别表示用户特征和上下文特征中field的个数。
2.3 Multi-Interactive Layer
这一层是论文的重点,也是主要的创新点所在。Multi-Interactive Layer包含四个单独的模块。
Item-Behaviors Interaction Module (IBIM)
这一模块主要是建模候选物品与用户历史行为序列中物品的关系。其结构如下:
IBIM模块主要包含两部分,首先是一层Pre-LN Transformer,将用户历史行为序列中的每个物品向量转换为对应的hidden state(类似于DIEN中对于用户兴趣的提取,但是Transformer的并行计算可以在一定程度上降低计算耗时),Pre-LN Transformer的block与原始Transformer的block的区别主要在于将Layer Normalization的计算放在Multi-Head Self-Attention之前,具体的计算过程不再过多介绍。随后是attention部分,用于计算每一个hidden state与候选物品之间的相关性,并进行加权求和得到IBIM模块的输出,计算过程如下:
Item-User Interaction Module (IUIM)
如果仅建模历史行为序列和候选物品的关系,当用户行为序列较为少时,难以获得较为准确的推荐结果。因此论文近一步显式建模了用户特征中每一个field的特征与候选物品的关系。例如一个新来的用户,如果是女性,则化妆品可能有更高的被推荐概率,如果是男性,则球鞋等有更高的被推荐可能性。这里个人感觉IUIM模块与下述的ICIM模块在一定程度上也能解决冷启动的问题。
IUIM模块的结构如下:
IUIM模块主要过程是计算候选物品与用户每个field特征的相关性,最后再进行加权求和,计算过程如下:
Item-Context Interaction Module (ICIM)
ICIM模块与IUIM模块结构相同,用于显式建模上下文特征中每一个field的特征与候选物品的相关性,过程如下:
Global Interaction Module (GIM)
经过上述三个模块,已经获得了7部分的特征表示,分别是候选物品特征表示、用户历史行为序列特征表示、用户特征表示和上下文特征表示,以及IBIM、IUIM和ICIM三个模块输出的特征表示。前四个可以看作是低阶特征表示,后三个可以看作是高阶特征表示。DCN论文中表明,显式建模低阶特征和高阶特征的交互,可以有效提升CTR预估效果。因此借鉴此思想,论文近一步增加了GIM模块,来显式建模低阶特征和高阶特征的关系,结构如下:
具体的计算如下:
其中,L是rg的特征总数,并非是7。最终得到的Rg作为Prediction Layer的输入。
2.4 Prediction Layer
Prediction Layer不用过多介绍,是多层全连接神经网络,最终的损失函数为logloss。
3、实验结果
最后来简单看下实验结果,论文对比了MIAN和部分baseline模型在公开数据集和工业数据集上的离线效果,以及MIAN的线上效果,具体结果如下:
好了,论文就简单介绍到这里,想要了解更多具体细节的同学,可以参考原文。下载地址为:https://arxiv.org/abs/2012.06968。