《TWIN: TWo-stage Interest Network for Lifelong User Behavior Modeling in CTR Prediction at Kuaishou》
终身用户行为建模(life-long user behavior modeling
),即从数月甚至数年的丰富历史行为中提取用户的隐藏兴趣(hidden interests
),在现代 CTR prediction
系统中起着核心作用。传统算法大多遵循两个级联的阶段:
简单的通用搜索单元 (General Search Unit: GSU
),用于对数万个长期 behaviors
进行快速且粗略的搜索。
精确搜索单元 (Exact Search Unit: ESU
),用于对来自 GSU
的少数最终入围者进行有效的 Target Attention: TA
。
现有算法虽然高效,但大多存在一个关键限制:GSU
和 ESU
之间的 target-behavior
的相关性指标(relevance metrics
)不一致。因此,这些算法的 GSU
通常会错过高度相关的 behaviors
,但会检索出被 ESU
认为不相关的 behaviors
。在这种情况下,无论如何分配注意力,ESU
中的 Target Attention
大多会偏离真正的用户兴趣,从而降低整体的 CTR prediction
的准确率。
为了解决这种不一致性,我们提出了两阶段兴趣网络(TWo-stage Interest Network: TWIN
),其中我们的 Consistency-Preserved GSU: CP-GSU
采用与 ESU
中的 Target Attention
相同的 target-behavior relevance metric
,使两个阶段成为孪生。具体来说,为了突破 Target Attention
的计算瓶颈并将其从 ESU
扩展到 GSU
,即将 behavior
长度从 behavior feature splitting
构建了一种新颖的注意力机制。对于 behavior
的视频固有特征,我们通过高效的 pre-computing & caching
策略来计算它们的线性投影。对于 user-item
交叉特征,我们在注意得分计算中将每个特征压缩为一维的 bias
项从而节省计算成本。两个阶段之间的一致性,加上 CP-GSU
中有效的 Target Attention-based
相关性指标,有助于显著提高 CTR prediction
的性能。
在快手 46B
规模的真实生产数据集上的离线实验和在线 A/B test
表明,TWIN
的表现优于所有对比的 SOTA
算法。通过优化在线基础设施,我们降低了 99.3%
的计算瓶颈,这有助于 TWIN
在快手上的成功部署,服务于每天数亿活跃用户的主要流量。
作为中国最受欢迎的短视频分享应用(short video sharing apps
)之一,快手高度依赖其强大的推荐系统 (recommendation system: RS
)。每天,推荐系统帮助数亿活跃用户过滤掉数百万个不感兴趣的视频,找到他们感兴趣的视频,留下数百亿条点击日志。这些海量数据不仅为推荐系统的训练提供了数据,还推动了技术革命,不断提升该平台的用户体验和业务效率。
在现代推荐系统中,一项基本任务是 CTR prediction
,旨在预测用户点击某个 item / video
的概率。准确的 CTR prediction
指导推荐系统为每个用户提供他们最喜欢的内容,并将每个视频传递给其感兴趣的受众。为了实现这一点,CTR
模型应该高度个性化,并充分利用稀缺的用户信息。因此,终身用户行为建模(life-long user behavior modeling
),即从丰富的长期历史行为中提取用户的隐藏兴趣(hidden interests
),通常是 CTR
模型的关键组成部分。
工业级的 life-long behavior modeling
算法大多遵循两个级联的阶段(《Search-based user interest modeling with lifelong sequential behavior data for click-through rate prediction》
):
(1)
:一个通用搜索单元 (General Search Unit: GSU
)对数万个长期 behaviors
进行快速且粗略的搜索,并输出少量的 most target-relevant
的行为;
(2)
:一个精确搜索单元 (Exact Search Unit: ESU
)对来自 GSU
的少数最终入围者进行有效的 Target Attention: TA
。
这种两阶段设计背后的原因有两个方面:
一方面,为了精确捕获用户兴趣,Target Attention
是强调 target-relevant behaviors
和抑制 target-irrelevant behaviors
的适当选择。
另一方面,Target Attention
昂贵的计算成本将其适用的序列长度限制为最多几百。为此,一个简单快速的 GSU
作为 pre-filter
至关重要从而用于截断工业规模的用户行为序列,因为这些序列在短短几个月内很容易达到
近年来,出现了许多关于两阶段 life-long behavior modeling
的新兴研究,而它们的关键区别在于 GSU
策略,其中 GSU
策略粗略地选择 target-relevant behaviors
。例如:
SIM Hard
简单地从与 target item
相同的 category
中选择 behaviors
;而 SIM Soft
通过内积从 pre-trained item embeddings
中计算 target-behavior relevance score
,并选择相关性最高的 behaviors
。
ETA
使用局部敏感哈希(locality-sensitive hashing: LSH
)和汉明距离来近似 relevance score
的计算。
SDIM
通过多轮哈希碰撞(multi-round hash collision
)等方法对具有与 target-behavior
相同哈希签名(hash signature
)的 behaviors
进行采样。
尽管已被广泛研究,但现有的两阶段 life-long behavior modeling
算法仍然存在一个关键限制:GSU
和 ESU
之间的不一致(如 Figure 1
所示)。具体来说,GSU
中使用的 target-behavior relevance metric
既粗略又与 ESU
中使用的 Target Attention
不一致。因此,GSU
可能会错过 relevant behaviors
,而且可能会检索 ESU
认为不相关的 behaviors
从而浪费 ESU
宝贵的计算资源。在这种情况下,无论如何分配注意力,ESU
中的 Target Attention
会很大地偏离真实的用户兴趣,从而降低整体 CTR prediction
的准确率。
为了解决这种不一致(inconsistency
),我们提出了两阶段兴趣网络( TWo-stage Interest Network: TWIN
)从而用于 lifelong user behavior modeling
,其中 Consistency-Preserved GSU: CP-GSU
采用与 ESU
中的 Target Attention
相同的target-behavior relevance metric
,使两个阶段成为孪生(twins
)。为了将昂贵的 Target Attention
扩展到 CP-GSU
,TWIN
通过有效的 behavior feature split
、简化的 Target Attention
架构、以及高度优化的在线基础设施,突破了 Target Attention
的关键计算瓶颈,即所有 behaviors
的线性投影。
1)
:具体来说,对于跨 users / behavior sequences
共享的 video inherent features of a behavior
(例如 video id, author, duration, topic
),我们通过高效的 pre-computing & caching
策略加速它们的投影。
2)
:对于 behavior
的 user-video
交叉特征(例如用户的 click timestamp, play time, rating
),当 caching
不适用时,我们通过将它们的投影压缩为 bias
项来简化 Target Attention
架构。
通过优化后的在线基础设施,我们成功地将Target Attention
的适用序列长度从 ESU
中的 CP-GSU
中的 CP-GSU
中的 Target Attention-based relevance metric
,有助于显著提高 CTR prediction
的性能。
总体而言,我们做出了以下贡献:
在我们提出的 TWIN
中,CP-GSU
精确且一致地检索不仅 target-relevant
而且被 ESU
认为重要的 behaviors
,从而最大限度地提高了 behavior modeling
的 retrieval
效果。据我们所知,我们是第一个成功解决两阶 life-long behavior modeling
问题中不一致性的人。
我们通过对快手 46B
规模的工业级数据集进行大量的离线实验,以及在线 A/B test
,从而验证 TWIN
的有效性。我们通过消融研究验证了我们的有效性,并表明 TWIN
带来了显著的 online benefits
。
我们构建了高效的工业级的基础设施,将 TWIN
应用于真实的在线推荐系统。我们提出了有效的 pre-computing & caching
策略,将 TWIN
的计算瓶颈(即 CP-GSU
中 linear projection of behaviors
)减少了 99.3%
,并满足了 online serving system
的低延迟要求。目前 TWIN
已经部署在快手的推荐系统上,服务于每日 3.46
亿活跃用户的主要流量。
在本文中,我们建议将 Target Attention
结构扩展到 GSU
,并将 embeddings and attention parameters
从 ESU
同步到 GSU
,从而保持端到端训练。结果,我们同时实现了网络结构和模型参数的一致性,与 ETA
和 SDIM
相比,这有助于显著提高性能。我们在 Table 1
中详细说明了我们的模型与其他模型的不同之处。
ESU
和GSU
的网络结构和网络参数完全相同,所以称之为 “孪生”。
请注意,我们的工作不同于旨在加速 Transformer
的 indexing
算法(例如 LISA
)。它们通过将 behaviors
映射到 codebooks
并查找距离来近似 relevance score
的计算。然而我们的工作以及许多其他两阶段算法都使用精确的距离计算,但使用 GSU
作为pre-filter
从而减少了 behaviors
的数量。
TWIN
算法的核心是对attention score
计算中最耗时的linear projection
进行优化。但是这种优化仅适用于inference
阶段,而不适用于training
阶段。论文创新点一般,对算法层面优化较少,更多地是工程优化。
首先,我们回顾了 CTR prediction
问题的一般基础知识。然后,我们描述了快手 CTR prediction
系统的模型架构。接着,我们进一步深入探讨了我们提出的 consistency-preserved lifelong user behavior modeling module
,即 TWo-stage Interest Network: TWIN
。最后,我们介绍了确保 TWIN
在快手主流量上成功在线部署的基本 accelerating
的策略。
Table 2
总结了所使用的符号。
CTR prediction
的目的是预测用户在特定上下文中点击一个 item
的概率。准确的 CTR prediction
不仅可以通过提供 preferred contents
来提升用户体验,还可以通过触达 interested audiences
来提高内容生产者和平台的业务效率。因此,CTR prediction
已成为各种工业级推荐系统(尤其是快手等短视频推荐平台)的核心部分。
CTR prediction
通常被表述为一个二分类问题,其目标是在给定训练数据集 predictor
函数 feature vector
(即 user, item and contexts features
的拼接);ground truth label
,表示用户是否点击该 item
。predicted CTR
计算如下:
其中:sigmoid
函数,它将 prediction
(0, 1)
之间。
模型通过最小化 negative log-likelihood
来训练:
为简洁起见,我们在以下章节中省略了训练样本索引
现在我们来介绍快手的 CTR prediction
系统的架构。详细信息如 Figure 2
所示。
下图中,
ESU
和CP-GSU
的网络结构和网络参数一模一样,那为什么弄两个一模一样的东西?是否可以移除掉ESU
?根据论文的解释:在
ESU
的MHTA: multi-head target attention
中,对于使用原始的线性投影而不做拆分从而用于加权聚合。如果只有 CP-GSU
,那么包含所有行为的 embedding
,这个投影的代价非常高。那么:
是否可以仅仅使用
CP-GSU
,然后仅仅选择top-k
来做线性投影从而用于加权聚合?或者,在
ESU
中使用不同的网络参数,即,使用原始的线性投影而不做拆分,从而计算attention score
?
Embedding Layer
: 在最底层,我们的模型从 feature embedding layer
开始,该层将训练样本的原始特征转换为 embedding vectors
。
在不失一般性的情况下,我们假设所有特征在经过必要的预处理后都处于 categorical
的形式。对于 vocabulary size
为 categorical information
编码为 one-hot / multi-hot code
请注意,在大多数工业级系统中,vocabulary size
(尤其是 user / author / video ids
的 vocabulary size
)可以轻松扩展到数亿。因此,一种常见的策略是将极高维的 hot codes
转换为低维 embeddings
:
其中:embedding dictionary
,embedding
维度。在我们的系统中,我们将 vocabulary
大的 id
特征的 embedding
维度设置为 64
,将其他特征(如 video topic, video played timestamp
)的 embedding
维度设置为 8
。
在所有 upper layers
中,我们将 embedding vectors
作为输入,因此为了简洁起见省略了下标 “emb”
。
Deep Networks
:我们的 CTR prediction
的总体架构如 Figure 2
所示。upper module
由堆叠的神经网络和 ReLU
组成,充当mixer
,用于学习三个 intermediate modules
的输出之间的交互:
TWIN
:所提出的 consistency-preserved life-long user behavior modeling
模块,通过两个 cascading stages
的 behavior modeling
子模块提取用户兴趣:
1)
:Consistency-Preserved General Search Unit: CP-GSU
,从数万个长期历史行为中粗略搜索 100
个最相关的行为。
2)
:Exact Search Unit: ESU
,采用注意力机制对 CP-GSU
的 100
个最终入围者来捕获精确的用户兴趣。
传统算法通常由“轻量级”的 GSU
和“重量级”的 ESU
组成。与传统算法不同,我们提出的 CP-GSU
遵循与 ESU
相同的 relevance evaluation metric
,使两个 cascading stages
成为 TWINS
。因此,CP-GSU
始终检索出来 ESU
认为重要的 items
,从而最大限度地提高 behavior modeling
的有效性。
Short-term behavior modeling
:从最近的 50
个 behaviors
中提取用户兴趣。该模块关注用户最近几天的短期兴趣,是 TWIN
的有力补充。
其他任务建模:除了 behavior modeling
之外,我们还拼接了各种其他任务建模的输出,这些任务建模可以建模用户的性别、年龄、职业、位置、视频时长、主题、受欢迎程度、质量和上下文特征,上下文特征包括播放日期、时间戳、页面位置等。
我们将提出的算法命名为 TWIN
,以强调 CP-GSU
遵循与ESU
相同的 relevance evaluation metric
。请注意,这种一致性并非微不足道,因为:
有效的 behavior modeling
算法通常基于多头目标注意力 (Multi-Head Target Attention: MHTA
) ,它通过强调 target relevant behaviors
来精确地捕获用户兴趣。不幸的是,由于计算复杂度高,MHTA
适用的 behavior sequence
长度大多仅限于几百。
为了详尽地捕获用户的长期兴趣,CP-GSU
应该涵盖过去几个月的 user behaviors
,这些 user behaviors
很容易达到数万。考虑到在线系统严格的低延迟要求,这个序列长度远远超出了传统 MHTA
的容量。
本节旨在回答这个关键问题:如何提高 MHTA
的效率,以便我们可以将其从 ESU
扩展到 CP-GSU
?或者换句话讲,从数百的序列长度扩展到至少数万的序列长度?
Behavior Feature Splits and Linear Projection
:按照 MHTA
的标准符号,我们将长度为 behavior sequence
behavior
的特征。在实践中,MHTA
的注意力得分计算中,MHTA
在极长 user behavior sequences
上应用的关键计算瓶颈。因此,我们提出以下措施来降低其复杂性。
我们首先将 behavior features matrix
我们将 behavior items
的固有特征(例如 video id, author, topic, duration
),这些特征与特定的 user / behavior sequence
无关。
我们将 user-item
交叉特征(例如 user click timestamp, user play time, clicked page position, user-video interactions
)。
这种分割可以高效计算接下来的线性投影
对于固有特征 id
特征为 64
,field
数量),但线性投影实际上并不昂贵。特定 item
的固有特征在 users / behavior sequences
之间共享。通过必要的缓存策略,look up and gathering
过程有效地“计算”。在线部署的细节将在接下来章节中介绍。
但是,训练的时候没有
caching
,因此会非常消耗资源。然而,训练的时候没有inference latency
的限制,可以堆显卡来解决。
对于 user-item
交叉特征
1)
:交叉特征描述 a user and a video
之间的交互细节,因此不会跨 users behavior sequences
来共享。
2)
:对于一个视频,每个用户最多观看一次。也就是说,在投影 cross features
时没有重复计算。因此,我们通过简化 linear projection weight
来降低计算成本。
给定 embedding
维度为 vocabulary size
的 id
特征)。我们有 linear projection
简化如下:
其中:
使用这个简化的投影,我们将每个 cross feature
压缩到一个维度,即 diagonal block matrix
)。
复杂度分析:在传统的 MHTA
中,
通常
。
而在我们对 TWIN
的 MHTA
中:
item
固有特征 pre-computed
并有效地 gathered
,复杂度为
在训练阶段是没有
pre-computed
的的,因此在训练阶段的复杂度还是很高。
而 user-item
交叉特征
由于 MHTA
能够在 CP-GSU
和 ESU
中一致地实施。
这里仅仅优化了线性投影的计算复杂度,但是没有优化
attention
的计算复杂度。attention
的计算复杂度为:,这比线性投影低得多。而原始算法中, attention
的计算复杂度为。
Target Attention in TWIN
:基于 linear projection of behaviors
CP-GSU
和 ESU
中统一使用的 target-behavior relevance metric
。
不失一般性,我们假设用户和 target item
之间没有交互,并将 target item
的固有特征记作 target item
与历史行为之间的 relevance score
其中:projected query and key
的维度。
注意,这里
bias
项的计算与无关。是否可以考虑引入 ?
这个 relevance score
由 query
(即 target
的固有特征)与 key
(即 behaviors
的固有特征)之间的内积计算得出。此外,由于交叉特征被压缩为 1
维,因此可用作 bias
项。我们使用
在 CP-GSU
中,这个 relevance score
100
个最相关的 behaviors
。而在 ESU
中,我们对 100
个最终入围者执行加权平均池化:
其中:
我们通过设置 100
个 behaviors
执行,因此可以在线高效进行。我们不需要像为 behaviors
计算
注意:在
ESU
中,仍然使用了Behavior Feature Splits and Linear Projection
策略从而计算注意力权重。但是,对于,这里不进行拆分。
为了共同关注来自不同 representation
子空间的信息,我们在 MHTA
中采用 4
个头。因此,TWIN
的 final output
定义为:
其中 head
之间相对重要性。
我们在快手的 ranking system
上部署了 TWIN
,服务于 3.46
亿日活用户的主要流量。在本节中,我们介绍我们在部署中的实际经验。我们的系统架构细节如 Figure 3
所示。
训练系统:我们的 TWIN
模块与整个 CTR prediction
模型在快手的 large-scale distributed nearline learning system
上进行联合训练。
每天,有数亿用户访问快手,观看短视频以及与短视频互动,每天留下 46B
条观看和互动日志。在 8
分钟时间内,每条日志都被实时收集、实时预处理并用于模型训练。该 nearline training system
使用 8
分钟内发生的 user-video
互动中的最新知识增量地更新模型参数。
Figure 3
里给出的是46 million/day
,但是正文部分说的是46 billion/day
。
此外,我们的 message queue system
每 5
分钟一次将最新的参数值从 training system
持续同步到离线推理系统和在线服务系统。这种同步确保了 online CTR prediction service
始终基于最新模型。
离线推理:offline inferring system
旨在通过提供 lookup service
来加速 online serving
。当接收到 lookup keys
(即,一个 batch
的 video ids
)时,此 service
将返回 lookup values
,即相应的 projected inherent features
的拼接形式(即,所有 heads
offline inferring system
由两部分组成:
1)
:一个 inherent feature projector
,使用从 training system
同步的最新 embeddings
和 TWIN
参数 linear projection of inherent features
。通过适当的频率控制,该 projector
可以每 15
分钟刷新一次 8B
规模的 candidate video pool
的 projected inherent features
,从而最大限度地减少 caching
造成的准确率损失。
2)
:一个 embedding server
,将 inherent feature projector
的结果存储到 key-value
结构中,并提供上述 key lookup service
。通过截断尾部视频,8B keys
可以覆盖 97%
的 online request
,平衡了效率和效果。
Online Serving
:一旦收到一个 request
,online serving system
就会向 offline inferring system
查询从而得到 projected inherent features
user-item relevance score
100
个 behaviors
,并将这 100
个 behaviors
输入到 ESU
。这种设计在实践中将 TWIN
的计算瓶颈(即 99.3%
。
请注意,只有 100 behaviors
的 ESU
足够轻量,可以使用从 training system
同步的最新参数来实时进行所有计算。因此,ESU
计算出的 CP-GSU
中的略微更新,这进一步提升了我们的 Target Attention
机制的性能。
通过加速设计,TWIN
成功部署在快手的 ranking system
上,服务于 3.46
亿活跃用户的主要流量,峰值请求为每秒 30M
个视频。
在本节中,我们详细介绍了在真实工业数据上进行的离线和在线实验,以评估我们提出的方法,目的是回答以下五个研究问题(research question: RQ
)。
RQ1
:与 lifelong user behavior modeling
中的其他 SOTA
相比,TWIN
在离线评估中的表现如何?
RQ2
:与其他 SOTA
相比,TWIN
能实现多大的一致性?或者说,为什么 TWIN
有效?
RQ3
:随着用户行为序列长度的增长,TWIN
的有效性如何变化?
RQ4
:所提方法中的关键组件、以及不同实现方式的效果如何?
RQ5
:TWIN
在实际在线推荐系统中的表现如何?
数据集:为了在现实情况下评估 TWIN
在 lifelong user behavior modeling
中的作用,我们需要一个大型的 CTR prediction
数据集,该数据集应具有丰富的用户历史 behaviors
,理想情况下可以 scale up
到每个用户数万个 behaviors
。不幸的是,现有的公共数据集要么相对较小,要么缺乏足够的用户历史 behaviors
。例如,在广泛使用的 Amazon
数据集中,每个用户平均只有不到 10
个历史行为。在 Taobao
数据集中,用户行为的平均序列长度最多为 500
。因此,我们从快手(中国顶级短视频分享平台之一)收集了一个工业数据集。
我们从每日用户日志中构建样本,以用户的点击作为标签。如 Table 3
所示,快手的每日活跃用户规模约为 3.46
亿。每天发布 45M
条短视频,这些视频总共播放了 46B
次。平均而言,每位用户每天观看 133.7
个短视频。为了利用丰富的 behavior
信息,我们从数月前的旧日志中收集完整的用户历史行为。平均而言,每位用户在过去六个月内观看了 14,500
个视频,这为模型提供了一个试验台,这个试验台包含了可供学习的丰富的用户历史行为。我们将最大用户行为序列长度限制为 100,000
,这大约是重度用户一年的总观看次数。
baselines
:为了证明有效性,我们将 TWIN
与以下 SOTA
的 lifelong user behaviors modeling
算法进行了比较。
Avg-Pooling
:user lifelong behaviors
的均值池化。
DIN
:最广泛采用的 short-term behavior modeling
方法,它使用 Target Attention
从而用于 target-specific interests
。
SIM Hard
:GSU
从与 target item
相同的 category
中选择 behaviors
,ESU
遵循 DIN
中的 Target Attention
。在我们的场景中,video categories
总数为 37
。
ETA
:局部敏感哈希 (Locality-sensitive hash : LSH
) 用于为 target video and behaviors
生成哈希签名(hash signature
)。然后 GSU
使用汉明距离作为 target-behavior relevance metric
。
SDIM
:GSU
通过多轮哈希碰撞(multi-round hash collision
)选择具有与 target video
相同哈希签名的 behaviors
。在原始论文中,ESU
线性聚合了multi-round hash collision
所采样到的 behaviors
从而获得用户兴趣。在我们的实验中,为了公平比较,ESU
采用了更强大的 Target Attention
。
SIM Cluster
:由于 “category”
需要昂贵的人工标注,并且在短视频场景中通常不可靠,因此我们实现了 SIM Cluster
作为 SIM Hard
的改进版本。我们根据 pre-trained embeddings
将视频分组为 1,000 clusters
。GSU
从与 target item
相同的 clusters
中检索 behaviors
。
SIM Cluster+
:是 SIM Cluster
的改进版,其中 clusters
数量从 1,000
个扩展到 10,000
个。
SIM Soft
:GSU
使用视频的 pre-trained embeddings
的内积得分来检索 relevant behaviors
。内积是一种比汉明距离和哈希碰撞更精细的检索方法,但计算成本更高。
综上所述:
ETA
和 SDIM
采用端到端训练方法,但使用粗略的检索方法以避免高复杂度的计算。
SIM Cluster
、SIM Cluster +
、以及 SIM Soft
采用精细的检索方法,但代价是它们必须使用 pre-trained embeddings
并提前生成离线倒排索引(offline inverted index
)。
请注意,SIM Soft
尚未被后续工作 ETA
和 SDIM
击败。我们没有与 UBR4CTR
进行比较,因为它的迭代式训练(iterative training
)不适合我们的流式场景(streaming scenario
)。此外,UBR4CTR
被证实比 SIM Hard
和 ETA
的表现更差。
实验设置:
我们使用一天中连续 23
个小时的样本作为训练数据,并使用接下来一个小时的样本进行测试。我们连续 5
天评估所有算法并报告 5
天的平均性能。
相当于将算法重复
5
次并报告平均性能。
对于离线评估,我们使用两个广泛采用的指标:AUC
和 GAUC
。
AUC
表示正样本得分高于负样本得分的概率,反映了模型的排序能力。
GAUC
对所有用户的 AUC
进行加权平均,权重设置为该用户的样本数。GAUC
消除了用户之间的 bias
,以更精细和公平的粒度评估模型性能。
为了公平比较,在所有算法中,除了 long-term behavior modeling
模块外,我们使用相同的网络结构,包括 embedding layers
、upper deep networks
、short-term behavior modeling
和 other task modelings
。
对于两阶段模型,我们使用最近的 10,000 behaviors
为作为 GSU
的输入,并在 ESU
中检索 100 behaviors
用于 Target Attention
。
对于 DIN
,我们使用最近的 100 behaviors
,因为它在处理长序列方面存在瓶颈。
虽然 TWIN
的 CP-GSU
在 attention score computation
中使用了四个 head
,但我们通过四个 head
递归遍历 top ranked items
,直到收集到 100 unique behaviors
。
为什么要做这种简化?会不会影响性能?
对于所有模型,embedding layer
都使用 AdaGrad
优化器,学习率为0.05
。DNN
参数由Adam
更新,学习率为 batch size
设置为 8192
。
Table 4
显示了所有模型的性能。请注意,由于我们的数据集中有大量的用户和样本,因此离线评估中 AUC
和 GAUC
的 0.05%
的改进足以为业务带来 online gains
。
首先,TWIN
的表现明显优于所有基线,尤其是具有不一致 GSU
的两阶段 SOTA
。这验证了 TWIN
在 life-long behavior modeling
中的关键优势,即 CP-GSU
中强大而一致的 Target Attention
。具体而言,CP-GSU
精确地检索出了ESU
认为高度相关的 behaviors
,为最重要的 user information
节省了 ESU
宝贵的计算资源。而在其它基线中,无效且不一致的 GSU
可能会错过重要 behaviors
并引入 noisy behaviors
,从而降低 Target Attention
的性能。
此外,从 Avg-pooling
到 DIN
的增益显示了 Target Attention
在检索有效信息方面的能力。其他两阶段 SOTA
相对于DIN
的增益验证了 modeling long behaviors
的必要性。这两者共同支持了我们的动机:将 Target Attention
扩展到长序列。
其次,仅有端到端训练是不够的。我们观察到 TWIN
明显优于 ETA
和 SDIM
,而这两个强大的基线在 GSU
中的 embeddings
也以端到端的方式进行训练。具体来说,ETA
使用 LSH
和汉明距离,而 SDIM
使用多轮哈希碰撞。与 Target Attention
相比,这两种 GSU
策略都不太精确,并且与它们在 ESU
中使用的 target-behavior relevance metric
不一致。而 TWIN
中的 CP-GSU
不仅是端到端训练的,而且与ESU
中的 Target Attention
一致。这表明精确的relevance metric
对GSU
至关重要,验证了我们优于现有的端到端算法。
第三,以更细的粒度来建模 lifelong behaviors
是有效的。我们比较了 SIM
的变体:具有 37 categories
的 SIM Hard
、具有 1,000 / 10,000 clusters
的 SIM Cluster(+)
、以及针对每个 behavior
单独计算 target-behavior relevance score
的 SIM Soft
。
随着GSU
中使用更细粒度的检索方法,我们观察到性能持续改进。这是因为当 GSU
能够更精细地捕获视频之间的 relevance score
时,它会更准确地检索 behaviors
。从这个角度来看,我们进一步将我们优于 SIM Soft
的原因归功于 TWIN
采用更准确的 relevance metric
。
正如所声称的,我们卓越的 behavior modeling
能力来自 CP-GSU
和 ESU
中一致的 relevance metrics
。但我们真正实现了多大的一致性(Figure 4
)?
对于每个 well-trained
的两阶段模型,我们重用其 ESU
的参数作为其 Oracle
,从而从 10,000 behaviors
中检索 “the real top-100”
。换句话说,这些 real top-100
是 ESU
认为真正重要的 ground-truth
。然后,对于所有被比较算法,我们遍历 GSU output size
,从 outputs
命中 real top-100
。请注意,每个被比较算法都有自己的 Oracle
和 top-100
。但我们只绘制一条 Oracle
曲线,因为所有 Oracles
都完美地击中了 ground truth
。
SIM Soft
得益于 GSU
中更精确的 retrieval
策略,在 retrieval consistency
方面有所改进。
此外,TWIN
在返回 100 behaviors
时实现了 94
次命中,这验证了我们在保持两个阶段之间的一致性方面的优势。请注意,这是最值得注意的 value
,因为考虑到推理时间、以及 Target Attention
计算复杂度的限制,100
是 ESU input
的上限。由于 caching
中的刷新延迟(refresh delay
),我们在实践中没有达到理论上的 100%
的一致性,如正文章节所述。
基于以上结果,我们推测 CP-GSU
比传统 GSU
具有更强的 match user interests with the target video
的能力。这归因于一致性。通过与 ESU
共享相同的结构和参数,CP-GSU
能够准确判断和检索具有相似内容的 videos
。此外,由于 CP-GSU
参数是实时更新的,该模型可以捕获用户的动态变化的兴趣。
我们旨在测试 TWIN
在不同 behavior sequence
长度下的有效性,并进一步挖掘 TWIN
的潜力。请注意,仅更改了 GSU
的输入序列长度,输出长度保持为 100
。结果如 Figure 5
所示。
我们观察到:
1)
:TWIN
始终表现最佳,
2)
:随着序列长度的增加,TWIN
与其他方法之间的性能差距越来越大。这表明 TWIN
在建模极长序列方面具有更好的效果。
我们通过对 TWIN
应用不同的操作来进行消融研究,以评估我们的关键模型设计的贡献:1)
两个阶段之间的一致性; 2)
高效的 MHTA
。
TWIN
在两个方面保持了两个阶段之间的一致性:网络结构和参数。为了研究每个方面带来的好处,我们实现了一个名为 TWIN w/o Para-Con
的变体,它不保留参数一致性。具体来说,我们首先训练一个辅助模型 TWIN-aux
,它使用与 TWIN
相同的网络结构和训练数据,但单独进行训练。然后,我们将 GSU
参数从 TWIN-aux
同步到 TWIN w/o Para-Con
。这是为了确保 TWIN w/o Para-Con
仍然实时被更新,并且 TWIN
和 TWIN w/o Para-Con
之间的差距都是由参数不一致造成的。
如 Figure 6 (left)
所示,TWIN w/o Para-Con
的表现明显优于 SIM Soft
(结构和参数都不一致),但略逊于 TWIN
。这表明网络结构一致性和参数一致性都有好处,但网络结构一致性的贡献更大。
这个配置有点奇怪,为什么不训练这样的模型:
CP-GSU
和ESU
采用相同的网络结构,但是不共享网络参数,然后训练?这个实验不太靠谱。
为了高效地计算 MHTA
从而用于工业级部署,我们拆分 user behavior features
,并将每个 user-item cross feature
压缩为一维 bias
项。为了研究这种修改的影响以及在注意力计算中保留 user-item cross features
的好处,我们实现了两个变体并比较了它们的性能和推理时间:
具有原始 MHTA
的TWIN
,其中使用直接的线性投影 feature split
。缩写为 TWIN w/ Raw MHTA
。
MHTA
中不使用 user-item cross features
的 TWIN
,缩写为 TWIN w/o Bias
。
如 Figure 6 (right)
所示,TWIN
明显优于 TWIN w/o Bias
,并且性能几乎与 TWIN w/Raw MHTA
相同,验证了我们对 MHTA
提出的修改几乎不会影响性能。至于计算成本,由于当 user-item cross features
用于 caching
不适用于 TWIN w/ Raw MHTA
(详见正文章节),因此 TWIN w/ Raw MHTA
的推理时间显著增加。相反,删除 user-item cross features
(TWIN w/o Bias
)不会节省太多计算量,但会损害性能。
为了评估 TWIN
的在线性能,我们在快手的短视频推荐平台上进行了严格的在线 A/B test
。Table 5
比较了快手三个代表性业务场景(Featured-Video Tab, Discovery Tab, and Slide Tab
)下 TWIN
与 SIM Hard
和 SIM Soft
的性能。与电商常用的线上评价指标 CTR
和 GMV
不同,短视频推荐场景通常使用观看时长(Watch Time
),衡量用户观看视频的总时长。
如表所示,TWIN
在所有场景中的表现都明显优于 SIM Hard
和 SIM Soft
。在快手上,观看时长增加 0.1%
被认为是一个有效的改进,TWIN
实现了显著的商业收益。
《TWIN V2: Scaling Ultra-Long User Behavior Sequence Modeling for Enhanced CTR Prediction at Kuaishou》
在大型推荐系统中,建模长期用户兴趣对于 CTR prediction
任务的重要性正逐渐引起研究人员和从业者的关注。现有的研究工作,如 SIM
和 TWIN
,出于效率考虑,通常采用两阶段方法来建模长期用户行为序列:
第一阶段使用 search-based
的机制,即 General Search Unit: GSU
,从长序列中快速检索与 target item
相关的 a subset of sequences
。
而第二阶段使用 Exact Search Unit: ESU
对检索到的结果计算 interest scores
。
鉴于用户行为序列跨越整个生命周期,可能达到 TWIN-V2
,这是 TWIN
的增强版,其中采用分而治之的方法来压缩 life-cycle behaviors
并发现更准确更多样化的用户兴趣。
具体来说,离线阶段,我们通过 hierarchical clustering
方法将 life-cycle behaviors
中具有相似特性的 items
归为一个 cluster
。通过 clusters
的规模,我们可以将远远超过 GSU retrieval
的 online inference
。Cluster-aware target attention
可以提取用户的全面的、多方面的长期兴趣,从而使最终的推荐结果更加精准和多样化。
在数十亿规模的工业级数据集上的大量离线实验、以及线上 A/B test
,证明了 TWIN-V2
的有效性。在高效的部署框架下,TWIN-V2
已成功部署到快手主流量中,从而服务于数亿日活用户。
CTR prediction
对于互联网应用至关重要。例如,快手(中国最大的短视频分享平台之一)已将 CTR prediction
作为其 ranking system
的核心组件。最近,人们投入了大量精力来对 CTR prediction
中的用户长期历史行为进行建模。由于生命周期中的 behaviors
的长度很长,modeling life-cycle user behaviors
是一项具有挑战性的任务。尽管现有研究不断努力延长 historical behavior modeling
的长度,但尚未开发出可以对用户整个生命周期进行建模的方法,从而覆盖 application
中高达 1 million behaviors
。
现代工业系统采用了两阶段方法,以便在可控的推理时间内尽可能多地利用用户历史记录。具体来说:
在第一阶段,通用搜索单元 (General Search Unit: GSU
) 模块用于过滤长期历史行为,选择与 target item
相关的 items
。
在第二阶段,精确搜索单元 (Exact Search Unit: ESU
) 模块对 filtered items
进行进一步处理,通过 target attention
提取用户的长期兴趣。
GSU
的粗粒度的 pre-filtering
使系统能够在 online inference
过程中以更快的速度建模更长的历史行为。许多方法尝试了不同的 GSU
结构来提高 pre-filtering
的准确率,例如 ETA
、SDIM
和 TWIN
。
尽管现有的第一阶段的 GSU
很有效,但它们通常存在长度限制,无法对整个生命周期的 user behaviors
进行建模。例如:
SIM
、ETA
和 SDIM
可以过滤最大长度为
TWIN
将最大长度扩展到
在部署过程中,TWIN
使用最近的 10,000 behaviors
作为 GSU
的输入。不幸的是,这 10,000 behaviors
仅涵盖了用户在快手 App
中最近三到四个月的历史记录,无法涵盖 user behavior
的整个生命周期。如 Figure 1
所示,我们分析了快手 App
中过去三年的 user behavior
。medium and high user groups
在三年内可以观看 App
使用时长的大部分(60% + 35% = 95%
)。因此,modeling the full life-cycle behaviors
可能会增强用户体验并提高平台的商业收益。
为了解决这个问题,我们提出了 TWIN-V2
,这是 TWIN
的增强版,使其能够对 user behavior
的全生命周期进行建模。 TWIN-V2
采用分而治之的方法,将完整的生命周期历史(full life-cycle history
)分解为不同的 clusters
,并使用这些 clusters
来建模用户的长期兴趣。具体来说,我们将模型分为两个部分:离线和在线。
在离线部分,我们使用层次聚类(hierarchical clustering
)将 life-cycle behaviors
中的相似 items
聚合到 clusters
中,并从每个 cluster
中提取特征以形成一个虚拟的 item
。
在在线部分,我们利用 cluster-aware target attention
从而基于 clustered behaviors
来提取长期兴趣。在这里,attention scores
根据相应的 cluster size
被重新加权。
大量实验表明,TWIN-V2
在各种类型用户上提升了性能,从而带来更准确和多样化的推荐结果。
本文主要贡献总结如下:
我们提出 TWIN-V2
从极长的 user behavior
中捕获用户兴趣,成功地延长了 user modeling across the life cycle
的最大长度。
hierarchical clustering
和 cluster-aware target attention
提升了 long sequence modeling
的效率,建模了更准确、更多样化的用户兴趣。
大量离线实验和在线实验验证了 TWIN-V2
在超长用户行为序列的扩展方面的有效性。
我们分享了 TWIN-V2
的部署实践,包括离线处理和在线服务。TWIN-V2
已经服务于快手每日约 4
亿活跃用户的主要流量。
TWIN V2 vs TWIN V1
的在线指标提升,要比TWIN V1 vs SIM
低得多。这意味着TWIN V2
上线之后,系统的商业增益没有那么大。
本文旨在将 long-term history modeling
扩展到生命周期级别,同时保持效率。Table 1
总结了 TWIN-V2
与之前工作的比较。
TWIN V2
比TWIN
多了一步:先对用户行为序列进行聚类,并对每个cluster
构造一个virtual item
来代表这个cluster
。然后将这些virtual items
馈入TWIN
中。但是,
TWIN V2
的效果依赖于一个训练好的recommendation model
。我们需要从这个recommendation model
中获取item embedding
从而进行聚类、以及virtual item
的构造。然而,论文没有提到这个recommendation model
是如何创建和训练的,在实验部分也没有说这个recommendation model
的性能对于TWIN V2
效果的影响。从 “TWIN-V2 的部署” 这一章节来看,我们只需要提供一个初始的
recommendation model
,然后在训练过程中可以用上一轮的TWIN-V2
模型作为这个recommendation model
从而优化下一轮的TWIN-V2
。从这个角度来看,recommendation model
似乎不是特别重要?此外,读者猜测初始的
recommendation model
来自于训练好的TWIN-V1
模型。
本节详细阐述了所提出的模型,详细介绍了从整体工作流到 deployment framework
的整个过程。符号总结如下。
CTR prediction
的核心任务是预测用户点击某一个 item
的概率。令 feature representation
,令 label
。CTR prediction
的过程可以写成:
其中:
sigmoid
函数。
CTR
模型
predicted probability
。
模型
其中:
Figure 2
展示了 TWIN-V2
的整体框架,包括离线和在线部分。本文重点介绍 life-cycle behavior modeling
。因此我们强调这一部分并省略其他部分。
由于整个生命周期的 behavior
对于 online inferring
来说太长,我们首先在离线阶段对 behaviors
进行压缩。User behavior
通常包括许多相似的视频,因为用户经常浏览他们喜欢的主题。因此,我们使用 hierarchical clustering
将用户历史中具有相似兴趣的 items
聚合到 clusters
中。Online inferring
使用这些 clusters
及其 representation vectors
来捕获用户的长期兴趣。
在 online inferring
过程中,我们采用两阶段方法进行life-cycle modeling
:
首先,我们使用 GSU
从 clustered behaviors
中检索与 target item
相关的 top 100 clusters
。
然后,我们使用 ESU
从这些 clusters
中提取长期兴趣。
在 GSU
和 ESU
中,我们实现了 cluster-aware target attention
,并调整不同 clusters
的权重。
考虑到用户在生命周期中的历史行为具有超长序列,我们首先采用分而治之的方法压缩这些 behaviors
,然后从 compressed behaviors
中提取用户的长期兴趣。
对于用户 items
的一个序列 life-cycle behaviors
的数量,item
。用户可能在 similar items
。例如,一个喜欢 NBA
比赛的用户在其历史中可能拥有数百个与篮球相关的视频。因此,一个自然的想法是将 similar items
聚合成 clusters
,用一个 cluster
来表示许多 similar items
,从而减小
正式地,我们旨在使用压缩函数 behavior sequence
其中:clustered behaviors
clustered items
的第
具体而言,我们采用分层聚类(hierarchical clustering
)方法来实现 Algorithm 1
所示。
在第一步中,我们简单地将 historical behaviors
分成几组。我们首先根据用户 playing time ratio
将 historical items
分为 historical item
,这个 playing time ratio
记作
在第二步中,我们递归地对每组的 life-cycle historical behaviors
进行聚类,直到每个 cluster
中的 items
数量不超过 k-means
方法对 behaviors
embeddings
recommendation model
中获得。maximum cluster size
的超参数。
这意味着我们需要一个
pre-trained
模型从而获得。这个 pre-trained
模型的质量会影响TWIN-V2
的效果。
接下来,我们将详细说明 Algorithm 1
背后的原理:
Item Grouping
:在短视频场景中,视频的完播率(playing completion ratio
)可以看作是用户对视频感兴趣程度的指标。我们首先按完播率对 behaviors
进行分组,以确保 final clustering results
具有相对一致的 playing time ratio
。如果不这样做,将导致每个 cluster
内的分布不平衡,因为k-means
仅考虑 item embeddings
。函数 playing time ratio
的范围分成五个相等的部分。5
。
在电商场景下,我们可以按照
action type
对behaviors
进行分组,如click, add_cart, purchase
。
Recursively Adaptive Clustering
:我们选择 hierarchical clustering
而不是 single-step clustering
,因为用户历史是个性化的,因此设置通用的 clustering iterations
数量是不切实际的。
我们还动态设置 number of clusters
(items
数量的 0.3
次方),允许 clustering
适应不同规模的 behaviors
。
当 item size
低于 clustering
过程停止,其中 20
。
单次迭代逻辑:
首先从
中取一个 group
。注意, 被第一步 Item Grouping
所初始化,刚开始包含个 group
。如果
group
的 item
数量低于,则 group
直接作为一个 cluster
。当前迭代结束,进入下一轮迭代。如果
group
的 item
数量大于等于,则对 group
进行 Kmeans
聚类,cluster
数量为group
中 item
数量的0.3
次方。聚类后的每个cluster
都追加到中,从而便于将来迭代。 这种做法使得每个
cluster
的item size
都小于。
在我们的实践中,平均 cluster size
约为 cluster
的数量),大大缩短了 life-cycle behaviors
的长度。用于聚类的 item embeddings
recommendation model
中获得的,这意味着 clustering
是由协同过滤信号所指导的。
因此,我们通过将 similar items
聚合到 clusters
中,将原本很长的用户行为序列
获得 clusters
items of each cluster
中抽取特征。为了最大限度地减少计算和存储开销,我们使用一个 virtual item
来表示 features of each cluster
。
我们将 item features
分为两类(numerical and categorical
),并使用不同的方法抽取它们。
Numerical features
通常使用标量来表示,例如视频时长和用户播放视频的时间。
Categorical features
通常使用 one-hot (or multi-hot)
向量来表示,例如 video ID
和 author ID
。
正式地,给定一个任意 item
为简单起见,我们使用 categorical features
,numerical features
。对于 cluster
我们计算其包含的所有 items
的所有 numerical features
的平均值作为 numerical feature representation
:
对于 categorical features
,由于它们的平均值没有意义,我们采用距离 cluster
item
来表示 cluster
其中:item
embeddings
。这些 embeddings
可以从
注意:这是将距离质心最近的
item
的categorical feature
作为这个cluster
的categorical feature
。
因此,整个 cluster
aggregated, virtual item feature
embedding layers
之后,每个 cluster
的特征都被嵌入到一个向量中,例如,对于 embedding
向量为 GSU
和 ESU
模块根据这些 embedded vectors
估计每个 cluster
与 target item
之间的相关性。
就是一个 “虚拟” 的 item
(即,virtual item
),作为这个cluster
的代表。
遵从 TWIN
,我们同时在 ESU
和 GSU
中采用了相同的有效的注意力机制,将 clusters
representations
作为输入。
给定 clustered behaviors
embedding layer
得到由 representation vectors
组成的矩阵 cluster
的特征 embedding
向量。
对于
numerical feature
,需要先做 bucktize
,然后再做embedding
。
然后我们使用 target attention
机制来衡量 target item
与 historical behaviors
的相关性。我们首先应用 TWIN
中的 “Behavior Feature Splits and Linear Projection”
技术来提升 target attention
的效率,详细信息见论文附录 A.2
。该方法将 item embeddings
拆分为固有的部分和交叉的部分。target item
的固有特征的向量。clustered behaviors
的固有 embedding
和交叉 embedding
,其中 target item
与 clustered behaviors
之间的 relevance scores
其中:
由于 clusters
中的 item counts
千差万别,clusters
与 target item
之间的关系。假设两个 clusters
具有相同的相关性(与 target item
的相关性),则具有更多 items
的 cluster
应该更重要,因为 items
越多意味着用户偏好越强。因此,我们根据 cluster size
调整 relevance scores
:
其中:clusters
的大小,每个元素 cluster
cluster size
。
在 GSU
阶段,我们使用 clustered behaviors
(总长度为 relevance scores
最高的 top 100 clusters
。然后,将这 100 clusters
被输入到 ESU
,在那里根据 relevance scores
对它们进行聚合,从而得到用户长期兴趣的 representation
:
其中
为了简单起见,这个等式中的符号被稍微滥用:在 ESU
阶段设置
其中每个 cluster
的 relevance score
cluster size
我们使用具有 4
个头的多头注意力来获得最终的长期兴趣:
其中
备注:利用从 GSU
中的 hierarchical clustering
中得出的 behaviors
,使模型能够容纳更长的历史行为,从而在我们的系统中实现 life-cycle level modeling
。与 TWIN
相比,GSU
的 life-cycle behaviors
的 input
涵盖了更广泛的历史兴趣,从而提供了更全面、更准确的用户兴趣建模。
此外,虽然现有的方法使用 top 100 retrieved behaviors
作为 ESU
的输入,但 TWIN-V2
使用 100 clusters
。这些 clusters
涵盖了超过 100 behaviors
,使ESU
能够对更广泛的 behaviors
进行建模。
所有这些优势带来了更加准确和多样化的推荐结果,这在实验章节中得到了验证。
我们将部署 TWIN-V2
的实践分为两个部分:在线和离线,如 Figure 3
所示。
在 Figure 3
中,我们以单个用户为例进行说明。当系统收到用户的 request
时:
它首先从离线处理好的 user life-cycle behaviors
中提取 behavioral features
。
然后,使用 GSU
和ESU
,将 behavioral features
建模长期兴趣的 input
从而用于 CTR
模型以进行预测。
我们使用一个 nearline trainer
来进行 real-time model training
,该 trainer
使用实时用户交互数据(数据在 8
分钟的时间窗口内)增量地更新模型参数。
对于 life-cycle behaviors
,我们应用 hierarchical clustering
和feature extraction
来处理它们。这是通过周期性的 offline processing
和 updates
进行的。
Offline Processing
:离线处理旨在压缩用户的整个 life-cycle behaviors
。考虑到快手的用户数量是十亿级的,我们会定期压缩他们的 life-cycle behaviors
。hierarchical clustering runner
每 2
周执行一次全面更新。
我们将 hierarchical clustering
中的 maximum cluster size
20
,导致平均 cluster size
约为 10
。通过 cluster representation extraction
,每个 cluster
被聚合为一个虚拟 item
。在我们的实践中,historical behavior
被压缩为原始长度的 10%
,从而将存储成本降低了 90%
。
我们为 embedding server
采用了 TWIN
中提出的 inherent feature projector
,每 15
分钟从最新的 CTR
模型刷新一次 projector
的参数。
Online Serving
:用户向系统发送 request
后,离线系统将数据特征发送到 GSU
,GSU
计算 behavior-target relevance scores
ESU
选择并聚合 top 100 clustered behaviors
作为长期兴趣从而用于 CTR
模型的预测。为了确保 online inference
的效率,我们保留了 TWIN
的 precomputing and caching
策略(即,预计算并缓存 TWIN-V2
是 TWIN
的增量部署:TWIN
对最近几个月的 behaviors
进行建模,而 TWIN-V2
对整个生命周期的 behaviors
进行建模,使得它们相互补充。
在本节中,我们通过进行大量的离线实验和在线实验来验证 TWIN-V2
的有效性。
数据集:由于 TWIN-V2
是为极长的 user behaviors
而设计的,因此需要使用具有丰富用户历史的数据集。据我们所知,目前还没有平均历史长度超过 App
中提取了连续五天的用户交互数据作为训练集和测试集。样本由点击日志构成,并以 click
为标签。为了捕获用户的 life-cycle
历史,我们进一步追溯了每个用户的过去所有行为,每个用户的最大历史长度为 100,000
。Table 2
展示了该工业数据集的基本统计数据。每天的前 23
个小时用作训练集,而最后一个小时用作测试集。
这种测试集会不会有偏?因为最后一个小时的交互数据的分布可能与前
23
个小时不同。
baseline
:遵循常见做法(《Sampling Is All You Need on Modeling Long-Term User Behaviors for CTR Prediction》
、《TWIN: TWo-Stage Interest Network for Lifelong User Behavior Modeling in CTR Prediction at Kuaishou》
),鉴于我们的重点是建模极长的用户历史记录,我们将 TWIN-V2
与以下 SOTA baselines
进行比较:
(1) Avg-Pooling
:一种利用均值池化的简单方法。
(2) DIN
:它为推荐算法引入了 target attention
。
(3) SIM Hard
:Hard-search
是指 GSU
根据 category
过滤长期历史。
(4) SIM Soft
:Soft search
涉及通过计算 target item
和历史记录中的 items
之间的向量点积来选择 top-k items
。
(5) ETA
:它采用局部敏感哈希(Locality Sensitive Hashing: LSH
)来促进端到端的训练。
(6) SDIM
:GSU
通过收集与 target item
共享相同哈希签名(hashing signature
)的 behaviors
来聚合长期历史。
(7) SIM Cluster
:由于SIM Hard
依赖于 annotated categories
,我们通过 video embeddings
的聚类对其进行了改进。GSU
检索与 target item
位于相同 cluster
中的历史行为。在这里,我们将所有 items
聚类为 1,000 groups
。
(8) SIM Cluster+
:这是 SIM Cluster
的高级变体,其 cluster
数量增加到 10,000
个。
(9) TWIN
:它为 GSU
和 ESU
阶段提出了一种有效的 target attention
。
为了确保公平比较,除了 long-term interest modeling
外,我们在模型的所有方面都保持一致。
评估指标和评估设置:
我们使用一天中连续 23
个小时的样本作为训练数据,并使用接下来一个小时的样本进行测试。我们连续 5
天评估所有算法并报告 5
天的平均性能。
相当于将算法重复
5
次并报告平均性能。
至于评估指标,我们采用了广泛使用的 AUC
和 Group AUC: GAUC
。我们计算了连续 5
天这两个指标的均值和标准差。
GAUC
对所有用户的AUC
进行加权平均,权重设置为该用户的样本数。GAUC
消除了用户之间的bias
,以更精细和公平的粒度评估模型性能。
实现细节:
对于所有模型,我们都使用 industrial context
中相同的 item and user features
,包括 video ID, author ID and user ID
等大量属性。
TWIN-V2
将单个用户历史长度限制为最多 100,000 items
,从而对 life-cycle user behavior
进行聚类。如前文所述,TWIN-V2
经验性地将历史行为压缩为原始大小的约 10%
,从而导致 GSU
中的 maximum input length
约为 10,000
。
对于其他两阶段模型,输入 GSU
的历史行为最大长度限制为 10,000 behaviors
。
对于 DIN
和 Avg-Pooling
,recent history
的最大长度为 100
,因为它们不是为 long-term behaviors
而设计的。
Avg-Pooling
事实上可以支持任意长度的用户行为序列。为什么这里截断为100
?
所有两阶段模型都利用 GSU
来检索 top 100 historical items
并将它们输入 ESU
从而用于 interest modeling
。
batch size
设置为 8192
。Adam
的学习率为 5e-6
。
从 Table 3
的结果中,我们得出以下观察结果:
TWIN-V2
的表现远超其他基线。现有文献(《Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate》
、《DCN V2: Improved Deep & Cross Network and Practical Lessons for Web-Scale Learning to Rank Systems》
)表明,AUC
提高 0.001
对 CTR prediction
具有重要意义,足以产生 online benefits
。TWIN-V2
比表现第二好的 TWIN
模型有所改进,AUC
提高了 0.0013
,GAUC
提高了 0.0024
。这些改进验证了 TWIN-V2
的有效性。
TWIN-V2
在 GAUC
上的相对改进高于 AUC
上的相对改进。GAUC
提供了更细粒度的模型指标。GAUC
的较大改进表明 TWIN-V2
在各种类型的用户中都实现了提升,而不仅仅是在整体样本上表现更好,而且它在特定子集上也表现出色。由于 TWIN-V2
包含更长的行为序列,我们相信它在高度活跃的用户群体中取得了更大的进步,这一假设在附录 A.3
中得到了验证(如 Figure 5
所示)。
我们进行了一项消融研究,以调查核心模块在 TWIN-V2
中的作用以及我们设计背后的原理。
不同 Hierarchical Clustering
方法的比较:我们的 hierarchical clustering
方法有两个主要特点:
1)
:它利用动态 clustering number
sizes of behaviors
。
2)
:k-means clustering
是非均匀的,最终导致不同大小的 clusters
。
我们首先验证自适应的 cluster number
“Binary”
。此外,为了测试均匀 cluster sizes
的效果,我们创建了一个在 balanced k-means clustering
结果的变体,记作 “Balanced&Binary”
。在这个变体中,每次 k-means iteration
之后,对于 larger cluster
中的一部分 item
,如果它们比另一部分 item
更靠近另一个 cluster
的质心,则这些 items
会被移动到另一个 cluster
中,以确保最终两个 cluster
的大小相等。
Table 4
报告了对 TWIN-V2
和这两个变体的统计分析。
在这三种方法中,我们的方法实现了最高的 cluster accuracy
。这表明我们的方法创建的 clusters
中,items
具有更紧密匹配的 representation vectors
,从而导致每个 cluster
内的 items
具有更高的相似度。
cluster accuracy
:每个item
和它所属的cluster
的质心进行cos
相似度计算,然后取平均。
我们的方法还实现了最短的运行时间,证实了自适应
此外,我们还报告了这些方法在测试集上的性能,如 Figure 4 (left)
。
这些结果验证了自适应方法(adaptive method
)可以在每个 cluster
内分配更相似的 items
,并与其他方法相比加快了 hierarchical clustering
的过程。
Cluster-aware Target Attention
的有效性:在提出的 cluster-aware target attention
中,与 TWIN
相比,主要区别在于使用 clustered behavior
作为输入,并根据 cluster size
重新加权 attention scores
。我们分别从 GSU
和 ESU
中删除了 cluster size reweighting
部分,以评估其对性能的影响。具体来说,我们分别将 GSU
和 ESU
的 Figure 4 (right)
显示了实验结果。省略 reweighting
会导致性能下降,这验证了通过 cluster size
来调整 attention scores
的有效性。
我们进行了在线 A/B test
,以验证 TWIN-V2
在我们工业级系统中的性能。Table 5
显示了 TWIN-V2
在快手三个代表性场景(Featured-Video Tab, Discovery Tab, and Slide Tab
)中在观看时长(Watch Time
)和推荐结果多样性方面的相对改进。
观看时长衡量用户花费的总时间。
多样性是指模型推荐结果的多样性,比如视频类型的丰富性。
多样性指标公式是什么?这里没给出来。
从结果来看,TWIN-V2
可以更好地建模用户兴趣,从而提升观看时长。此外,通过建模更长的历史行为,TWIN-V2
可以发现更多样化的用户兴趣,从而带来更加多样化的推荐结果。
《CL4CTR: A Contrastive Learning Framework for CTR Prediction》
许多 CTR prediction
工作侧重于设计高级架构来建模复杂的 feature interactions
,但忽略了 feature representation learning
的重要性,例如,对每个特征采用一个简单的 embedding layer
,这会导致次优的 feature representations
,从而导致 CTR prediction
的性能较差。例如,低频特征(在许多 CTR
任务中占大多数特征)在标准的 supervised learning settings
中较少得到考虑,导致次优的 feature representations
。在本文中,我们引入自监督学习(self-supervised learning
)来直接生成高质量的feature representations
,并提出了一个与模型无关的 Contrastive Learning for CTR: CL4CTR
框架,该框架由三个 self-supervised learning signals
组成,以规范化 feature representation learning
:contrastive loss
、feature alignment
和 field uniformity
。
contrastive module
首先通过 data augmentation
构建 positive feature pairs
,然后通过 contrastive loss
最小化每对 positive feature pair
的 representations
之间的距离。
feature alignment constraint
使得来自同一 field
的特征的 representations
是接近的。
而 field uniformity constraint
使得来自不同 fields
的特征的representations
是远离的。
大量实验验证了 CL4CTR
在四个数据集上取得了最佳性能,并且具有良好的有效性,以及具有与各种代表性 baselines
模型的兼容性。
CTR prediction
旨在预测给定 item
被点击的概率,已被广泛应用于推荐系统和计算广告等许多应用领域。最近,许多方法通过建模复杂的特征交互(feature interactions: FI
) 取得了巨大成功。根据最近的研究,我们将 CTR prediction
方法分为两类:
(1)传统方法,如逻辑回归 (logistic regression: LR
)和基于 FM
的模型,它们只能建模低阶特征交互。
(2)基于深度学习的方法,如 xDeepFM
和 DCN-V2
,可以通过捕获高阶特征交互从而进一步提高CTR prediction
的准确性。此外,许多新颖的架构(例如,self-attention
、CIN
、PIN
)已被提出并广泛部署从而捕获复杂的任意阶的特征交互。
尽管在性能上取得了成功,但许多现有的CTR prediction
方法都存在一个固有问题:高频特征比低频特征有更高的机会被训练,导致低频特征的 representations
不是最优的。在 Figure 1
中,我们展示了 Frappe
数据集和ML-tag
数据集的特征累积分布(feature cumulative distributions
)。我们可以观察到特征频率的明显“长尾”分布,例如,在 ML-tag
数据集中尾部 80%
的特征仅出现 38
次或更少。由于大多数 CTR prediction
模型通过反向传播来学习 feature representations
,低频特征由于出现次数较少而无法得到充分训练,导致 feature representations
不是最优的,从而导致 CTR prediction
性能也不理想。
先前的一些研究(《A Dual Input-aware Factorization Machine for CTR Prediction》
、《An Input-aware Factorization Machine for Sparse Prediction》
)也意识到了 feature representation learning
的重要性,并建议在 embedding layer
之后部署 weight learning
模块(即 FEN
、Dual-FEN
),为每个特征分配权重以提升其 representations
。 然而,额外的 weighting
模块会增加模型参数和推理时间。 此外,与基于特征交互的方法类似,这些方法仅使用 supervised learning signals
来优化来自 plain embedding layer
的 feature representations
,这不足以产生足够准确的 feature representations
。 因此,在本文中,我们专注于直接从 embedding layer
学习准确的 feature representations
,而不引入额外的加权机制,这是模型无关的并且尚未得到广泛研究。
在本文中,我们试图利用自监督学习(self-supervised learning: SSL
)来解决上述问题,其中我们设计self-supervised learning signals
作为约束,从而在训练过程中规范化所学到的 feature representations
。如 Figure 2
所示,我们提出了一种称为 Contrastive Learning for Click Through Rate Prediction: CL4CTR
的新框架,该框架由三个关键模块组成:CTR prediction model
、contrastive module
、以及 alignment&uniformity constraints
。具体来说:
CTR prediction model
旨在预测用户点击 item
的可能性,在 CL4CTR
框架中可以用大多数现有的 CTR
模型来代替它。
在 contrastive module
中,我们设计了三个关键组件:
(1)
数据增强单元(data augmentation unit
),旨在为 output embedding
生成两个不同的视图作为 positive training pairs
,其包括三种不同的 permutation
方法:random mask
、feature mask
和 dimension mask
。
(2)
特征交互编码器(feature interaction encoder
),旨在基于来自数据增强单元的 perturbed embeddings
从而学习紧凑的 feature interaction representations
。
(3)
面向任务的对比损失(contrastive loss
),旨在最小化 positive training pairs
之间的距离。
此外,我们引入了两个约束:feature alignment
和 field uniformity
,以促进 contrastive learning
。feature alignment
迫使来自同一 field
的特征的 representations
尽可能接近,而 field uniformity
迫使来自不同 field
的特征的 representations
尽可能远离。
我们的主要贡献总结如下:
我们提出了一个与模型无关的对比学习框架 CL4CTR
,它可以以端到端的方式直接提高 feature representations
的质量。
考虑到 CTR prediction
任务的独有特点,我们设计了三个自监督学习信号(self-supervised learning signals
):contrastive loss
、feature alignment constraint
以及field uniformity constraint
,以提高对比学习的性能。
在四个数据集上进行的大量实验表明,只需将 CL4CTR
应用于FM
即可超越 SOTA
的方法。更重要的是,CL4CTR
与现有方法具有很高的兼容性,即它通常可以提高许多代表性的 baselines
的性能。
CTR prediction
是一个二分类任务。假设用于训练 CTR prediction
模型的数据集包含 multi-field
表格型的数据记录,包含 fields
和 Table 1
所示。
最近,如 Figure 2(a)
所示,许多 CTR prediction
模型遵循常见的设计范式:embedding layer
、FI layer
和 prediction layer
。
Embedding layer
:通常,每个输入 one-hot vector
表示的稀疏高维向量。而embedding layer
将稀疏的高维特征向量 embedding matrix
:
其中 embedding size
,;
表示向量拼接。
注意:这里是将
的每个特征获取 embedding vector
,然后拼接成矩阵(而不是一维向量)。
另外,我们使用 feature representations
,其中 field
的 representation
,field
Feature interaction layer
:FI layer
通常包含各种类型的交互操作从而捕获任意阶次的特征交互,例如 MLP
、Cross Network
、Cross Network2
和 transformer layer
等。我们将这些结构称为 feature interaction encoders
,用 embedding matrix
feature interaction representation
Prediction layer
:最后,prediction layer
(通常是一个线性回归或 MLP
模块)根据来自 FI layer
的紧凑 representations
sigmoid
函数。
最后,利用 predicted label
true label
CTR
模型常用的损失函数如下:
对比学习(Contrastive learning
):如 Figure 2
所示,除了上述组件之外,我们在 embedding layer
之上提出了三个 contrastive learning signals
:contrastive loss
、feature alignment constraint
和 field uniformity constraint
,以规范化 representation learning
。由于这些信号在模型推理过程中不是必需的,我们的方法不会增加推理时间和底层 CTR prediction
模型的参数。
受到自监督学习的成功的启发,我们寻求在 CTR prediction
任务中部署 contrastive learning
,从而生成高质量的 feature representations
。如 Figure 2(b)
所示,contrastive module
由三个主要组件组成:data augmentation unit
、FI encoder
和 contrastive loss function
。
在 data augmentation unit
中,我们提出了三种不同的面向任务的后验 embedding augmentation
技术来生成 positive training pairs
,即每个 feature embedding
的两个不同视图。
然后,我们将两个 perturbed embeddings
馈入到同一个 FI encoder
以生成两个 compressed feature representations
。
最后,应用 contrastive loss
来最小化两个 compressed feature representations
之间的距离。
通过 Output Perturbation
实现的 Data Augmentation
:在自监督学习中,数据增强(Data Augmentation
)在提高 feature representations
的性能方面显示出巨大的潜力。人们提出了不同的、设计良好的 augmentation
方法,并将它们用于构建同一输入实例的不同视图。例如,在序列推荐(sequential recommendation
)场景中,三种广泛使用的 augmentation
方法是 item masking
、reordering
和 cropping
(《Self-Supervised Learning for Recommender Systems: A Survey》
)。然而,这些方法旨在 augment
行为序列,并不适合部署在 FI-based CTR prediction
模型中。因此,我们首先提出了三种面向任务的 augmentation
方法,旨在为 FI-based
模型来扰动 feature embeddings
。如Figure 2(d)
所示,我们使用函数 data augmentation
过程。
随机掩码(Random Mask
)。首先,我们介绍 random mask
方法,它类似于 Dropout
。该方法以一定的概率 embedding
random mask
生成如下:
其中:1
的概率都是
特征掩码(Feature Mask
):受先前研究(《Feature generation by convolutional neural network for click-through rate prediction》
、《Autoint: Automatic feature interaction learning via self-attentive neural networks》
)的启发,我们建议在初始 embedding
中掩码特征信息,其中 feature mask
可以按如下方式生成:
其中:
如果一个特征被掩码,那么这个特征的 representation
将被 [mask]
替换,它是一个零向量。
维度掩码(Dimension Mask
):feature representations
的维度影响 deep learning
模型的有效性。受 FED
(《Dimension Relation Modeling for Click-Through Rate Prediction》
)的启发,它试图通过捕获维度关系来提高预测性能,我们建议通过替换 feature representations
中特定比例的维度信息来扰乱初始 embedding
,这可以描述如下:
其中:1
的概率都是
在训练过程中,我们选择上述掩码方法之一来生成两个 perturbed embedding
Figure 2(b)
中,
采用什么类型的掩码,这是在训练之前就确定好的,而不是在训练过程中动态三选一来选择的。
Feature Interaction Encoder
:我们利用一个共享的 FI encoder
从两个 perturbed embedding
feature interaction
信息,如下所示:
其中:FI encoder
函数;perturbed embeddings
生成的两个 compressed representations
。
值得注意的是,任何 FI encoder
都可以部署在我们的 CL4CTR
中,例如 cross-network
(《DCN-M: Improved Deep & Cross Network for Feature Cross Learning in Web-scale Learning to Rank Systems》
)、self-attention
( 《Autoint: Automatic feature interaction learning via self-attentive neural networks》
)和 bi-interaction
(《Neural factorization machines for sparse predictive analytics》
)。具体来说,我们选择 Transformer layer
作为我们的主要 FI encoder
。Transformer layer
被广泛用于提取特征之间的 vector-level
关系。
此外,我们发现一些 FI encoders
(例如 cross network
、PIN
)生成的 compressed representations
(field
FI encoder
的 representations
的维度降低到
其中,投影函数 MLP
。
如果采用了
Transformer Layer
,是不是就不需要Projector
了?
Contrastive Loss Function
:最后,应用对比损失函数(contrastive loss function
)来最小化上述两个 perturbed representations
之间的期望距离,如下所示:
其中:batch size
,
为了确保低频特征和高频特征得到同等的训练,一种简单的方法是在训练期间增加低频特征的频率、或降低高频特征的频率。受到其他领域(CV
,NLP
)中先前研究(《Understanding the behaviour of contrastive loss》
、《Understanding contrastive representation learning through alignment and uniformity on the hypersphere》
)的启发,它们可以通过引入两个关键属性(即 alignment and uniformity constraints
)来实现类似的目标,但它们需要构造 positive and negative sample pairs
来优化这两个约束。
在 CTR prediction
任务中,我们发现同一 field
的特征类似于 positive sample pairs
,不同 field
的特征类似于 negative sample pairs
。因此,我们为 CTR prediction
中的对比学习提出了两个新属性,即 feature alignment
和 field uniformity
,它们可以在训练过程中规范化 feature representations
。具体而言:
feature alignment
将来自同一 field
的特征的 representations
拉得尽可能接近。
相反,field uniformity
将来自不同 field
的特征的 representations
推得尽可能远。
Feature Alignment
:首先,我们引入 feature alignment
约束,旨在最小化来自同一 field
的特征之间的距离。直观地讲,通过添加 feature alignment
约束,同一 field
中的特征的 representations
应该在低维空间中分布得更紧密。正式地, feature alignment
的损失函数如下:
其中:feature
的 embedding
,它们来自同一field
;field
embeddings
。
field Uniformity
:现有的 CTR prediction
方法尚未广泛研究不同 field
之间的关系。例如,FFM
学习每个特征的 field-aware representation
,而 NON
提取 intra-field
信息,但它们的技术不能直接应用于对比学习。不同的是,我们引入 field uniformity
来直接优化 feature representation
,从而最小化属于不同 fields
的特征之间的相似性。field uniformity
的损失函数正式定义如下:
其中:
《Self-Supervised Learning for Recommender Systems: A Survey》
、《SelfCF: A Simple Framework for Self-supervised Collaborative Filtering》
)类似,我们使用余弦相似度来正则化 negative sample pairs
:
这里也可以使用其他相似度函数。
field
在 feature alignment
约束和 field uniformity
约束中,我们都发现低频特征和高频特征被考虑的机会是均等的。因此,在训练期间引入这两个约束可以大大缓解低频特征的 suboptimal representation
问题。
对于某些
field
,例如item id
,它的特征取值范围非常大,那么feature alignment
约束和field uniformity
约束如何处理?读者猜测是:采样一部分特征而不是使用该field
的全部特征。
为了将 CL4CTR
框架融入 CTR prediction
场景,我们采用 multi-task training
策略,以端到端的方式联合优化这三个辅助的自监督学习 losses
和原始 CTR prediction loss
。因此,最终的目标函数可以表示如下:
其中:contrastive loss
和 feature alignment and field uniformity loss
。
数据集:Frappe
、ML-tag
、SafeDriver
和 ML-1M
。四个数据集的统计数据如 Table 2
所示。
NFM
和 AFM
严格按照 7:2:1
将 Frappe
和ML-tag
分为训练集、验证集和测试集,我们直接遵循它们的设置。
对于 SafeDriver
和 ML-1M
,我们按照 《GateNet: Gating-Enhanced Deep Network for Click-Through Rate Prediction》
和 《DCAP: Deep Cross Attentional Product Network for User Response Prediction》
随机将实例分为 8:1:1
。这些数据集的详细描述可以在链接或参考资料中找到。
这些数据集都是
toy
数据集,没有工业数据集,因此说服力不是很强。
baselines
:为了评估提出的 CL4CTR
框架,我们将其性能与四类代表性 CTR prediction
方法行了比较:
1)
一阶方法,即原始特征的加权和,包括 LR
。
2)
基于 FM
的方法,考虑二阶的特征交互,包括 FM
、FwFM
、IFM
和 FmFM
。
3)
建模高阶的特征交互的方法,包括 CrossNet
、IPNN
、OPNN
、FINT
和 DCAP
。
4)
ensemble
方法或多塔结构,包括 WDL
、DCN
、DeepFM
、xDeepFM
、FiBi-NET
、AutoInt+
、AFN+
、TFNET
、FED
和 DCN-V2
。
所提出的 CL4CTR
框架与模型无关。为简单起见,base
模型 CL4CTR
之后记作 FM
作为 base
模型来验证 CL4CTR
的有效性,它仅仅建模二阶的特征交互,除了 feature representations
之外没有其他参数。因此, feature representations
的质量。CL4CTR
仅帮助 base CTR model
的训练,不会向推理过程添加任何操作或参数。
有可能在更优秀的
base
模型上,CL4CTR
的增益会很小甚至消失。因为更优秀的base
模型可能学到更好的representation
。
评估指标:AUC, Logloss
。
实现细节:
为了公平比较,我们使用 Pytorch
实现所有模型,并使用 Adam
优化所有模型。
Frappe
和 ML-tag
的 embedding size
设置为 64
,ML-1M
和 SafeDriver
的 embedding size
设置为 20
。同时,batch size
固定为 1024
。SafeDriver
的学习率为0.01
,其他数据集的学习率为 0.001
。
对于包含 DNN
的模型,我们采用相同的结构 {400,400,400,1}
。所有激活函数均为 ReLU
,dropout rate
为 0.5
。
我们根据验证集上的 AUC
执行早停,从而避免过拟合。我们还实现了 Reduce-LR-On-Plateau scheduler
,当给定指标在四个连续 epochs
内停止改进时,将学习率降低 10
倍。
每个实验重复 5
次,并报告平均结果。
在 CL4CTR
中, Transformer layers
。我们在最终损失函数中使用超参数:
在本节中,我们将 SOTA
的 CTR prediction
模型进行了比较。Table 3
显示了所有被比较的模型在四个数据集上的实验结果。
可以观察到:
与其他 baselines
相比,LR
和FM
的性能最差,这表明浅层模型不足以进行 CTR prediction
。
其他 FM-based
的模型通过引入 field importance
机制(例如,FwFM
和 IFM
)、或部署新颖的 field-pair matrix
方法(例如,FmFM
)来改进 FM
。
通常,基于 deep-learning
的模型(例如,DeepFM
、DCN
、DCN-V2
)将高阶特征交互与精心设计的特征交互结构相结合,比 FM
具有更好的性能。
baselines
。在 Frappe
、ML-tag
、ML-1M
和 SafeDriver
上,AUC
显著优于最强的基线 DCN-V2
分别为 0.13%
、0.11%
、0.39%
和 0.67%
(Logloss
值分别为 16.10%
、8.41%
、0.64%
和 1.46%
)。
此外,我们发现 Logloss
的改进比 AUC
的改进更显著,这表明 CL4CTR
使我们能够有效地预测真实的点击率。
同时, Table 3
显示了平均性能提升(ΔAUC
和 ΔLogloss
)。值得注意的是,大多数 SOTA
的 CTR prediction
模型都设计了复杂的网络来产生高级的 feature representations
和有用的 feature interactions
来提高性能。然而,我们的 CL4CTR
仅仅帮助 FM
通过对比学习从 embedding layer
学习准确的 feature representations
,而不是引入额外的模块。我们 CL4CTR
的改进验证了在 CTR prediction
任务中学习准确的 feature representations
的必要性。
兼容性分析:为了验证 CL4CTR
的兼容性,我们将其部署到其他 SOTA
模型中,例如 DeepFM
、AutoInt+
和 DCN-V2
。结果如 Table 4
所示。
首先,使用 CL4CTR
来 learning feature representation
可以显著提高 CTR prediction
的性能。应用 CL4CTR
后,base
模型的性能得到显著提升,这证实了我们通过提高 feature representations
的质量来提高 CTR prediction
模型性能的假设,并证明了 CL4CTR
的有效性。
此外,实验结果表明,学习高质量的 feature representations
至少与设计高级的特征交互技术一样重要。当这些模型利用监督信号进行训练时,建模复杂的特征交互可以提高 CTR
模型的性能,这解释了为什么 FI-based
的模型优于 FM
。
然而,在将自监督信号引入 CTR
模型以学习高质量的 feature representations
后,在配备了 CL4CTR
的所有模型之间,FM
可以取得最佳性能。可能的原因是:在 FM
中 feature representations
中的参数,而不会受到其他参数的干扰。
因为
FM
模型除了embedding layer
之外没有其它参数。
Data Augmentation
方法:为了验证我们提出的 data augmentation
方法的有效性,我们更改了 contrastive module
中的 augmentation
方法,并固定了其他 settings
以进行公平比较。此外,我们选择了不同的 baseline
模型并将 CL4CTR
部署到其中,以比较它们在此 setting
下的性能。Table 5
展示了实验结果。
在大多数情况下,random mask
方法取得了最佳性能。我们认为 random mask
比 feature mask
和 dimension mask
更具缓和性,因为它省略了 element
信息。
此外,在 Frappe
上,FwFM
模型使用 feature mask
方法取得了最佳性能;相反,在 SafeDriver
上FwFM
模型使用 dimension mask
方法取得了最佳性能,这表明我们提出的 augmentation
方法是有效的,并且可以用于不同的 baseline
模型和数据集。
FI Encoder
:在 contrastive module
中,FI encoder
也会影响 CL4CTR
的性能,因为不同结构的 FI encoder
抽取了不同的信息。例如:
Transformer layer
可以显式地建模 feature-level
的高阶特征交互。
而 CrossNet2
则专注于显式地建模 element-level
的有界阶次的特征交互。
DNN
是大多数 CTR
模型中一种常见且广泛使用的结构,用于隐式地建模 bit-level
的特征关系。
我们选择上述三种代表性的结构作为 FI encoders
并验证其性能。值得注意的是,我们采用了他们论文中报告的三层架构。Table 6
展示了实验结果。
可以观察到:
使用不同的 FI encoders
,CL4CTR
可以一致地提高这些 baseline
模型的性能。
此外,由于不同的 FI encoders
根据特定的 base
模型和数据集提取不同的信息,这些模型的性能也不同。然而,带有 Transformer layers
的 CL4CTR
在大多数情况下都能达到最佳性能,因为 Transformer layer
比其他的 layers
更有效。
损失函数:在本节中,我们通过分别从 CL4CTR
中剔除自监督学习信号(即 Table 7
所示。
首先,我们可以发现,在 baseline
模型中部署每一种自监督学习信号都可以提高其性能。
此外,通过分别比较 contrastive loss
和 alignment&uniformity constraints
,我们得出结论,它们在不同的数据集和 baseline
模型中发挥着不同的作用。具体而言:
具有 FM
的表现优于具有 FM
。
相反,具有 DCN
的表现不如具有 DCN
,这验证了我们的假设。
此外,当
此外,在 Logloss
评估的两个数据集上,采用 FM
的表现始终优于采用 FM
,这表明将feature alignment and field uniformity
引入 CTR prediction
模型使我们的预测概率更接近 true label
。
为了验证特征频率对不同模型的影响,我们将 ML-tag
测试集按照特征频率进行划分,并计算相应的Logloss
,其中 ΔLogloss
表示应用 CL4CTR
后相对于 base FM
模型的提升。Figure 3
展示了实验结果。
首先,低频特征对 base
模型的准确率有负面影响。具体而言,我们展示了 FM
、三个 SOTA
模型(AFN+
,DeepFM
,DCN-V2
)、以及
当输入子集包含低频特征时,所有模型的表现最差。
随着特征频率的增加,所有模型的性能都在持续提升。
当特征频率超过 20
时,所有模型的性能都趋于稳定。
Figure 3
证实了我们的假设,即仅使用具有单个监督信号的反向传播来学习低频特征的 representations
无法实现最佳性能。
其次,CL4CTR
可以有效缓解低频特征带来的负面影响,并在不同特征频率范围内保持最佳性能。通过应用 alignment&uniformity constraints
,我们确保低频特征可以在每个反向传播过程中得到优化,并且与高频特征有同等的机会。此外,contrastive module
还可以提高所有特征(包括低频和高频特征)的 representations
的质量。
这里的分组指的是被点击的
label tag
的频次。
损失函数中权重的影响:我们进一步研究了不同权重({1, 1e-1, 1e-2, 1e-3, 1e-4, 1e-5, 0}
中调优 settings
不变,以便进行公平比较。Figure 4
显示了实验结果。此外,在这两个数据集上 Logloss
的趋势与 AUC
的趋势一致。
总体而言,对于 Frappe
和 ML-1M
数据集,当 CL4CTR
的性能最佳。具体来说:
当 CL4CTR
的性能会下降。
此外,当 1
或 1e-1
)时,CL4CTR
的性能会显著降低。
同时,当 CL4CTR
的表现更差。
掩码比例:我们在 0.1
的步长更改掩码比例 Figure 5
显示了结果。
对于具有 Frappe
和 ML-1M上
的性能显示出相似的趋势。当掩码比例在0.4
或 0.5
左右时,
当选择较小的掩码比例(即 0.1
到 0.3
)时,模型性能会略有下降。
当掩码比例超过 0.5
时,模型性能持续下降,这是因为FI encoders
仅使用一小部分信息来生成有效的interaction representations
,以计算具有较高掩码比例的 contrastive loss
。
embedding size
:我们在 embedding layer
中将 embedding size
更改为从 16
到 64
,步长为 16
,并在 Figure 6
中展示实验结果。
可以观察到:
随着 embedding size
的增加,
同时,CL4CTR
可以提高所有 embedding size
的 FM
的性能。
此外,与具有 embedding size = 64
的 FM
相比,embedding size = 16
的小尺寸下实现了更好的性能。这意味着我们可以通过在 FM
上应用 CL4CTR
来减少参数,同时获得更好的结果。