推荐系统遇上深度学习(一二五)-[阿里]CTR预估中的端到端用户行为检索

今天给大家带来一篇阿里在长用户行为序列建模中的探索,前面也介绍过SIM和UBR4CTR两篇论文,均是通过两阶段检索的思路,从长用户行为序列中选择与目标item相关的用户行为,用于后续的决策。那么针对这种两阶段的方式中存在的阶段目标不一致的问题,本论文提出了一种端到端用户行为检索方法,一起来看一下。

1、背景

CTR预估中,用户行为建模算是一种里程碑式的进展。首先简单回顾一下用户行为建模的发展思路。最初的方法使用sum/avg pooling、RNN、CNN的方式对用户行为进行处理,这些方法对于不同的目标item,处理后得到的行为向量表示都是相同的。DIN中,针对用户行为所表现出的Diversity和Local activation两个特性,使用注意力机制显式建模目标item和用户历史行为中的item的相关性,并进行加权pooling得到行为向量表示。DIEN在DIN的基础上,进一步通过GRU建模了用户兴趣的演进过程。但由于线上耗时的限制,DIN和DIEN仅能处理长度较短的用户行为序列。而在电商等场景下,用户的行为序列往往是比较长的,那么仅使用最近的部分行为序列,仅能建模用户的短期兴趣,无法对用户长期、周期、固有的兴趣进行建模,因此MIMN使用记忆网络对长用户行为进行建模。更进一步,SIM和UBR4CTR通过一种两阶段的方式,实现了用户终身行为序列建模。

对于SIM和UBR4CTR的两阶段方式,首先在第一阶段,通过检索的方式,从用户行为序列中选择与目标item最相近的k个item,检索的方式如选择与目标item的品类或其他属性相同的item等等。在第二阶段,使用第一阶段的到的k个item,用DIN等方法进行点击率的预测。这种两阶段的方式主要的弊端是阶段目标不一致,即一阶段的基于物品的属性信息选择top-k的相似item,与最终的CTR预估目标是不一致的。

那么针对阶段目标不一致,论文提出了一种端到端的用户行为检索模型,称作ETA模型(End-to-End Target Attention) ,使用SimHash和Hamming Distance对用户行为进行检索。下面一起来看一下ETA模型的具体内容。

2、ETA介绍

ETA模型的整体结构如下图所示:

可以看到,主要包括Embedding layer、Top-K Retrieval模块、Multi-Head Target Attention模块,以及最后的MLP模块,接下来对这些模块进行分别介绍。

2.1 Embedding layer

模型的输入主要包含用户画像特征、目标item特征、上下文特征以及用户长期行为序列和短期行为序列。对于离散特征,首先转换为one-hot表示,然后转换成对应的embedding,对于连续特征,首先进行离散化分桶,再转换为对应的embedding。

2.2 Long-term Interest Extraction Unit

这一部分是论文的主要创新点所在,从用户的长行为序列(终身行为序列)中,高效的选择k个item。为了实现端到端的处理以及更快速的检索,论文采用了SimHash和Hamming Distance方式。过程如下图所示:

首先来看一下SimHash。SimHash是满足局部敏感性质的,即输入的embedding相近,在经过SimHash之后得到的hash结果也是相近的。其过程和示意图如下所示:

SimHash的输入是d维的embedding向量,经过m个d维的hash向量的映射以及0-1转换(大于0转换为1,小于等于0转换为0)操作,的到m维的0-1向量。

对所有的item的embedding进行SimHash转换为0-1向量后,进一步使用Hamming Distance快速计算向量之间的相似性。Hamming Distance即对两个0-1向量进行异或计算,并统计结果为1的个数,那么这个数就是Hamming Distance。对于Hamming Distance的计算,有一些优化算法可以参考,如Brian Kernighan 算法,这些小技巧可以有效减少线上计算的开销。

得到目标item与用户历史行为item的Hamming Distance之后,就可以选择Hamming Distance最小的top-k个item对应的embedding用于后续决策。

2.3 Multi-head Target Attention

经过Long-term Interest Extraction Unit后,选择k个item,并经过Multi-head Target Attention,得到用户长行为序列加权向量表示。这里其实和DIN是相近的操作,只不过从单头升级为了多头的方式,细节不再介绍,具体公式如下:

同样,对于短期行为序列,也经过Multi-head Target Attention得到加权行为向量表示。

2.4 模型训练与部署

经过前述的操作,得到了长期行为加权向量表示和短期行为加权向量表示,再拼接上用户画像、目标item以及上下文特征向量,经过MLP得到CTR预估值。接下来主要说一下模型训练和线上部署。

在模型训练阶段,检索模块是不参与梯度回传的,但选择的top-k的item对应的embedding会进行更新,由于embedding进行了更新,那么SimHash后的结果也会发生变化,相较于基于属性的top-k的item检索方式,检索阶段和CTR预估阶段的gap是明显减小的。

在线上部署阶段,除保存item对应的embedding table之外,可以进一步保存经过SimHash后的结果,避免线上预估时hash过程的计算,压缩线上耗时。

2.5 模型对比

最后来看一下ETA和SIM以及UBR4CTR的模型对比:

3、实验结果

论文给出了ETA与base模型的离线、线上效果以及线上耗时的对比。无论从离线AUC、线上CTR、GMV以及耗时来看,ETA均取得了相较于base较为明显的提升:

好了,论文就介绍到这里,论文中还有许多细节的地方,本文没有进行展开,感兴趣的同学可以阅读原文~~

你可能感兴趣的:(推荐系统遇上深度学习(一二五)-[阿里]CTR预估中的端到端用户行为检索)