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

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

3、  xDeepFM

xDeepFM是一种新的压缩交互网络(Compressed Interaction Network,CIN),目标是以显式方式在矢量级上生成特征交互。一方面,xDeepFM 能够显式地学习某些边界度特征交互。另一方面,它可以隐式学习任意的低阶和高阶特征交互。

CIN网络设计的优点:1)以vector-wise而不是bit-wise形式得到特征交叉关系;2)可以得到显式的特征高阶交叉关系;3)参数容量不会随着网络层数的加深而呈指数形式上升。embedding向量是看做vector-wise形式的特征交互,然后将多个field embedding表示成矩阵X0,其中,X0的第i个field特征的嵌入向量(X_i,*)0=ei,D为field embedding向量维度,对应的CIN第k层的输出为矩阵Xk。对于每一层, 是通过下面的方式计算的:


其中,Wk,h表示用于计算第k层输出中的第h行向量 X(i,*)k 的一个参数矩阵,因此W(i,j)k,h是一个标量数值,即对哈达玛积计算标量倍数。X_k是通过Xk-1和X0计算得到的,因此特征交互关系是通过显性计算的,并且特征交互的阶数随着层数的增加也在加深。CIN结构如图4所示。


图4. 压缩交互网络(CIN)的组成部分和架构

作者分析,CIN的结构非常类似于RNN结构,即下一层输出的结果取决于上一层输出的结果和一个额外的输入,而且我们在每层中都是用这样的结构,因此特征交互关系就是在vector-wise水平上得到的。此外,如图22(a),CIN还与CNN有类比性,引入一个中间张量(intermediate tensor) Zk+1,它是关于隐藏层Xk和X0的一个outer products(沿着embedding维度),因此可以将 Zk+1看做一幅图像,并且 Wk,h 是一个filter。如图22(b)所示,我们将filter沿着 Zk+1的embedding维度方向做平滑操作,即可得到隐向量 X(i,*)k,将其称为一个feature map,因此 Xk 就是 Hk 个不同feature map的集合,Xk+1就是 Hk+1个不同feature map的集合。CIN中的名词compressed是指第k个隐层将 Hk-1*m 个向量的潜在空间压缩至个 Hk 向量。如图22(c)所示,表达CIN的整体结构,用T表示CIN的深度,每一个隐藏层 Xk(k属于[1,T]) 和输出单元都有关联,在第k个隐层,在其中每个feature map上,完成sum pooling操作,即:


对于第k个隐层,可以得到pooling之后的向量:


对于所有隐层的pooling之后的向量,将它们concat之后作为输出单元:


直接使用CIN用于二分类,那么输出单元就是一个sigmoid节点:



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

项目 SOTA!平台项目详情页

xDeepFM

前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/xdeepfm


4、 DIN

针对特定的一件商品的推荐,如果特征中包含用户的历史行为,那么不能一概而论地对所有商品进行均等地计算,而以往的Embedding&MLP类型方法中,对历史商品没有侧重,这是不合理的。在DIN中,作者针对目标item对历史行为进行了attentive learning。举例来说,如果一个人买了一件游泳镜,那这一定是因为这个人之前买过泳装、泳帽之类的东西,跟这个人买的羊毛衫、电脑之类的其它东西不太相关。基于此,提出了 DIN 模型。DIN引入 local activation unit 计算历史行为与候选商品的相关性,之后对用户的兴趣点做weighted sum pooling ,得到对当前候选商品用户兴趣的表示向量。与候选商品相关性越高的行为,激活权重越大,在用户兴趣表征中占主导地位。那么对不同的候选商品,用户兴趣的表达向量是不同的,提高了模型在有限维度下的表征能力,能够更好地捕捉用户的各种兴趣。文章还提出一种适应性的正则化方法,以及由PReLU推广而来的适应性的Dice激活函数。

对于某条数据,可以表示为如下形式:


下表为全部特征,主要由4类组成:用户基本特征、用户行为特征、候选商品特征、上下文特征。表1. 阿里巴巴展示广告系统中使用的特征集的统计。特征是由稀疏的二进制向量组成的,以分组的方式展示

图5. 网络结构。左边部分是base模型(嵌入和MLP)的网络。将属于一个商品的cate_id、shop_id和goods_id的嵌入连接起来,代表用户行为中的一个访问过的商品。右边部分是DIN模型。它引入了一个局部激活单元,在不同的候选广告中,用户兴趣的表示是自适应变化的

图5 左侧为base模型的结构。base模型主要包含:Embedding layer、Pooling layer and Concat layer、MLP。损失函数为二分类的交叉熵损失函数,S是N个训练样本,x是模型输入,标签y∈(0,1),p(x)是模型经过softmax层后的输出,代表这条样本x的候选商品被点击的概率



用户行为特征至关重要,与候选商品相关的历史行为对点击有很大的影响。DIN考虑历史行为的相关性,自适应地计算用户兴趣的表示向量,而不是用同一个向量来表达所有的不同兴趣。DIN引入 local activation unit,其他结构与 base model 相同,activation unit 应用在用户行为特征上,作为一个 weighted sum pooling,适应性的计算用户embedding向量。对于候选商品A,用户U的embedding向量可以表示为:

其中,e_1、e_2、...e_H代表H个用户行为特征embedding,v_A代表候选商品的embedding,a(·)是一个前向网络,输入两个embedding向量,输出权重。与传统attention方法不同,为了保留用户兴趣的强度,没有约束∑w_j=1。这里的∑w_j可以被看作在某一方面激活用户兴趣强度的近似,比如某用户历史行为包括90%的衣服和10%的电子产品,那么对于T恤和手机两个候选商品,T恤将会激活历史行为中的大部分衣物行为,会得到更大的,也就是相比于手机,对T恤有更强烈的兴趣。

在阿里巴巴的广告系统中,商品和用户的数量高达数亿。实际上,用大规模的稀疏输入特征训练工业深度网络是一个巨大的挑战。作者在文中介绍了两种重要的且在实践中有效的技术。

Mini-batch Aware Regularization
一种自适应的正则化方法,只计算在每个mini-batch中出现的特征的相关参数的L2范数。实际上,embedding dictionary 占据了网络模型的大部分参数量,令W∈RDxk代表整个 embedding dictionary 的参数,D是embedding向量的维度,K是特征空间的维度,在样本上表示为:



在mini-batch形式下,B代表batch的个数,B_m代表第m个batch,上式可表示为:




代表在第m个batch中是否有至少一个样本包含feature ID j,则上式可近似表示为:



那么,得到一个近似的带有L2正则的mini-batch参数更新方法,对第m个batch,feature j的embedding权重更新为:



Data Adaptive Activation Function
经典的激活函数PReLU如下:



其中,s是激活函数f(-)的输入的一个维度,p(s)=I(s>0)是一个指标函数,它控制f(s)在f(s)=s和f(s)=αs两个通道之间切换,第二个通道的α是一个学习参数。这里把p(s)称为控制函数。当各层的输入服从不同的分布时,PReLU取0值作为恒定的修正点可能不合适,因此提出一种根据输入的分布而自适应的激活函数,叫做Dice。当E和Var都为0时,Dice就退化为PReLU。



与PReLU的不同之处在于p(s),在训练时E和Var是每个mini-batch输入的均值和方差,在测试阶段,E和Var是数据E和Var的平均,ε防止分母为0,设为1e-8。图24的左边部分绘制出了PReLU 的控制功能,右侧为Dice的控制函数。


图6. PReLU和Dice控制函数

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

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



相关文章
|
4月前
|
机器学习/深度学习 搜索推荐 算法
推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。
推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。
365 0
|
3月前
|
机器学习/深度学习 搜索推荐 算法
基于深度学习神经网络协同过滤模型(NCF)的图书推荐系统
登录注册 热门图书 图书分类 图书推荐 借阅图书 购物图书 个人中心 可视化大屏 后台管理
13092 2
基于深度学习神经网络协同过滤模型(NCF)的图书推荐系统
|
2月前
|
机器学习/深度学习 数据采集 搜索推荐
打开黑盒神经网络!港大推出全新会说话的推荐系统大模型XRec,从黑盒预测到可解释
【7月更文挑战第2天】港大研发XRec模型,将可解释性引入推荐系统。XRec结合大型语言模型的语义理解与协同过滤,生成推荐的文本解释,提升透明度。该模型无关设计允许与各类推荐系统配合,增强用户体验。然而,计算资源需求高、数据质量和用户理解能力可能影响其效果。[查看论文](https://arxiv.org/pdf/2406.02377)**
48 11
|
4月前
|
机器学习/深度学习 搜索推荐 算法
推荐系统算法的研究与实践:协同过滤、基于内容的推荐和深度学习推荐模型
推荐系统算法的研究与实践:协同过滤、基于内容的推荐和深度学习推荐模型
528 1
|
4月前
|
数据采集 机器学习/深度学习 搜索推荐
使用Python实现推荐系统模型
使用Python实现推荐系统模型
103 1
|
4月前
|
算法 搜索推荐 Python
探索Python中的推荐系统:混合推荐模型
探索Python中的推荐系统:混合推荐模型
202 1
|
4月前
|
存储 搜索推荐 算法
大模型开发:在构建推荐系统时,你会考虑哪些因素?
构建推荐系统涉及关键因素:用户行为数据(理解兴趣)、物品属性(相似性分析)、上下文信息(时间、地点)、冷启动问题(新用户/物品推荐)、可扩展性与性能(高效算法)、多样性(避免单一推荐)、可解释性(增强信任)和评估优化(准确性和用户满意度)。通过综合运用这些因素,打造精准且有效的推荐服务。
94 1
|
机器学习/深度学习 人工智能 自然语言处理
深度学习应用篇-推荐系统[12]:经典模型-DeepFM模型、DSSM模型召回排序策略以及和其他模型对比
深度学习应用篇-推荐系统[12]:经典模型-DeepFM模型、DSSM模型召回排序策略以及和其他模型对比
深度学习应用篇-推荐系统[12]:经典模型-DeepFM模型、DSSM模型召回排序策略以及和其他模型对比
|
机器学习/深度学习 人工智能 移动开发
人工智能领域:面试常见问题超全(深度学习基础、卷积模型、对抗神经网络、预训练模型、计算机视觉、自然语言处理、推荐系统、模型压缩、强化学习、元学习)
人工智能领域:面试常见问题超全(深度学习基础、卷积模型、对抗神经网络、预训练模型、计算机视觉、自然语言处理、推荐系统、模型压缩、强化学习、元学习)
|
存储 搜索推荐 NoSQL
带你读《云存储应用白皮书》之37:3. 表格存储在推荐系统中的应用
带你读《云存储应用白皮书》之37:3. 表格存储在推荐系统中的应用
181 0