五十五、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(α)可以写成: