五十五、TWIN[2023]

《TWIN: TWo-stage Interest Network for Lifelong User Behavior Modeling in CTR Prediction at Kuaishou》

  1. 终身用户行为建模(life-long user behavior modeling),即从数月甚至数年的丰富历史行为中提取用户的隐藏兴趣(hidden interests ),在现代 CTR prediction 系统中起着核心作用。传统算法大多遵循两个级联的阶段:

    • 简单的通用搜索单元 (General Search Unit: GSU ),用于对数万个长期 behaviors 进行快速且粗略的搜索。

    • 精确搜索单元 (Exact Search Unit: ESU ),用于对来自 GSU 的少数最终入围者进行有效的 Target Attention: TA

    现有算法虽然高效,但大多存在一个关键限制:GSUESU 之间的 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 长度从 102 扩展到长度 104105 ,我们通过 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 在快手上的成功部署,服务于每天数亿活跃用户的主要流量。

  2. 作为中国最受欢迎的短视频分享应用(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 至关重要从而用于截断工业规模的用户行为序列,因为这些序列在短短几个月内很容易达到 104105

    近年来,出现了许多关于两阶段 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 算法仍然存在一个关键限制:GSUESU 之间的不一致(如 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-GSUTWIN 通过有效的 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):对于 behavioruser-video 交叉特征(例如用户的 click timestamp, play time, rating ),当 caching 不适用时,我们通过将它们的投影压缩为 bias 项来简化 Target Attention 架构。

    通过优化后的在线基础设施,我们成功地将Target Attention 的适用序列长度从 ESU 中的 102 扩展到 CP-GSU 中的 104105 。两个阶段之间的一致性,加上 CP-GSU 中的 Target Attention-based relevance metric,有助于显著提高 CTR prediction 的性能。

    总体而言,我们做出了以下贡献:

    • 在我们提出的 TWIN 中,CP-GSU 精确且一致地检索不仅 target-relevant 而且被 ESU 认为重要的 behaviors ,从而最大限度地提高了 behavior modelingretrieval 效果。据我们所知,我们是第一个成功解决两阶 life-long behavior modeling 问题中不一致性的人。

    • 我们通过对快手 46B 规模的工业级数据集进行大量的离线实验,以及在线 A/B test ,从而验证 TWIN 的有效性。我们通过消融研究验证了我们的有效性,并表明 TWIN 带来了显著的 online benefits

    • 我们构建了高效的工业级的基础设施,将 TWIN 应用于真实的在线推荐系统。我们提出了有效的 pre-computing & caching 策略,将 TWIN 的计算瓶颈(即 CP-GSUlinear projection of behaviors )减少了 99.3% ,并满足了 online serving system 的低延迟要求。目前 TWIN 已经部署在快手的推荐系统上,服务于每日 3.46 亿活跃用户的主要流量。

  3. 在本文中,我们建议将 Target Attention 结构扩展到 GSU ,并将 embeddings and attention parametersESU 同步到 GSU ,从而保持端到端训练。结果,我们同时实现了网络结构和模型参数的一致性,与 ETASDIM 相比,这有助于显著提高性能。我们在 Table 1 中详细说明了我们的模型与其他模型的不同之处。

    ESUGSU 的网络结构和网络参数完全相同,所以称之为 “孪生”。

    请注意,我们的工作不同于旨在加速 Transformerindexing 算法(例如 LISA)。它们通过将 behaviors 映射到 codebooks 并查找距离来近似 relevance score 的计算。然而我们的工作以及许多其他两阶段算法都使用精确的距离计算,但使用 GSU 作为pre-filter 从而减少了 behaviors 的数量。

    TWIN 算法的核心是对 attention score 计算中最耗时的 linear projection 进行优化。但是这种优化仅适用于 inference 阶段,而不适用于 training 阶段。

    论文创新点一般,对算法层面优化较少,更多地是工程优化。

55.1 TWIN

  1. 首先,我们回顾了 CTR prediction 问题的一般基础知识。然后,我们描述了快手 CTR prediction 系统的模型架构。接着,我们进一步深入探讨了我们提出的 consistency-preserved lifelong user behavior modeling module,即 TWo-stage Interest Network: TWIN 。最后,我们介绍了确保 TWIN 在快手主流量上成功在线部署的基本 accelerating 的策略。

    Table 2 总结了所使用的符号。

55.1.1 基础知识

  1. CTR prediction 的目的是预测用户在特定上下文中点击一个 item 的概率。准确的 CTR prediction 不仅可以通过提供 preferred contents 来提升用户体验,还可以通过触达 interested audiences 来提高内容生产者和平台的业务效率。因此,CTR prediction 已成为各种工业级推荐系统(尤其是快手等短视频推荐平台)的核心部分。

    CTR prediction 通常被表述为一个二分类问题,其目标是在给定训练数据集 D={(x1,y1),,(x|D|,y|D|)} 的情况下学习一个 predictor 函数 f:RdR。具体而言,xiRd 是第 i 个训练样本的 feature vector (即 user, item and contexts features 的拼接);yi{0,1}ground truth label ,表示用户是否点击该 itempredicted CTR 计算如下:

    y^i=σ(f(xi))

    其中:σ()sigmoid 函数,它将 prediction f 缩放到 (0, 1) 之间。

    模型通过最小化 negative log-likelihood 来训练:

    (D)=1|D|i=1|D|[yilog(y^i)+(1yi)log(1y^i)]

    为简洁起见,我们在以下章节中省略了训练样本索引 i ,从而免造成混淆。

55.1.2 CTR Prediction 的架构

  1. 现在我们来介绍快手的 CTR prediction 系统的架构。详细信息如 Figure 2 所示。

    下图中, ESUCP-GSU 的网络结构和网络参数一模一样,那为什么弄两个一模一样的东西?是否可以移除掉 ESU

    根据论文的解释:在 ESUMHTA: multi-head target attention 中,对于 KWv 使用原始的线性投影而不做拆分从而用于加权聚合。如果只有 CP-GSU,那么 K 包含所有行为的 embedding,这个投影的代价非常高。

    那么:

    • 是否可以仅仅使用 CP-GSU,然后仅仅选择 top-k 来做线性投影从而用于加权聚合?

    • 或者,在 ESU 中使用不同的网络参数,即,使用原始的线性投影而不做拆分,从而计算 attention score

  2. Embedding Layer : 在最底层,我们的模型从 feature embedding layer 开始,该层将训练样本的原始特征转换为 embedding vectors

    在不失一般性的情况下,我们假设所有特征在经过必要的预处理后都处于 categorical 的形式。对于 vocabulary sizevA 的特征 A ,我们首先将 categorical information 编码为 one-hot / multi-hot code xA,hot{0,1}vA。例如,

    WeekDay = MonxWeekDay,hot=[1,0,0,0,0,0,0]Topic = Funny, PetxTopic,hot=[,0,1,0,,0,1,0,]

    请注意,在大多数工业级系统中,vocabulary size (尤其是 user / author / video idsvocabulary size )可以轻松扩展到数亿。因此,一种常见的策略是将极高维的 hot codes 转换为低维 embeddings

    xA,emb=EAxA,hot

    其中:EARdA×vA 是特征 Aembedding dictionarydAembedding 维度。在我们的系统中,我们将 vocabulary 大的 id 特征的 embedding 维度设置为 64 ,将其他特征(如 video topic, video played timestamp )的 embedding 维度设置为 8 在所有 upper layers 中,我们将 embedding vectors 作为输入,因此为了简洁起见省略了下标 “emb”

  3. Deep Networks:我们的 CTR prediction 的总体架构如 Figure 2 所示。upper module 由堆叠的神经网络和 ReLU 组成,充当mixer ,用于学习三个 intermediate modules 的输出之间的交互:

    • TWIN :所提出的 consistency-preserved life-long user behavior modeling 模块,通过两个 cascading stagesbehavior modeling 子模块提取用户兴趣:

      • 1)Consistency-Preserved General Search Unit: CP-GSU ,从数万个长期历史行为中粗略搜索 100 个最相关的行为。

      • 2)Exact Search Unit: ESU ,采用注意力机制对 CP-GSU100 个最终入围者来捕获精确的用户兴趣。

      传统算法通常由“轻量级”的 GSU 和“重量级”的 ESU 组成。与传统算法不同,我们提出的 CP-GSU 遵循与 ESU 相同的 relevance evaluation metric,使两个 cascading stages 成为 TWINS 。因此,CP-GSU 始终检索出来 ESU 认为重要的 items ,从而最大限度地提高 behavior modeling 的有效性。

    • Short-term behavior modeling :从最近的 50behaviors 中提取用户兴趣。该模块关注用户最近几天的短期兴趣,是 TWIN 的有力补充。

    • 其他任务建模:除了 behavior modeling 之外,我们还拼接了各种其他任务建模的输出,这些任务建模可以建模用户的性别、年龄、职业、位置、视频时长、主题、受欢迎程度、质量和上下文特征,上下文特征包括播放日期、时间戳、页面位置等。

55.1.3 TWIN: TWo-stage Interest Network

  1. 我们将提出的算法命名为 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?或者换句话讲,从数百的序列长度扩展到至少数万的序列长度?

  2. Behavior Feature Splits and Linear Projection:按照 MHTA 的标准符号,我们将长度为 Lbehavior sequence [s1,s2,,sL] 的特征定义为矩阵 K ,其中每行表示一个 behavior 的特征。在实践中,MHTA 的注意力得分计算中,K 的线性投影是阻碍 MHTA 在极长 user behavior sequences 上应用的关键计算瓶颈。因此,我们提出以下措施来降低其复杂性。

    我们首先将 behavior features matrix K 分成两部分:

    K[KhKc]RL×(H+C)
    • 我们将 KhRL×H 定义为 behavior items 的固有特征(例如 video id, author, topic, duration ),这些特征与特定的 user / behavior sequence 无关。

    • 我们将 KcRL×C 定义为 user-item 交叉特征(例如 user click timestamp, user play time, clicked page position, user-video interactions)。

    这种分割可以高效计算接下来的线性投影 KhWhKcWc,其中 WhRH×H,WcRC×C

    • 对于固有特征 Kh,虽然维度 H 很大(每个 id 特征为 64H=64FF 为固有特征的个数,即 field 数量),但线性投影实际上并不昂贵。特定 item 的固有特征在 users / behavior sequences 之间共享。通过必要的缓存策略,KhWh 可以通过 look up and gathering 过程有效地“计算”。在线部署的细节将在接下来章节中介绍。

      但是,训练的时候没有 caching,因此会非常消耗资源。然而,训练的时候没有 inference latency 的限制,可以堆显卡来解决。

    • 对于 user-item 交叉特征 Kc,缓存策略不适用,因为:

      • 1):交叉特征描述 a user and a video 之间的交互细节,因此不会跨 users behavior sequences 来共享。

      • 2):对于一个视频,每个用户最多观看一次。也就是说,在投影 cross features 时没有重复计算。因此,我们通过简化 linear projection weight 来降低计算成本。

      给定 J 个交叉特征,每个特征的 embedding 维度为 8 (因为它们不是具有巨大 vocabulary sizeid 特征)。我们有 C=8J 。我们将 linear projection 简化如下:

      KcWc[Kc,1w1c,,Kc,Jw1c]RL×J

      其中:

      • Kc,jRL×8Kc 的第 j 个列切片,表示第 j 个交叉特征。

      • wjcR8 为第 j 个交叉特征的线性投影权重。

      使用这个简化的投影,我们将每个 cross feature 压缩到一个维度,即 KcWcRL×J 。请注意,这个简化的投影相当于将 Wc 限制为对角块矩阵( diagonal block matrix )。

  3. 复杂度分析:在传统的 MHTA 中,K 的线性投影的时间复杂度为 O(L×(H+C)×dout),其中这个线性投影从维度 L×(H+C) 投影到维度 L×dout

    通常 dout=(H+C)

    而在我们对 TWINMHTA 中:

    • item 固有特征 KhWhpre-computed 并有效地 gathered ,复杂度为 O(L),这与维度 H 无关。

      在训练阶段是没有 pre-computedKhWh 的,因此在训练阶段的复杂度还是很高。

    • user-item 交叉特征 KcWc 被简化为 O(L×C) 的低维计算。

    由于 CH,且 Cdout ,正是这种理论上的加速使得 MHTA 能够在 CP-GSUESU 中一致地实施。

    这里仅仅优化了线性投影的计算复杂度,但是没有优化 attention 的计算复杂度。attention 的计算复杂度为:O(LH+LC) ,这比线性投影低得多。而原始算法中,attention 的计算复杂度为 O(L(H+C))

  4. Target Attention in TWIN:基于 linear projection of behaviors KhWhKcWc ,我们现在定义了同时在 CP-GSUESU 中统一使用的 target-behavior relevance metric

    • 不失一般性,我们假设用户和 target item 之间没有交互,并将 target item 的固有特征记作 qRH。使用适当的线性投影 WqRH×Htarget item 与历史行为之间的 relevance score αRL 计算如下:

      α=(KhWh)(qWq)dk+(KcWc)β

      其中:dkprojected query and key 的维度。

      注意,这里 bias 项的计算与 q 无关。是否可以考虑引入 q

      这个 relevance scorequery (即 target 的固有特征)与 key (即 behaviors 的固有特征)之间的内积计算得出。此外,由于交叉特征被压缩为 1 维,因此可用作 bias 项。我们使用 βRJ 作为交叉特征的相对重要性的可学习参数。

    • CP-GSU 中,这个 relevance score α 用于将 L=104 个长期历史行为截断为100 个最相关的 behaviors 。而在 ESU 中,我们对 100 个最终入围者执行加权平均池化:

      Attention(qWq,KhWh,KcWc,KWv)=Softmax(α)(KWv)

      其中:Wv 为一个投影矩阵。

      我们通过设置 L=100 稍微滥用了符号。此投影 KWv 仅对 100behaviors 执行,因此可以在线高效进行。我们不需要像为 104behaviors 计算 α 时那样拆分 K

      注意:在 ESU 中,仍然使用了 Behavior Feature Splits and Linear Projection 策略从而计算注意力权重。但是,对于 KWv,这里不进行拆分。

    • 为了共同关注来自不同 representation 子空间的信息,我们在 MHTA 中采用 4 个头。因此,TWINfinal output 定义为:

      TWIN=Concat(head1,,head4)Woheada=Attention(qWaq,KhWah,KcWac,KWav),a{1,2,3,4}

      其中 Wo 是一个投影矩阵,它学习 head 之间相对重要性。

55.1.4 系统部署

  1. 我们在快手的 ranking system 上部署了 TWIN ,服务于 3.46 亿日活用户的主要流量。在本节中,我们介绍我们在部署中的实际经验。我们的系统架构细节如 Figure 3 所示。

  2. 训练系统:我们的 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 system5 分钟一次将最新的参数值从 training system 持续同步到离线推理系统和在线服务系统。这种同步确保了 online CTR prediction service 始终基于最新模型。

  3. 离线推理:offline inferring system 旨在通过提供 lookup service 来加速 online serving 。当接收到 lookup keys (即,一个 batchvideo ids )时,此 service 将返回 lookup values ,即相应的 projected inherent features 的拼接形式(即,所有 heads a{1,2,3,4}KhWah ) 。 具体来说,offline inferring system 由两部分组成:

    • 1):一个 inherent feature projector ,使用从 training system 同步的最新 embeddingsTWIN 参数 Wah 来循环预计算 linear projection of inherent features。通过适当的频率控制,该 projector 可以每 15 分钟刷新一次 8B 规模的 candidate video poolprojected inherent features ,从而最大限度地减少 caching 造成的准确率损失。

    • 2):一个 embedding server ,将 inherent feature projector 的结果存储到 key-value 结构中,并提供上述 key lookup service。通过截断尾部视频,8B keys 可以覆盖 97%online request ,平衡了效率和效果。

  4. Online Serving:一旦收到一个 requestonline serving system 就会向 offline inferring system 查询从而得到 projected inherent features KhWah,并实时计算公式 α=(KhWh)(qWq)dk+(KcWc)β 的其他部分以获得 user-item relevance score α。然后,我们选择 α 中注意力得分最高的 100behaviors ,并将这 100behaviors 输入到 ESU 。这种设计在实践中将 TWIN 的计算瓶颈(即 104 行的 Kh 的线性投影)降低了 99.3%

    请注意,只有 100 behaviorsESU 足够轻量,可以使用从 training system 同步的最新参数来实时进行所有计算。因此,ESU 计算出的 KhWhCP-GSU 中的略微更新,这进一步提升了我们的 Target Attention 机制的性能。

  5. 通过加速设计,TWIN 成功部署在快手的 ranking system 上,服务于 3.46 亿活跃用户的主要流量,峰值请求为每秒 30M 个视频。

55.2 实验

  1. 在本节中,我们详细介绍了在真实工业数据上进行的离线和在线实验,以评估我们提出的方法,目的是回答以下五个研究问题(research question: RQ )。

    • RQ1 :与 lifelong user behavior modeling 中的其他 SOTA 相比,TWIN 在离线评估中的表现如何?

    • RQ2 :与其他 SOTA 相比,TWIN能实现多大的一致性?或者说,为什么 TWIN有效?

    • RQ3:随着用户行为序列长度的增长,TWIN 的有效性如何变化?

    • RQ4:所提方法中的关键组件、以及不同实现方式的效果如何?

    • RQ5TWIN 在实际在线推荐系统中的表现如何?

  2. 数据集:为了在现实情况下评估 TWINlifelong 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 ,这大约是重度用户一年的总观看次数。

  3. baselines:为了证明有效性,我们将 TWIN 与以下 SOTAlifelong user behaviors modeling 算法进行了比较。

    • Avg-Poolinguser lifelong behaviors 的均值池化。

    • DIN :最广泛采用的 short-term behavior modeling 方法,它使用 Target Attention 从而用于 target-specific interests

    • SIM HardGSU 从与 target item 相同的 category 中选择 behaviorsESU 遵循 DIN 中的 Target Attention 。在我们的场景中,video categories 总数为 37

    • ETA :局部敏感哈希 (Locality-sensitive hash : LSH ) 用于为 target video and behaviors 生成哈希签名(hash signature )。然后 GSU 使用汉明距离作为 target-behavior relevance metric

    • SDIMGSU 通过多轮哈希碰撞(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 clustersGSU 从与 target item 相同的 clusters 中检索 behaviors

    • SIM Cluster+ :是 SIM Cluster 的改进版,其中 clusters 数量从 1,000 个扩展到 10,000 个。

    • SIM SoftGSU 使用视频的 pre-trained embeddings 的内积得分来检索 relevant behaviors 。内积是一种比汉明距离和哈希碰撞更精细的检索方法,但计算成本更高。

    综上所述:

    • ETASDIM 采用端到端训练方法,但使用粗略的检索方法以避免高复杂度的计算。

    • SIM ClusterSIM Cluster + 、以及 SIM Soft 采用精细的检索方法,但代价是它们必须使用 pre-trained embeddings 并提前生成离线倒排索引(offline inverted index )。

    请注意,SIM Soft 尚未被后续工作 ETASDIM 击败。我们没有与 UBR4CTR 进行比较,因为它的迭代式训练(iterative training )不适合我们的流式场景(streaming scenario )。此外,UBR4CTR 被证实比 SIM HardETA 的表现更差。

  4. 实验设置:

    • 我们使用一天中连续 23 个小时的样本作为训练数据,并使用接下来一个小时的样本进行测试。我们连续 5 天评估所有算法并报告 5 天的平均性能。

      相当于将算法重复 5 次并报告平均性能。

    • 对于离线评估,我们使用两个广泛采用的指标:AUCGAUC

      • AUC 表示正样本得分高于负样本得分的概率,反映了模型的排序能力。

      • GAUC 对所有用户的 AUC 进行加权平均,权重设置为该用户的样本数。GAUC 消除了用户之间的 bias ,以更精细和公平的粒度评估模型性能。

    • 为了公平比较,在所有算法中,除了 long-term behavior modeling 模块外,我们使用相同的网络结构,包括 embedding layersupper deep networksshort-term behavior modelingother task modelings

    • 对于两阶段模型,我们使用最近的 10,000 behaviors 为作为 GSU 的输入,并在 ESU 中检索 100 behaviors 用于 Target Attention

    • 对于 DIN ,我们使用最近的 100 behaviors ,因为它在处理长序列方面存在瓶颈。

    • 虽然 TWINCP-GSUattention score computation 中使用了四个 head ,但我们通过四个 head 递归遍历 top ranked items ,直到收集到 100 unique behaviors

      为什么要做这种简化?会不会影响性能?

    • 对于所有模型,embedding layer 都使用 AdaGrad 优化器,学习率为0.05DNN 参数由Adam 更新,学习率为 5×106batch size 设置为 8192

55.2.1 整体性能 RQ1

  1. Table 4 显示了所有模型的性能。请注意,由于我们的数据集中有大量的用户和样本,因此离线评估中 AUCGAUC0.05% 的改进足以为业务带来 online gains

    • 首先,TWIN 的表现明显优于所有基线,尤其是具有不一致 GSU 的两阶段 SOTA 。这验证了 TWINlife-long behavior modeling 中的关键优势,即 CP-GSU 中强大而一致的 Target Attention 。具体而言,CP-GSU 精确地检索出了ESU 认为高度相关的 behaviors ,为最重要的 user information 节省了 ESU 宝贵的计算资源。而在其它基线中,无效且不一致的 GSU 可能会错过重要 behaviors 并引入 noisy behaviors ,从而降低 Target Attention 的性能。

      此外,从 Avg-poolingDIN 的增益显示了 Target Attention 在检索有效信息方面的能力。其他两阶段 SOTA 相对于DIN 的增益验证了 modeling long behaviors 的必要性。这两者共同支持了我们的动机:将 Target Attention 扩展到长序列。

    • 其次,仅有端到端训练是不够的。我们观察到 TWIN 明显优于 ETASDIM,而这两个强大的基线在 GSU 中的 embeddings 也以端到端的方式进行训练。具体来说,ETA 使用 LSH 和汉明距离,而 SDIM 使用多轮哈希碰撞。与 Target Attention 相比,这两种 GSU 策略都不太精确,并且与它们在 ESU 中使用的 target-behavior relevance metric 不一致。而 TWIN 中的 CP-GSU 不仅是端到端训练的,而且与ESU中的 Target Attention 一致。这表明精确的relevance metricGSU至关重要,验证了我们优于现有的端到端算法。

    • 第三,以更细的粒度来建模 lifelong behaviors 是有效的。我们比较了 SIM 的变体:具有 37 categoriesSIM Hard 、具有 1,000 / 10,000 clustersSIM Cluster(+) 、以及针对每个 behavior 单独计算 target-behavior relevance scoreSIM Soft

      随着GSU中使用更细粒度的检索方法,我们观察到性能持续改进。这是因为当 GSU 能够更精细地捕获视频之间的 relevance score 时,它会更准确地检索 behaviors 。从这个角度来看,我们进一步将我们优于 SIM Soft 的原因归功于 TWIN 采用更准确的 relevance metric

55.2.2 一致性分析 RQ2

  1. 正如所声称的,我们卓越的 behavior modeling 能力来自 CP-GSUESU 中一致的 relevance metrics 。但我们真正实现了多大的一致性(Figure 4 )? 对于每个 well-trained 的两阶段模型,我们重用其 ESU 的参数作为其 Oracle ,从而从 10,000 behaviors 中检索 “the real top-100”。换句话说,这些 real top-100ESU 认为真正重要的 ground-truth 。然后,对于所有被比较算法,我们遍历 GSU output size ,从 10104 ,以检查有多少 outputs 命中 real top-100 。请注意,每个被比较算法都有自己的 Oracletop-100 。但我们只绘制一条 Oracle 曲线,因为所有 Oracles 都完美地击中了 ground truth

    • SIM Soft 得益于 GSU 中更精确的 retrieval 策略,在 retrieval consistency 方面有所改进。

    • 此外,TWIN 在返回 100 behaviors 时实现了 94 次命中,这验证了我们在保持两个阶段之间的一致性方面的优势。请注意,这是最值得注意的 value ,因为考虑到推理时间、以及 Target Attention 计算复杂度的限制,100ESU input 的上限。由于 caching 中的刷新延迟(refresh delay ),我们在实践中没有达到理论上的 100% 的一致性,如正文章节所述。

    基于以上结果,我们推测 CP-GSU 比传统 GSU 具有更强的 match user interests with the target video 的能力。这归因于一致性。通过与 ESU 共享相同的结构和参数,CP-GSU 能够准确判断和检索具有相似内容的 videos 。此外,由于 CP-GSU 参数是实时更新的,该模型可以捕获用户的动态变化的兴趣。

55.2.3 Behavior Length 的影响 RQ3

  1. 我们旨在测试 TWIN 在不同 behavior sequence 长度下的有效性,并进一步挖掘 TWIN 的潜力。请注意,仅更改了 GSU 的输入序列长度,输出长度保持为 100 。结果如 Figure 5 所示。 我们观察到:

    • 1)TWIN 始终表现最佳,

    • 2) :随着序列长度的增加,TWIN 与其他方法之间的性能差距越来越大。这表明 TWIN 在建模极长序列方面具有更好的效果。

54.2.4 消融研究 RQ4

  1. 我们通过对 TWIN 应用不同的操作来进行消融研究,以评估我们的关键模型设计的贡献:1) 两个阶段之间的一致性; 2) 高效的 MHTA

  2. TWIN 在两个方面保持了两个阶段之间的一致性:网络结构和参数。为了研究每个方面带来的好处,我们实现了一个名为 TWIN w/o Para-Con 的变体,它不保留参数一致性。具体来说,我们首先训练一个辅助模型 TWIN-aux ,它使用与 TWIN 相同的网络结构和训练数据,但单独进行训练。然后,我们将 GSU 参数从 TWIN-aux 同步到 TWIN w/o Para-Con。这是为了确保 TWIN w/o Para-Con 仍然实时被更新,并且 TWINTWIN w/o Para-Con 之间的差距都是由参数不一致造成的。 Figure 6 (left) 所示,TWIN w/o Para-Con 的表现明显优于 SIM Soft (结构和参数都不一致),但略逊于 TWIN 。这表明网络结构一致性和参数一致性都有好处,但网络结构一致性的贡献更大。

    这个配置有点奇怪,为什么不训练这样的模型:CP-GSUESU 采用相同的网络结构,但是不共享网络参数,然后训练?这个实验不太靠谱。

  3. 为了高效地计算 MHTA 从而用于工业级部署,我们拆分 user behavior features ,并将每个 user-item cross feature 压缩为一维 bias 项。为了研究这种修改的影响以及在注意力计算中保留 user-item cross features 的好处,我们实现了两个变体并比较了它们的性能和推理时间:

    • 具有原始 MHTATWIN ,其中使用直接的线性投影 KW 并且不进行 feature split 。缩写为 TWIN w/ Raw MHTA

    • MHTA 中不使用 user-item cross featuresTWIN ,缩写为 TWIN w/o Bias

    Figure 6 (right) 所示,TWIN 明显优于 TWIN w/o Bias ,并且性能几乎与 TWIN w/Raw MHTA 相同,验证了我们对 MHTA 提出的修改几乎不会影响性能。至于计算成本,由于当 user-item cross features 用于 K 的线性投影时,caching 不适用于 TWIN w/ Raw MHTA (详见正文章节),因此 TWIN w/ Raw MHTA 的推理时间显著增加。相反,删除 user-item cross featuresTWIN w/o Bias )不会节省太多计算量,但会损害性能。

54.2.5 在线结果 RQ5

  1. 为了评估 TWIN 的在线性能,我们在快手的短视频推荐平台上进行了严格的在线 A/B testTable 5 比较了快手三个代表性业务场景(Featured-Video Tab, Discovery Tab, and Slide Tab )下 TWINSIM HardSIM Soft 的性能。与电商常用的线上评价指标 CTRGMV 不同,短视频推荐场景通常使用观看时长(Watch Time ),衡量用户观看视频的总时长。

    如表所示,TWIN 在所有场景中的表现都明显优于 SIM HardSIM Soft 。在快手上,观看时长增加 0.1% 被认为是一个有效的改进,TWIN 实现了显著的商业收益。

五十六、TWIN V2 [2024]

《TWIN V2: Scaling Ultra-Long User Behavior Sequence Modeling for Enhanced CTR Prediction at Kuaishou》

  1. 在大型推荐系统中,建模长期用户兴趣对于 CTR prediction 任务的重要性正逐渐引起研究人员和从业者的关注。现有的研究工作,如 SIMTWIN,出于效率考虑,通常采用两阶段方法来建模长期用户行为序列:

    • 第一阶段使用 search-based 的机制,即 General Search Unit: GSU ,从长序列中快速检索与 target item 相关的 a subset of sequences

    • 而第二阶段使用 Exact Search Unit: ESU 对检索到的结果计算 interest scores

    鉴于用户行为序列跨越整个生命周期,可能达到 106 的规模,目前尚无有效的解决方案来全面建模如此广泛的用户兴趣。为了解决这个问题,我们推出了 TWIN-V2 ,这是 TWIN 的增强版,其中采用分而治之的方法来压缩 life-cycle behaviors 并发现更准确更多样化的用户兴趣。

    具体来说,离线阶段,我们通过 hierarchical clustering 方法将 life-cycle behaviors 中具有相似特性的 items 归为一个 cluster 。通过 clusters 的规模,我们可以将远远超过 105 量级的行为序列压缩到可控的长度,从而用于 GSU retrievalonline inferenceCluster-aware target attention 可以提取用户的全面的、多方面的长期兴趣,从而使最终的推荐结果更加精准和多样化。

    在数十亿规模的工业级数据集上的大量离线实验、以及线上 A/B test ,证明了 TWIN-V2 的有效性。在高效的部署框架下,TWIN-V2 已成功部署到快手主流量中,从而服务于数亿日活用户。

  2. 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 的准确率,例如 ETASDIMTWIN 尽管现有的第一阶段的 GSU 很有效,但它们通常存在长度限制,无法对整个生命周期的 user behaviors 进行建模。例如:

    • SIMETASDIM 可以过滤最大长度为 103 的历史行为。

    • TWIN 将最大长度扩展到 104105 的水平。

    在部署过程中,TWIN 使用最近的 10,000 behaviors 作为 GSU 的输入。不幸的是,这 10,000 behaviors 仅涵盖了用户在快手 App 中最近三到四个月的历史记录,无法涵盖 user behavior 的整个生命周期。如 Figure 1 所示,我们分析了快手 App 中过去三年的 user behaviormedium and high user groups 在三年内可以观看 104106 个视频,占 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 clusteringcluster-aware target attention 提升了 long sequence modeling 的效率,建模了更准确、更多样化的用户兴趣。

    • 大量离线实验和在线实验验证了 TWIN-V2 在超长用户行为序列的扩展方面的有效性。

    • 我们分享了 TWIN-V2 的部署实践,包括离线处理和在线服务。TWIN-V2 已经服务于快手每日约 4 亿活跃用户的主要流量。

    TWIN V2 vs TWIN V1 的在线指标提升,要比 TWIN V1 vs SIM 低得多。这意味着 TWIN V2 上线之后,系统的商业增益没有那么大。

  3. 本文旨在将 long-term history modeling 扩展到生命周期级别,同时保持效率。Table 1 总结了 TWIN-V2 与之前工作的比较。

    TWIN V2TWIN 多了一步:先对用户行为序列进行聚类,并对每个 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 模型。

56.1 方法

  1. 本节详细阐述了所提出的模型,详细介绍了从整体工作流到 deployment framework 的整个过程。符号总结如下。

56.1.1 基础知识

  1. CTR prediction 的核心任务是预测用户点击某一个 item 的概率。令 xkRd0 表示第 k 个数据样本的 feature representation,令 yk{0,1} 表示第 k 个交互的 labelCTR prediction 的过程可以写成:

    y^k=σ(f(xk))

    其中:

    • σ()sigmoid 函数。

    • f 是映射函数,被实现为 CTR 模型 f:Rd0R

    • y^kpredicted probability

    模型 f 由二元交叉熵损伤函数来训练:

    L=1|D|k=1|D|[yklog(y^k)+(1yk)log(1y^k)]

    其中:D 为训练集。

56.1.2 整体工作流

  1. 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

    • 首先,我们使用 GSUclustered behaviors 中检索与 target item 相关的 top 100 clusters

    • 然后,我们使用 ESU 从这些 clusters 中提取长期兴趣。

    GSUESU 中,我们实现了 cluster-aware target attention ,并调整不同 clusters 的权重。

56.1.3 Life-Cycle User Modeling

  1. 考虑到用户在生命周期中的历史行为具有超长序列,我们首先采用分而治之的方法压缩这些 behaviors ,然后从 compressed behaviors 中提取用户的长期兴趣。

a. Hierarchical Clustering Over Life Cycle
  1. 对于用户 u ,我们将其所有历史行为表示为 items 的一个序列 S=[s1,s2,,sT] ,其中 Tlife-cycle behaviors 的数量,sj 是第 j 个交互的 item 。用户可能在 S 中观看许多 similar items 。例如,一个喜欢 NBA 比赛的用户在其历史中可能拥有数百个与篮球相关的视频。因此,一个自然的想法是将 S 中的 similar items 聚合成 clusters ,用一个 cluster 来表示许多 similar items ,从而减小 T 的大小。

    正式地,我们旨在使用压缩函数 hcomp 将长度为 Tbehavior sequence S 缩减为长度为 T^ 的序列 C

    C=hcomp(S)

    其中:T^TC 表示 clustered behaviors C=[c1,c2,,cT^],其中 ci 表示包含 clustered items 的第 i 个集合。

    具体而言,我们采用分层聚类(hierarchical clustering )方法来实现 hcomp ,如 Algorithm 1 所示。

    • 在第一步中,我们简单地将 historical behaviors 分成几组。我们首先根据用户 uplaying time ratiohistorical items 分为 M 个不同的组。对于第 jhistorical item ,这个 playing time ratio 记作 pj=playing timevideo duration

    • 在第二步中,我们递归地对每组的 life-cycle historical behaviors 进行聚类,直到每个 cluster 中的 items 数量不超过 γ。我们采用广泛使用的带自适应簇大小 γk-means 方法对 behaviors Sembeddings KS 进行聚类,其中 KSrecommendation model 中获得。γ 是控制 maximum cluster size 的超参数。

      这意味着我们需要一个 pre-trained 模型从而获得 KS 。这个 pre-trained 模型的质量会影响 TWIN-V2 的效果。

  2. 接下来,我们将详细说明 Algorithm 1 背后的原理:

    • Item Grouping:在短视频场景中,视频的完播率(playing completion ratio)可以看作是用户对视频感兴趣程度的指标。我们首先按完播率对 behaviors 进行分组,以确保 final clustering results 具有相对一致的 playing time ratio 。如果不这样做,将导致每个 cluster 内的分布不平衡,因为k-means 仅考虑 item embeddings 。函数 getGroup(pj) 特定于应用场景,例如,将 playing time ratio 的范围分成五个相等的部分。M 是一个常数,在我们的实践中设置为 5

      在电商场景下,我们可以按照 action typebehaviors 进行分组,如 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

      单次迭代逻辑:

      • 首先从 Q 中取一个 group m 。注意,Q 被第一步 Item Grouping 所初始化,刚开始包含 Mgroup

      • 如果 group mitem 数量低于 γ ,则 group m 直接作为一个 cluster。当前迭代结束,进入下一轮迭代。

      • 如果 group mitem 数量大于等于 γ ,则对 group m 进行 Kmeans 聚类,cluster 数量为 group mitem 数量的 0.3 次方。聚类后的每个 cluster 都追加到 Q 中,从而便于将来迭代。

      这种做法使得每个 clusteritem size 都小于 γ

      在我们的实践中,平均 cluster size 约为 γ/2 ,因此 T^ 约为 T/10 (即,cluster 的数量),大大缩短了 life-cycle behaviors 的长度。用于聚类的 item embeddings KS 是从 recommendation model 中获得的,这意味着 clustering 是由协同过滤信号所指导的。

      因此,我们通过将 similar items 聚合到 clusters 中,将原本很长的用户行为序列 S=[s1,s2,,sT] 压缩为更短的序列C=[c1,c2,,cT^]

b. Extracting Cluster Representation
  1. 获得 clusters C 后,我们需要从 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 IDauthor ID

    正式地,给定一个任意 item v ,其特征可以写成:

    xv=[xc,1(v);xc,2(v);;xc,N1(v)categorical (one-hot);xs,1(v);xs,2(v);;xs,N2(v)numerical (scaler)]

    为简单起见,我们使用 x1:N1(v) 表示 categorical featuresx1:N2(v) 表示 numerical features 。对于 C 中的 cluster ci

    • 我们计算其包含的所有 items 的所有 numerical features 的平均值作为 cinumerical feature representation

      c1:N2(i)=1|ci|vcix1:N2(v)
    • 对于 categorical features ,由于它们的平均值没有意义,我们采用距离 cluster ci 的质心最近的 item 来表示 cluster ci

      c1:N1(i)=x1:N1(i),v=argminvcikvkcentroid22

      其中:kv,kcentroidRd 分别为 item v 和质心的 embeddings 。这些 embeddings 可以从 KS 中查找。

      注意:这是将距离质心最近的 itemcategorical feature 作为这个 clustercategorical feature

    因此,整个 cluster ci 由一个 aggregated, virtual item feature ci=[c1:N1(i);c1:N2(i)] 来表示。经过 embedding layers 之后,每个 cluster 的特征都被嵌入到一个向量中,例如,对于 ci 它的 embedding 向量为 kiRdGSUESU 模块根据这些 embedded vectors 估计每个 clustertarget item 之间的相关性。

    ci=[c1:N1(i);c1:N2(i)] 就是一个 “虚拟” 的 item (即,virtual item),作为这个 cluster 的代表。

c. Cluster-aware Target Attention
  1. 遵从 TWIN ,我们同时在 ESUGSU 中采用了相同的有效的注意力机制,将 clusters Crepresentations 作为输入。

  2. 给定 clustered behaviors C=[c1,c2,,cT^],我们通过 embedding layer 得到由 representation vectors 组成的矩阵 KRT^×d,其中 kiRd是第 icluster 的特征 ciembedding 向量。

    对于 numerical feature c1:N2(i) ,需要先做 bucktize ,然后再做 embedding

    然后我们使用 target attention 机制来衡量 target itemhistorical behaviors 的相关性。我们首先应用 TWIN 中的 “Behavior Feature Splits and Linear Projection” 技术来提升 target attention 的效率,详细信息见论文附录 A.2 。该方法将 item embeddings 拆分为固有的部分和交叉的部分。qRH 表示 target item 的固有特征的向量。KhRT^×H,KcRT^×C 分别是 clustered behaviors 的固有 embedding 和交叉 embedding ,其中 K=[Kh,Kc]。我们可以计算 target itemclustered behaviors 之间的 relevance scores αRT^

    α=(KhWh)(qWq)dk+(KcWc)β

    其中:Wh,Wq,Wc 是线性投影,dk 是投影维度,β 是可学习的交叉特征权重。

    由于 clusters 中的 item counts 千差万别,α 无法充分表示 clusterstarget item 之间的关系。假设两个 clusters 具有相同的相关性(与 target item 的相关性),则具有更多 itemscluster 应该更重要,因为 items 越多意味着用户偏好越强。因此,我们根据 cluster size 调整 relevance scores

    α=α+lnn

    其中:nNT^ 表示 C 中每个 clusters 的大小,每个元素 ni 表示 cluster cicluster size

  3. GSU 阶段,我们使用 αclustered behaviors (总长度为 T^)中选择 relevance scores 最高的 top 100 clusters 。然后,将这 100 clusters 被输入到 ESU ,在那里根据 relevance scores 对它们进行聚合,从而得到用户长期兴趣的 representation

    Attention(qWq,KhWh,KcWc,KWv)=Softmax(α)(KWv)

    其中 Wv 是一个投影矩阵。

    为了简单起见,这个等式中的符号被稍微滥用:在 ESU 阶段设置 T^=100。请注意,Softmax(α)可以写成:

    Softmax(α)=[n1×expα1j=1T^nj×expαj,,nT^×expαT^j=1T^nj×expαj]

    其中每个 clusterrelevance score αicluster size ni 重新加权。

    我们使用具有 4 个头的多头注意力来获得最终的长期兴趣:

    Long-term Interests=Concat(head1,,head4)Woheada=Attention(qWaq,KhWah,KcWac,KWav),a{1,2,3,4}

    其中 Wo 为一个投影矩阵。

  4. 备注:利用从 GSU 中的 hierarchical clustering 中得出的 behaviors ,使模型能够容纳更长的历史行为,从而在我们的系统中实现 life-cycle level modeling 。与 TWIN 相比,GSUlife-cycle behaviorsinput 涵盖了更广泛的历史兴趣,从而提供了更全面、更准确的用户兴趣建模。

    此外,虽然现有的方法使用 top 100 retrieved behaviors 作为 ESU 的输入,但 TWIN-V2 使用 100 clusters 。这些 clusters 涵盖了超过 100 behaviors ,使ESU 能够对更广泛的 behaviors 进行建模。

    所有这些优势带来了更加准确和多样化的推荐结果,这在实验章节中得到了验证。

56.1.4 TWIN-V2 的部署

  1. 我们将部署 TWIN-V2 的实践分为两个部分:在线和离线,如 Figure 3 所示。

    Figure 3 中,我们以单个用户为例进行说明。当系统收到用户的 request 时:

    • 它首先从离线处理好的 user life-cycle behaviors 中提取 behavioral features

    • 然后,使用 GSUESU ,将 behavioral features 建模长期兴趣的 input 从而用于 CTR 模型以进行预测。

    我们使用一个 nearline trainer 来进行 real-time model training ,该 trainer 使用实时用户交互数据(数据在 8 分钟的时间窗口内)增量地更新模型参数。

    对于 life-cycle behaviors ,我们应用 hierarchical clusteringfeature extraction 来处理它们。这是通过周期性的 offline processingupdates 进行的。

  2. Offline Processing :离线处理旨在压缩用户的整个 life-cycle behaviors 。考虑到快手的用户数量是十亿级的,我们会定期压缩他们的 life-cycle behaviorshierarchical clustering runner2 周执行一次全面更新。

    我们将 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 的参数。

  3. Online Serving:用户向系统发送 request 后,离线系统将数据特征发送到 GSUGSU 计算 behavior-target relevance scores α。然后,ESU 选择并聚合 top 100 clustered behaviors 作为长期兴趣从而用于 CTR 模型的预测。为了确保 online inference 的效率,我们保留了 TWINprecomputing and caching 策略(即,预计算并缓存 KhWah )。 TWIN-V2TWIN 的增量部署:TWIN 对最近几个月的 behaviors 进行建模,而 TWIN-V2 对整个生命周期的 behaviors 进行建模,使得它们相互补充。

56.2 实验

  1. 在本节中,我们通过进行大量的离线实验和在线实验来验证 TWIN-V2 的有效性。

  2. 数据集:由于 TWIN-V2 是为极长的 user behaviors 而设计的,因此需要使用具有丰富用户历史的数据集。据我们所知,目前还没有平均历史长度超过 104 的公开数据集。因此,我们从快手 App 中提取了连续五天的用户交互数据作为训练集和测试集。样本由点击日志构成,并以 click 为标签。为了捕获用户的 life-cycle 历史,我们进一步追溯了每个用户的过去所有行为,每个用户的最大历史长度为 100,000Table 2 展示了该工业数据集的基本统计数据。每天的前 23 个小时用作训练集,而最后一个小时用作测试集。

    这种测试集会不会有偏?因为最后一个小时的交互数据的分布可能与前 23 个小时不同。

  3. 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 HardHard-search 是指 GSU 根据 category 过滤长期历史。

    • (4) SIM SoftSoft search 涉及通过计算 target item 和历史记录中的 items 之间的向量点积来选择 top-k items

    • (5) ETA:它采用局部敏感哈希(Locality Sensitive Hashing: LSH )来促进端到端的训练。

    • (6) SDIMGSU 通过收集与 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:它为 GSUESU 阶段提出了一种有效的 target attention

    为了确保公平比较,除了 long-term interest modeling 外,我们在模型的所有方面都保持一致。

  4. 评估指标和评估设置:

    • 我们使用一天中连续 23 个小时的样本作为训练数据,并使用接下来一个小时的样本进行测试。我们连续 5 天评估所有算法并报告 5 天的平均性能。

      相当于将算法重复 5 次并报告平均性能。

    • 至于评估指标,我们采用了广泛使用的 AUCGroup AUC: GAUC 。我们计算了连续 5 天这两个指标的均值和标准差。

      GAUC 对所有用户的 AUC 进行加权平均,权重设置为该用户的样本数。GAUC 消除了用户之间的 bias ,以更精细和公平的粒度评估模型性能。

  5. 实现细节:

    • 对于所有模型,我们都使用 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

      对于 DINAvg-Poolingrecent history 的最大长度为 100 ,因为它们不是为 long-term behaviors 而设计的。

      Avg-Pooling 事实上可以支持任意长度的用户行为序列。为什么这里截断为 100

    • 所有两阶段模型都利用 GSU 来检索 top 100 historical items 并将它们输入 ESU 从而用于 interest modeling

    • batch size 设置为 8192Adam 的学习率为 5e-6

56.2.1 整体性能

  1. 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.001CTR prediction 具有重要意义,足以产生 online benefitsTWIN-V2 比表现第二好的 TWIN 模型有所改进,AUC 提高了 0.0013GAUC 提高了 0.0024 。这些改进验证了 TWIN-V2 的有效性。

    • TWIN-V2GAUC 上的相对改进高于 AUC 上的相对改进。GAUC 提供了更细粒度的模型指标。GAUC 的较大改进表明 TWIN-V2 在各种类型的用户中都实现了提升,而不仅仅是在整体样本上表现更好,而且它在特定子集上也表现出色。由于 TWIN-V2 包含更长的行为序列,我们相信它在高度活跃的用户群体中取得了更大的进步,这一假设在附录 A.3 中得到了验证(如 Figure 5 所示)。

56.2.2 消融研究

  1. 我们进行了一项消融研究,以调查核心模块在 TWIN-V2 中的作用以及我们设计背后的原理。

  2. 不同 Hierarchical Clustering 方法的比较:我们的 hierarchical clustering 方法有两个主要特点:

    • 1):它利用动态 clustering number δ 来适应各种各样的 sizes of behaviors

    • 2)k-means clustering 是非均匀的,最终导致不同大小的 clusters

    我们首先验证自适应的 δ 的有效性,创建一个变体:该变体在所有情况下都使用固定的 cluster number δ=2,记作 “Binary” 。此外,为了测试均匀 cluster sizes 的效果,我们创建了一个在 δ=2 时强制 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 的过程。

  3. Cluster-aware Target Attention 的有效性:在提出的 cluster-aware target attention 中,与 TWIN 相比,主要区别在于使用 clustered behavior 作为输入,并根据 cluster size 重新加权 attention scores 。我们分别从 GSUESU 中删除了 cluster size reweighting 部分,以评估其对性能的影响。具体来说,我们分别将 GSUESUα 替换为 αFigure 4 (right) 显示了实验结果。省略 reweighting 会导致性能下降,这验证了通过 cluster size 来调整 attention scores 的有效性。

56.2.3 在线实验

  1. 我们进行了在线 A/B test ,以验证 TWIN-V2 在我们工业级系统中的性能。Table 5 显示了 TWIN-V2 在快手三个代表性场景(Featured-Video Tab, Discovery Tab, and Slide Tab)中在观看时长(Watch Time )和推荐结果多样性方面的相对改进。

    • 观看时长衡量用户花费的总时间。

    • 多样性是指模型推荐结果的多样性,比如视频类型的丰富性。

      多样性指标公式是什么?这里没给出来。

    从结果来看,TWIN-V2 可以更好地建模用户兴趣,从而提升观看时长。此外,通过建模更长的历史行为,TWIN-V2 可以发现更多样化的用户兴趣,从而带来更加多样化的推荐结果。

五十七、CL4CTR[2022]

《CL4CTR: A Contrastive Learning Framework for CTR Prediction》

  1. 许多 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 learningcontrastive lossfeature alignmentfield uniformity

    • contrastive module 首先通过 data augmentation 构建 positive feature pairs ,然后通过 contrastive loss 最小化每对 positive feature pairrepresentations 之间的距离。

    • feature alignment constraint 使得来自同一 field 的特征的 representations 是接近的。

    • field uniformity constraint 使得来自不同 fields 的特征的representations 是远离的。

    大量实验验证了 CL4CTR 在四个数据集上取得了最佳性能,并且具有良好的有效性,以及具有与各种代表性 baselines 模型的兼容性。

  2. CTR prediction 旨在预测给定 item 被点击的概率,已被广泛应用于推荐系统和计算广告等许多应用领域。最近,许多方法通过建模复杂的特征交互(feature interactions: FI) 取得了巨大成功。根据最近的研究,我们将 CTR prediction 方法分为两类:

    • (1)传统方法,如逻辑回归 (logistic regression: LR )和基于 FM 的模型,它们只能建模低阶特征交互。

    • (2)基于深度学习的方法,如 xDeepFMDCN-V2 ,可以通过捕获高阶特征交互从而进一步提高CTR prediction 的准确性。此外,许多新颖的架构(例如,self-attentionCINPIN )已被提出并广泛部署从而捕获复杂的任意阶的特征交互。

    尽管在性能上取得了成功,但许多现有的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 模块(即 FENDual-FEN),为每个特征分配权重以提升其 representations 。 然而,额外的 weighting 模块会增加模型参数和推理时间。 此外,与基于特征交互的方法类似,这些方法仅使用 supervised learning signals 来优化来自 plain embedding layerfeature 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 modelcontrastive module 、以及 alignment&uniformity constraints 。具体来说:

    • CTR prediction model 旨在预测用户点击 item 的可能性,在 CL4CTR 框架中可以用大多数现有的 CTR 模型来代替它。

    • contrastive module 中,我们设计了三个关键组件:

      • (1) 数据增强单元(data augmentation unit ),旨在为 output embedding 生成两个不同的视图作为 positive training pairs ,其包括三种不同的 permutation 方法:random maskfeature maskdimension mask

      • (2) 特征交互编码器(feature interaction encoder),旨在基于来自数据增强单元的 perturbed embeddings 从而学习紧凑的 feature interaction representations

      • (3) 面向任务的对比损失(contrastive loss ),旨在最小化 positive training pairs 之间的距离。

    • 此外,我们引入了两个约束:feature alignmentfield uniformity ,以促进 contrastive learningfeature alignment 迫使来自同一 field 的特征的 representations 尽可能接近,而 field uniformity 迫使来自不同 field 的特征的 representations 尽可能远离。

    我们的主要贡献总结如下:

    • 我们提出了一个与模型无关的对比学习框架 CL4CTR ,它可以以端到端的方式直接提高 feature representations 的质量。

    • 考虑到 CTR prediction 任务的独有特点,我们设计了三个自监督学习信号(self-supervised learning signals ):contrastive lossfeature alignment constraint 以及field uniformity constraint ,以提高对比学习的性能。

    • 在四个数据集上进行的大量实验表明,只需将 CL4CTR 应用于FM 即可超越 SOTA 的方法。更重要的是,CL4CTR 与现有方法具有很高的兼容性,即它通常可以提高许多代表性的 baselines 的性能。

57.1 CL4CTR 框架

57.1.1 CTR Prediction

  1. CTR prediction 是一个二分类任务。假设用于训练 CTR prediction 模型的数据集包含 N 个实例 (x,y),其中真实标签 y{0,1}(点击与否)表示用户是否点击。输入 x 通常是 multi-field 表格型的数据记录,包含 F 个不同 fieldsM 个特征,如 Table 1 所示。

  2. 最近,如 Figure 2(a) 所示,许多 CTR prediction 模型遵循常见的设计范式:embedding layerFI layerprediction layer

    • Embedding layer :通常,每个输入 xi 都是一个由 one-hot vector 表示的稀疏高维向量。而embedding layer 将稀疏的高维特征向量 xi 转换为稠密的低维 embedding matrix

      E=[e1;e2;;eF]RD×F

      其中 Dembedding size; 表示向量拼接。

      注意:这里是将 xi 的每个特征获取 embedding vector,然后拼接成矩阵(而不是一维向量)。

      另外,我们使用 E=[E1,E2,,EF]RD×M 来表示所有的 feature representations ,其中 Ef 是第 ffieldrepresentationf{1,2,,F}|Ef|是属于field f 的特征的数量,M=f=1F|Ef|

    • Feature interaction layerFI layer 通常包含各种类型的交互操作从而捕获任意阶次的特征交互,例如 MLPCross NetworkCross Network2transformer layer 等。我们将这些结构称为 feature interaction encoders ,用 FI() 来表示。 FI() 可以基于 embedding matrix E 生成紧凑的 feature interaction representation hi

    • Prediction layer :最后,prediction layer (通常是一个线性回归或 MLP 模块)根据来自 FI layer 的紧凑 representations hi 来产生最终的预测概率 σ(y^i)[0,1] ,其中 σ(x)=1/(1+exp(x))sigmoid 函数。

    最后,利用 predicted label y^itrue label yiCTR 模型常用的损失函数如下:

    Lctr=1Ni=1N[yilog(σ(y^i))+(1yi)log(1σ(y^i))]

  3. 对比学习(Contrastive learning ):如 Figure 2 所示,除了上述组件之外,我们在 embedding layer 之上提出了三个 contrastive learning signalscontrastive lossfeature alignment constraintfield uniformity constraint,以规范化 representation learning 。由于这些信号在模型推理过程中不是必需的,我们的方法不会增加推理时间和底层 CTR prediction 模型的参数。

57.1.2 Contrastive Module

  1. 受到自监督学习的成功的启发,我们寻求在 CTR prediction 任务中部署 contrastive learning ,从而生成高质量的 feature representations 。如 Figure 2(b) 所示,contrastive module 由三个主要组件组成:data augmentation unitFI encodercontrastive loss function

    • data augmentation unit 中,我们提出了三种不同的面向任务的后验 embedding augmentation 技术来生成 positive training pairs ,即每个 feature embedding 的两个不同视图。

    • 然后,我们将两个 perturbed embeddings 馈入到同一个 FI encoder 以生成两个 compressed feature representations

    • 最后,应用 contrastive loss 来最小化两个 compressed feature representations 之间的距离。

  2. 通过 Output Perturbation 实现的 Data Augmentation :在自监督学习中,数据增强(Data Augmentation )在提高 feature representations 的性能方面显示出巨大的潜力。人们提出了不同的、设计良好的 augmentation 方法,并将它们用于构建同一输入实例的不同视图。例如,在序列推荐(sequential recommendation )场景中,三种广泛使用的 augmentation 方法是 item maskingreorderingcropping《Self-Supervised Learning for Recommender Systems: A Survey》)。然而,这些方法旨在 augment 行为序列,并不适合部署在 FI-based CTR prediction 模型中。因此,我们首先提出了三种面向任务的 augmentation 方法,旨在为 FI-based 模型来扰动 feature embeddings 。如Figure 2(d) 所示,我们使用函数 E^=g(E) 来表示 data augmentation 过程。

    • 随机掩码(Random Mask )。首先,我们介绍 random mask 方法,它类似于 Dropout 。该方法以一定的概率 p 随机掩码初始 embedding E 中的某些元素。 random mask 生成如下:

      E^=gr(E)=EI,IBernoulli(p)RD×F

      其中:Bernoulli() 是伯努利分布;I 是伯努利随机变量矩阵,每个变量取值为 1 的概率都是 p

    • 特征掩码(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 可以按如下方式生成:

      E^=gf(E)=[e^1;e^2;;e^F],e^f={ef,tT[mask],tT

      其中:

      • T 为随机采样到的 p 比例的特征集合:T=(t1,t2,,tLF)tf 为采样到的第 f 个特征。当 ijtitj 。此外 LF=p×F

      • 如果一个特征被掩码,那么这个特征的 representation 将被 [mask] 替换,它是一个零向量。

    • 维度掩码(Dimension Mask ):feature representations 的维度影响 deep learning 模型的有效性。受 FED《Dimension Relation Modeling for Click-Through Rate Prediction》)的启发,它试图通过捕获维度关系来提高预测性能,我们建议通过替换 feature representations 中特定比例的维度信息来扰乱初始 embedding ,这可以描述如下:

      E^=gd(E)=[e1d;e2d;;eFd],dBernoulli(p)RD

      其中:d 是伯努利随机变量组成的向量,每个变量为 1 的概率都是 p

    在训练过程中,我们选择上述掩码方法之一来生成两个 perturbed embedding E^1E^2 。例如,在 Figure 2(b) 中,E^1=g1(E),E^2=g2(E)。后续章节展示了有关不同掩码方法有效性的更多分析。

    采用什么类型的掩码,这是在训练之前就确定好的,而不是在训练过程中动态三选一来选择的。

  3. Feature Interaction Encoder :我们利用一个共享的 FI encoder 从两个 perturbed embedding E^1E^2 中提取 feature interaction 信息,如下所示:

    h1=FIcl(E^1),h2=FIcl(E^2)

    其中:FIcl() 表示 FI encoder 函数;h1,h2 是从两个 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 encoderTransformer layer 被广泛用于提取特征之间的 vector-level 关系。 此外,我们发现一些 FI encoders (例如 cross networkPIN )生成的 compressed representationsh1,h2 )的维度可能很大,例如当 field F 很大时维度超过数千,这会对训练稳定性产生不利影响。因此,我们利用投影函数将 FI encoderrepresentations 的维度降低到 D ,如下所示:

    h^1=p1(h1),h^2=p2(h2)

    其中,投影函数 p() 是单层 MLP

    如果采用了 Transformer Layer,是不是就不需要 Projector 了?

  4. Contrastive Loss Function :最后,应用对比损失函数(contrastive loss function )来最小化上述两个 perturbed representations 之间的期望距离,如下所示:

    Lcl=1Bi=1Bh^i,1h^i,222

    其中:Bbatch size22 表示 l2 距离。

57.1.3 Feature Alignment and Field Uniformity

  1. 为了确保低频特征和高频特征得到同等的训练,一种简单的方法是在训练期间增加低频特征的频率、或降低高频特征的频率。受到其他领域(CVNLP )中先前研究(《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 alignmentfield uniformity ,它们可以在训练过程中规范化 feature representations 。具体而言:

    • feature alignment 将来自同一 field 的特征的 representations 拉得尽可能接近。

    • 相反,field uniformity 将来自不同 field 的特征的 representations 推得尽可能远。

  2. Feature Alignment :首先,我们引入 feature alignment 约束,旨在最小化来自同一 field 的特征之间的距离。直观地讲,通过添加 feature alignment 约束,同一 field 中的特征的 representations 应该在低维空间中分布得更紧密。正式地, feature alignment 的损失函数如下:

    La=f=1Fei,ejEfeiei22

    其中:ei,ej 是两个 featureembedding ,它们来自同一fieldEffield f 的所有特征的 embeddings

  3. field Uniformity :现有的 CTR prediction 方法尚未广泛研究不同 field 之间的关系。例如,FFM 学习每个特征的 field-aware representation ,而 NON 提取 intra-field 信息,但它们的技术不能直接应用于对比学习。不同的是,我们引入 field uniformity 来直接优化 feature representation ,从而最小化属于不同 fields 的特征之间的相似性。field uniformity 的损失函数正式定义如下:

    Lu=eiEf1fFej(EEf)sim(ei,ej)

    其中:

    • sim(,) 为相似度函数。与其他方法(《Self-Supervised Learning for Recommender Systems: A Survey》《SelfCF: A Simple Framework for Self-supervised Collaborative Filtering》)类似,我们使用余弦相似度来正则化 negative sample pairs

      sim(ei,ej)=eiejei×ej

      这里也可以使用其他相似度函数。

    • EEf 包含除 field f 之外的所有特征。

  4. feature alignment 约束和 field uniformity 约束中,我们都发现低频特征和高频特征被考虑的机会是均等的。因此,在训练期间引入这两个约束可以大大缓解低频特征的 suboptimal representation 问题。

    对于某些 field ,例如 item id,它的特征取值范围非常大,那么 feature alignment 约束和 field uniformity 约束如何处理?读者猜测是:采样一部分特征而不是使用该 field 的全部特征。

57.1.4 Multi-task Training

  1. 为了将 CL4CTR 框架融入 CTR prediction 场景,我们采用 multi-task training 策略,以端到端的方式联合优化这三个辅助的自监督学习 losses 和原始 CTR prediction loss 。因此,最终的目标函数可以表示如下:

    Ltotal=Lctr+α×Lcl+β×(La+Lu)

    其中:α,β 是超参数,分别控制 contrastive lossfeature alignment and field uniformity loss

57.2 实验

  1. 数据集:FrappeML-tagSafeDriverML-1M 。四个数据集的统计数据如 Table 2 所示。

    • NFMAFM 严格按照 7:2:1FrappeML-tag 分为训练集、验证集和测试集,我们直接遵循它们的设置。

    • 对于 SafeDriverML-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 数据集,没有工业数据集,因此说服力不是很强。

  2. baselines:为了评估提出的 CL4CTR 框架,我们将其性能与四类代表性 CTR prediction 方法行了比较:

    • 1) 一阶方法,即原始特征的加权和,包括 LR

    • 2) 基于 FM 的方法,考虑二阶的特征交互,包括 FMFwFMIFMFmFM

    • 3) 建模高阶的特征交互的方法,包括 CrossNetIPNNOPNNFINTDCAP

    • 4) ensemble 方法或多塔结构,包括 WDLDCNDeepFMxDeepFMFiBi-NETAutoInt+AFN+TFNETFEDDCN-V2

    所提出的 CL4CTR 框架与模型无关。为简单起见,base 模型 M 配备CL4CTR 之后记作 CL4CTRM。我们选择 FM 作为 base 模型来验证 CL4CTR 的有效性,它仅仅建模二阶的特征交互,除了 feature representations 之外没有其他参数。因此, CL4CTRM 的性能提升直接反映了 feature representations 的质量。CL4CTR 仅帮助 base CTR model 的训练,不会向推理过程添加任何操作或参数。

    有可能在更优秀的 base 模型上,CL4CTR 的增益会很小甚至消失。因为更优秀的 base 模型可能学到更好的 representation

  3. 评估指标:AUC, Logloss

  4. 实现细节:

    • 为了公平比较,我们使用 Pytorch 实现所有模型,并使用 Adam 优化所有模型。

    • FrappeML-tagembedding size 设置为 64ML-1MSafeDriverembedding size 设置为 20 。同时,batch size 固定为 1024SafeDriver 的学习率为0.01 ,其他数据集的学习率为 0.001

    • 对于包含 DNN 的模型,我们采用相同的结构 {400,400,400,1} 。所有激活函数均为 ReLUdropout rate0.5

    • 我们根据验证集上的 AUC 执行早停,从而避免过拟合。我们还实现了 Reduce-LR-On-Plateau scheduler ,当给定指标在四个连续 epochs 内停止改进时,将学习率降低 10 倍。

    • 每个实验重复 5 次,并报告平均结果。

    • CL4CTR 中, FIcl() 采用三个 Transformer layers 。我们在最终损失函数中使用超参数:α=1,β=0.01

57.2.1 整体比较

  1. 在本节中,我们将 CL4CTRFM 的性能与SOTACTR prediction 模型进行了比较。Table 3 显示了所有被比较的模型在四个数据集上的实验结果。 可以观察到:

    • 与其他 baselines 相比,LRFM 的性能最差,这表明浅层模型不足以进行 CTR prediction

    • 其他 FM-based 的模型通过引入 field importance 机制(例如,FwFMIFM )、或部署新颖的 field-pair matrix 方法(例如,FmFM )来改进 FM

    • 通常,基于 deep-learning 的模型(例如,DeepFMDCNDCN-V2 )将高阶特征交互与精心设计的特征交互结构相结合,比 FM 具有更好的性能。

    • CL4CTRFM 在所有数据集上的表现始终优于所有 baselines 。在 FrappeML-tagML-1MSafeDriver上,CL4CTRFMAUC 显著优于最强的基线 DCN-V2 分别为 0.13%0.11%0.39%0.67%Logloss 值分别为 16.10%8.41%0.64%1.46% )。

      此外,我们发现 Logloss 的改进比 AUC 的改进更显著,这表明 CL4CTR 使我们能够有效地预测真实的点击率。

    • 同时, CL4CTRFM 在所有数据集上都表现出很强的泛化能力,其中 Table 3 显示了平均性能提升(ΔAUCΔLogloss )。值得注意的是,大多数 SOTACTR prediction 模型都设计了复杂的网络来产生高级的 feature representations 和有用的 feature interactions 来提高性能。然而,我们的 CL4CTR 仅仅帮助 FM 通过对比学习从 embedding layer 学习准确的 feature representations ,而不是引入额外的模块。我们 CL4CTR 的改进验证了在 CTR prediction 任务中学习准确的 feature representations 的必要性。

57.2.2 Ablation Study

  1. 兼容性分析:为了验证 CL4CTR 的兼容性,我们将其部署到其他 SOTA 模型中,例如 DeepFMAutoInt+DCN-V2 。结果如 Table 4 所示。

    • 首先,使用 CL4CTRlearning feature representation 可以显著提高 CTR prediction 的性能。应用 CL4CTR 后,base 模型的性能得到显著提升,这证实了我们通过提高 feature representations 的质量来提高 CTR prediction 模型性能的假设,并证明了 CL4CTR 的有效性。

    • 此外,实验结果表明,学习高质量的 feature representations 至少与设计高级的特征交互技术一样重要。当这些模型利用监督信号进行训练时,建模复杂的特征交互可以提高 CTR 模型的性能,这解释了为什么 FI-based 的模型优于 FM

      然而,在将自监督信号引入 CTR 模型以学习高质量的 feature representations 后,在配备了 CL4CTR 的所有模型之间,FM 可以取得最佳性能。可能的原因是:在 CL4CTRFM 中,监督学习和自监督学习都是直接优化、且仅仅优化 FMfeature representations 中的参数,而不会受到其他参数的干扰。

      因为 FM 模型除了 embedding layer 之外没有其它参数。

  2. Data Augmentation 方法:为了验证我们提出的 data augmentation 方法的有效性,我们更改了 contrastive module 中的 augmentation 方法,并固定了其他 settings 以进行公平比较。此外,我们选择了不同的 baseline 模型并将 CL4CTR 部署到其中,以比较它们在此 setting 下的性能。Table 5 展示了实验结果。

    • 在大多数情况下,random mask 方法取得了最佳性能。我们认为 random maskfeature maskdimension mask 更具缓和性,因为它省略了 element 信息。

    • 此外,在 Frappe 上,FwFM 模型使用 feature mask 方法取得了最佳性能;相反,在 SafeDriverFwFM 模型使用 dimension mask 方法取得了最佳性能,这表明我们提出的 augmentation 方法是有效的,并且可以用于不同的 baseline 模型和数据集。

  3. 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 encodersCL4CTR 可以一致地提高这些 baseline 模型的性能。

    • 此外,由于不同的 FI encoders 根据特定的 base 模型和数据集提取不同的信息,这些模型的性能也不同。然而,带有 Transformer layersCL4CTR 在大多数情况下都能达到最佳性能,因为 Transformer layer 比其他的 layers 更有效。

  4. 损失函数:在本节中,我们通过分别从 CL4CTR 中剔除自监督学习信号(即 Lcl,La,Lu),来评估它们的有效性。我们仍然将 LaLu 视为一个整体。实验结果如 Table 7 所示。

    • 首先,我们可以发现,在 baseline 模型中部署每一种自监督学习信号都可以提高其性能。

    • 此外,通过分别比较 contrastive lossalignment&uniformity constraints,我们得出结论,它们在不同的数据集和 baseline 模型中发挥着不同的作用。具体而言:

      • 具有 La,LuFM 的表现优于具有 LclFM

      • 相反,具有 La,LuDCN 的表现不如具有 LclDCN ,这验证了我们的假设。

    • 此外,当 Lcl,La,Lu同时部署时,所有实验均能取得最佳效果。与单个自监督学习信号相比,我们发现使用所有这些信号进行训练总能取得最佳效果。

    • 此外,在 Logloss 评估的两个数据集上,采用 La,LuFM 的表现始终优于采用 LclFM ,这表明将feature alignment and field uniformity 引入 CTR prediction 模型使我们的预测概率更接近 true label

57.2.3 Feature Frequency Analysis

  1. 为了验证特征频率对不同模型的影响,我们将 ML-tag 测试集按照特征频率进行划分,并计算相应的Logloss ,其中 ΔLogloss 表示应用 CL4CTR 后相对于 base FM 模型的提升。Figure 3 展示了实验结果。

    • 首先,低频特征对 base 模型的准确率有负面影响。具体而言,我们展示了 FM 、三个 SOTA 模型(AFN+DeepFMDCN-V2 )、以及 CL4CTRFM 在不同频率范围内的表现。可以观察到:

      • 当输入子集包含低频特征时,所有模型的表现最差。

      • 随着特征频率的增加,所有模型的性能都在持续提升。

      • 当特征频率超过 20 时,所有模型的性能都趋于稳定。

      Figure 3 证实了我们的假设,即仅使用具有单个监督信号的反向传播来学习低频特征的 representations 无法实现最佳性能。

    • 其次,CL4CTR 可以有效缓解低频特征带来的负面影响,并在不同特征频率范围内保持最佳性能。通过应用 alignment&uniformity constraints ,我们确保低频特征可以在每个反向传播过程中得到优化,并且与高频特征有同等的机会。此外,contrastive module 还可以提高所有特征(包括低频和高频特征)的 representations 的质量。

      这里的分组指的是被点击的 label tag 的频次。

57.2.4 超参数分析

  1. 损失函数中权重的影响:我们进一步研究了不同权重(αβ)的影响。我们从 {1, 1e-1, 1e-2, 1e-3, 1e-4, 1e-5, 0} 中调优 αβ。我们保持其他 settings 不变,以便进行公平比较。Figure 4 显示了实验结果。此外,在这两个数据集上 Logloss 的趋势与 AUC 的趋势一致。 总体而言,对于 FrappeML-1M 数据集,当 α=1,β=1e-2 时,CL4CTR 的性能最佳。具体来说:

    • α<1 时,CL4CTR 的性能会下降。

    • 此外,当 β>1e-2(即 11e-1 )时,CL4CTR 的性能会显著降低。

    • 同时,当 αβ 都较低时(右下角),CL4CTR 的表现更差。

  2. 掩码比例:我们在 (0,1) 范围内以 0.1 的步长更改掩码比例 p 。请注意,掩码比例仅适用于 LclFigure 5 显示了结果。 对于具有 Lcl 的模型,它们在 FrappeML-1M上 的性能显示出相似的趋势。当掩码比例在0.40.5 左右时,CL4CTRFM 可以实现最佳性能。具体而言:

    • 当选择较小的掩码比例(即 0.10.3 )时,模型性能会略有下降。

    • 当掩码比例超过 0.5 时,模型性能持续下降,这是因为FI encoders 仅使用一小部分信息来生成有效的interaction representations ,以计算具有较高掩码比例的 contrastive loss

  3. embedding size:我们在 embedding layer 中将 embedding size 更改为从 1664 ,步长为 16 ,并在 Figure 6 中展示实验结果。

    可以观察到:

    • 随着 embedding size 的增加,CL4CTRFM 的性能得到了显著改善。

    • 同时,CL4CTR 可以提高所有 embedding sizeFM 的性能。

    • 此外,与具有 embedding size = 64FM 相比,CL4CTRFMembedding size = 16 的小尺寸下实现了更好的性能。这意味着我们可以通过在 FM 上应用 CL4CTR 来减少参数,同时获得更好的结果。