推荐系统遇上深度学习(一三四)-[阿里]对抗过滤建模用户长期行为
今天给大家带来一篇SIGIR2022上阿里中稿的一篇短文,主要研究在建模用户长期兴趣时,如何对用户的长行为序列中噪声进行过滤,选择topK的有用的行为用于CTR预估。论文提出对抗学习的思路来解决这一问题,一起来学习一下。
1、背景
基于用户历史行为序列建模用户的兴趣在CTR预估等领域取得了显著的成果。用户兴趣可以分为短期和长期,短期兴趣一般使用用户近期的行为来建模,长期兴趣则使用用户较长一段时期内的行为进行建模。由于用户在淘宝上的行为非常多,导致在建模用户长期兴趣时,使用的用户历史行为序列长度会非常长。
直接对长序列处理,线上性能难以保证,因此现有对于用户长行为序列的建模方法,大都采用的思想是将长序列转换为短序列,再采取类似DIN的方法进行处理,如MIMN引入Memory Network对行为序列信息进行提取和存储,并引入Memory Utilization Regularization对写入的权重方差进行控制,避免热门的商品主导Memory的更新。在线上预测通过设计单独的UIC模块减少耗时的压力。MIMN的主要缺点在于兴趣的提取无法很好的和候选AD/商品交互(仅通过存储矩阵实现交互),可能会对效果有损。SIM引入General Search Unit对用户行为序列中相关的item进行检索,通过这种检索的方式减少行为序列中item的数量。检索方式分为hard-search和soft-search两种方式,对于hard-search方式来说,通过规则方式进行检索,例如跟target item相同品类的item,这种方式存在的主要缺点是搜索阶段的目标和最终的CTR的目标并非一致,即并非端到端学习。对于soft-search方式来说,基于embedding相似度选取topk的item,这种效果并没有比hard-search提升明显,同时线上耗时增加更加明显。
但上述模型的缺点并非本文重点关注的问题,本文重点关注的是如何对长历史行为序列中的噪声进行处理。这是上述论文都没有涉及到的。
论文提出,用户的长行为序列中可能存在两类的噪声:重复行为和无用行为。对重复行为来说,可能会导致整个序列被少数的几个item所主导,无用的行为如误点击可能并不会反映用户的真实兴趣,对预估造成一定的影响。为了对长行为序列中的噪声进行有效处理,论文提出了ADFM框架(Adversarial Filtering Modeling)。
2、ADFM介绍
4.1 ADFM介绍
ADFM的模型结构如下图所示:
模型输入包括target item信息,user信息,用户多种行为序列(曝光,点击,加购,下单)。从上往下看,ADFM主要包含HAU、BSU、IEU、AIEU等几个模块,接下来分别对其进行介绍:
4.2 Hierarchical Aggregation Unit (HAU):
HAU模块对多个历史行为序列按照一定方式(如item id)进行聚合,同时,为了尽可能保留原始行为序列信息,聚合时增加多个统计信息,如行为出现次数,最近一次发生时间,第一次发生时间等等。
4.3 Behavior Selection Unit (BSU):
BSU引入self-attention对历史行为进行筛选,每个序列中,选择top-k个最有用的行为,具体计算过程为:
上面共三个公式,第一个公式是selt-attention的计算过程,第二个是对序列中的每个行为进行一个打分,第三个公式基于函数Filter(score,embedding,k)是top-k行为筛选,可以看到筛选出的行为对应的embedding是self-attention的输出以及对应的score的乘积。
4.4 Interest Extraction Unit (IEU)
IEU模块同样引入self-attention,基于选择的历史行为和target item,进行兴趣的抽取,并得到CTR预估值:
4.5 Adversarial Interest Extraction Unit(AIEU)
为了保证BSU模块抽取到的top-K的行为时准确的,引入对抗学习的思路,新增AIEU模块。AIEU模块和IEU模块的结构相同,区别在于使用的是topk以外的行为。
4.6 Model Training
IEU和AIEU模块分别计算得到ctr预估值,并计算logloss,模型期望IEU的loss远小于AIEU的loss
直接优化上面的损失同时更新IEU和AIEU两部分网络,topK和非topK行为的变动剧烈导致模型难以收敛,因此模型借鉴对抗学习的思路,进行两阶段的交替训练:
1)一阶段:固定BSU,通过如下的损失优化IEU和AIEU,提升IEU和AIEU的CTR预估准确性:
2)二阶段:固定IEU和AIEU,通过如下的损失优化BSU,提升topK选择的准确性:
3、实验结果
论文将ADFM与众多base模型进行了效果对比,取得了正向的效果:
4、总结
论文提出了一种对长序列行为噪声过滤的方法,并取得了相较于base更优的效果,同时通过对抗学习的思路,减少模型训练的不稳定性,提升行为选取的有效性,另一方面,模型可进行端到端训练。但为了减少线上预测耗时,topK是提前计算好并进行存储的,没有考虑target item,一定程度上对效果有损。
好了,论文就介绍到这里,感兴趣的可以阅读原文~