Wide&Deep、DCN、xDeepFM、DIN、GateNet、IPRec…你都掌握了吗?一文总结推荐系统必备经典模型(三)(3)

简介: Wide&Deep、DCN、xDeepFM、DIN、GateNet、IPRec…你都掌握了吗?一文总结推荐系统必备经典模型(三)

5、 GateNet

GateNet是将门控机制应用在深度学习CTR预估模型中。推荐系统中常用的深度学习模型Wide & Deep,YoutubeNet,DeepFM等,可以看到这些模型都包括embedding layer和MLP hidden layers,那么将门控机制和这两种layer相结合,便产生了Feature Embedding Gate和Hidden Gate,如图7,接下来对二者分别介绍。



图7.GateNet的结构。左图是标准的DNN网络,中图是带有特征嵌入门的模型,右图是带有隐藏门的深度模型

Feature Embedding Gate
Feature Embedding Gate主要是在embedding layer增加门控机制,用于从特征中选择更为重要的特征。如果模型中带有Feature Embedding Gate,其网络结构如图25中图所示。假设输入的离散特征,经过Embedding layer得到E=[e1,e2,e3,...,ei,...ef],其中,f代表特征域的个数,ei代表第i个域的embedding向量,长度为K。接下来,embedding向量会通过Feature Embedding Gate进行转换。首先,对每一个embedding向量,通过下面的公式来计算门值gi,代表该向量的重要程度:


然后,将embedding向量ei和门值gi计算哈达玛积,得到gei,并得到最终的输出gated feature embedding GE:



上面是对Feature Embedding Gate的一个概要介绍,其具体的做法包括多种,比如输出的gi是一个跟ei同样长度的向量,那么此时称门为bit-wise gate,如果输出的gi是一个值,那么此时称门为vector-wise gate。二者的区别如图8。另一种就是是否所有的域都用同一个参数矩阵W,如果每个域的参数矩阵都不相同,称之为field private,如果所有域的参数矩阵相同,称之为field sharing。



图8. 特征嵌入门。左图表示矢量特征嵌入门,右图是比特特征嵌入门

Hidden Gate
与上一部分类似,Hidden Gate主要是在MLP中增加门控机制,用于选择更加重要的特征交互传递到更深层的网络。如果模型中带有Hidden Gate,其网络结构如图25右侧图所示。假设a(l)是第l层隐藏层的输出:


接下来将a(l)输入到hidden gate中,计算方式如下:


综上所述,模型的总体表述为:


其中,yˆ∈(0,1)是CTR的预测值,σ是sigmoid函数,b|L|是偏置,|L|是DNN的深度。学习过程的目的是最小化以下目标函数(交叉熵):


当前SOTA! 平台收录GateNet共1个模型实现资源。

项目 SOTA!平台项目详情页
GateNet 前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/gatenet

6、 IPRec

随着移动互联网中在线社交网络的蓬勃发展,本文提出了一个新颖的社交推荐场景,名为Package Recommendation。在这种场景中,用户不再被推荐单个项目或项目列表,而是被推荐异构且类型多样对象的组合(称为包,例如,包括新闻、媒体和观看新闻的朋友)。与传统推荐不同,在包推荐中,包中的对象被明确显示给用户,用户会对显式展示的对象表现出极大的兴趣,反过来这些对象可能对用户行为产生重大影响,并显著改变传统的推荐模式。传统和包推荐模式的区别如图9所示。


图9. (a) 现实世界中社交平台中的一个典型的包推荐例子。新闻的发布者和点击该新闻的朋友也明确显示出来,这将对用户产生一定的影响。(b)包推荐和传统推荐的比较

图10. IPRec框架。它包含三个部分。(a) 包建模模块,通过包内和包间注意力网络学习包嵌入,以捕捉多方面的影响和协作信息;(b) 用户建模模块,通过细粒度和粗粒度聚合网络对不同粒度的用户偏好进行建模,以及评级预测模块,通过学习的用户和包嵌入预测评级


IPRec的第一个组成部分是包的建模模块,它的目的是学习包的潜在表示。如前所述,在包推荐中,存在着连接一个包中的对象的包内连接,以及连接多个包的包间连接。因此,作者设计了两个注意力网络,分别称为包内和包间注意力网络,以应对包内和包间连接。包内注意力网络融合了对象层面的属性,它配备了一个社会影响编码器来分解来自社会关系的多方面影响,并配备了一个交互层来推导包内表示,编码包内异质对象的复杂和多方面的影响。另一方面,包间关注网络通过闸门注意力机制聚合相邻的包,以捕捉协作特征。

Intra-Package Attention Network
给定一个包P = {O𝜏|𝜏∈T }推荐给用户𝑢,在本文方案中,T = {Article, Media, Friend},其中,OArticle = {𝑎},OMedia = {𝑚},OFriend= {𝑢1, 𝑢2, - - -, 𝑢𝑥 }。对朋友𝑢𝑖对文章𝑎的社会影响进行分解,具体如下


u𝑖和a是初始表示,(W_𝑓)k和(W_𝑎)k是disentangled矩阵。随后,就包P中的文章𝑎而言,OFriend∈P中的朋友的社会影响力被编码为第k个 disentangled embedding fk



不同的disentangled空间中的朋友代表对当前用户𝑢的社会影响有不同的贡献,进一步,可以将来自𝐾分解空间的影响与注意力机制结合起来:



接下来,由于包中的异质对象对用户的行为有多方面的影响,令包中的每个对象都相互影响,从而协同融合异质的不同信息。回顾一下,有文章𝑎、媒体𝑚和朋友{𝑢1, - -, 𝑢𝑥}的表示,表示为a、m和f,定义七个组合为:



然后,利用注意力机制,提炼出对当前用户𝑢不同重要性的多面信息,并将其融合为:



Inter-Package Attention Network
给定一个包集𝑃={P_1, ... , P_|𝑃 |},其中,每个包P𝑖∈𝑃与当前包P有相互联系,引入gate filter聚合包集,融合协作信息如下:



IPRec的第二个组成部分是用户建模模块,其目的是捕捉用户的基本偏好。直观地说,一个包中的异质对象和不同的包都为用户的偏好提供了多方面的信息,它们从不同的角度表明用户的兴趣。因此,在两个不同的粒度上将这些多方面的异质信息纳入用户偏好,包括用一个细粒度的特征聚合网络来融合相关的对象,用一个粗粒度的包聚合网络来聚合历史上交互的包。

Fine-Grained Aggregation Network
给定一个用户𝑢,将与𝑢相关的不同类型的对象表示为A𝑢=(A𝑢)1 ∪ - - ∪(A_𝑢)T,例如,𝑢阅读的文章或者𝑢订阅的媒体。提取包中所有与用户互动过的对象,以捕捉细粒度的用户偏好。首先,区分同一类型的多个目标对用户偏好聚合的贡献。对于(A_𝑢)t中的所有𝑡类型的对象,用节点级的注意力在𝑡类型空间中进行聚合,即:


此外,给定用户𝑢在不同类型空间{u1, ..., u|T| }中的多个嵌入,学习不同类型空间中多方面信息的注意力权重,然后用类型级注意力将其汇总如下:



Coarse-Grained Aggregation Network
为了进一步捕捉用户在粗粒度层面上的偏好,用一个门控注意力机制来汇总用户𝑢的历史交互包,如下所示:


现在我们得到了用户𝑢和包P的表征,即𝑢˜和𝑝˜,将它们连接起来,用两层MLP预测𝑦u P和P之间互动的概率得分:



最后,我们优化以下交叉熵损失来估计模型参数Θ:



当前SOTA! 平台收录IPRec共2个模型实现资源。

项目 SOTA!平台项目详情页
IPRec 前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/iprec

前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及API等资源。

网页端访问:在浏览器地址栏输入新版站点地址 sota.jiqizhixin.com ,即可前往「SOTA!模型」平台,查看关注的模型是否有新资源收录。

移动端访问:在微信移动端中搜索服务号名称「机器之心SOTA模型」或 ID 「sotaai」,关注 SOTA!模型服务号,即可通过服务号底部菜单栏使用平台功能,更有最新AI技术、开发资源及社区动态定期推送。

相关文章
|
1月前
|
机器学习/深度学习 搜索推荐 大数据
深度解析:如何通过精妙的特征工程与创新模型结构大幅提升推荐系统中的召回率,带你一步步攻克大数据检索难题
【10月更文挑战第2天】在处理大规模数据集的推荐系统项目时,提高检索模型的召回率成为关键挑战。本文分享了通过改进特征工程(如加入用户活跃时段和物品相似度)和优化模型结构(引入注意力机制)来提升召回率的具体策略与实现代码。严格的A/B测试验证了新模型的有效性,为改善用户体验奠定了基础。这次实践加深了对特征工程与模型优化的理解,并为未来的技术探索提供了方向。
80 2
深度解析:如何通过精妙的特征工程与创新模型结构大幅提升推荐系统中的召回率,带你一步步攻克大数据检索难题
|
27天前
|
机器学习/深度学习 算法 搜索推荐
django调用矩阵分解推荐算法模型做推荐系统
django调用矩阵分解推荐算法模型做推荐系统
19 4
|
1月前
|
机器学习/深度学习 搜索推荐 TensorFlow
使用Python实现智能电子商务推荐系统:深度学习模型详解
使用Python实现智能电子商务推荐系统:深度学习模型详解
151 4
|
2月前
|
搜索推荐 算法
模型小,还高效!港大最新推荐系统EasyRec:零样本文本推荐能力超越OpenAI、Bert
【9月更文挑战第21天】香港大学研究者开发了一种名为EasyRec的新推荐系统,利用语言模型的强大文本理解和生成能力,解决了传统推荐算法在零样本学习场景中的局限。EasyRec通过文本-行为对齐框架,结合对比学习和协同语言模型调优,提升了推荐准确性。实验表明,EasyRec在多个真实世界数据集上的表现优于现有模型,但其性能依赖高质量文本数据且计算复杂度较高。论文详见:http://arxiv.org/abs/2408.08821
57 7
|
27天前
|
机器学习/深度学习 搜索推荐 算法
推荐系统的矩阵分解和FM模型
推荐系统的矩阵分解和FM模型
18 0
|
5月前
|
机器学习/深度学习 搜索推荐 算法
基于深度学习神经网络协同过滤模型(NCF)的图书推荐系统
登录注册 热门图书 图书分类 图书推荐 借阅图书 购物图书 个人中心 可视化大屏 后台管理
13122 2
基于深度学习神经网络协同过滤模型(NCF)的图书推荐系统
|
4月前
|
机器学习/深度学习 数据采集 搜索推荐
打开黑盒神经网络!港大推出全新会说话的推荐系统大模型XRec,从黑盒预测到可解释
【7月更文挑战第2天】港大研发XRec模型,将可解释性引入推荐系统。XRec结合大型语言模型的语义理解与协同过滤,生成推荐的文本解释,提升透明度。该模型无关设计允许与各类推荐系统配合,增强用户体验。然而,计算资源需求高、数据质量和用户理解能力可能影响其效果。[查看论文](https://arxiv.org/pdf/2406.02377)**
68 11
|
6月前
|
数据采集 机器学习/深度学习 搜索推荐
使用Python实现推荐系统模型
使用Python实现推荐系统模型
132 1
|
6月前
|
算法 搜索推荐 Python
探索Python中的推荐系统:混合推荐模型
探索Python中的推荐系统:混合推荐模型
366 1
|
6月前
|
存储 搜索推荐 算法
大模型开发:在构建推荐系统时,你会考虑哪些因素?
构建推荐系统涉及关键因素:用户行为数据(理解兴趣)、物品属性(相似性分析)、上下文信息(时间、地点)、冷启动问题(新用户/物品推荐)、可扩展性与性能(高效算法)、多样性(避免单一推荐)、可解释性(增强信任)和评估优化(准确性和用户满意度)。通过综合运用这些因素,打造精准且有效的推荐服务。
123 1