Deep & Cross Network(DCN)是一种新型神经网络模型,结合了深度神经网络(DNN)和交叉网络(Cross Network),用于处理大规模点击率(CTR)预测问题。DCN能够自动高效地学习特征交互,适用于稀疏特征和密集特征。
与WDL相比,主要是宽组件(Wide Component)被替换为交叉网络(Cross Network),并对输入输出做了相应的调整。 因此,本文的介绍重点在于交叉网络。
一、 模型架构
DCN模型的架构由以下几部分组成:
1.1 嵌入和堆叠层(Embedding and Stacking Layer)
- 嵌入层:用于将稀疏的分类特征转换为稠密向量。分类特征通过嵌入矩阵映射到低维稠密空间。例如,具有高基数的分类特征被映射到维度为(类别基数)的1/4次幂的稠密向量。
- 堆叠层:将嵌入向量与归一化后的密集特征堆叠成一个单一的向量,作为交叉网络和深度网络的输入。
1.2 交叉网络(Cross Network)
(1). 交叉网络的结构
交叉网络由多个交叉层组成,每一层的输出不仅依赖于输入特征,还依赖于输入特征的交叉项。每一层的计算公式如下:
1). 公式详解
- :初始输入向量,表示原始特征。
- :第 层的输出向量,也是当前层的输入向量。
- :第 层的权重向量,用于加权特征交叉项。
- :第层的偏置向量,用于调整输出。
- :初始输入向量和当前层输出向量的外积(Outer Product),生成一个矩阵,表示所有特征的交叉项。
通过这个公式,交叉网络在每一层显式地构建高阶特征交互,并将其与原始特征结合起来,形成新的特征表示。
2). 公式解释
- 显式特征交叉:通过外积计算初始输入和当前层输出的交叉项,使得模型能够显式地捕捉特征之间的相互作用。
- 参数加权:交叉项通过权重向量 进行加权,从而在训练过程中学习不同特征交互的重要性。
- 残差连接:将当前层的输入向量直接加到输出中,类似于残差网络(ResNet)的设计,保留了原始特征信息,防止梯度消失。
(2). 交叉网络的优势
1). 高效学习特征交互
交叉网络通过显式构建特征交互,能够高效地学习特征之间的复杂关系,而无需手动特征工程或穷尽搜索。
2). 自动生成高阶交互项
随着层数的增加,交叉网络能够自动生成更高阶的特征交互项。具体来说,对于一个具有 层的交叉网络,其最高多项式阶数为。
3). 参数共享和低复杂度
交叉网络通过参数共享,使得每个特征的参数独立于其他特征,从而能够在不增加显著复杂度的情况下高效地学习特征交互。交叉网络的时间和空间复杂度与输入维度成线性关系。
(3). 实现细节
1). 输入处理
- 实值特征:通常通过对数变换进行归一化,以减少尺度差异对模型的影响。
- 分类特征:通过嵌入层转换为稠密向量,减少高维稀疏特征的计算复杂度。
2). 参数初始化
交叉网络的权重向量 和偏置向量 需要适当初始化。常用的方法包括Xavier初始化和He初始化,以确保在训练初期的梯度稳定。
3). 训练和优化
- 优化方法:采用Adam优化器进行小批量随机优化。Adam优化器通过自适应学习率调整每个参数的更新步长。
- 正则化策略:使用早停策略,当验证集性能不再提升时,提前停止训练。可以选择性地使用L2正则化或dropout来防止过拟合。
(4). 与其他模型的对比
1). 与因子分解机(FM)
因子分解机(FM)也是用于特征交互的模型,但FM只能捕捉二阶交互项,而交叉网络能够捕捉任意阶数的交互项,并且通过层数来自动控制交互项的阶数。
2). 与传统深度神经网络(DNN)
传统DNN通过深层结构捕捉特征的非线性关系,但无法显式构建特征交互。交叉网络通过显式交叉和参数加权,高效地学习特征交互,避免了DNN可能存在的训练复杂度高和特征交互学习不充分的问题。
1.3 深度网络(Deep Network)
深度网络是一个全连接的前馈神经网络,主要用于捕捉复杂的非线性特征交互。深度网络通常包含多层,每层的计算公式为:
- 是第 层的输出向量。
- 是第 层的权重矩阵。
- 是第 层的偏置向量。
- 是激活函数,如ReLU或Sigmoid。
1.4 最终组合层(Final Combination Layer)
交叉网络和深度网络的输出通过最终组合层合并,形成最终的预测结果。合并方式可以是拼接或加权相加。
二、 数据处理和嵌入
在输入DCN模型之前,需要对数据进行处理:
- 实值特征:通过对数变换进行归一化,以减少尺度差异对模型的影响。
- 分类特征:通过嵌入层转换为稠密向量,减少高维稀疏特征的计算复杂度。
三、 优化和正则化
3.1 优化方法
DCN采用Adam优化器进行小批量随机优化,Adam优化器通过自适应学习率调整每个参数的更新步长。批量大小通常设置为512。
3.2 正则化策略
DCN使用早停策略来防止过拟合。当验证集性能不再提升时,提前停止训练。其他正则化方法如L2正则化和dropout在DCN中的效果并不显著。
四、结论
DCN通过结合交叉网络和深度网络,成功实现了高效的特征交互学习,在不增加显著复杂度的情况下,显著提升了大规模CTR预测任务的性能。其自动特征学习和参数共享机制使其在实际应用中表现出色。