CTR 模型之 Deep & Cross (DCN) 与 xDeepFM 解读

本文深入解析CTR模型中的Deep & Cross Network (DCN) 和 xDeepFM,探讨它们在网络结构、特征交叉及优缺点。DCN通过Cross层显式构造高阶交叉特征,xDeepFM引入了FM的vector-wise思想到Cross部分,提升模型性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CTR 系列文章:

  1. 广告点击率(CTR)预测经典模型 GBDT + LR 理解与实践(附数据 + 代码)
  2. CTR经典模型串讲:FM / FFM / 双线性 FFM 相关推导与理解
  3. CTR深度学习模型之 DeepFM 模型解读
  4. 【CTR模型】TensorFlow2.0 的 DeepFM 实现与实战(附代码+数据)
  5. CTR 模型之 Deep & Cross (DCN) 与 xDeepFM 解读
  6. 【CTR模型】TensorFlow2.0 的 DCN(Deep & Cross Network) 实现与实战(附代码+数据)
  7. 【CTR模型】TensorFlow2.0 的 xDeepFM 实现与实战(附代码+数据)

本篇文章讲解 CTR 经典模型 Deep & Cross (DCN) 与 xDeepFM,之所以把这两个模型放一起讲是因为它们有很近的“血缘关系”。理解了 DCN 的思想,再去理解 xDeepFM 就不觉得困难了。

以下文章对这两个模型的讲解很到位:

首先了解揭秘 Deep & Cross : 如何自动构造高阶交叉特征

推荐系统遇上深度学习(二十二)–DeepFM升级版XDeepFM模型强势来袭!

xDeepFM:名副其实的 ”Deep” Factorization Machine

因此,本文主要是对上述文章内容的梳理。

Deep & Cross (DCN)

首先来看看网络结构:

在这里插入图片描述

首先来看看网络的输入部分。元素特征需要做如下处理:

  1. 对sparse特征进行embedding,对于multi-hot的sparse特征,embedding之后再做一个简单的average pooling;

  2. 对dense特征归一化,然后和embedding特征拼接,作为随后Cross层与Deep层的共同输入:
    x 0 = [ x e m b e d , 1 T , x e m b e d , 2 T , . . . x e m b e d , k T , x d e n s e T ] T x_0 = [x^T_{embed, 1},x^T_{embed, 2},...x^T_{embed, k},x^T_{dense}]^T x0=[xembed,1T,xembed,2T,...xembed,kT,xdenseT]T

接下来看看 Cross 部分。

上图中模型的左半部分是包含了许多层的 Cross network,目标是以显式、可控、高效的方式自动构建有限高阶交叉特征。其中第 l + 1 l + 1 l+1 层的计算过程为:

在这里插入图片描述

x l + 1 = f ( x l , w l , b l ) + x l = x 0 x l T w l + b l + x l x_{l+1} = f(x_l, w_l, b_l)+x_l =x_0x^T_lw_l + b_l + x_l xl+1=f(xl,wl,bl)+xl=x0xlTwl+bl+xl
其中, x l + 1 , x l , x 0 x_{l+1}, x_l, x_0 xl+1,xl,x0 是 d 维向量。计算过程有两个特点:

  1. 输出神经元个数与输入网络的 x 0 x_0 x0 维度相同;
  2. 每一层的 f f f 都是在拟合 x l + 1 − x l x_{l+1} - x_l xl+1xl 的残差,这样可以减缓梯度消失问题,使得网络更深。

为什么这么设计呢?先看一些计算的例子:

假设 Cross 网络有两层, x 0 = [ x 0 , 1 x 0 , 2 ] T x_0 = [x_{0, 1} x_{0, 2}]^T x0=[x0,1x0,2]T,为方便讨论令 b i = 0 b_i = 0 bi=0,则有:
x 1 = x 0 x 0 T w 0 + x 0 = [ x 0 , 1 x 0 , 2 ] [ x 0 , 1 , x 0 , 2 ] [ w 0 , 1 w 0 , 2 ] + [ x 0 , 1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值