在当前淘宝首页“猜你喜欢”(简称“首猜”)商品召回场景中,向量召回模型扮演着至关重要的角色。然而,在训练向量召回模型过程中,我们发现了一个显著的问题:基于单个用户向量来训练双塔模型时,用户向量会因为不断拉扯而达不到理想的训练效果。为了表述这个问题,我们把训练收敛后的向量召回模型物品侧向量取出,并随机选取了部分类目的商品使用T-SNE进行降维,降到2维之后的的数据如左图所示:
如上图所示,在特征空间中,不同属性的物品表现出了显著的区分性。然而,当用户对多类物品表现出兴趣时,用户向量模型在训练过程中会被不断拉扯,难以准确学习用户对不同物品簇的兴趣,更难以捕捉用户在单个兴趣下更细粒度的偏好。因此我们判断,在当前单用户向量并且使用内积检索的范式下,用户向量在训练过程中会受到向量空间中不同兴趣簇的物品拉扯,无法达到理想的训练效果。为了解决这一问题,从多兴趣建模(或多用户向量)的角度出发优化向量召回模型显得尤为必要。
首猜算法经过多年迭代优化,在多兴趣召回领域已取得显著进展。这些技术成果涵盖了多种先进模型与方法,包含胶囊网络模型MIND、两阶段召回模型、以及cate2i和tag2i召回等。其中两阶段召回模型的范式第一阶段通过模型对用户的意图(如兴趣类目)进行预测,第二阶段则基于特定意图(兴趣类目)实现个性化召回,两个阶段分别由两个独立的模型完成。但我们认为这样的两阶段范式存在以下问题:
离线在线不一致:第二阶段在训练时使用label商品的类目作为兴趣输入,会导致第二阶段的模型训练任务过于简单,并导致模型的训练和实际线上的效果产生偏离。
离线评测&维护困难:由于两个阶段是分开的,整体的离线评测流程会更加复杂,对于模型的迭代与维护具有很大的挑战性。
基于以上问题,我们从两阶段召回模型出发,提出了一种端到端联合训练的多兴趣建模新范式。该范式通过整合深度神经网络架构,实现了从特征提取到兴趣表征的全流程优化,从而显著提升了模型的表达能力与泛化性能。此方法不仅突破了传统两阶段框架在误差传播与信息损失方面的局限性,还通过端到端的协同优化机制,有效捕捉了用户兴趣的多样性与动态性,为个性化推荐系统等领域提供了更为精准且可扩展的解决方案。
具体来说,我们仍把多兴趣推荐视为一个 User-Interest-Item 建模的问题,关注 和 , 对于一个用户 和一个物品 ,在这里我们给出形式化定义:
其中代表用户的兴趣,在我们的范式中可以是显式的兴趣也可以是隐式的兴趣,代表一阶段用户兴趣的评估,二阶段代表基于用户信息和兴趣来检索物品。在我们的范式中,一阶段和二阶段高度耦合并共享底层参数,训练过程中一阶段的兴趣预测会直接作为二阶段的特征。
为了提升可解释性,我们希望每个兴趣都有固定的语义和确定对应的商品,因此在建模中我们选择叶子类目作为兴趣。一阶段的训练目标为预估用户接下来感兴趣的叶子类目,二阶段的训练目标为基于一阶段预测出的兴趣来召回目标商品,两个阶段对于底层的Embedding参数是共享的,并联合一起训练。
特征输入:在一阶段的训练中我们把用户侧静态特征和用户侧行为序列(包含用户短期行为序列和长期行为序列)都作为兴趣预测的特征输入。
网络结构:对于每个用户侧行为序列特征,使用Self-Attention Layer来进行处理得到,和用户侧静态特征拼接得到 :
拼接后的特征会作为Interest Net的输入(即多层全连接层),然后通过Softmax函数来归一化得到概率分布:
其中是最终模型对每个类目的预测分布,代表所有叶子类目的数量。
Loss计算:我们的样本组织形式是按照曝光维度,即一个曝光下的所有行为会聚合成一条样本。因此我们定义任务的正样本为当前曝光下用户点击或成交的类目,任务的负样本为所有当次未点击的类目:
这里代表类目i是否在当次曝光被点击或成交,值得注意的是是对下标从1到的个打分。
网络结构:首先一阶段预测出来的top k个兴趣向量每个都会对用户行为进行Target Attention,来从行为序列中找到更加符合当前兴趣的行为并赋予更高的权重,整合得到当前兴趣下的序列特征表示:
其中,兴趣向量,用户侧行为序列,输出的结果为。然后我们将每个兴趣下的序列特征表示和用户侧静态特征以及兴趣向量拼接在一起得到User Net的输入:
其中的维度为,物品侧的输入为物品的静态特征。经过User Net和Item Net的多层全连接之后,用户侧和物品侧的输出分别为和。最终的logits计算时,我们采用了物品和所有兴趣先内积然后取max的形式,这是因为我们只关注在和物品相关的兴趣下对物品的打分:
Loss计算:在得到用户对每个物品的打分之后,我们采用了Listwise Loss的方式来建模多个目标。对于一条曝光样本,我们会关联到其对应的点击物品和成交物品(可能为空),精排打分商品(按照精排打分排序在头部、中部和尾部进行采样),负采样商品(按照商品在首猜曝光的频次在全底池进行采样,通过GraphLearn在训练过程中采样)。对于用户的一次请求,我们希望模型能够学到成交>点击>精排打分头部>精排打分中部>精排打分尾部>负采样商品,因此我们一共设计了4个loss:
不同目标下的loss按照加权求和得到二阶段的loss,并和一阶段的相加得到最终的loss。
一阶段预测准度:首先展示tensorboard和离线评测的一阶段类目预测命中情况:
可以看到训练时和离线评测时随着预测个数的增长,Hitrate都有显著的增加。当设置兴趣k的数量为15时,在离线评测中的命中率有接近50%。但这里存在一个问题,假如我们在一阶段设置15个兴趣,是不是模型最终召回物品的命中率上限就是50%呢?答案是否定的,原因是我们在模型训练和检索时没有限定当前兴趣类目下只能召回该类目的商品,在后面的case中可以看到,每个兴趣都会召回多个相近类目的商品,同时在线实验中(章节4)也分析了在线召回商品类目的命中率,实际命中率远高于50%。
为了整体评估所提出的端到端多兴趣模型,这里首先展示多个模型的离线Hitrate@k评测,评测的模型如下:
从表中可以看出DM_interest的效果要远超基座双塔模型和DM_interest_target。其中DM_interest_target的效果甚至不如基座双塔模型,这是因为DM_interest_target每次直接看到了目标商品的类目,使得第二个阶段的任务过于简单,导致了模型训练和推理的不一致性,以如下tensorboard日志为说明:
上图显示的是平均每个点击正样本的逆序对数目(模型给负样本的打分高于正样本的pair对数目,数值越小代表模型性能越好),蓝色的线代表训练时的逆序对数目,而橙色的线可以视为模型预测时的逆序对数目。通过对比可以发现DM_interest模型在训练和预测时模型的表现基本一致,而DM_interest_target在训练时逆序对可以很轻松的降到一个很低的值,但同时预测的逆序对下降明显很缓慢,这说明离线在线不一致对模型的影响是巨大的。
兴趣个数作为重要的超参数,对模型的效果有很大的影响,因此我们在迭代中关于兴趣个数做了许多尝试与实验。下面我们先展示训练时不同兴趣数目,预测时固定兴趣数目下模型的离线Hirate结果(值得注意的是就算我们在训练时把兴趣个数缩小到1个,模型也不会退化到单用户向量模型,这是因为我们在一阶段仍然会从兴趣候选池中进行挑选,同一个用户在不同兴趣下仍然会表现出不同的用户向量):
可以观察到在训练兴趣为1时,模型的效果并不突出。这是因为只设置一个兴趣时,很有可能一阶段的结果没有命中下一个用户兴趣,导致训练时误差在第二阶段累计。随着兴趣数量的增加,模型的训练效果不断变好,但增加的幅度在不断缩窄。训练时固定兴趣数目,预测时不同兴趣数目下模型的离线Hitrate结果如下表所示:
可以观察到当预测的兴趣个数为1时,模型的性能下降的非常厉害,这是因为模型变成了单兴趣模型,返回的结果比基座双塔模型更加单一,所以更难以覆盖用户的偏好。随着预测的个数不断增加,模型的性能显著增长,但是当预测的个数从20提升至30时,模型的性能增加变得缓慢,说明超过20个兴趣的对模型的收益比较少。
为了进一步探索为什么DM_interest的Hitrate能够远超基座双塔模型,我们随机挑选了一个用户,观察基座双塔模型的召回结果和DM_interest不同向量召回的结果:
可以观察到无论是召回头部,中部还是尾部,基座双塔模型的召回结果主要关注于秋冬女装,同时在中部的结果中包含少量的女包,整体的结果兴趣比较单一和集中。
从DM_Interest各个向量召回结果可以观察到:
为了验证模型中一阶段的作用,我们还尝试直接使用用户短期行为序列(recent_seq, 实时)和用户长期点击行为序列(long_seq, T+1产出)的最近行为类目来观察其对用户下一个行为类目的命中率:
可以看到:
我们最终在首猜商品场景上线了显式多兴趣模型,并将训练和预测的兴趣数目设置为20。
线上召回类目分析:我们根据线上各路的埋点来观察每一路召回的物品和最终用户点击和成交情况,统计了平均每次请求下各路的平均类目数,以及对应的点击成交类目的Hitrate(HR):
从上表中可以看到:
本文提出了一种端到端的多兴趣建模新范式,解决了传统多兴趣模型在线训练推理一致的问题。该方法不仅显著提升了线上服务的效果,还增强了模型的可解释性。具体而言,我们提出的 DM_Interest 模型除了不需要拆成两个模型训练的优势之外,模型训练时无需对现有样本链路做任何改造(我们在训练时直接使用基座模型的样本),这使得所提出的模型很容易进行持续的迭代和维护。此外,我们在多兴趣建模中将兴趣维度扩展至20个,单路的曝光类目宽度和类目覆盖度相比之前模型都有明显的提升,并在线上取得了稳定的收益。
🏷 关于我们
我们是淘天集团商品推荐算法团队,业务包含淘宝首页、购物链路等核心推荐场景。我们通过搭建业界领先的电商推荐系统,推动核心算法研究,致力于为用户提供精准推荐结果,以提升购物体验。团队在人工智能的多个领域深耕多年,近两年在顶级会议上发布论文十余篇。欢迎加入我们,一起探索人工智能在电商领域的无线可能。
🔥淘天集团算法技术2026届春季实习生热招中
👇🏻扫码进入投递专属通道
关注「淘天集团算法技术」,一起成长~
丨ACM TOIS|淘天提出基于DA-GCN的多行为推荐方法,HitRatio相对提升19%
丨淘宝春节“送礼”应用最新AI推荐技术,礼赠满意率提升25%