2018DIN
3】如何建模用户历史序列和候选集之间的关系?局部激活单元
(1)以前的方法:Embedding&MLP范式,首先将大规模稀疏输入特征映射为低维嵌入向量,然后以分组的方式转化为固定长度向量,最后拼接在一起馈送到全连接层(也被称为多层感知器,MLP),学习特征之间的非线性关系。与常用的逻辑回归模型[19]相比,这些深度学习方法可以减少大量的特征工程工作,大大提高模型的能力。为简便起见,本文将这些方法命名为Embedding&MLP,它们目前已成为CTR预测任务中的常用方法。
(2)Embedding&MLP缺点1:由于表示的向量维度有限,Embedding&MLP范式不能很好表达用户广泛的兴趣。例如:用户在访问电子商务网站时,可能会同时对不同种类的商品感兴趣,也就是说,用户的兴趣是多样化的。Embedding&MLP方法通过将用户行为的嵌入向量转化为一个固定长度的向量来学习某一用户所有兴趣的表示,这限制了Embedding&MLP方法的表达能力。
(3)Embedding&MLP缺点2:没有必要将某个用户的所有不同兴趣压缩到同一个向量中,因为只有部分用户的兴趣会影响他/她的行为(点击或不点击)。例如:一个女性游泳者会点击推荐的泳镜,主要是因为她买了泳衣,而不是她上周购物清单上的鞋子。
(4)改进:设计了一种新的深度兴趣网络(DIN),该网络引入局部激活单元。考虑用户历史行为的相关性来自适应计算用户兴趣的表示向量。DIN通过引入局部激活单元,对历史行为的相关部分进行软搜索,关注相关用户兴趣,并采用加权和池化的方法得到用户对候选广告的兴趣表示。与候选广告相关度高的行为具有较高的激活权重,主导用户兴趣的表现。
(5)其他:
1,局部激活单元没有进行softmax归一化,是为了保留用户兴趣的强度
2,小批量感知正则化
3,DIce激活函数
2018DIEN
2】如何建模用户历史序列?GRU
3】如何建模用户历史序列和候选集之间的关系?AUGRU
(1)DIN缺点:只利用了用户的行为,并未挖掘行为背后的兴趣。还有,用户的兴趣是不断变化的,捕获兴趣的动态变化对兴趣表示也很重要。
(2)改进:包括兴趣抽取(提取)层和兴趣演化层。兴趣抽取层,使用GRU网络从用户的历史行为中提取用户的兴趣,此外,引入辅助损失函数去监督每一步的兴趣抽取。兴趣进化层,找到与候选集相关的那部分兴趣的演化过程,判断下一时刻对该兴趣“感兴趣”的程度。捕获与目标项相关的兴趣进化过程与DIN使用局部激活单元不同,DIEN使用改进后的AUGRU考虑到用户行为序列背后的顺序性质。
2019BST
2】如何建模用户历史序列?Transformer
(1)以前模型的缺点1:在WDL中,他们只是将所有的特征连接起来,而没有捕获用户行为序列中的顺序信息,忽略了用户历史的行为序列特征。在DIN中,他们提出使用注意机制来捕捉候选项目与用户之前点击的项目之间的相似性,而没有考虑用户行为序列背后的顺序性质。
(2)以前模型的缺点2:GRU等方式的一大缺点是对用户历史序列进行串行计算,耗时相对来说还是较高一些。
(3)改进:用Transformer的方式,来实现用户历史序列的并行计算。最后使用注意力机制,计算与候选集相关程度。
2019DSIN
2】如何建模用户历史序列?Transformer+Bi-LSTM
(1)以前忽略的问题:如何从用户的行为序列中捕捉用户动态的、不断发展的兴趣是点击率预测中一个持续研究的课题。然而,现有的大多数研究忽略了序列的内在结构:序列由会话组成,其中会话是由发生时间分隔的用户行为。我们观察到用户行为在每个会话中都是高度同构的,并且是异构的跨会话。
(2)改进:提出深度会话兴趣网络,该模型利用用户行为序列中的多个历史会话。我们首先使用带有bias编码的自注意机制来提取用户在每个会话中的兴趣,自我注意可以捕捉会话行为的内在交互/相关性,进而提取用户对每个会话的兴趣。这些不同的会话兴趣可能相互关联,甚至遵循顺序模式,因此,在第二部分中,我们应用双向LSTM来捕捉用户不同历史会话兴趣的交互和演变。由于不同的会话兴趣对目标项的影响不同,最后我们设计了局部激活单元,将它们与目标项聚合,形成行为序列的最终表示。
2020SIM
1】如何提取用户的历史序列?GSU
3】如何建模用户历史序列和候选集之间的关系?ESU
(1)现有方法的缺点:丰富的用户行为数据已被证明对点击率预测任务有很大的价值,特别是在推荐系统和在线广告等工业应用中。阿里巴巴提出的基于记忆网络的模型MIMN[8],通过学习算法和服务系统的协同设计实现了SOTA。然而,当用户行为序列的长度进一步增加(例如增加10倍或更多)时,MIMN无法精确地捕捉给定特定候选条目的用户兴趣。这一挑战在以前提出的方法中广泛存在。
(2)改进:基于搜索的兴趣模型。包括GSU和ESU。通用搜索单元GSU,从原始和任意长序列行为数据中进行通用搜索,并结合候选项的查询信息,获得与候选项相关的子用户行为序列。精确搜索单元ESU,模拟候选项目与用户行为序列之间的精确关系,我们利用多头注意力来捕捉不同的用户兴趣。
2020DMIN
2】如何建模用户历史序列?Mutil-head Self-Attention
3】如何建模用户历史序列和候选集之间的关系?多个注意头与局部激活单元
(1)现有方法的缺点:现有的一些研究进一步基于用户历史行为序列对用户表示进行建模,以获取动态发展的兴趣。例如:在DIN中,利用基于注意的方法从用户行为序列中获取与候选项目相关的相对兴趣。但是,它忽略了用户行为序列的顺序。DIEN进一步使用了特别设计的GRU结构来捕捉用户兴趣的演变。DSIN通过将行为序列划分为会话,引入了行为序列的分层视图。然后用自我注意网络对每个会话进行建模,以捕获多个用户的兴趣。我们观察到,用户通常同时具有多个兴趣,潜在的主导兴趣是通过历史行为来表达的。潜在主导兴趣的转变是由于历史行为改变了。因此,建模和跟踪潜在的多兴趣将是有益的。
(2)改进:包括行为细化层和多兴趣提取层。行为细化层,使用多头自注意机制用于细化用户行为序列中项目的表示zt,然后再使用辅助损失函数。多兴趣提取层能够捕获潜在的多个兴趣,引入另一个多头自注意层和局部注意单元来提取多个兴趣。
总结
序列推荐的点击率预测,主要考虑三个个问题:如何提取用户的历史序列?得到历史序列后,如何建模用户历史序列?最后,如何建模用户历史序列和候选集之间的关系?
(1)第一个问题:
(2)第二个问题:
(3)第三个问题: