《DCNv3: Towards Next Generation Deep Cross Network for Click-Through Rate Prediction》
Deep & Cross Network
及其衍生模型面临四个主要限制:
现有的显式feature interaction
方法的性能通常弱于隐式的deep neural network: DNN
,从而削弱了它们的必要性。
许多模型在增加feature interactions
的阶数时无法自适应地过滤噪声。
大多数模型的fusion
方法无法为其不同子网络提供合适的监督信号。
虽然大多数模型声称可以捕获高阶feature interactions
,但它们通常通过DNN
以隐式的和不可解释的方式进行,这限制了模型预测的可信度。
为了解决已发现的局限性,本文提出了下一代深度交叉网络:Deep Cross Network v3: DCNv3
,以及它的两个子网络:Linear Cross Network: LCN
和 Exponential Cross Network: ECN
用于CTR
预测。DCNv3
在feature interaction modeling
中可解释性的同时,线性地和指数地增加feature interaction
的阶数,实现真正的Deep Crossing
,而不仅仅是Deep & Cross
。此外,我们采用Self-Mask
操作来过滤噪声,并将Cross Network
中的参数数量减少一半。在fusion layer
,我们使用一种简单但有效的multi-loss trade-off and calculation
方法Tri-BCE
,来提供适当的监督信号。在六个数据集上的全面实验证明了DCNv3
的有效性、效率和可解释性。
大多数interaction-based
的 CTR
预测模型都遵循DCN
提出的范式,该范式旨在构建显式的和隐式的feature interactions
,并融合不同interaction information
的predictions
以增强可解释性和准确性。尽管当前的CTR
范式非常有效,但仍存在一些需要克服的局限性:
explicit interactions
的必要性有限:如Figure 1
所示,大多数仅使用显式feature interactions
的模型(例如CIN
)的AUC
性能低于81.3
,而deep neural network: DNN
的AUC
性能更好,为81.4
。这表明大多数explicit modeling
方法的性能弱于implicit DNN
,这无疑削弱了集成显式feature interactions
的必要性。然而,一些工作也强调了DNN
在捕获multiplicative feature interactions
方面的局限性。因此,有必要探索一种更有效的方法用于显式feature interactions
。
噪声过滤能力低下:许多研究指出CTR
模型包含大量冗余feature interactions
和噪声,尤其是在高阶feature interactions
中。因此,大多数CTR
模型仅使用两到三个网络层来构建,放弃了对有效高阶feature interaction
信息的explicit capture
。同时,为模型过滤噪声通常会产生额外的计算成本,从而导致更长的训练时间和推理时间,可能会抵消提高模型准确率所带来的好处。
监督信号不足且没有区分性:大多数同时使用显式和隐式feature interaction
方法的模型都需要一个fusion layer
来获得最终预测。然而,它们只使用final prediction
来计算损失,而不是为不同方法本身提供适当的监督信号。这削弱了监督信号的有效性。此外,一些研究,例如Figure 1
中的CL4CTR
,试图引入辅助损失来提供额外的监督信号。然而,这通常会引入额外的计算成本和loss trade-off
超参数,增加了超参数调优的难度。因此,一种简单、高效、有效的计算监督信号的方法至关重要。
缺乏可解释性:如Figure 1
所示,大多数模型集成DNN
来建模隐式高阶feature interactions
,并实现81.3
到81.5
之间的AUC
性能。这证明了隐式feature interactions
的有效性。然而,隐式feature interactions
缺乏可解释性,这降低了CTR
模型预测的可信度。
为了解决这些局限性,本文提出了下一代deep cross network
:Deep Cross Network v3: DCNv3
,以及它的两个子网络:Linear Cross Network: LCN
和Exponential Cross Network: ECN
。DCNv3
集成了低阶的和高阶的feature interactions
,同时通过避免使用DNN
进行隐式高阶feature interaction modeling
来确保模型的可解释性。具体而言,我们引入了一种新的指数增长的Deep Crossing
方法来显式地建模高阶feature interactions
,并将以前的交叉方法归类为Shallow Crossing
。同时,我们设计了一个Self-Mask
操作来过滤噪声并将Cross Network
中的参数数量减少一半。在fusion layer
,我们提出了一种简单而有效的multi-loss
计算方法,称为Tri-BCE
,为不同的子网络提供合适的监督信号。
本文贡献:
据我们所知,这是第一篇仅使用显式 feature interaction modeling
而不集成DNN
就实现令人惊讶的性能的作品,这可能与过去CTR prediction
文献中的流行范式形成鲜明对比。因此,这项工作可能会激发对feature interaction modeling
的进一步回顾和创新。
我们引入了一种新颖的feature interaction modeling
方法,称为Deep Crossing
,它随着层数的增加而呈指数增长,从而实现真正的deep cross network
。该方法显式地捕获feature interaction
信息,同时使用Self-Mask
操作将参数数量减少一半并过滤噪声。
我们提出了一种新颖的CTR
模型,称为DCNv3
,它通过两个子网络LCN
和ECN
显式地捕获低阶和高阶feature interactions
。此外,我们引入了一种简单而有效的multi-loss trade-off and calculation
方法,称为Tri-BCE
,以确保不同的子网络接收适当的监督信号。
在六个数据集上进行的全面实验证明了DCNv3
的有效性、效率和可解释性。根据我们的实验结果,我们的模型在多个CTR
预测benchmarks
上取得了第一名的排名。
论文核心思想还可以,就是效果可能没有达到预期,导致作者搞了一些
tricky
的操作(比如所谓的self-mask
)来提升性能,导致实验的对比结果不太可信。
Feature Interaction
:
隐式feature interaction
旨在使用DNN
自动学习复杂的non-manually defined
的数据模式和高阶feature interactions
。它效率高,表现良好,但缺乏可解释性。
显式feature interaction
旨在通过预定义的函数直接建模输入特征之间的组合和关系,从而提高模型的可解释性。
线性增加显式feature interaction
的一种流行方法是 Hadamard Product
将特征 feature interaction
的方法是
所谓 “更有效地生成高阶特征” 指的是用更少的层数获得更高阶的特征。
模型架构如下图所示。
ECN
和LCN
的主要区别在与左侧的输入。
CTR prediction
任务的输入 multi-field categorical data
,使用one-hot encoding
来表示。大多数CTR
预测模型利用embedding layer
将它们转换为低维稠密向量:
其中:embedding matrix
,embeddin
维度,field
的vocabulary size
。
在我们的模型中,为了使网络能够从multi-views
中获得更丰富的信息,我们使用分块操作来reshape the embeddings
,将它们分成两个不同的视图:
其中:original view
,another view
。
进一步,我们可以得到reshaping
后的resulting embedding
:
其中:fields
数量,embedding
维度,LCN
和ECN
的输入。
chunk()
函数是什么?作者讲的不明不白。读者猜测是:将每个field
的embedding
向量一分为二;左半边拼接起来,构成original view
;右半边拼接起来,构成anoher view
。这么做的目的是为了下游的
Self-Mask
操作而准备的。但是,为什么不用FFM
来做投影呢?
LCN
:用于具有线性增长的低阶(浅)的explicit feature interaction
。其递归公式如下:
其中:
original view
)的Cross Vector
。
feature interaction
。
Mask
表示Self-Mask
(在another view
),稍后将详细介绍。
为什么将
Mask
拼接上来而不是与相乘?读者猜测是因为相乘的效果不好,所以搞了个拼接操作,不伦不类。
由于线性增长的feature interaction
方法难以在有限的层数内捕获高阶交互,因此我们引入ECN
来实现真正的、高效的deep cross network
。
ECN
:作为DCNv3
的核心结构,用于指数级增长的高阶(深度)explicit feature interaction
。其递归公式为:
其中:feature interaction
。
从Figure 3
可以看出,原始的Cross Network v2
本质上是一种shallow crossing
方法,通过层的堆叠实现feature interactions
阶次的线性增长。实验表明,DCNv2
中交叉层的最佳数量为2
或3
,其大部分性能来自负责隐式交互的DNN
。相比之下,ECN
将 feature interactions
阶次的指数级增长,从而在有限的层数内实现特征的Deep Crossing
,显式地捕获高阶feature interactions
。
Self-Mask
:Figure 3
可视化了不同crossing
方法的计算过程。Cross Vector
bit-level
建模特征之间的交互,而权重矩阵 feature fields
的固有重要性。然而,正如一些论文指出的那样,并非所有feature interactions
都对CTR
任务中的最终预测有益。因此,我们在another view
中引入了Self-Mask
操作来过滤掉feature interactions
中的噪声信息(对应于 original view
的交互信息的完整性(对应于 Self-Mask
操作如下:
其中LN
表示LayerNorm
:
增益向量
这里也可以使用其他mask
机制,例如基于伯努利分布的random Mask
、基于Top-K
选择的learnable Mask
等。为了确保我们提出的模型简单而有效,我们使用LayerNorm
对 50%
的零值,以滤掉噪声并提高计算效率。
Fusion
:大多数先前的CTR
模型试图建模显式和隐式feature interactions
,这本质上意味着同时捕获低阶和高阶feature interactions
。我们的DCNv3
通过整合LCN
和ECN
来实现这一点,避免使用可解释性较差的DNN
:
其中:
Mean
表示均值运算,last number
。
ECN
、LCN
和DCNv3
的预测结果。
Tri-BCE loss calculation and trade-off
方法如Figure 4
所示。我们使用广泛采用的二元交叉熵损失(即Logloss
)作为DCNv3
的primary and auxiliary loss
:
其中:
ground-truth
, batch size
。
primary loss
,ECN
和LCN
预测结果的auxiliary losses
。
为了给每个子网络提供合适的监督信号,我们为它们分配了自适应权重:
并联合训练它们以实现Tri-BCE loss
:
注意,
如《TF4CTR:Twin Focus Framework for CTR Prediction via Adaptive Sample Differentiation》
所示,向子网络提供单一监督信号通常不是最优的。我们提出的Tri-BCE loss
通过提供自适应权重(该权重在整个学习过程中变化)来帮助子网络学习更好的参数。理论上,我们可以推导出由
其中:
类似地,
可以观察到,对于 Tri-BCE loss
还提供了基于 ground-truth label
primary and auxiliary loss
之间的差异自适应地调整其权重。因此,Tri-BCE loss
为子网络提供了更合适的监督信号。
为了进一步比较DCN
系列模型的效率,我们讨论并分析了不同模型的时间复杂度。令 DNN
中预定义的参数数量。其他变量的定义可以在前面的部分中找到。为了清楚起见,我们在Table 1
中进一步提供了不同变量大小的比较。我们可以得出:
所有模型对于embedding
的时间复杂度相同。因此,我们仅在实验部分可视化non-embedding
参数。
除了我们提出的ECN
和DCNv3
之外,所有其他模型都包含隐式交互以增强预测性能,这会产生额外的计算成本。
在显式交互方面,ECN
仅具有比DCNv1
更高的时间复杂度,而GDCN
的时间复杂度是ECN
的四倍。
由于我们的DCNv3
使用Tri-BCE loss
,因此DCNv3
的loss
计算时间复杂度是其他模型的三倍。但这并不影响模型的推理速度。
时间复杂度只看
的量级,其系数不太具有参考意义。
四个研究问题(research question: RQ
):
RQ1
:DCNv3
在性能方面是否优于其他CTR
模型?它们在大规模的和高度稀疏的数据集上表现良好吗?
RQ2
:DCNv3
与其他CTR
模型相比是否更有效率?
RQ3
:DCNv3
是否具有可解释性和过滤噪音的能力?
RQ4
:不同的配置如何影响模型?
数据集:Avazu, Criteo, ML-1M, KDD12, iPinYou, and KKBox
。
数据集预处理:我们遵循《Open benchmarking for click-through rate prediction》
中概述的方法。
对于Avazu
数据集,我们将其包含的时间戳字段转换为三个新的feature fields
:hour, weekday, and weekend
。
对于Criteo
和KDD12
数据集,我们通过将每个numeric value
numerical feature fields
离散化:
我们设置了一个阈值,用默认的"OOV" token
替换低频的categorical features
。我们将Criteo
、KKBox
和KDD12
的阈值设置为10
,将Avazu
和iPinYou
的阈值设置为2
,将小数据集ML-1M
的阈值设置为1
。
更具体的数据处理过程和结果可以在我们的开源运行日志和配置文件中找到,我们在此不再详述。
评估指标:Logloss, AUC
。
这里Logloss
是
baseline
方法:我们将DCNv3
与一些SOTA
模型进行了比较
(*
表示将原始模型与DNN
网络集成):
(1)
:由于ECN
是一个执行显式feature interactions
的独立网络,在两个大规模数据集上,我们将其与几个也执行显式feature interactions
的模型进行了比较。例如:
LR
实现了一阶feature interactions
。
FM
及其衍生模型FM
、FwFM
、AFM
、FmFM
实现了二阶特征交互。
CrossNetv1
、CrossNetv2
、CIN
、AutoInt
、AFN
、FiGNN
实现了高阶feature interactions
。
(2)
:为了验证DCNv3
相对于包含隐式feature interactions
的模型的优越性,我们进一步选择了几个高性能的代表性的baseline
,例如PNN
和Wide & Deep
;DeepFM
和DCNv1
;xDeepFM
;AutoInt*
;AFN*
;DCNv2
和EDCN
、MaskNet
;CL4CTR
、EulerNet
、FinalMLP
和FINAL
。
实现细节:我们使用 PyTorch
实现所有模型,并参考现有作品 。我们使用Adam optimizer
优化所有模型,默认学习率设置为0.001
。为了公平比较,我们将KKBox
的embedding
维度设置为128
,将其他数据集的embedding
维度设置为16
。
Criteo
、ML-1M
和iPinYou
数据集的batch size
设置为4,096
,其他数据集的batch size
设置为10,000
。为了防止过拟合,我们采用patience = 2
的早停。baseline
模型的超参数是根据 (《An open-source CTR prediction library》
、《Open benchmarking for click-through-rate prediction》
)及其原始论文中提供的最佳值进行配置和微调的。
有关模型超参数和数据集配置的更多详细信息,请参阅我们简单易懂的运行日志,此处不再赘述。
与仅使用显式feature interactions
的模型进行比较:由于ECN
模型显式地以feature interactions
为特征,我们选择了11
个代表性的模型进行比较,分为一阶、二阶和高阶等等。我们用粗体表示性能最好的,用下划线表示得分次好的。实验结果如Table 3
所示,我们可以得出以下结论:
通过比较Table 3
和Table 4
,我们发现大多数仅仅使用显式feature interactions
的模型通常比集成隐式feature interactions
的模型表现更差,甚至比简单的DNN
更差。这无疑削弱了显式feature interactions
的必要性。
总体而言,捕获高阶feature interactions
通常可以提高模型性能。例如:
FM
在两个大规模数据集Avazu
和Criteo
上的表现优于LR
。
而CrossNetv2
在Avazu
上的表现优于除FwFM
之外的所有一阶和二阶feature interaction
模型。
这证明了高阶feature interactions
的有效性。
更复杂的模型结构不一定会带来性能提升。与FM
相比,AFM
引入了更复杂的注意力机制,但并没有取得更好的性能,这一点在《Open benchmarking for click-through rate prediction》
中也有所报道。但是,与CrossNetv1
相比,CrossNetv2
扩展了权重矩阵的规模,从而带来了一定程度的性能提升。因此,我们应该仔细设计模型架构。
FiGNN
在显式feature interaction
模型中取得了最佳的baseline
性能。然而,与FiGNN
相比,我们的ECN
在Avazu
数据集上仍然实现了Logloss
下降0.4%
、AUC
增加0.54%
,在Criteo
数据集上实现了Logloss
下降0.18%
、AUC
增加0.17%
,均在统计显著水平上超过0.001
。这证明了ECN
的优越性。
与集成隐式feature interactions
的模型的比较:为了进一步全面研究DCNv3
在各种CTR
数据集(例如,大规模稀疏数据集)上的性能优势和泛化能力,我们选择了15
个有代表性的baseline
模型和6
个基准数据集。我们用粗体突出显示ECN
和DCNv3
的性能,并用下划线突出最佳baseline
性能。Table 4
展示了实验结果,从中我们可以得出以下观察结果:
总体而言,DCNv3
在所有六个数据集上都取得了最佳性能,与最强的baseline
模型相比,平均AUC
提高了0.21%
,平均Logloss
降低了0.11%
,均超过了0.1%
的统计显著阈值。这证明了DCNv3
的有效性。
FinalMLP
模型在Avazu
和Criteo
数据集上取得了良好的性能,超越了大多数结合显式和隐式feature interactions
的CTR
模型。这证明了隐式feature interactions
的有效性。因此,大多数CTR
模型试图将DNN
集成到显式feature interaction
模型中以提高性能。然而,DCNv3
仅使用显式feature interactions
就实现了SOTA
性能,表明仅使用显式feature interaction
进行建模的有效性和潜力。
DCNv3
在所有六个数据集上都实现了优于ECN
的性能,证明了LCN
在捕获低阶feature interactions
和Tri-BCE loss
方面的有效性。值得注意的是,在iPinYou
数据集上,我们观察到所有模型的Logloss
值都在0.0055
水平左右。这是由于数据集中正样本和负样本之间的不平衡,其他工作也报告了类似的结果。
ECN
在AUC
方面优于所有baseline
模型,唯一的例外是KKBox
数据集上的Logloss optimization
,ECN
比DCNv1
弱。这进一步证明了ECN
的有效性,因为它通过指数级增长的feature interactions
和噪声过滤机制捕获高质量的feature interaction
信息。
效率比较(RQ2
):为了验证DCNv3
的效率,我们为25
个baseline
模型固定了最优超参数,并比较了它们的参数数量(四舍五入到小数点后两位)和运行时间(五次运行的平均值)。实验结果如Figure 5
所示。我们可以得出:
显式CTR
模型通常使用较少的参数。例如,LR, FM, FwFM, and AFM
的non-embedding
参数几乎为零,而 FmFM, CrossNet, CIN, and AutoInt
都需要少于1M
的参数。值得注意的是,参数数量并不总是与时间复杂度相关。虽然CIN
仅使用0.57M
个参数,但其每个epoch
的训练时间最多达到606
秒,因此不适合实际生产环境。FiGNN
和AutoInt
面临同样的问题。
在所有模型中,LR
模型的运行时间最短,为150
秒。CrossNetv1
和CrossNetv2
紧随其后,在提升性能的同时,时间几乎不增加。这证明了CrossNet
及其系列模型的效率。作为deep CTR
模型的基本组成部分,DNN
仅需156
秒。由于CTR
并行结构的parallel-friendly
特性,一些精心设计的deep CTR
模型(如DCNv2
、FinalMLP
和FINAL
)在运行时间没有大幅增加的情况下显著提高了预测准确率。
我们提出的ECN
和DCNv3
是DCN
系列中参数效率最高的模型,分别仅需0.78M
和1.37M
个参数即可实现SOTA
性能。同时,在运行时间方面,DCNv3
始终优于FinalMLP, FINAL, DCNv2, and DCNv1
等强大的baseline
模型。这证明了DCNv3
的时间效率。尽管由于使用了Tri-BCE loss
,DCNv3
比ECN
多需要20
秒,但它仍然与DCNv2
相当。值得注意的是,loss
的额外计算成本仅在训练期间产生,不会影响实际应用中的推理速度。这进一步证明了ECN
和DCNv3
的效率。
DCNv3
的可解释性和噪声过滤能力(RQ3
):可解释性在CTR
预测任务中至关重要,因为它可以帮助研究人员理解预测并增加对结果的信心。在本节中,我们研究动态的Cross & Masked Vector
和静态的 Figure 6
所示(Value
表示每个feature field
的Frobenius
范数),我们可以得出以下观察结果:
从Figure 6 (a∼d)
中,我们观察到
UserID
在LCN
和ECN
的第一层都具有很高的重要性,但随着层数的增加而降低。
同时,UserID
的
feature field
变得重要时,其在 UserID, Occupation, Age fields
)。这证明了我们引入的Self-Mask
操作的有效性,该操作通过更积极地为某些feature fields
分配零值来进一步过滤掉噪音。
从Figure 6 (e, f)
中,我们观察到LCN
和ECN
在同一层捕获不同的feature interaction
信息。
在LCN
中,3
阶特征的重要性从而生成4
阶feature interactions
。
相反,在ECN
中,feature interactions
。
因此,对于UserID × Genres
,与LCN
相比,ECN
展示了更低的重要性。这进一步证明了DCNv3
的有效性。
总体而言,我们观察到高阶feature interactions
的重要性低于低阶feature interactions
,这在一些工作中也有类似的报道。例如,在Figure 6
中,(f)
与(e)
相比,鲜红色块较少;并且(a)
中的蓝色块随着层数的增加逐渐变暗,(b)
中的情况类似。
消融研究(RQ4
):为了研究DCNv3
各组件对其性能的影响,我们对DCNv3
的几种变体进行了实验:
w/o TB
:使用BCE
代替Tri-BCE
的DCNv3
。
w/o LN
:没有LayerNorm
的Self-Mask
。
消融实验结果如Table 5
所示。可以看到:
ECN
和LCN
与DCNv3
相比都表现出一定的性能损失,这表明有必要同时捕获高阶和低阶feature interactions
。
与ECN
相比,LCN
的表现始终不佳,证明了指数级feature interaction
方法的优越性。
同时,w/o TB
的变体也导致一定程度的性能下降,在KKBox
上尤为明显。
LayerNorm
的目的是保证Self-Mask
保持0.5
左右的masking rate
,因此删除它会导致masking rate
不稳定,从而导致一些性能损失。
这些证明了DCNv3
中每个组件的必要性和有效性。
为什么没有移除
Self-Mask
的对比实验?
网络深度的影响(RQ4
):为了进一步研究不同神经网络深度对ECN
性能的影响,我们在两个大规模CTR
数据集Criteo
和KDD12
上进行了实验。Figure 7
显示了ECN
在测试集上的AUC
和Logloss
性能。
从Figure 7
中我们观察到:
在Criteo
数据集上,该模型在4
层的深度下实现了最佳性能,这表明ECN
最多可以捕获 feature interactions
。
在KDD12
数据集上,ECN
在6
层的深度下实现了最佳性能,这意味着它捕获了 feature interactions
。
相比之下,在线性增长的CrossNetv2
中实现相同阶次的feature interactions
分别需要 ECN
凭借其指数级增长的feature interaction
机制轻松实现了这一点。这进一步证明了ECN
的有效性。