DCN(Deep & Cross Network for Ad Click Predictions)——深度特征交叉网络

        Deep & Cross Network(DCN)是一种新型神经网络模型,结合了深度神经网络(DNN)和交叉网络(Cross Network),用于处理大规模点击率(CTR)预测问题。DCN能够自动高效地学习特征交互,适用于稀疏特征和密集特征。

        与WDL相比,主要是宽组件(Wide Component)被替换为交叉网络(Cross Network),并对输入输出做了相应的调整。        因此,本文的介绍重点在于交叉网络。

一、 模型架构

DCN模型的架构由以下几部分组成:

1.1 嵌入和堆叠层(Embedding and Stacking Layer)

  • 嵌入层:用于将稀疏的分类特征转换为稠密向量。分类特征通过嵌入矩阵映射到低维稠密空间。例如,具有高基数的分类特征被映射到维度为6 \times(类别基数)的1/4次幂的稠密向量。
  • 堆叠层:将嵌入向量与归一化后的密集特征堆叠成一个单一的向量,作为交叉网络和深度网络的输入。

1.2 交叉网络(Cross Network)

(1). 交叉网络的结构

交叉网络由多个交叉层组成,每一层的输出不仅依赖于输入特征,还依赖于输入特征的交叉项。每一层的计算公式如下:

$\mathbf{x}_{l+1}=\mathbf{x}_0 \mathbf{x}_l^T \mathbf{w}_l+\mathbf{b}_l+\mathbf{x}_l$

1). 公式详解
  • x_0:初始输入向量,表示原始特征。
  • x_l:第 l层的输出向量,也是当前层的输入向量。
  • w_l:第 l层的权重向量,用于加权特征交叉项。
  • b_l:第l层的偏置向量,用于调整输出。
  • $\mathbf{x}_0 \mathbf{x}_l^T$​:初始输入向量和当前层输出向量的外积(Outer Product),生成一个矩阵,表示所有特征的交叉项。

通过这个公式,交叉网络在每一层显式地构建高阶特征交互,并将其与原始特征结合起来,形成新的特征表示。

2). 公式解释
  • 显式特征交叉:通过外积计算初始输入和当前层输出的交叉项,使得模型能够显式地捕捉特征之间的相互作用。
  • 参数加权:交叉项通过权重向量 w_l进行加权,从而在训练过程中学习不同特征交互的重要性。
  • 残差连接:将当前层的输入向量x_l直接加到输出中,类似于残差网络(ResNet)的设计,保留了原始特征信息,防止梯度消失。

(2). 交叉网络的优势

1). 高效学习特征交互

        交叉网络通过显式构建特征交互,能够高效地学习特征之间的复杂关系,而无需手动特征工程或穷尽搜索。

2). 自动生成高阶交互项

        随着层数的增加,交叉网络能够自动生成更高阶的特征交互项。具体来说,对于一个具有 l层的交叉网络,其最高多项式阶数为l+1

3). 参数共享和低复杂度

        交叉网络通过参数共享,使得每个特征的参数独立于其他特征,从而能够在不增加显著复杂度的情况下高效地学习特征交互。交叉网络的时间和空间复杂度与输入维度成线性关系。

(3). 实现细节

1). 输入处理
  • 实值特征:通常通过对数变换进行归一化,以减少尺度差异对模型的影响。
  • 分类特征:通过嵌入层转换为稠密向量,减少高维稀疏特征的计算复杂度。
2). 参数初始化

        交叉网络的权重向量 w_l和偏置向量 b_l需要适当初始化。常用的方法包括Xavier初始化和He初始化,以确保在训练初期的梯度稳定。

3). 训练和优化
  • 优化方法:采用Adam优化器进行小批量随机优化。Adam优化器通过自适应学习率调整每个参数的更新步长。
  • 正则化策略:使用早停策略,当验证集性能不再提升时,提前停止训练。可以选择性地使用L2正则化或dropout来防止过拟合。

(4). 与其他模型的对比

1). 与因子分解机(FM)

        因子分解机(FM)也是用于特征交互的模型,但FM只能捕捉二阶交互项,而交叉网络能够捕捉任意阶数的交互项,并且通过层数来自动控制交互项的阶数。

2). 与传统深度神经网络(DNN)

        传统DNN通过深层结构捕捉特征的非线性关系,但无法显式构建特征交互。交叉网络通过显式交叉和参数加权,高效地学习特征交互,避免了DNN可能存在的训练复杂度高和特征交互学习不充分的问题。

1.3 深度网络(Deep Network)

深度网络是一个全连接的前馈神经网络,主要用于捕捉复杂的非线性特征交互。深度网络通常包含多层,每层的计算公式为:

$\mathbf{h}_{l+1}=\sigma\left(\mathbf{W}_l \mathbf{h}_l+\mathbf{b}_l\right)$

  • h_l是第 l层的输出向量。
  • w_l是第 l层的权重矩阵。
  • b_l​ 是第 l层的偏置向量。
  • $\sigma$是激活函数,如ReLU或Sigmoid。
1.4 最终组合层(Final Combination Layer)

        交叉网络和深度网络的输出通过最终组合层合并,形成最终的预测结果。合并方式可以是拼接或加权相加。

二、 数据处理和嵌入

在输入DCN模型之前,需要对数据进行处理:

  • 实值特征:通过对数变换进行归一化,以减少尺度差异对模型的影响。
  • 分类特征:通过嵌入层转换为稠密向量,减少高维稀疏特征的计算复杂度。

三、 优化和正则化

3.1 优化方法

        DCN采用Adam优化器进行小批量随机优化,Adam优化器通过自适应学习率调整每个参数的更新步长。批量大小通常设置为512。

3.2 正则化策略

        DCN使用早停策略来防止过拟合。当验证集性能不再提升时,提前停止训练。其他正则化方法如L2正则化和dropout在DCN中的效果并不显著。

四、结论

        DCN通过结合交叉网络和深度网络,成功实现了高效的特征交互学习,在不增加显著复杂度的情况下,显著提升了大规模CTR预测任务的性能。其自动特征学习和参数共享机制使其在实际应用中表现出色。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值