深度与交叉网络改进版(DCN V2):原理、实验与应用
1. 研究背景
在现代机器学习和深度学习中,学习排序(LTR)至关重要,其在搜索、推荐系统和计算广告等领域广泛应用。有效特征交叉对模型成功起关键作用,但传统线性模型中手动识别特征交叉组合搜索空间大且稀疏,依赖领域专业知识,泛化困难。随着技术发展,工业界LTR模型逐渐转向深度神经网络(DNN),但DNN在学习高阶特征交叉时效率低下。为解决此问题,多种方法被提出,如DeepFM、DCN等,其中DCN虽有效且优雅,但在大规模工业应用中面临表达能力有限和网络参数分配不平衡等挑战。
2. 模型架构
2.1总体结构
DCN - V2模型用于学习显式和隐式特征交互。它以嵌入层开始,接着是包含多个交叉层的交叉网络来建模显式特征交互,然后与深度网络结合以学习隐式交互。其改进之处在于提高了DCN在建模复杂显式交叉项方面的表达能力,同时保持了易于部署的优点,并且函数类是DCN的严格超集。模型有堆叠和平行两种结构将交叉网络与深度网络组合。
2.2嵌入层
接受分类(稀疏)和密集特征组合作为输入,通过学习的投影矩阵将高维稀疏分类特征投影到低维密集空间,对多值特征取嵌入向量的均值,最后将所有嵌入向量和归一化的密集特征连接作为输出。该层接受任意嵌入大小,适用于工业推荐系统中词汇大小差异大的情况,也可采用其他嵌入技术。
2.3交叉网络
核心是通过交叉层创建显式特征交叉。交叉层公式为,其中为包含原始特征的基础层(通常是嵌入层),和分别是第个交叉层的输入和输出,和是学习的权重矩阵和偏差向量。层交叉网络最高多项式阶为,能创建所有最高阶特征交叉。当时,DCN - V2退化为DCN,且交叉层仅能再现有界度的多项式函数类,因此引入深度网络补充数据内在分布建模。
2.4深度网络
第个深度层公式为,其中和分别是输入和输出,是权重矩阵,是偏差向量,是元素级激活函数(如ReLU),也可使用其他激活函数。
2.5深度与交叉组合
- 堆叠结构:输入先进入交叉网络,再进入深度网络,最终层输出为,,将数据建模为。
- 并行结构:输入并行进入交叉网络和深度网络,然后将两者输出连接作为最终输出层,将数据建模为。最终预测通过计算,损失函数采用Log Loss。
2.6低成本低秩DCN混合模型
在实际生产中,模型容量受资源和延迟限制。低秩技术常用于降低计算成本,观察到DCN - V2中学习矩阵数值上低秩,因此对权重矩阵施加低秩结构,得到低秩交叉层公式。此公式有两种解释:一是在子空间中学习特征交叉;二是将输入投影到低维空间再投影回高维。受此启发,从混合专家(MoE)角度,采用多个专家(每个专家在不同子空间学习特征交互)并通过门控机制自适应组合;从低维投影空间角度,在投影空间应用非线性变换细化表示。该模型在训练前施加结构并联合学习参数,与许多模型压缩技术不同,其交叉层是非线性系统的一部分,可能影响整体系统训练动态,值得进一步研究。
3. 模型分析
3.1多项式逼近
从两个角度分析DCN - V2的多项式逼近能力: - 按元素(位)角度:定理4.1表明层交叉网络输出的多元多项式能再现多项式类,其中是与权重矩阵相关的系数。 - 按特征嵌入角度:定理4.2表明在相同设置下,考虑每个特征嵌入为单位,层交叉网络输出能创建所有最高阶为的特征交互,且特征交互表达式与特征排列和权重矩阵相关。与DCN相比,DCN - V2能以更多参数表征相同多项式类,表达能力更强,且特征交互既能按位又能按特征理解,而DCN只能按位理解。
3.2与相关工作的联系
将DCN - V2与其他先进特征交互学习方法对比(仅关注特征交互组件,忽略DNN组件),假设特征嵌入大小相等,分析发现DCN - V2与DCN有相似的投影结构但不同;DLRM和DeepFM本质上是二阶FM(无DNN组件时),与DCN - V2的一层结构(无残差项)有一定关联;xDeepFM的第一层特征映射与DCN - V2(无残差项)等价;AutoInt的交互层采用多头自注意力机制,与DCN - V2在特征交互建模方式上有差异;PNN的内积版本与FM类似,外积版本与DCN - V2在创建和投影交互方式上不同。
4. 实验研究
4.1实验设置
- 数据集:使用Criteo(包含用户日志,用于点击率预测,分为训练、验证和测试集)、MovieLen - 1M(用于推荐系统研究,将任务形式化为回归问题,随机划分训练、验证和测试集)和生产数据集(采样用户日志,包含数百亿训练示例,稀疏特征词汇量差异大)。
- 基线方法:与6种先进特征交互学习算法对比。
- 实现细节:所有基线和提出的方法在TensorFlow v1中实现,除特征交互组件外实现相同。固定嵌入大小(根据数据集计算),使用Adam优化器,对超参数进行广泛搜索,包括学习率、训练步数、隐藏层数及大小、正则化参数等,对每个模型和数据集报告5次独立运行最佳配置的均值和标准差。
4.2特征交互组件单独性能(RQ2)
仅考虑每个模型的特征交互组件(无DNN组件)且仅使用分类特征,在Criteo数据集上进行实验。结果表明高阶方法性能优于二阶方法,说明数据集中高阶交叉有意义;在高阶方法中,交叉网络性能最佳,与DNN相当或略优。
4.3基线性能(RQ3)
以端到端方式比较DCN - V2与基线性能,在Criteo和MovieLen数据集上进行实验。DCN - V2始终优于基线(包括DNN),在Criteo上堆叠结构表现更好,在MovieLen - 1M上并行结构表现更好;二阶方法中不同模型表现有差异,高阶方法中xDeepFM、AutoInt和DCN在Criteo上表现相似,在MovieLen上xDeepFm方差大;DNN经精细调优后性能与大多数基线相当甚至超过某些模型,但DCN - V2通过平衡交叉网络和深度网络参数以及简单的交叉网络结构成功利用显式和隐式特征交互,优于DNN;DCN - V2在模型效率方面表现较好,DCN - Mix进一步降低成本,实现了模型效率和质量的更好平衡。
4.4交叉层能否替代ReLU层(RQ4)
在资源受限情况下,固定模型容量,比较仅含交叉层(CrossNet)的模型和基于ReLU的DNN性能。实验表明交叉网络在最佳性能和不同内存限制下的最佳性能方面表现出色,说明真实模型可能可用多项式很好地逼近,这对未来研究有启发意义,但仍需更多分析和实验验证。
4.5超参数对DCN - V2模型性能的影响(RQ5)
- 交叉层深度:增加交叉层深度可提高模型质量,但高阶交叉贡献随层数增加而减少,当层数较少时DNN优于交叉网络,层数较多时交叉网络性能反超。
- 矩阵秩:权重矩阵秩影响模型质量,在Criteo数据集上,秩较小时性能与其他基线相当,秩增加时LogLoss先快速下降后缓慢下降,推测阈值秩为(为特征数量),但需在更多数据集上验证。
- 专家数量:观察到不同数据集和模型架构下最佳设置不同,且当前采用的门控函数和优化方法可能导致更多低秩专家未发挥更好性能,相信采用更复杂的门控和优化技术可改进。
4.6模型理解(RQ6)
通过分析DCN - V2中权重矩阵理解模型学习到的特征交叉。权重矩阵块视图显示了特征交互的重要性,可视化学习到的权重矩阵表明模型学习到了一些已知重要的特征交叉(如Gender×UserId、MovieId×UserId),证明了DCN - V2的有效性,有助于理解模型,对机器学习公平性和健康领域应用至关重要。
5. 生产应用
在谷歌大规模推荐系统中应用DCN - V2,与生产模型对比,DCN - V2在离线模型准确率和在线关键业务指标上有显著提升,AUC损失改善了0.6%(该模型中0.1%的提升即视为显著)。实践经验包括:在输入和DNN隐藏层之间插入交叉层效果更好;堆叠或连接1 - 2个交叉层可提高准确率,超过2层后收益趋于平稳,堆叠和连接方式均有效;使用低秩DCN(秩为输入大小的1/4)可保持全秩DCN - V2的准确率。
6. 总结与展望
提出DCN - V2模型以有效方式建模显式交叉,通过低秩DCN混合模型平衡性能和延迟,已在多个大规模学习排序系统中成功部署,实验证明其优于先进方法。未来将研究DCN - V2与优化算法的相互作用、嵌入与DCN - V2及其矩阵秩的关系,改进DCN - Mix的门控机制,探索交叉层在更复杂模型架构(如RNN、CNN)中替代ReLU层的可能性。
Embedding Layer
Cross Network
- the cross layers that create explicit feature crosses
Deep Network
Deep and Cross Comination
-
Stacked Structure
-
Parallel Structure
Cost-Effective Mixture of Low-Rank DCN