《Enhancing Explicit and Implicit Feature Interactions via Information Sharing for Parallel Deep CTR Models》
有效地建模feature interactions
对于工业推荐系统中的CTR
预测至关重要。具有并行结构的SOTA
的deep CTR
模型(例如DCN
)通过独立的并行网络学习显式的和隐式的feature interactions
。然而,这些模型存在简单共享(trivial sharing
)的问题,即hidden layers
的共享不足、以及network input
的共享过度,限制了模型的表达能力和有效性。
因此,为了增强显式的和隐式的feature interactions
之间的信息共享,我们提出了一种新颖的deep CTR
模型EDCN
。EDCN
引入了两个高级模块,即桥接模块(bridge module
)和调制模块(regulation module
)。对于并行网络的每一个hidden layer
,这两个模块协同工作以捕获layer-wise
的交互信号并学习差异性的特征分布(discriminative feature distributions
)。此外,两个模块是轻量级的、以及模型无关的,可以很好地推广到主流的并行deep CTR
模型。我们进行了大量的实验和研究,以证明EDCN
在两个公共数据集和一个工业数据集上的有效性。此外,还验证了两个模块与各种并行结构的模型的兼容性,并已部署到华为在线广告平台上;经过一个月的A/B test
,与并行结构的base
模型相比,CTR
和eCPM
分别提高了7.30%
和4.85%
。
近年来,基于深度学习的CTR
模型迅速兴起,具有以端到端方式来捕获informative feature interactions
的能力,摆脱了手动特征工程和pre-defined formula
的阻碍。代表性模型,如Wide & Deep
、DeepFM
、DCN
、PIN
、DIN
和DIEN
,联合学习显式的和隐式的feature interactions
并实现显著的性能提升。这些deep CTR
模型可以根据所用于建模显式的和隐式的feature interactions
的网络的组合方式分为两类,即并行结构(parallel structure
)和堆叠结构(stacked structure
),如Figure 1
所示。
具有堆叠结构的模型将两个网络以串行的方式组合在一起,其中一个网络用于显式的有界阶次的feature interactions
,另一个网络用于隐式的feature interactions
,例如PIN
、DIN
和DIEN
。
另一方面,具有并行结构的模型以并行的方式联合训练两个网络,例如DeepFM
、DCN
和xDeepFM
,如Figure 2
所示。
在本文中,我们专注于通过信息共享(information sharing
)来增强显式的和隐式的feature interactions
从而来优化具有并行结构的模型。为了使我们的演示简单明了,我们以Deep & Cross Network: DCN
为例,这是一个具有代表性的并行结构的模型,在模型性能和效率之间取得了良好的平衡。然而,两个并行网络之间执行的简单共享策略限制了其表达能力和有效性,详述如下。
hidden layers
的共享不足(insufficient sharing
):DCN
并行且独立地执行交叉网络(显式交互)和深度网络(隐式交互),并且学到的latent representations
直到最后一层才融合。我们将这种融合模式称为late fusion
。在late fusion
中,显式的和隐式的feature interaction networks
不会在intermediate hidden layers
共享信息,这会削弱彼此之间的interactive signals
,并且可能在反向传播过程中容易导致梯度倾斜(《 Dense multimodal fusion for hierarchically joint representation》
)。总而言之,这种hidden layers
的共享不足的策略,阻碍了这些并行结构模型中effective feature interactions
的学习过程。
network input
的过度共享(excessive sharing
)。DCN
中的交叉网络(cross network
)和深度网络(deep network
)共享相同的embedding layer
作为输入,这意味着所有input features
都被无差别地输入到并行网络中。然而,正如《AutoFeature: Searching for Feature Interactions and Their Architectures for Click-through Rate Prediction》
所指出的,不同的特征适用于不同的interaction
函数。因此,network inputs
的过度共享,以及将所有特征无差别地输入到所有并行网络中,可能不是一个合理的选择,会导致性能不佳。
为了解决上述各种并行结构的模型中普遍存在的sharing
问题,我们提出了一种基于DCN
的新型deep CTR
模型,即Enhanced Deep & Cross Network: EDCN
。具体来说,我们引入了两个新模块,即bridge module
和regulation module
,分别解决hidden layers
的insufficient sharing
、以及network input
的excessive sharing
的问题。
一方面,bridge module
通过在交叉网络和深度网络之间建立连接进行dense fusion
,从而捕获并行网络之间的layer-wise interactive signals
,并增强feature interactions
。
另一方面,regulation module
旨在通过soft selection
方式通过field-wise gating network
学习不同子网络的差异化的特征分布(discriminative feature distributions
)。此外,regulation module
还能够与bridge module
协同工作,进一步学习每个hidden layer
的合理输入,使两个并行网络协同学习显式的和隐式的feature interactions
。
这两个模块轻量级且与模型无关,可以很好地推广到各种并行结构的deep CTR
模型,以显著提高性能,同时降低时间复杂度和空间复杂度。
不一定能降低时间复杂度和空间复杂度,事实上这两个模块会增加复杂度。
贡献:
我们分析了并行结构模型中存在的sharing
的问题,即hidden layers
的insufficient sharing
、以及network input
的excessive sharing
,并提出了一种新颖的deep CTR
模型EDCN
,以增强显式的和隐式的feature interactions
之间的信息共享。
在EDCN
中,我们提出bridge module
从而捕获并行网络之间的layer-wise interactive signals
,提出regulation module
来学习两个网络的每个hidden layer
的差异化的特征分布。
我们提出的bridge module and regulation module
是轻量级的和与模型无关的,可以很好地推广到主流的并行deep CTR
模型以提高性能。
在两个公共数据集和一个工业数据集上进行了大量的实验,以证明EDCN
优于SOTA baseline
。此外,还验证了bridge module and regulation module
与各种并行结构的CTR
模型的兼容性。在华为广告平台进行的为期一个月的online A/B test
显示,两个模块在CTR
和eCPM
方面分别比base
模型提升了7.30%
和4.85%
。
给定数据集 multi-fields
的数据记录。CTR
预估任务是对每个输入
为了更好地预测在现实的复杂环境下的用户行为,互联网规模的工业推荐系统收集了大量的特征,包括用户画像(性别、年龄)、item
属性(名称、类目)、以及上下文信息(例如workday
、位置)来构建训练数据集。
对于数值特征(例如bidding price
、使用次数),常用的方法是离散化,包括:
soft discretization
:如AutoDis
。
hard discretization
:通过将numerical features
变换为categorical features
,例如对数离散化(logarithm discretization
)、和基于树的离散化。
然后,可以通过field-aware one-hot encoding
将multi-field categorical record
转换为高维稀疏特征。例如,一个实例(Gender=Male, Age=18, Category=Electronics, ..., Weekday=Monday)
可以被表示为:
对于遵循feature embedding & feature interaction
范式的基于深度学习的CTR
模型,它应用embedding layer
将每个稀疏向量转换为低维稠密向量,这通常称为feature embedding
。对于第 categorical field
,可以通过embedding look-up
操作获得feature embedding
:
其中:
embedding
矩阵,vocabulary
规模,embedding size
。
one-hot
向量。
因此,embedding layer
的结果表示为:
其中 field
数量,
然后,feature embedding
被馈入到堆叠结构或并行结构的模型中,从而捕获explicit/implicit feature interactions
。接着通过判别函数 CTR
得分。
DCN
:DCN
是一个典型的并行结构的CTR
模型,它将embedding
feature interaction
。具体而言,这两个网络中的cross layers
和deep layers
分别表示为:
其中:
cross layer
的输出,cross layer
的权重参数和偏置参数。
deep layer
的输出,deep layer
的权重参数和偏置参数。
注意,交叉网络和深度网络的输入是相同的,即
最后,交叉网络和深度网络的结果在最后一层(第
其中:
sigmoid
函数。
然而,简单的共享策略限制了DCN
的表达能力和有效性。
一方面,交叉网络和深度网络是独立的,学到的representations
直到最后一层才融合。
另一方面,交叉网络和深度网络都以相同的embedding
feature selection
的重视。
这两个缺陷阻碍了DCN
中effective feature interactions
的学习过程,导致性能不佳。为了克服这些问题,我们提出了一种Enhanced Deep & Cross Network: EDCN
,它有两个模块,即bridge module
和regulation module
,将在下一节中介绍。
EDCN
的架构如Figure 4
所示,与原始DCN
相比,它包括两个核心模块,即bridge module
和regulation module
。
现有的并行的deep CTR
模型分别通过两个并行子网络学习显式的和隐式的feature interactions
,例如DeepFM
、DCN
、xDeepFM
和AutoInt
。两个子网络分开独立运行,这意味着直到最后一层才进行信息融合,这称为后期融合(late fusion
)。后期融合策略无法捕获在中间层(intermediate layers
)中两个并行网络之间的相关性,从而削弱了explicit and implicit feature interaction
之间的交互信号。此外,每个子网络中冗长的updating progress
可能导致反向传播过程中梯度倾斜(《 Dense multimodal fusion for hierarchically joint representation》
),从而阻碍两个网络的学习过程。
为了克服这一限制,我们引入了一种dense fusion
策略,该策略由我们提出的bridge module
实现,以捕获两个并行网络之间的layer-wise
交互信号。与仅在子网络的最后一层执行信息共享的late fusion
不同,dense fusion
在每一层共享中间信息(intermediate information
),利用multi-level
交互信号,并缓解梯度问题。Figure 3
展示了late fusion
和dense fusion
之间的比较。
更具体地说,在EDCN
中,在每对cross layer and deep layer
之后插入一个bridge module
,从而捕获有效的layer-wise
交互。正式地,假设第 cross layer
和第 deep layer
的输出记作 bridge module
可以表示为
Pointwise Addition
:逐元素地计算输入向量的element-wise sum
。它没有parameters
,公式为
Hadamard Product
:逐元素地计算输入向量的element-wise
乘积 。它也没有parameters
,公式为
Concatenation
:将输入向量拼接起来,并传递到具有ReLU
激活函数的feed-forward layer
,以保持输出向量的维度为 bridge module
第
Attention Pooling
:利用self-attention network
来衡量两个输入向量的重要性,并相应地执行attentive pooling
。该交互函数记作:bridge module
第 attention weights
。
其中,bridge module
第 transform weight parameter
。
这两个子网络共享相同的
attention
参数。
总而言之,bridge module
充当连接explicit and implicit modeling networks
的桥梁,加强了网络之间的交互信号,避免了反向传播过程中的倾斜梯度。我们在消融研究中对上述四个函数进行了实证比较。
具有并行结构的deep CTR
模型基于shared embeddings
来同时利用显式的和隐式的特征。显式的feature interactions
通常使用预定义的交互函数来建模,以有效探索bounded-degree interaction
(例如,DCN
中的cross network
);而隐式的feature interactions
主要通过全连接层来学习。直观地讲,不同的特征适合不同的交互函数,如AutoFeature
论文中所观察到的。因此,需要仔细为两个并行网络选择不同的特征,而不是像DCN
那样将所有特征平等地馈入这两个网络。
受MMoE
中使用的门控机制的启发,我们提出了一个regulation module
,由field-wise gating network
实现,为每个并行网络soft-select
差异化的特征分布。具体而言,假设有 field-wise
门控单元为:
其中:实数 field
的门控权重(gating weight
)。
注意:这里的门控单元是
free-parameter
,而不是由input
来决定的(有一种做法是将input
馈入一个子网络从而得到门控单元)。论文的实验部分表明,这种方法的效果反而更好。读者猜测这是因为:可以视为对所有样本都相同的全局门控参数,与样本无关,因此训练更加稳定。
为了获得差异化的特征分布,对 Softmax
激活函数,得到:
其中:field
的gating score
。因此,网络 regulated representation
除了shared embedding layer
之外,我们还将regulation module
与每个bridge module
一起执行,如Figure 4
所示。
请注意,DCN
中的交叉网络实际上是 xDeepFM
论文中所示。换句话说,field
信息仍然存在于bridge
module
的fused representation
中。因此,bridge module
之后的regulation module
的工作原理,与shared embedding
layer
的regulation module
相同。
这段话是解释:为什么在
bridge module
的output representation
上应用regulation module
。
堆叠 logits layer
进行预测。假设第 cross layer, deep layer and bridge module
的输出分别为 EDCN
的结果表示为:
其中,
有没有必要将
bridge module
的输出拼接进来?读者认为,这样就相当于三个子网络,而不是原始DCN
的两个子网络,因此比DCN
更强是可以预期的(表达能力更强)。
损失函数是广泛使用的带有正则化项的LogLoss
,如下所示:
其中:
L2
正则化权重,
复杂度分析:这里分析bridge module and regulation module
的时间复杂度和空间复杂度。
将embedding size
记作 Hadamard Product
作为bridge module
中的交互函数,因为它在实验中实现了最佳性能。
由于无参数的逐元素乘积,单个bridge module
的时间复杂度和空间复杂度分别为
此外,由于计算 regulation module
的时间复杂度也为 field-wise
的,其空间复杂度为
上述分析表明这两个模块是轻量级的,关于模型效率的实证研究将在实验部分详细阐述。
兼容性分析:EDCN
提出了两个核心模块,即bridge module and regulation module
,可以无缝应用于主流的并行结构的模型,如DeepFM
、DCN
、xDeepFM
、AutoInt
等。
bridge module
捕获不同并行网络之间的layer-wise interaction
,增强跨网络的交互信号。
而regulation module
可以为不同的并行网络来区分特征分布。
这两个模块可以很好地推广到并行结构的模型,这由实验部分中阐述的兼容性研究所证明。具体而言,为了应对隐式网络和显式网络具有不同层的情况,我们利用层数较少的子网络的最后一层输出与另一个子网络重复执行桥接操作。
数据集:两个流行的benchmarks
(即Avazu
、Criteo
)和一个工业数据集。Table 1
总结了所有三个数据集的统计数据。
Avazu
数据集包含23
个fields
,涵盖从user/device
特征到广告属性。我们以8:1:1
的比例将数据集随机分为训练集、验证集和测试集。
Criteo
数据集包含26
个categorical fields
和13
个numerical fields
,其中第1-7
天用于训练,第8
天和第9
天分别用于验证和测试。我们遵循PNN
中的相同数据处理程序,通过执行negative down-sampling
以保持positive ratio
接近50%
,并将数值特征转换为categorical
特征。
工业数据集包含从华为广告平台采样的连续9
天的点击日志。该数据集的feature set
由 44
个categorical
特征和41
个numerical
特征组成,它们通过各种混杂的、手动设计的规则进行离散化。我们将第1-7
天设置为训练集,第8
天设置为验证集,第9
天设置为测试集。
评估指标:AUC, LogLoss
。所有实验重复5
次以获得平均性能。进行two-tailed unpaired t-test
以检测EDCN
与best baseline
之间的显著差异。
baseline
与实现细节:
为了证明EDCN
的有效性,我们将它与代表性的deep CTR
模型进行了比较,包括FNN
、Wide & Deep
、DeepFM
、DCN
、DCN-V2
、xDeepFM
、AutoInt
和PNN
。
所有模型均在TensorFlow
上实现,我们使用mini-batch Adam
对所有模型进行优化,其中学习率从 batch size
固定为2000
。此外,embedding size
设置为40
。deep network
的隐层默认固定为400-400-400
,并应用Batch Normalization
。L2
正则化的权重从 dropout rate
从
具体来说,DCN
、DCN-V2
和xDeepFM
中用于建模显式的feature interactions
的网络结构(即CrossNet
和CIN
)均设置为3
层。AutoInt
中multi-head attention
的head
设为12
、attention factor
设为20
。默认情况下,bridge module
中的交互函数选择Hadamard Product
。regulation module
中的 1.0
,以确保开始时每个field
的权重相等。
Table 2
展示了模型在这三个数据集上的表现,从中我们得到以下观察结果:
在三个数据集上,EDCN
在AUC
和LogLoss
方面的表现都远远优于所有SOTA baselines
,这证明了EDCN
在CTR
预测任务中的卓越性能。
在三个数据集上,与原始DCN
模型相比,EDCN
的AUC
分别提高了0.54%
、0.48%
和0.65%
。我们认为这一显著改进归因于以下原因:
(1)
:基于dense fusion
策略的bridge module
有助于加强并行网络之间的 layer-wise interaction and supervision
。虽然deep layers
的网络宽度被扩展为与embedding layer
相同,但性能的提高并不是通过额外的hidden neurons
来实现的(因为在三个数据集上extended-width DCN
实现的平均AUC
仅提高了不到0.03%
)。
(2)
:regulation module
调制了shared embeddings
和fused information
,将差异化的特征分布传递到不同的子网络中,这帮助子网络soft-select
合适的特征。
Bridge Module
的兼容性分析:为了证明我们提出的bridge module
的兼容性,我们在三种流行的deep parallel CTR
模型(即xDeepFM
、DCN
和DCN-V2
)中为每个hidden layer
引入了bridge module
。配备bridge module
的模型
从Table 3
中,我们可以观察到bridge module
一致性地提高了deep parallel CTR
模型的性能。AUC
指标的平均改进分别为xDeepFM
上改进0.13%
、DCN
上改进0.42%
和DCN-V2
上改进0.20%
,这证明了bridge module
的有效性。原因在于layer-wise bridge module
利用dense fusion
策略来捕获interactive correlation signals
,并随后为explicit and implicit feature modeling
带来好处。此外,由于引入了不同子网络之间的multi-paths
,反向传播时梯度更新更加均衡,从而可以很好地缓解梯度倾斜问题。
Regulation Module
的兼容性分析:我们提出的regulation module
也是与模型无关的。在本节中,我们进行了广泛的实验来证明其兼容性,方法是将regulation module
应用于五种SOTA
的并行CTR
模型:DeepFM
、xDeepFM
、AutoInt
、DCN
、DCN-V2
以及 late fusion
策略,因此我们仅在embedding layer
上执行regulation module
。配备regulation module
的模型 EDCN
。从Table 4
中可以观察到一致的改进。
如前所述,regulation module
差异化特征分布并将它们传递到不同的子网络中,在这些子网络中将分别利用不同的feature collections
。从反向传播的角度来看,由于并行结构的模型中的shared embeddings
,来自多个子网络的梯度可能会在一定程度上相互冲突。通过regulation module
,在反向传播到embedding layer
之前对梯度进行调制,从而缓解梯度冲突。
为了生动地说明regulation module
的feature regulation
结果,我们将EDCN
中并行网络的每个hidden layer
的权重分布 min-max
归一化将每个元素 [0,1]
之间以直观呈现)。Avazu
数据集上的结果如Figure 5
所示。请注意,颜色越深,表示该field
越倾向于相应的特征交互方式(即EDCN
中的交叉网络和深度网络)。
注意,图中的
就是笔记中的 。
从热力图中我们可以观察到特征分布在不同layers
和不同feature interaction
方式之间有所不同。具体而言:
对于交叉网络和深度网络,f11
在layer0
和layer1
中具有较大的权重。
f2
在交叉网络的layer2
更具差异性,而f16
在深度网络的layer2
更具差异性。
此外,交叉网络中的热力图更加多样化,表明某些fields
在bounded-degree explicit feature interaction
中比其他fields
发挥更重要的作用。相反,大多数fields
对implicit feature interactions
的贡献相对地相似。
另一个观察结果是,随着层数的增加,不同子网络的偏好更加明显。特征分布在layer0
相对接近,而在layer 2
则明显不同。因此,EDCN
利用regulation module
来soft-select
差异化的特征分布,从而充分利用不同的特征。
Bridge Module
:为了比较bridge module
中不同交互函数的性能,我们探索了四个交互函数 EDCN-ADD
)、hadamard product
(EDCN-PROD
)、拼接(EDCN-CON
)、以及attention pooling
(EDCN-ATT
)。
从Figure 6
可以看出,hadamard product
的表现明显优于其他函数,这可能是由于以下原因。
一方面,hadamard product
是无参数的,因此不涉及任何额外的learnable parameters
,比有参数的方法(例如拼接和attention pooling
)更容易稳定地训练。
另一方面,与逐点加法相比,乘积操作是推荐模型中更好的interaction modeling
操作,如DeepFM, PNN, FM
所示。
下图应该是
(a) Avazu
,(b) Criteo
。
Regulation Module
:为了证明我们提出的regulation module
的有效性,我们进行了实验,用三种方法替换了regulation module (RM)
。
Fully connection (FC)
:全连接是一种常用的变换方法,从前一层提取representation
。
Squeeze-and-Excitation (SE)
:Squeeze-and-Excitation Networ
执行Squeeze, Excitation and Re-Weight
步骤,从而使用informative features
来re-scale representation
。
GateNet (GN)
:GateNet
提出feature embedding gate
来从feature-level
选择显著的信息(salient information
)。
Figure 7
显示了这些方法之间的比较。我们可以观察到:
简单的FC
获得最差的结果。
此外,与nonregulation
(即 GN
和SE
方法在Avazu
上取得了改进,而在Criteo
上略有下降。
RM
始终比其他竞争对手取得显著改进,证明了我们提出的regulation module
的有效性。
为了定量分析我们提出的EDCN
的空间复杂度和时间复杂度,我们比较了三个具有并行结构的代表性的deep CTR
模型的模型参数和推理时间(在整个测试集上)。所有实验均在具有16G
内存的NVIDIA Tesla P100-PCIE GPU
上进行。Table 5
报告了Avazu
数据集上的比较结果。
我们可以观察到:
与DCN
相比,EDCN
增加的模型参数和推理时间是可以接受的,表明EDCN
引入的两个模块在实际工业应用中是轻量级的和可行的。
此外,xDeepFM
的推理时间比EDCN
长得多,而EDCN
增加的模型参数比AutoInt
小得多。
online A/B test
从3
月10
日到4
月10
日进行了一个月。比较的基线表示为 bridge module
和regulation module
,命名为 CTR
和eCPM
。
连续30
天的在线结果表明,我们提出的模块比基线 Table 6
所示。我们可以观察到:
在Instant Access
(Video Page
)场景中, 7.30%
(2.42%
)和4.85%
(1.71%
)的CTR
和eCPM
改进。
此外,增加的serving latency
在工业界中也是可以接受的。
结果表明,bridge module and regulation module
在用户体验和平台收入方面带来了显著的性能改进,同时只有轻微的latency overload
。