BDPL模型:行为感知双通道学习如何提升异构序列推荐效果

📅 2026/6/21 21:30:09
BDPL模型:行为感知双通道学习如何提升异构序列推荐效果
1. 从“千人千面”到“千人千面千时千面”推荐系统的下一站如果你在电商平台搜索过“婴儿奶粉”接下来几天你的首页大概率会被各种母婴用品、育儿书籍和儿童玩具填满。这背后是经典的协同过滤和序列推荐在起作用——它们通过你的历史行为序列预测你“接下来可能喜欢什么”。然而这种模式正面临一个日益明显的瓶颈用户的行为是复杂且多变的。同一位用户在工作日的午休时间可能快速浏览科技新闻在周末晚上则沉浸于游戏直播在给家人选购礼物时又表现出完全不同的兴趣模式。传统的序列推荐模型往往将这些混杂的、来自不同场景我们称之为“异构”的行为序列不加区分地喂给模型期望得到一个统一的用户偏好表示这就像让一个厨师用同一把勺子去处理川菜、粤菜和西点结果难免串味。“BDPL行为感知双通道偏好学习”这篇论文正是为了解决这个“串味”问题。它不再将用户视为一个兴趣单一的个体而是敏锐地捕捉到用户在不同类型行为如点击、收藏、购买、长时间观看背后隐藏着截然不同的意图和偏好。一个“收藏”行为可能代表深度的兴趣和未来的购买意向而一次快速的“点击-跳出”可能只是偶然的误触或浅层的好奇。BDPL的核心思想就是为这些异构行为构建“双通道”一个通道专注于捕捉用户稳定的、长期的综合兴趣就像你的基本口味偏好另一个通道则实时感知用户当前会话中表现出的动态、短期的行为意图就像你此刻是渴了想喝水还是饿了想吃饭。通过对这两类偏好进行分离、学习和有机融合模型能够更精准地预测用户在特定情境下的下一个行为。这不仅仅是学术上的精进。在信息过载的今天提升推荐的精准度直接关系到用户体验、留存和商业价值。BDPL所代表的“行为感知”与“异构序列”处理思路为推荐系统从“千人千面”走向更精细的“千人千面千时千面”提供了切实可行的技术路径。接下来我将结合对这类模型的普遍性理解拆解BDPL的关键设计、实现逻辑并探讨其性能背后的原因以及在实际应用中可能遇到的挑战。2. 解构“异构序列”为什么传统模型在这里失灵了在深入BDPL之前我们必须先理解“异构序列推荐”到底难在哪里。所谓“异构”在推荐系统上下文中通常指代两种或两种以上不同类型的行为数据共同构成的序列。最常见的就是我们在电商或内容平台看到的点击、加购、收藏、购买、评分、分享、长时间停留……这些行为的重要性、置信度和背后的用户心理是截然不同的。2.1 行为异质性的三重挑战第一重挑战是信号强度与噪音的差异。一个“购买”行为是强烈的正向信号几乎可以肯定用户对该物品有高偏好而一个“点击”行为则微弱得多可能源于封面吸引、误触或随意浏览。传统模型如GRU4Rec或SASRec使用相同的网络参数处理所有类型的行为嵌入相当于赋予所有行为相似的权重这必然会使得强信号被弱信号稀释或者模型无法有效区分信号的真伪。第二重挑战是行为背后的意图分化。用户进行不同行为时其心理状态和目标是不同的。例如在“收藏”时用户可能处于一种“标记以备后用”的规划状态在“加购”时可能进入了“比价和决策”状态而在“浏览”时可能只是处于“探索和消遣”状态。这些不同的意图状态应该对应不同的偏好向量。传统单一通道的模型输出的一个“综合偏好”向量试图同时表达所有这些状态必然会导致表征模糊。第三重挑战是行为间的复杂依赖关系。异构行为之间的转移模式并非随机。存在一些常见的模式链如“点击 - 详细浏览 - 加购 - 购买”这是一个强烈的转化意图链也可能有“点击 - 快速跳出”这样的负面链。模型需要能够捕捉这些跨行为类型的、具有特定意义的转移规律而不仅仅是同类型行为如点击序列内部的转移。2.2 传统序列建模的局限性基于RNN如GRU或Transformer如BERT、SASRec的经典序列推荐模型其强大之处在于捕捉序列中的长期依赖和动态演化。但它们的基本假设是序列元素行为是同质的或者其差异性可以通过嵌入层Embedding来简单刻画。在处理异构序列时它们的局限性凸显统一的嵌入与建模尽管可以为不同行为类型设置不同的嵌入向量但后续的序列建模层如Transformer Encoder对所有位置的信息进行混合注意力计算时不同类型行为间的差异性容易被平滑掉。模型难以自主地学习到“购买行为应给予更高注意力权重”或“收藏行为应与长期兴趣模块关联更强”这样的规则。单一的兴趣表征最终模型输出一个单一的向量来表示用户在当前序列下的兴趣。这个向量被迫承载了所有混杂的意图信息当需要预测下一个可能是任何类型的行为时这个综合向量的针对性就会变弱。BDPL的提出正是为了正面应对这些挑战。它的设计哲学很清晰既然行为是异构的、意图是多变的那么我们就用不同的“通道”或“模块”来分别处理它们最后再根据当前情境进行智能整合。3. BDPL架构深潜双通道如何感知与学习BDPL模型的核心创新在于其“行为感知”与“双通道”结构。我们可以将其想象成一个拥有两位专业顾问的决策系统一位是“长期战略顾问”负责分析你的历史档案和稳定偏好另一位是“实时战术顾问”负责解读你当前正在做的事情和瞬间意图。BDPL的架构就是让这两位顾问高效协作的框架。3.1 输入层与行为感知嵌入首先模型需要接收原始的异构行为序列。假设一个序列为[(item₁, b-type₁), (item₂, b-type₂), ..., (item_t, b-type_t)]其中每个元素包含了物品ID和行为类型。物品嵌入每个物品item_i通过一个可学习的查找表被映射为一个稠密向量e_i这与传统方法一致。行为感知嵌入这是BDPL的第一个关键点。它不是简单地为行为类型如点击、购买分配一个独立的嵌入向量而是设计了一个行为感知的映射网络。这个网络以物品嵌入e_i和行为类型编码b_type_i为输入输出一个融合了行为信息的“行为-物品联合嵌入”h_i。具体实现上可以将行为类型编码为一个独热向量然后与物品嵌入拼接通过一个全连接层进行融合h_i ReLU(W * concat(e_i, embed(b_type_i)) b)。这样做的深层原因是同一物品在不同行为下对用户偏好的贡献度不同。例如对于同一款手机用户“购买”它和“浏览”它所反映的兴趣强度天差地别。h_i就承载了这种差异化信息。3.2 长期偏好通道捕捉稳定的兴趣画像这个通道的目标是从用户整个历史交互序列中提炼出那些相对稳定、持久的兴趣偏好。这些偏好可能跨越多个会话与用户的人口统计学特征、固有品味相关。序列建模将整个行为感知嵌入序列[h_1, h_2, ..., h_t]输入到一个序列编码器中论文中可能采用Transformer Encoder或GRU。这里的关键是模型通过自注意力机制能够学习到序列中哪些行为尤其是那些强信号行为如购买、收藏对定义用户长期兴趣更为关键。偏好提炼序列编码器最终输出每个位置的上下文向量。BDPL通常会采用一种聚合策略如取最后一个隐藏状态或对所有隐藏状态进行注意力聚合生成一个长期偏好向量p_long。这个向量可以被理解为用户的“兴趣基底”。注意在实际实现中长期通道可能会对序列进行采样或使用更长的历史窗口以确保其真正关注“长期”模式而非被近期频繁的临时行为所主导。3.3 短期偏好通道感知当前的动态意图这个通道专注于当前会话或最近一段密集交互序列内的行为模式旨在捕捉用户即时的、动态的意图。例如用户最近十分钟连续点击了多款跑步鞋那么其短期意图很可能与“运动装备”相关。会话划分或滑动窗口首先需要从完整序列中界定“短期”的范围。这可以通过会话分割基于时间间隔或使用一个固定长度的滑动窗口来实现。假设我们取最近K个行为作为短期序列。意图敏感的序列建模将短期序列的行为感知嵌入输入另一个序列编码器可能与长期通道共享结构但参数不共享。这个编码器的任务是捕捉短期内的行为转移模式。由于序列较短模型能更敏锐地感知到用户当前的任务导向。短期偏好生成同样通过聚合得到短期偏好向量p_short。这个向量高度依赖于最近的交互上下文变化较快。3.4 双通道偏好融合情境化的决策引擎得到长期偏好p_long和短期偏好p_short后最关键的一步是如何将它们融合起来用于预测下一个物品。BDPL在这里引入了“行为感知”的融合机制即融合的权重应根据待预测的行为类型或当前上下文动态调整。门控融合机制一个常见且有效的做法是使用门控网络Gating Network。例如设计一个门控向量gg sigmoid(W_g * concat(p_long, p_short, c) b_g)其中c是当前的上下文信息如下一个行为类型的嵌入或最近一个行为的嵌入。然后融合后的最终用户偏好表示为p_final g ⊙ p_long (1 - g) ⊙ p_short这里⊙表示逐元素相乘。门控向量g学习在何种情况下应更依赖长期偏好例如当用户行为稀疏或当前行为意图不明确时何种情况下应更依赖短期偏好例如当用户处于一个明确、连贯的浏览会话中时。预测层最终使用融合偏好p_final与所有候选物品的嵌入进行内积计算或通过更复杂的神经网络得到每个候选物品的得分并通过Softmax生成预测概率。损失函数通常采用交叉熵损失旨在最大化下一个真实物品的预测概率。通过这套流程BDPL实现了对用户异构行为的精细化建模长期通道负责“知根知底”短期通道负责“察言观色”而门控融合机制则扮演了“审时度势”的决策者角色。4. 性能优势分析BDPL为何能更胜一筹在公开数据集如Amazon、Tmall上的实验表明BDPL模型在命中率、归一化折损累计增益等关键指标上通常优于GRU4Rec、SASRec、以及一些早期的异构行为处理模型。其性能提升并非偶然而是源于其架构设计精准地击中了传统模型的痛点。4.1 对信号噪声的鲁棒性增强在包含大量点击噪声的序列中传统模型容易受到干扰。BDPL的双通道结构提供了一种自然的去噪机制长期通道由于关注整体序列偶然的噪声点击在注意力权重计算中不易获得高权重特别是当用户有大量强信号行为如购买作为锚点时。长期偏好p_long更多地由高置信度行为塑造。短期通道即使短期序列包含噪声但由于序列短模型可以结合行为类型信息来弱化噪声的影响。例如一个孤立的“点击-跳出”行为在短期建模中可能被识别为无效模式。动态融合当短期序列噪声较大时门控网络可以自动降低p_short的权重更多地依赖相对稳定的p_long从而稳定预测结果。4.2 对复杂意图的刻画能力提升用户从“浏览旅游攻略”到“购买机票”与从“浏览手机评测”到“收藏某款手机”虽然可能都是“浏览-主动行为”的模式但意图强度和决策路径不同。BDPL的行为感知嵌入让模型在输入层就区分了“浏览”同一个物品和“购买”同一个物品的天壤之别。双通道分离使得模型能够分别表征用户的“泛在旅游兴趣”长期和“当前强烈的出行规划意图”短期。在预测“购买机票”时短期通道的权重会显著增加模型能精准捕捉到从“攻略浏览”到“机票购买”这种跨行为类型的强意图转化。4.3 对数据稀疏场景的缓解对于新用户或交互数据较少的用户其短期行为序列可能非常短或噪声大。此时传统单一模型容易过拟合或表现不佳。BDPL的长期通道可以从有限的交互中尽可能提取用户的粗略兴趣画像即使只有几次购买也能说明很多问题。在短期数据不足时门控网络会倾向于信任长期通道。同时模型可以通过在大量用户数据上预训练行为感知嵌入和门控网络获得对行为类型的一般性理解从而更好地泛化到数据稀疏的用户上实现“冷启动”性能的提升。4.4 与“小尺度衰落”概念的类比启示虽然“小尺度衰落下的GSM载波性能分析”是通信领域的术语但其思想与推荐系统有有趣的类比。在无线通信中“小尺度衰落”指的是信号在短时间或短距离内因多径效应导致的快速波动。通信系统需要区分并处理这种快速变化的“小尺度衰落”和相对缓慢变化的“大尺度路径损耗”。BDPL的短期偏好通道正是在处理用户兴趣的“小尺度衰落”——即因当前情境、瞬时意图引起的兴趣快速波动。长期偏好通道则对应处理用户兴趣的“大尺度路径损耗”——即相对稳定、缓慢演变的长期兴趣基底。一个稳健的通信系统需要同时对抗这两种衰落一个精准的推荐系统也同样需要同时建模这两种兴趣变化。BDPL通过双通道分离建模正是借鉴了这种“分而治之”的思想从而获得了更稳健、更精准的性能。5. 从论文到实践实现BDPL的关键细节与踩坑点阅读论文获得灵感是一回事将其转化为可运行、有效果的代码则是另一回事。在尝试复现或借鉴BDPL思想进行工程实践时有几个关键细节和潜在陷阱需要特别注意。5.1 行为类型的设计与编码行为类型的定义是模型的基石定义不当会导致模型学习混乱。粒度选择行为粒度过粗如只分“点击”和“非点击”无法体现异质性粒度过细如将“停留1-3秒”、“停留3-10秒”都分为不同类型则会导致数据稀疏和模型复杂。一个实用的起点是采用业务中的关键事件曝光、点击、详情页停留超时、加购、收藏、购买、支付。曝光行为可以作为负样本或提供上下文信息。编码方式除了使用独热编码可以考虑为行为类型也学习一个嵌入向量。更高级的做法是引入行为类型的先验权重如购买5收藏3点击1将这个权重作为特征之一输入到行为感知嵌入层或注意力计算中。5.2 长期与短期序列的划分策略如何定义“长期”和“短期”直接影响两个通道的学习目标。短期序列通常基于会话划分。一个简单有效的方法是设定一个时间阈值如30分钟两次交互间隔超过该阈值则视为不同会话。将最后一个完整会话作为短期序列。另一种方法是使用滑动窗口取最近N个交互如50个。长期序列可以是用户的所有历史交互去除短期序列部分也可以是一个更长的时间窗口如过去90天。需要注意的是长期序列不宜过长否则计算开销大且早期历史可能已过时。通常需要对长期序列进行采样例如随机采样一定数量如100个的历史交互或保留所有强信号行为购买、收藏并采样部分弱信号行为。5.3 门控网络的设计与训练技巧门控网络是融合的核心设计不好容易导致模型退化例如门控值始终偏向一边退化为单通道模型。输入信息门控网络的输入至关重要。除了p_long和p_short务必加入当前上下文信息c。c可以是最新一个行为的“行为-物品联合嵌入”h_t也可以是待预测的行为类型嵌入。这为门控网络提供了“为何而融合”的决策依据。初始化与正则化将门控网络的偏置b_g初始化为0这样在训练初期门控值g在0.5附近模型能平等地看到两个通道的信息避免早期收敛到次优状态。同时可以对门控值g的分布施加正则化如鼓励其不要过于极端确保两个通道都能被有效利用。梯度流确保长期和短期通道的梯度都能顺畅地回传到门控网络及更早的层。有时需要对较长的长期序列进行梯度截断或使用更稳定的优化器。5.4 负采样策略的适配序列推荐通常使用负采样来构建损失函数。在异构行为场景下负采样也需要稍作调整。行为感知的负样本对于给定的正样本用户序列下一个物品行为类型负采样时不仅要采样一个用户未交互过的物品还应考虑这个物品在该行为类型下的合理性。例如预测的下一个行为是“购买”那么负样本物品应该是用户从未购买过但可能曝光或点击过的物品而不是一个完全无关的物品。这需要根据业务日志构建更精细的候选集。批次内负采样由于引入了行为类型标准的批次内负采样将同一批次内其他用户的正样本作为当前用户的负样本可能仍然有效但需要注意平衡不同行为类型的样本数量。在实际部署中BDPL类模型的计算开销会比单通道模型大因为它需要维护和计算两个序列编码器。因此需要在效果和效率之间进行权衡例如对长期通道使用更轻量级的模型如平均池化或者只在离线训练时使用完整模型在线服务时使用缓存好的用户长期偏好向量。