四十六、EDCN[2021]

《Enhancing Explicit and Implicit Feature Interactions via Information Sharing for Parallel Deep CTR Models》

  1. 有效地建模feature interactions 对于工业推荐系统中的CTR 预测至关重要。具有并行结构的SOTAdeep CTR 模型(例如DCN )通过独立的并行网络学习显式的和隐式的feature interactions 。然而,这些模型存在简单共享(trivial sharing )的问题,即hidden layers 的共享不足、以及network input 的共享过度,限制了模型的表达能力和有效性。

    因此,为了增强显式的和隐式的feature interactions 之间的信息共享,我们提出了一种新颖的deep CTR 模型EDCNEDCN引入了两个高级模块,即桥接模块(bridge module)和调制模块(regulation module )。对于并行网络的每一个hidden layer,这两个模块协同工作以捕获layer-wise 的交互信号并学习差异性的特征分布(discriminative feature distributions )。此外,两个模块是轻量级的、以及模型无关的,可以很好地推广到主流的并行deep CTR 模型。我们进行了大量的实验和研究,以证明EDCN 在两个公共数据集和一个工业数据集上的有效性。此外,还验证了两个模块与各种并行结构的模型的兼容性,并已部署到华为在线广告平台上;经过一个月的A/B test ,与并行结构的base 模型相比,CTReCPM 分别提高了7.30%4.85%

  2. 近年来,基于深度学习的CTR 模型迅速兴起,具有以端到端方式来捕获informative feature interactions 的能力,摆脱了手动特征工程和pre-defined formula 的阻碍。代表性模型,如Wide & DeepDeepFMDCNPINDINDIEN,联合学习显式的和隐式的feature interactions 并实现显著的性能提升。这些deep CTR 模型可以根据所用于建模显式的和隐式的feature interactions 的网络的组合方式分为两类,即并行结构(parallel structure )和堆叠结构(stacked structure ),如Figure 1 所示。

    • 具有堆叠结构的模型将两个网络以串行的方式组合在一起,其中一个网络用于显式的有界阶次的feature interactions ,另一个网络用于隐式的feature interactions ,例如PINDINDIEN

    • 另一方面,具有并行结构的模型以并行的方式联合训练两个网络,例如DeepFMDCNxDeepFM ,如Figure 2 所示。

  3. 在本文中,我们专注于通过信息共享(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 moduleregulation module ,分别解决hidden layersinsufficient sharing 、以及network inputexcessive 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 模型,以显著提高性能,同时降低时间复杂度和空间复杂度。

    不一定能降低时间复杂度和空间复杂度,事实上这两个模块会增加复杂度。

  4. 贡献:

    • 我们分析了并行结构模型中存在的sharing 的问题,即hidden layersinsufficient sharing 、以及network inputexcessive 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 显示,两个模块在CTReCPM 方面分别比base 模型提升了7.30%4.85%

46.1 基础概念

  1. 给定数据集 D ,假设它包含 Q 个样本 (x,y) ,其中 y{0,1} 表示用户是否点击,x 为一条multi-fields 的数据记录。CTR 预估任务是对每个输入 x ,估计概率 Pr(y=1x)

    为了更好地预测在现实的复杂环境下的用户行为,互联网规模的工业推荐系统收集了大量的特征,包括用户画像(性别、年龄)、item 属性(名称、类目)、以及上下文信息(例如workday 、位置)来构建训练数据集。

    对于数值特征(例如bidding price 、使用次数),常用的方法是离散化,包括:

    • soft discretization :如AutoDis

    • hard discretization :通过将numerical features 变换为categorical features ,例如对数离散化(logarithm discretization )、和基于树的离散化。

    然后,可以通过field-aware one-hot encodingmulti-field categorical record 转换为高维稀疏特征。例如,一个实例(Gender=Male, Age=18, Category=Electronics, ..., Weekday=Monday) 可以被表示为:

    x=[0,1]Gender[0,1,0,,0]Age[0,0,1,,0]Category[1,0,0,,0]Weekday

    对于遵循feature embedding & feature interaction 范式的基于深度学习的CTR 模型,它应用embedding layer 将每个稀疏向量转换为低维稠密向量,这通常称为feature embedding 。对于第 icategorical field ,可以通过embedding look-up 操作获得feature embedding

    ei=Eixi

    其中:

    • EiRvi×kembedding 矩阵,vivocabulary 规模,kembedding size

    • xiRvione-hot 向量。

    因此,embedding layer 的结果表示为:

    e=[e1||e2||||ef]Rkf×1

    其中 f 表示field 数量,[||] 表示向量拼接。

    然后,feature embedding 被馈入到堆叠结构或并行结构的模型中,从而捕获explicit/implicit feature interactions 。接着通过判别函数 y^=fCTR(e) 来获得预测的CTR 得分。

  2. DCNDCN 是一个典型的并行结构的CTR 模型,它将embedding e 馈入两个独立的子网络,即交叉网络和深度网络,用于建模显式的和隐式的feature interaction 。具体而言,这两个网络中的cross layersdeep layers 分别表示为:

    xl+1=x0xlwlc+blc+xlhl+1=ReLU(Wldhl+bld)

    其中:

    • xl 为第 lcross layer 的输出,wlc,blc 为第 lcross layer 的权重参数和偏置参数。

    • hl 为第 ldeep layer 的输出,Wld,bld 为第 ldeep layer 的权重参数和偏置参数。

    注意,交叉网络和深度网络的输入是相同的,即 x0=h0=e

    最后,交叉网络和深度网络的结果在最后一层(第 L 层)进行融合,然后馈入到输出层进行预测,可以表示为:

    y^DCN=sigmoid(w[xL||hL]+b)

    其中:

    • w,b 为输出的权重参数和偏置参数。

    • sigmoid()sigmoid 函数。

    然而,简单的共享策略限制了DCN 的表达能力和有效性。

    • 一方面,交叉网络和深度网络是独立的,学到的representations 直到最后一层才融合。

    • 另一方面,交叉网络和深度网络都以相同的embedding e 作为输入,而忽略了对feature selection 的重视。

    这两个缺陷阻碍了DCNeffective feature interactions 的学习过程,导致性能不佳。为了克服这些问题,我们提出了一种Enhanced Deep & Cross Network: EDCN ,它有两个模块,即bridge moduleregulation module ,将在下一节中介绍。

46.2 EDCN

  1. EDCN的架构如Figure 4 所示,与原始DCN 相比,它包括两个核心模块,即bridge moduleregulation module

46.2.1 Bridge Module

  1. 现有的并行的deep CTR 模型分别通过两个并行子网络学习显式的和隐式的feature interactions ,例如DeepFMDCNxDeepFMAutoInt。两个子网络分开独立运行,这意味着直到最后一层才进行信息融合,这称为后期融合(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 fusiondense fusion 之间的比较。

  2. 更具体地说,在EDCN 中,在每对cross layer and deep layer 之后插入一个bridge module ,从而捕获有效的layer-wise 交互。正式地,假设第 lcross layer 和第 ldeep layer 的输出记作 xlhlbridge module 可以表示为 fl=f(xl,hl) ,其中 f() 是一个预定义的交互函数,它以两个向量作为输入并输出一个具有相同维度的向量。具体来说,我们实证比较了以下四个交互函数 f():Rd×RdRd

    • Pointwise Addition :逐元素地计算输入向量的element-wise sum 。它没有parameters,公式为 fl=xlhl

    • Hadamard Product :逐元素地计算输入向量的element-wise 乘积 。它也没有parameters,公式为 fl=xlhl

    • Concatenation:将输入向量拼接起来,并传递到具有ReLU 激活函数的feed-forward layer ,以保持输出向量的维度为 d 。该函数的公式为:fl=ReLU(wl[xl||hl]+bl) 。其中,wl,bl 分别为bridge modulel 层的权重参数和偏置参数。

    • Attention Pooling :利用self-attention network 来衡量两个输入向量的重要性,并相应地执行attentive pooling 。该交互函数记作:fl=alxxlalhhl 。其中,alx,alh 分别为bridge modulel 层的attention weights

      alx,alh 的计算方式为:

    alx=softmax(plReLU(wlxl+bl))alh=softmax(plReLU(wlhl+bl))

    其中,wl,bl,pl 分别为bridge modulel 层的权重参数、偏置参数以及transform weight parameter

    这两个子网络共享相同的attention 参数。

    总而言之,bridge module 充当连接explicit and implicit modeling networks 的桥梁,加强了网络之间的交互信号,避免了反向传播过程中的倾斜梯度。我们在消融研究中对上述四个函数进行了实证比较。

46.2.2 Regulation Module

  1. 具有并行结构的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 差异化的特征分布。具体而言,假设有 B 个并行网络,对于第 b 个网络,field-wise 门控单元为:

    gb=[g1b,g2b,,gfb]Rf

    其中:实数 gib 为在网络 b 中第 ifield 的门控权重(gating weight )。

    注意:这里的门控单元是free-parameter,而不是由input 来决定的(有一种做法是将input 馈入一个子网络从而得到门控单元)。论文的实验部分表明,这种方法的效果反而更好。读者猜测这是因为:可以视为对所有样本都相同的全局门控参数,与样本无关,因此训练更加稳定。

    为了获得差异化的特征分布,对 gb 执行Softmax 激活函数,得到:

    g^b=[g^1b,g^2b,,g^fb]Rfg^ib=exp(gib/τ)j=1fexp(gjb/τ)

    其中:τ 为控制分布的温度系数;标量 g^ib 为在网络 b 中第 ifieldgating score 。因此,网络 bregulated representation eb 为:

    eb=g^be=[g^1be1||g^2be2||||g^fbef]

    除了shared embedding layer 之外,我们还将regulation module 与每个bridge module 一起执行,如Figure 4 所示。

  2. 请注意,DCN 中的交叉网络实际上是 x0 的线性变换,如xDeepFM 论文中所示。换句话说,field 信息仍然存在于bridge modulefused representation 中。因此,bridge module 之后的regulation module 的工作原理,与shared embedding layerregulation module 相同。

    这段话是解释:为什么在bridge moduleoutput representation 上应用 regulation module

46.2.3 Combination Output Layer

  1. 堆叠 L 层后,交叉网络和深度网络的输出被拼接起来,并馈入到标准logits layer 进行预测。假设第 Lcross layer, deep layer and bridge module 的输出分别为 xL,hL,fL ,则EDCN 的结果表示为:

    y^=Sigmoid(w[xL||hL||fL]+b)

    其中,w,b 分别为权重参数和偏置参数。

    有没有必要将bridge module 的输出拼接进来?读者认为,这样就相当于三个子网络,而不是原始DCN 的两个子网络,因此比DCN 更强是可以预期的(表达能力更强)。

    损失函数是广泛使用的带有正则化项的LogLoss ,如下所示:

    L=1Ni=1N[yilog(y^i)+(1yi)log(1y^i)]+λ||Θ||2

    其中:

    • yiy^i 分别是第 i 个实例的真实标签和估计值。

    • N 是训练实例的总数。

    • λL2 正则化权重,Θ 是模型参数集合。

46.2.4 讨论

  1. 复杂度分析:这里分析bridge module and regulation module 的时间复杂度和空间复杂度。

    embedding size 记作 k ,我们将Hadamard Product 作为bridge module 中的交互函数,因为它在实验中实现了最佳性能。

    • 由于无参数的逐元素乘积,单个bridge module 的时间复杂度和空间复杂度分别为 O(k)O(1)

    • 此外,由于计算 eb 中的乘法运算,单个regulation module 的时间复杂度也为 O(k);而由于 gb 中的参数是field-wise 的,其空间复杂度为 O(1)

    上述分析表明这两个模块是轻量级的,关于模型效率的实证研究将在实验部分详细阐述。

  2. 兼容性分析:EDCN 提出了两个核心模块,即bridge module and regulation module ,可以无缝应用于主流的并行结构的模型,如DeepFMDCNxDeepFMAutoInt 等。

    • bridge module 捕获不同并行网络之间的layer-wise interaction ,增强跨网络的交互信号。

    • regulation module 可以为不同的并行网络来区分特征分布。

    这两个模块可以很好地推广到并行结构的模型,这由实验部分中阐述的兼容性研究所证明。具体而言,为了应对隐式网络和显式网络具有不同层的情况,我们利用层数较少的子网络的最后一层输出与另一个子网络重复执行桥接操作。

46.3 实验

  1. 数据集:两个流行的benchmarks (即AvazuCriteo )和一个工业数据集。Table 1 总结了所有三个数据集的统计数据。

    • Avazu 数据集包含23fields ,涵盖从user/device 特征到广告属性。我们以8:1:1 的比例将数据集随机分为训练集、验证集和测试集。

    • Criteo 数据集包含26categorical fields13numerical fields,其中第1-7天用于训练,第8 天和第9 天分别用于验证和测试。我们遵循PNN中的相同数据处理程序,通过执行negative down-sampling 以保持positive ratio 接近50% ,并将数值特征转换为categorical 特征。

    • 工业数据集包含从华为广告平台采样的连续9 天的点击日志。该数据集的feature set44categorical 特征和41numerical 特征组成,它们通过各种混杂的、手动设计的规则进行离散化。我们将第1-7 天设置为训练集,第8 天设置为验证集,第9 天设置为测试集。

  2. 评估指标:AUC, LogLoss 。所有实验重复5 次以获得平均性能。进行two-tailed unpaired t-test 以检测EDCNbest baseline 之间的显著差异。

  3. baseline 与实现细节:

    • 为了证明EDCN的有效性,我们将它与代表性的deep CTR 模型进行了比较,包括FNNWide & DeepDeepFMDCNDCN-V2xDeepFMAutoIntPNN

    • 所有模型均在TensorFlow上实现,我们使用mini-batch Adam 对所有模型进行优化,其中学习率从 [105,104,,102] 中搜索,batch size 固定为2000 。此外,embedding size 设置为40deep network 的隐层默认固定为400-400-400 ,并应用Batch NormalizationL2 正则化的权重从 [105,104,,103] 中搜索,dropout rate[0.1,0.2,,0.9] 中搜索。

      具体来说,DCNDCN-V2xDeepFM 中用于建模显式的feature interactions 的网络结构(即CrossNetCIN)均设置为3层。AutoIntmulti-head attentionhead 设为12attention factor 设为20 。默认情况下,bridge module 中的交互函数选择Hadamard Productregulation module 中的 g^ib 初始化为1.0 ,以确保开始时每个field 的权重相等。

46.3.1 性能比较

  1. Table 2 展示了模型在这三个数据集上的表现,从中我们得到以下观察结果:

    • 在三个数据集上,EDCNAUCLogLoss方面的表现都远远优于所有SOTA baselines ,这证明了EDCNCTR预测任务中的卓越性能。

    • 在三个数据集上,与原始DCN模型相比,EDCNAUC分别提高了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 embeddingsfused information ,将差异化的特征分布传递到不同的子网络中,这帮助子网络soft-select 合适的特征。

46.3.2 与不同模型的兼容性分析

  1. Bridge Module 的兼容性分析:为了证明我们提出的bridge module 的兼容性,我们在三种流行的deep parallel CTR 模型(即xDeepFMDCNDCN-V2)中为每个hidden layer 引入了bridge module 。配备bridge module 的模型 M 记作 MBridge

    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 ,反向传播时梯度更新更加均衡,从而可以很好地缓解梯度倾斜问题。

  2. Regulation Module 的兼容性分析:我们提出的regulation module 也是与模型无关的。在本节中,我们进行了广泛的实验来证明其兼容性,方法是将regulation module 应用于五种SOTA 的并行CTR模型:DeepFMxDeepFMAutoIntDCNDCN-V2以及 DCNBridge。除 DCNBridge 之外的所有这些模型都应用了late fusion 策略,因此我们仅在embedding layer 上执行regulation module 。配备regulation module 的模型 M 记作 MRegulate。请注意,DCNBridgeRegulate 实际上是我们提出的EDCN 。从Table 4 中可以观察到一致的改进。

    如前所述,regulation module 差异化特征分布并将它们传递到不同的子网络中,在这些子网络中将分别利用不同的feature collections 。从反向传播的角度来看,由于并行结构的模型中的shared embeddings ,来自多个子网络的梯度可能会在一定程度上相互冲突。通过regulation module ,在反向传播到embedding layer 之前对梯度进行调制,从而缓解梯度冲突。

46.3.3 Regulation Module 的分析

  1. 为了生动地说明regulation modulefeature regulation 结果,我们将EDCN 中并行网络的每个hidden layer 的权重分布 g^b 可视化(使用min-max 归一化将每个元素 g^ib 缩放到[0,1] 之间以直观呈现)。Avazu 数据集上的结果如Figure 5 所示。请注意,颜色越深,表示该field 越倾向于相应的特征交互方式(即EDCN 中的交叉网络和深度网络)。

    注意,图中的 G^ 就是笔记中的 g^

    从热力图中我们可以观察到特征分布在不同layers 和不同feature interaction 方式之间有所不同。具体而言:

    • 对于交叉网络和深度网络,f11layer0layer1 中具有较大的权重。

    • f2 在交叉网络的layer2 更具差异性,而f16 在深度网络的layer2 更具差异性。

    • 此外,交叉网络中的热力图更加多样化,表明某些fieldsbounded-degree explicit feature interaction 中比其他fields 发挥更重要的作用。相反,大多数fieldsimplicit feature interactions 的贡献相对地相似。

    • 另一个观察结果是,随着层数的增加,不同子网络的偏好更加明显。特征分布在layer0 相对接近,而在layer 2 则明显不同。因此,EDCN 利用regulation modulesoft-select 差异化的特征分布,从而充分利用不同的特征。

47.3.4 消融研究

  1. Bridge Module:为了比较bridge module 中不同交互函数的性能,我们探索了四个交互函数 f(),即逐点加法(EDCN-ADD)、hadamard productEDCN-PROD)、拼接(EDCN-CON)、以及attention poolingEDCN-ATT )。

    Figure 6 可以看出,hadamard product 的表现明显优于其他函数,这可能是由于以下原因。

    • 一方面,hadamard product 是无参数的,因此不涉及任何额外的learnable parameters,比有参数的方法(例如拼接和attention pooling)更容易稳定地训练。

    • 另一方面,与逐点加法相比,乘积操作是推荐模型中更好的interaction modeling 操作,如DeepFM, PNN, FM 所示。

    下图应该是(a) Avazu(b) Criteo

  2. 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 featuresre-scale representation

    • GateNet (GN)GateNet 提出feature embedding gate 来从feature-level 选择显著的信息(salient information)。

    Figure 7 显示了这些方法之间的比较。我们可以观察到:

    • 简单的FC 获得最差的结果。

    • 此外,与nonregulation (即 DCNBridge )相比,GNSE 方法在Avazu 上取得了改进,而在Criteo 上略有下降。

    • RM 始终比其他竞争对手取得显著改进,证明了我们提出的regulation module 的有效性。

46.3.5 模型复杂度

  1. 为了定量分析我们提出的EDCN 的空间复杂度和时间复杂度,我们比较了三个具有并行结构的代表性的deep CTR 模型的模型参数和推理时间(在整个测试集上)。所有实验均在具有16G 内存的NVIDIA Tesla P100-PCIE GPU 上进行。Table 5 报告了Avazu 数据集上的比较结果。

    我们可以观察到:

    • DCN 相比,EDCN 增加的模型参数和推理时间是可以接受的,表明EDCN 引入的两个模块在实际工业应用中是轻量级的和可行的。

    • 此外,xDeepFM 的推理时间比EDCN长得多,而EDCN增加的模型参数比AutoInt小得多。

46.3.6 Online A/B Test

  1. online A/B test310日到410日进行了一个月。比较的基线表示为 Mbase,这是一个高度优化的并行结构模型。我们部署了基于 Mbasebridge moduleregulation module ,命名为 Menhance 。这两个模型都是根据最新的点击日志进行训练的,其中执行相同的数据处理过程。评估指标CTReCPM

    连续30 天的在线结果表明,我们提出的模块比基线 Mbase 有显著的改进,其结果如Table 6 所示。我们可以观察到:

    • Instant AccessVideo Page )场景中, Menhance 分别实现了7.30%2.42%)和4.85%1.71%)的CTReCPM改进。

    • 此外,增加的serving latency 在工业界中也是可以接受的。

    结果表明,bridge module and regulation module 在用户体验和平台收入方面带来了显著的性能改进,同时只有轻微的latency overload

 

四十七、GDCN[2023]

《Towards Deeper, Lighter and Interpretable Cross Network for CTR Prediction》

  1. 有效地建模feature interactions 对于提高CTR 模型的预测性能至关重要。然而,现有的方法面临三个重大挑战:

    • 首先,虽然大多数方法可以自动捕获高阶feature interactions ,但随着feature interactions 的阶次增加,它们的性能往往会下降。

    • 其次,现有方法缺乏能力对预测结果提供令人信服的解释,特别是对于高阶feature interactions ,这限制了其预测的可信度。

    • 第三,许多方法都存在冗余参数,特别是在embedding layer 中。

    本文提出了一种称为Gated Deep Cross Network (GDCN) 的新方法,以及一种Field-level Dimension Optimization (FDO) 方法来应对这些挑战。作为GDCN 的核心结构,Gated Cross Network (GCN) 捕获显式的高阶feature interactions,并在每个阶次中使用information gate 来动态地过滤important interactions 。此外,我们使用FDO 方法,根据每个field 的重要性来学习condensed dimensions 。在五个数据集上进行的综合实验证明了GDCN 的有效性、优越性和可解释性。此外,我们验证了FDOlearning various dimensionsreducing model parameters 方面的有效性。

  2. 大多数CTR 建模方法通常由三种layer 组成:feature embedding, feature interaction, and prediction 。为了提高CTR 预测的准确性,人们已经提出了许多专注于设计有效feature interaction 架构的方法。然而,以前的工作,如Logistic Regression (LR)FM-based 的方法,只能建模低阶feature interactions 或固定阶次的feature interactions 。随着互联网规模的推荐系统变得越来越复杂,对捕获高阶feature interactions 的方法的需求日益增长。因此,一些最新的方法能够对显式的和隐式的高阶feature interactions 进行联合建模,并实现显著的性能改进。虽然这些方法取得了很大进展,但它们仍然有三个主要局限性:

    • 首先,随着feature interactions 阶次的增加,这些方法的有效性趋于下降。一般来说,所能够捕获的交互的最大阶次由feature interactionsdepth 决定。随着interaction layers 的加深,interactions 的数量呈指数增长,这使得模型能够生成更多的高阶交互。然而,并不是所有的交互都是有帮助的,这也带来了许多不必要的交互,导致性能下降和计算复杂度增加。许多现有的SOTA 工作已经通过hyper-parameter analysis 证实,当交互阶次超过一定深度(通常是三阶)时,它们的性能会下降。因此,至关重要的是进行改进从而确保高阶交互具有positive 影响,而不是引入更多噪音并导致次优性能。

    • 其次,现有方法缺乏可解释性,限制了其predictions and recommendations 的可信度。大多数方法由于隐式的feature interactions (通过DNN)、或为所有feature interactions 分配相等的权重,从而导致可解释性较低。尽管一些方法(《DCAP: Deep Cross Attentional Product Network for User Response Prediction》《Interpretable click-through rate prediction through hierarchical attention》《Autoint: Automatic feature interaction learning via selfattentive neural networks》 )试图通过self-attention 机制学到的attention scores 来提供解释,但这种方法倾向于融合(fuse)所有features information ,因此很难区分哪些交互是必不可少的,尤其是对于高阶的crosses 。因此,开发方法能够从模型的和实例的角度来提供有说服力的解释,至关重要,从而实现更可靠的、更可信的结果。

    • 第三,大多数现有模型包含大量冗余参数,尤其是在embedding layer 中。许多方法依赖于feature-wise 的交互结构,这些结构假设所有fieldsembedding dimensions 是相等的。然而,考虑到fields 的信息容量,有些fields 只需要相对较短的维度。因此,这些模型在embedding layer 产生大量冗余参数。但直接降低embedding 维度会导致模型性能下降。同时,大多数方法仅侧重于减少non-embedding 参数,与减少embedding 参数相比,对整体参数减少的影响并不显著。尽管DCNDCN-V2 使用经验公式为每个field 分配不同的维度,该公式仅基于feature numbers 来计算维度,但它们忽略了每个field 的重要性,并且经常无法减少模型参数。因此,我们的目标是为每个field 分配field-specific and condensed dimensions ,考虑其固有的重要性,并有效减少embedding 参数。

    本文提出了一种称为Gated Deep Cross Network (GDCN) 的模型、以及一种称为Field-level Dimension Optimization (FDO) 的方法来解决上述限制。在DCN-V2 优雅而高效的设计的基础上,GDCN 进一步提高了低阶交互和高阶交互的性能,并且在模型的和实例的视角下都表现出了很好的可解释性。GDCN 通过提出的Gated Cross Network (GCN)explicit feature interactions 进行建模,然后与DNN 集成以学习implicit feature interactionsGCN 由两个核心组件组成:feature crossinginformation gatefeature crossing 组件在bounded degree 内捕获显式的交互,而information gate 则在每个cross order 上选择性地放大重要性高的important cross features 并减轻不重要特征的影响。此外,考虑到field 各自的重要性,FDO 方法可以为每个field 分配压缩的和独立的维度。

  3. 贡献:

    • 我们引入了一种新方法GDCN ,通过GCNDNN 学习显式的和隐式的feature interactionsGCN 设计了一个information gate 来动态地过滤next-order cross features 并有效地控制信息流。与现有方法相比,GDCN 在捕获更深层次的高阶交互方面表现出更高的性能和稳定性。

    • 我们开发了FDO 方法,为每个field 分配压缩的维度,考虑到每个field 固有的重要性。通过使用FDOGCN 仅以原始模型参数的23% 实现了可比性能,并且以更小的模型大小、以及更快的训练速度超越了现有的SOTA 模型。

    • 综合实验表明GDCN 在五个数据集上具有很高的有效性和泛化能力。此外,我们的方法在model levelinstance level 提供了出色的可解释性,增强了我们对模型预测的理解。

    论文其实创新点不多也不大,更多的是工程上的工作。而且创新点之间(GCNFDO )没啥关系,强行拼凑一起得到一篇论文。

47.1 GDCN

  1. DCN-V2 的启发,我们开发了GDCN ,它由embedding layergated cross network (GCN)deep network (DNN) 组成。

    • embedding layer 将高维稀疏的输入转换为低维稠密的representations

    • GCN 旨在捕获显式的feature interactions ,并使用information gate 来识别重要的交叉特征。

    • 然后,DNN 被集成进来从而建模隐式的feature crosses

    本质上,GDCNDCN-V2 的泛化,继承了DCN-V2 出色的表达能力,并具有简单而优雅的公式,易于部署。然而,GDCN 通过采用information gates 从而引入了一个关键的区别,它在每个阶次中自适应地过滤交叉特征,而不是统一聚合所有特征。这使GDCN 能够真正利用deeper 的高阶cross-information ,而不会出现性能下降,并为GDCN 赋予了针对每个实例的动态可解释性。GDCN 的架构如Figure 1 所示,展示了结合GCNDNN 网络的两种结构:(a) GDCN-S and (b) GDCN-P

  2. Embedding Layer:输入实例通常是multi-field tabular data records ,其中包含 F 个不同fieldsT 个特征。每个实例都由一个field-aware one-hot vector 来表示。embedding layer 将稀疏的高维特征转换为稠密的低维embedding matrix E=[e1;;eF]。大多数CTR 模型要求embedding 维度相同,从而匹配特定的interaction 操作。然而,GDCN 允许任意embedding 维度,并且embedding layer 的输出以向量拼接来表示:c0=[e1||||eF]RDD 为拼接后的维度。

  3. Gated Cross Network (GCN):作为GDCN 的核心结构,GCN 旨在通过information gate 来建模显式的有界的feature crossesGCN 的第 (l+1)gated cross layer 表示为:

    cl+1=c0(Wl(c)cl+bl)Feature Crossingσ(Wl(g)cl)Information Gate+cl

    其中:

    • c0 为来自embedding layerbase input,其中包含一阶特征。

    • clRD 是是来自前一个gated cross layer (即,第 lgated cross layer )的输出特征,用作当前第 (l+1)gated cross layer 的输入。

    • cl+1RD 是当前第 (l+1)gated cross layer 的输出。

    • Wl(c),Wl(g)RD×D 为可学习的权重矩阵,blRD 为可学习的偏置向量。

    • σ()sigmoid 函数, 为逐元素乘积。

    Figure 2 可视化了gated cross layer 的过程。

    下图中的 × 实际上是矩阵乘法。

    在每个gated cross layer 中,都有两个核心组件:feature crossinginformation gate ,如公式和Figure 2 所示。

    • feature crossing 组件以bit-level 计算一阶特征 c0l 阶特征 cl之间的交互。然后,它输出下一个多项式阶次的交互,其中包含所有 (l+1) 阶交叉特征。矩阵 Wl(c) 称为交叉矩阵(cross matrix ),表示第 l 阶中各个field 之间的固有重要性。

      但是,并非所有的 (l+1) 阶特征都对预测产生positive 影响。随着cross depth 的增加,交叉特征呈现指数级增长,这会引入交叉噪声并可能导致性能不佳。

    • 为了解决这个问题,我们引入了information gate 组件。作为soft gate ,它自适应地学习第 (l+1) 阶特征的重要性。通过将sigmoid 函数 σ() 应用于 (Wl(g)cl),可获得gate values 。然后将它们逐元素乘以feature crossing 的结果。此过程放大了重要特征,并减轻了不重要特征的影响。随着cross layers 数量的增加,每个cross layerinformation gate 都会过滤下一阶次的交叉特征并有效控制信息流。

    最后,通过将输入 clfeature crossing and information gate 的结果相加,生成最终的output cross vector cl+1,从而包含从第0 阶到第 (l+1) 阶的所有特征交互。

    事实上,GCNDCN 的变体,区别在与 GCN 多了一个 Information Gate 而已。那么,是否有更好的 Information Gate?比如,直接用 c0 作为 information gate 的输入?

  4. Deep Neural Network (DNN)DNN 的目标是建模隐式feature interactionsDNN 的每个deep layer 表示为:

    hl+1=f(Wlhl+bl)

    其中:

    • WlRnl+1×nl,blRnl+1 为第 ldeep layer 中可学习的权重矩阵和偏置向量。

    • hlRnl,hl+1Rnl+1 为第 ldeep layerinputoutputnl,nl+1 分别为对应的维度。

    • f() 为激活函数,通常为ReLU

  5. 整合GCNDNN:现有的研究主要采用两种结构来整合显式的和隐式的交互信息:堆叠和并行。因此,我们也以两种方式将GCNDNN结合起来,得到了两个版本的GDCN

    • Figure 1(a) 展示了堆叠结构:GDCN-S

      • embedding 向量 c0 被馈入到GCN 并输出 cLc

      • 然后 cLc 馈入DNN 从而生成最终的交叉向量 cfinal=hLd

      LcLd 分别是gated cross layer and deep network 的深度。

    • Figure 1(b) 展示了并行结构:GDCN-P

      • embedding 向量 c0 被并行地馈入GCNDNN 中。

      • GCNDNN 的输出(即 cLchLd )被拼接起来以获得最终的交叉向量 cfinal =[cLc||hLd]

  6. 训练和预测:最后,我们通过标准的逻辑回归函数计算预测点击率:

    y^i=σ(wlogitcfinal)

    其中:

    • wlogit 是待学习的权重向量。

    • σ(z)=1/(1+exp(z))sigmoid 函数。

    损失函数是广泛使用的二元交叉熵损失(又名LogLoss):

    Lctr=1Ni=1N(yilog(y^i)+(1yi)log(1y^i))

    其中:y^iyi 分别是预测点击率和真实点击率;N 是所有训练实例的数量。

  7. DCN-V2 的关系:GDCNDCN-V2的推广。当省略information gate 或所有gate values 都设置为1时,GDCN会退回到DCN-V2。在DCN-V2中,cross layer(即CN-V2)平等对待所有交叉特征并直接将它们聚合到下一个阶次,而未考虑不同交叉特征的不同重要性。然而,GDCN引入了GCN,在每个gated cross layer 中都包含一个information gate 。这个information gate 自适应地学习所有交叉特征的bit-wise gate values ,从而实现对每个交叉特征的重要性的细粒度控制。值得注意的是,GDCNDCN-V2 都能够建模bit-wise and vector-wise 特征交叉,如DCN-V2 中所示。

    虽然GDCNDCN-V2都使用了门控机制,但它们的目的和设计原理不同。

    • DCN-V2引入了MMoE的思想,将cross matrix 分解为多个较小的子空间或“专家”。然后,门控函数将这些专家组合在一起。这种方法主要减少了cross matrices 中的non-embedding 参数,同时保持了性能。

    • 不同的是,GDCN 利用门控机制自适应地选择重要的交叉特征,真正利用deeper 的交叉特征,而不会降低性能。它提供了动态的instance-based 的可解释性,可以更好地理解和分析模型的决策过程。

    为了进一步提高GDCNcost-efficiency ,接下来提出了一种field-level 维度优化方法,以直接减少embedding 参数。

47.2 FDO

  1. embedding 维度通常决定了编码信息的能力。然而,为所有field 分配相同的维度会忽略不同field 的信息容量。例如,“性别” 和“item id ” 等field 中的特征的数量范围从 O(2)O(106)DCN-V2DCN 采用经验公式根据每个field 的特征的数量,为每个field 分配独立的维度,即 (feature number)0.25 。这是一种先验的方法,但忽略了每个field 的真正重要性。 FmFM 的启发,我们使用后验的 Field-level Dimension Optimization (FDO)方法,该方法根据每个field 在特定数据集中的固有重要性来学习其独立的维度。

    • 首先,我们训练一个完整模型,采用固定的field 维度为16 ,正如先前的研究所建议的那样。此过程使我们能够为每个field 生成一个informative embedding table

    • 接下来,我们使用PCA 为每个fieldembedding table 计算一组奇异值,按奇异值的幅值(magnitude)降序排列。通过评估信息利用率(即information ratio ),我们可以通过识别对整体information summation 贡献最大的 argmink 个奇异值来确定最佳维度。此步骤使我们能够为每个field 选择合适的压缩维度。

    • 最后,我们使用上一步中学到的field 维度训练一个新模型。

    实际上,我们只需要基于full model 学习一次一组field dimensions ,然后在后续模型refresh 时重复使用它。

    Table 1 列出了具有80%95%information ratio 时,每个field 的优化后的维度。

    • 当保留95% 比率时,field 维度范围为215

    • 降低 information ratio 会导致每个field 的维度减少。

    • 具有大量特征的field 有时需要更高的维度,如在fields {#23, #24} 中观察到的那样。然而,情况并非总是如此;例如,fields {#16, #25} 表现出更小的维度。在实验部分中,我们提供了实验证据,表明field 的维度与其在预测过程中的重要性密切相关,而不是其特征数量

    • 此外,通过保留超过80%information ratio ,我们可以获得更轻的GCN 模型,其性能略优于具有完整embedding 维度的GCN 模型,并超过其他SOTA 模型。

    我们还对FDO 进行了更全面的分析,以了解field 维度与其固有重要性之间的联系。

  2. 参数分析:定义:

    • E=[E1,E2,,EF] 为所有特征的embeddingEffeature representations 子集,对应于第 ffield1fF

    • ffield 中的特征的数量记作 |Ef| ,数据集中的特征的总数量为 T=f=1F|Ef|

    • 类似地,令 d=[d1,d2,,dF] 表示每个fieldembedding 维度,其中 df 为第 ffieldembedding 维度。

    对于一个输入的实例,算数平均的维度为 K¯=(f=1Fdf)/Fembedding layer 的输出维度为 D=FK¯ 。考虑所有特征,加权平均维度记作 D¯=(f=1Fdf|Ef|)/Tembedding 参数的总量为 Pe=f=1Fdf|Ef|=TD¯ 。在互联网规模数据集中,特征总数 T 的数量通常非常庞大。例如,在著名的Criteo 数据集中,原始特征数量超过30M ,稀疏度超过99.99%embedding 参数占据了模型参数的绝大部分。因此,D¯ 决定了embedding 参数的数量,而 K¯ 主要影响non-embedding 参数的数量,例如DCN-V2GCN 中的cross matrix W(c)R(FK¯)×(FK¯)

    时间复杂度主要与 K¯ 有关。

    通过采用FDO 方法,我们可以通过缩小某些field 的不必要维度来refine 特征维度,以减少冗余的embedding 参数。

    • 当使用固定维度16 时,embedding 参数为 16T

    • 然而,在95% information ratioFDO 之后,embedding 参数减少到 5.92T,仅占原始embedding 参数的37%

    • 如果我们根据公式(即 df=|Ef|0.25)计算field 维度,加权平均维度 D¯ 变为18.66 ,导致emebdding 参数为 18.66T,大于 16T 。此公式为具有大量特征的field 分配了更大的维度,忽略了每个field 的特定重要性。相比之下,FDO 是一种后验方法,它基于从训练好的embedding table 中提取的特定信息来学习field-level 维度。

    随着field 维度的降低,算术平均维度 K¯ 也相应降低(例如,从16 降至7.87 )。这样,GCN 网络中的non-embedding 参数,即cross matrix W(c)R(FK¯)×(FK¯)gate matrix W(g)R(FK¯)×(FK¯) 也自然减少了。

47.3 实验

  1. 数据集:CriteoAvazuMalwareFrappeML-tag 。这些数据集的统计数据如Table 2 所示,详细描述可在给定的参考文献中找到。

  2. 数据预处理:

    • 首先,我们将每个数据集随机分成训练集(80%)、验证集(10%)和测试集(10% )。

    • 其次,在CriteoAvazu中,我们删除某个field 中出现次数少于阈值的低频特征,并将其视为dummy feature "<unkonwn>"CriteoAvazu 的阈值分别设置为{10, 5}

    • 最后,在Criteo数据集中,我们通过将实数值 z 转换为:当 z>2log2(z) ;否则为1 。这是Criteo 竞赛的获胜者所采用的。

  3. 评估指标:AUCLogloss

  4. baseline 方法:我们与四类代表性的方法进行了比较。

    • 一阶方法,例如LR

    • 建模二阶交叉特征的基于FM 的方法,包括FMFwFMDIFMFmFM

    • 捕获高阶交叉特征的方法,包括CrossNet(CN)CINAutoIntAFNCN-V2IPNNOPNNFINTFiBiNETSerMaskNet

    • 代表性的集成/并行方法,包括WDLDeepFMDCNxDeepFMAutoInt+AFN+DCN-V2NONFEDParaMaskNet

    我们没有展示某些方法的结果,例如CCPMGBDTFFMHoFMAFMNFM,因为许多模型已经超越了它们。

  5. 实现细节:

    • 我们使用Pytorch实现所有模型,并参考现有工作。

    • 我们使用Adam 优化器优化所有模型,默认学习率为0.001。我们在训练过程中使用Reduce-LR-On-Plateau scheduler ,当性能在连续3 epochs 停止改善时,将学习率降低10 倍。

    • 我们在验证集上应用patience = 5 的早停(early stopping),以避免过拟合。

    • batch size 设置为4096 。所有数据集的embedding 维度均为16

    • 根据先前的研究,我们对涉及DNN的模型采用相同的结构(即3层,400-400-400 ),以便进行公平比较。除非另有说明,所有激活函数均为ReLUdropout rate = 0.5

    • 对于我们提出的GCNGDCN-SGDCN-P ,除非另有说明,默认的gated cross layer 数量为3

    • 对于其他baseline ,我们参考了两个benchmark 工作(即 BARSFuxiCTR )及其原始文献来微调它们的超参数。

  6. 显著性检验:为了确保公平比较,我们在单个GPUNVIDIA TITAN V)上使用随机种子运行每种方法10次,并报告平均的测试性能。我们执行双尾t-test 来检测我们的方法与最佳baseline 方法之间的统计显着性。在所有实验中,与最佳baseline 相比的改进具有统计学意义(p<0.01),在Table 3Table 4 中用 ★ 表示。

47.3.1 整体性能

注意,这里的结果是在没有应用 FDO 的情况下得出的。

  1. 与堆叠式模型的比较:我们将GCNGDCN-Sstacked baseline 模型进行比较,包括一阶、二阶和高阶模型。整体性能总结在Table 3 中。我们有以下观察结果:

    • 首先,在大多数情况下,高阶模型优于一阶模型和二阶模型,证明了学习复杂的高阶feature interactions 的有效性。值得注意的是,OPNNFiBiNetFINTSerMaskNet 等模型表现更佳,它们使用一个stacked DNN 同时捕获显式的和隐式的特征交叉。这证实了对显式的和隐式的高阶feature interactions 进行建模背后的原理。

    • 其次,GCN 通过仅考虑显式的多项式feature interactions ,始终优于所有堆叠的baseline 模型。GCNCN-V2的泛化,增加了一个information gate 来识别有意义的交叉特征。GCN 的性能验证了并非所有交叉特征都对最终预测有益,大量不相关的交互会引入不必要的噪音。通过自适应地re-weighting 每个阶次中的交叉特征,GCNCN-V2 实现了显著的性能提升。此外,它优于SerMaskNet ,平均 ΔAUC 提高0.14% ,平均 ΔLL 改善了0.45%

    • 第三,GDCN-S 超越了所有堆叠的baseline 并实现最佳性能。在 GDCN-S 中,stacked DNN 进一步学习GCN 结构之上的隐式交互信息。因此,与其他堆叠式模型(例如OPNNFINTSerMaskNet)相比,GDCN-S优于GCN并实现更高的预测准确率。具体来说,与SerMaskNet相比,GDCN-S实现了平均0.28%ΔAUC )和2.70%ΔLL )的改善。

  2. 与并行式模型的比较:Table 4 展示了SOTAensemble/parallel 模型的性能。每种方法都包含并行网络,例如DeepFM 中的FMDNN,以及DCN-V2 中的CN-V2DNN。此外,我们将这些模型与常规的DNN 模型进行比较,并在此基础上计算 ΔAUCΔLL 的平均改进。我们的观察结果如下:

    • 首先,整合隐式的和显式的feature interactions 可以增强预测能力。DNN 仅建模隐式的feature interactions ,而将DNN 与捕获显式feature interactions 的其他网络相结合得到的并行模型优于单个网络。值得注意的是,GCN 显示出最显著的平均性能改进,从 ΔAUCΔLL 分别为0.46%5.57%可以看出。这凸显了GCN 与其他basic operation 网络相比的卓越能力。

    • 其次,GDCN-P 的表现优于所有并行式模型和堆叠式模型。与Table 4 中的并行式模型相比,GDCN-P 实现了卓越的性能,超越了所有最佳baseline。此外,当考虑堆叠式模型并使用Table 3 中的SerMaskNet 作为benchmark 时,GDCN-P 实现了0.38%ΔAUC )和4.26%ΔLL)的平均改进。

47.3.2 Deeper 高阶特征交叉

  1. 通过改变cross depthGCN 与其他模型进行比较:我们将GCN 与五个可以捕获高阶交互的代表性模型进行比较,即AFNFINTCN-V2DNNIPNNFigure 3 说明了在Criteo 数据集上随着cross depth的增加而出现的测试AUCLogloss

    • 随着交叉层的增加,五个被比较的模型的性能得到改善。然而,当cross depth 变得更深(例如,超过234 个交叉层)时,它们的性能会显著下降。这些模型可以在功能上捕获更深的高阶显式和隐式的feature interactions ,但高阶的交叉特征也会引入不必要的噪声,这可能会导致过拟合并导致结果下降。在许多SOTA 工作中进行的cross depth 超参数分析中也观察到了这个问题。

    • 相反,随着交叉层数从1 增加到8GCN的性能不断提高。具体来说,与CN-V2模型相比,GCN包含了一个information gate 。该information gate 使GCN能够对每个阶次识别有用的交叉特征,并仅积累最终预测所需的信息。因此,即使cross depth 变得更深,GCN 的表现始终优于CN-V2和其他模型,验证了information gate 设计的合理性。

  2. 具有更深gated cross layersGCNGDCN-P 的性能:在CriteoMalware 数据集上,我们进一步将GCNGDCN-Pcross depth1增加到16。值得注意的是,我们将GDCN-P 中的DNN深度固定在3,以防止DNN导致的过拟合。Figure 4 展示了实验结果。

    • 随着cross depth的增加,GCNGDCN-P的性能都得到了改善,在GDCN-P 中观察到的趋势与GCN的趋势一致。

    • 在加入DNN组件后,GDCN-P 的表现始终优于GCN,这凸显了使用DNN捕获隐式feature interactions 的重要性。

    • 此外,DNN 使GDCN-P能够更早地获得最佳结果。具体来说,当深度超过810时,GCN的性能会达到稳定状态,而GDCN-P 的阈值为46

    • 尽管GCNGDCN-P 可以选择有价值的交叉特征,但随着cross depth的增加,高阶交叉特征的有用性会急剧下降。这种现象符合人们的普遍直觉,即个人在做出决策(例如点击或购买item )时通常不会同时受到太多特征的影响。

    • 值得注意的是,在cross depth超过稳定阈值后,我们的模型的性能保持稳定,而不是下降。

47.3.3 GCN 的可解释性

  1. 可解释性对于理解specific predictions背后的原因、以及增强对预测结果的信心至关重要。GCN 从模型的和实例的角度提供静态的和动态的解释,有助于全面理解模型的决策过程。

  2. 静态的model interpretability:在GCN 中,交叉矩阵 W(c) 作为不同fields 之间交互的相对重要性的指标。如果每个实例由Ffields 组成,每个field 具有相同的field size d ,则交叉矩阵可以按bit-wiseblock-wise 的方式来表示:

    W(c)=[w1,1w1,FdwFd,1wFd,Fd]=[W1,1W1,FWF,1WF,F]

    其中,每个分块矩阵 Wi,jRd×d 显示了第 ifield 和第 jfield 之间一阶交叉的重要性。当应用FDO 学习各个field 维度时,分块矩阵 Wi,jRdi×djdi,dj 是第 ifield 和第 jfield 的不同维度。

    Wl,i,j(c) 刻画的是第 l+1 阶的第 ifield 与第 l 阶的第 jfield 之间的一阶交叉的重要性。

    此外,随着交叉层的增加,相应的交叉矩阵可以进一步表明多个field 之间的固有的relation importance

    • Figure 5(a) 展示了GCNCriteo数据集上学到的第一阶交叉层的分块交叉矩阵 W1(c) 的热力图。与DCN-V2 类似,每个color box 代表相应分块矩阵 Wi,jFrobenius 范数,表示field cross 的重要性。红色越深,表示学到的交叉越强,例如<#3, #2><#9, #6>

    • FDO 方法应用于GCN时,GCN-FDO仍然能够捕获相似的交叉重要性,如Figure 5(b) 所示。两个矩阵之间的余弦相似度为0.89,表明在应用FDO之前和之后,在捕获固有field cross 重要性方面具有很强的一致性。

  3. 动态的instance interpretability:基于模型的可解释性可以捕获不同field 之间的静态关系,但由于模型训练完成后交叉矩阵保持不变,因此存在局限性。然而,GCN 还通过information gate 学到的gate weights 提供动态可解释性,为每个input instance 提供bit-wise 的和field-wise 的解释。

    我们从Criteo 数据集中随机选择两个实例来可视化学到的gate weights ,并检查从第一个到第三个gated cross layergate values

    • Figure 6(a) 展示了bit-wise gate weight vectors ,每层的维度为 R1×(3916),显示了每个bit-wise cross 的重要性。使用bit-wise gate vector ,我们通过对每个field 对应的16-bit values 取平均值来导出field-wise gate vectors

    • Figure 6(b) 显示了field-wise gate weight vectorsR1×39),表示每个specific feature 的重要性。由于gated cross layer 中的gate weights 是使用sigmoid 函数计算的,因此red blocks (大于0.5 )表示重要特征,而blue blocks (小于0.5 )表示不重要特征。

    Figure 6(a)Figure 6(b) 揭示了bit-levelfield-level 的交叉特征的重要性,以及它们在每个实例的不同cross layers 中是如何变化的。

    • 通常,低阶特征交叉包含更重要的特征,而高阶特征交叉包含不太重要的特征。在第一层中,许多特征交叉被标识为重要的(红色块),而在第二和第三交叉层中,大多数交叉是中性的(白色块)或不重要的(蓝色块),尤其是在第三层。这符合我们的直觉:随着交叉层的增加,重要的交叉特征的数量显著减少,因此我们设计了information gate 来自适应地选择重要特征。相反,大多数模型在建模高阶交叉时无法选择有用的特征交叉,导致性能下降,如《Deeper 高阶特征交叉》 章节所证实的。

    • 此外,从Figure 6(b) 中,我们可以识别出重要的或不重要的特定特征,例如特征{#20, #23, #28} 很重要,而特征{#6, #11, #30} 不重要。我们还可以从input instance 中引用这些specific important features 的名称。一旦我们知道哪些特征有影响,我们就可以解释甚至干预有助于用户点击率的相关特征。

    最后,在Figure 7 中,我们记录并平均了M 个实例的field-level gate vectors ,表明每个field 的平均重要性,特别是在第一层。例如,field {#20, #23, #24} 非常重要,而field {#11, #27, #30} 相对较不重要。此外,Figure 7 从统计角度进一步验证了随着交叉层的增加,重要交叉特征的数量显著减少。

47.3.4 FDO 的综合分析

  1. 效果分析:我们将FDO方法应用于GCN,并通过保持information ratio50%98%来评估其性能。Table 5 显示了结果,包括权重平均维度 D¯ 、算术平均维度 K¯ 和参数总数 (#Params)。

    • 当保持80%information ratio 时,我们只需要23%的参数,而模型的性能与完整模型相当。

    • 此外,当information ratio80%98%之间时,模型性能甚至比完整模型更好。这是因为FDO refine 了每个field 的特征维度,消除了非必要的维度信息并减少了交叉过程中的冗余。

    • 然而,当information ratio 较低(即低于80% )时,较短的维度无法充分表示相应field 的特征,导致预测性能显著下降。

    • 最后,我们将整个模型的维度从16 减少到8,大约相当于95% 比率下的加权平均维度(7.56 )。虽然它直接减少了模型的参数,但也导致了性能的下降。其他研究同样证实了减少embedding 大小的负面影响。相比之下,FDO 方法可以更直接地减少参数数量,同时实现相媲美的性能。

  2. 内存和效率比较:在Criteo 数据集上,我们在删除低频特征后总共有1.086M 个特征。当使用固定维度(K=16)时,embedding 参数约为17.4M 。如Figure 8 所示:

    • 大多数现有模型的参数范围从18M20M,主要是由于embedding 参数。

    • 通过应用FDO ,我们可以直接减少embedding 参数。同时,GCN-FDOGDCN-PFDO 仅使用约5M 模型参数就实现了相媲美的准确率

    我们进一步比较了现有SOTA 模型的训练时间:

    • 未经维度优化的GCNGDCN的训练时间与DNNDCN-V2相当。

    • 应用FDO 后,GCN-FDOGDCN-P-FDO 以更少的参数和更快的训练速度超越了所有的SOTA 模型。

  3. 兼容性分析:我们进一步将FDO应用于DNNCNV2DCN-V2FmFM,它们不需要相同的field 维度。此外,我们将FDO 与分配固定维度、以及FDO 章节中提到的分配不同维度的Formula method 进行了比较。Table 6 显示了结果。

    • 首先,Formula method 增加了模型参数并降低了其性能,因为它只考虑每个field 中的特征数量,而忽略了field 在训练过程中的重要性。相反,FDO 是一种后验方法,它通过在trained embedding table 中合并重要信息来学习field 维度。

    • 其次,将FDO应用于CN-V2GCNbase 模型获得了更好的性能。由于CN-V2GCN 主要关注显式的bit-level 特征交叉,FDO通过删除不必要的embedding 信息来refine field 维度。然而,将FDO 应用于包含DNN网络的DNNDCN-V2GDCN-P 会导致性能略有下降。

    • 最后,这些结果表明,我们可以使用FDO 基于SOTA 模型获取group field dimensions ,并将其复用为其他模型的默认维度。在Table 6 的最后一行,我们基于GCN学习了具有95% information ratiogroup field dimensions ,并将其应用于其他五个模型。与使用模型本身学到维度相比,这种方法实现了相媲美的性能,并且进一步减少了参数数量。

      可以只需要训练一次,就可以将 group field dimension 应用到多个模型,这降低了获取 group field dimension 的成本。

  4. condensed field dimensions 的理解:通过FDO 学到的field 维度表明了相应field 的重要性。

    • Figure 7 所示,我们可以确定每个field 的平均重要性,例如field {#20, #23, #24} 很重要,而field {#11, #27, #30} 则不重要。

    • 参考Table 1 ,在应用95% information ratioFDO 后,field {#20, #23, #24} 确实具有更长的维度。相反,field {#11, #27, #30} 的维度较短。

    为了进一步验证这一观察结果,我们计算了第一层中averaged field importance95% ratiooptimization field dimensions 之间的皮尔逊相关系数。相关系数为0.82p-value 小于 109,这证实了field 维度与其各自重要性之间存在显著相关性。因此,我们可以直接从FDO 学到的field 维度粗略地识别哪些field 是重要的。

    请注意,field 维度并不总是与field 中的特征数量相关。例如,field {#16, #25} 具有最大的特征数量,但它们的field 维度很短,其重要性也不大。如果使用Formula method 分配field维度,则field {#16, #25} 将具有最长的维度。这种比较进一步凸显了所引入的FDO 方法的合理性和优越性。

四十八、DCN V3[2024]

《DCNv3: Towards Next Generation Deep Cross Network for Click-Through Rate Prediction》

  1. Deep & Cross Network 及其衍生模型面临四个主要限制:

    • 现有的显式feature interaction 方法的性能通常弱于隐式的deep neural network: DNN ,从而削弱了它们的必要性。

    • 许多模型在增加feature interactions 的阶数时无法自适应地过滤噪声。

    • 大多数模型的fusion 方法无法为其不同子网络提供合适的监督信号。

    • 虽然大多数模型声称可以捕获高阶feature interactions ,但它们通常通过DNN 以隐式的和不可解释的方式进行,这限制了模型预测的可信度。

    为了解决已发现的局限性,本文提出了下一代深度交叉网络:Deep Cross Network v3: DCNv3 ,以及它的两个子网络:Linear Cross Network: LCNExponential Cross Network: ECN 用于CTR 预测。DCNv3feature interaction modeling 中可解释性的同时,线性地和指数地增加feature interaction 的阶数,实现真正的Deep Crossing ,而不仅仅是Deep & Cross 。此外,我们采用Self-Mask 操作来过滤噪声,并将Cross Network 中的参数数量减少一半。在fusion layer ,我们使用一种简单但有效的multi-loss trade-off and calculation 方法Tri-BCE ,来提供适当的监督信号。在六个数据集上的全面实验证明了DCNv3 的有效性、效率和可解释性。

  2. 大多数interaction-basedCTR 预测模型都遵循DCN提出的范式,该范式旨在构建显式的和隐式的feature interactions ,并融合不同interaction informationpredictions 以增强可解释性和准确性。尽管当前的CTR范式非常有效,但仍存在一些需要克服的局限性:

    • explicit interactions 的必要性有限:如Figure 1 所示,大多数仅使用显式feature interactions 的模型(例如CIN)的AUC 性能低于81.3,而deep neural network: DNNAUC性能更好,为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.381.5 之间的AUC性能。这证明了隐式feature interactions 的有效性。然而,隐式feature interactions 缺乏可解释性,这降低了CTR 模型预测的可信度。

    为了解决这些局限性,本文提出了下一代deep cross networkDeep Cross Network v3: DCNv3 ,以及它的两个子网络:Linear Cross Network: LCNExponential Cross Network: ECNDCNv3 集成了低阶的和高阶的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 ,它通过两个子网络LCNECN 显式地捕获低阶和高阶feature interactions 。此外,我们引入了一种简单而有效的multi-loss trade-off and calculation 方法,称为Tri-BCE ,以确保不同的子网络接收适当的监督信号。

    • 在六个数据集上进行的全面实验证明了DCNv3 的有效性、效率和可解释性。根据我们的实验结果,我们的模型在多个CTR 预测benchmarks 上取得了第一名的排名。

    论文核心思想还可以,就是效果可能没有达到预期,导致作者搞了一些 tricky 的操作(比如所谓的 self-mask )来提升性能,导致实验的对比结果不太可信。

  3. Feature Interaction

    • 隐式feature interaction 旨在使用DNN 自动学习复杂的non-manually defined 的数据模式和高阶feature interactions 。它效率高,表现良好,但缺乏可解释性。

    • 显式feature interaction 旨在通过预定义的函数直接建模输入特征之间的组合和关系,从而提高模型的可解释性。

    线性增加显式feature interaction 的一种流行方法是 Xn=X1Xn1 。该方法使用Hadamard Product 将特征 Xn1X1 交互以生成第 n 阶特征 Xn。同时,一种指数级增加显式feature interaction 的方法是 X2n=X2n1X2n1,它可以更有效地生成高阶特征。

    所谓 “更有效地生成高阶特征” 指的是用更少的层数获得更高阶的特征。

48.1 模型

  1. 模型架构如下图所示。

    ECNLCN 的主要区别在与左侧的输入。

48.1.1 Embedding & Reshape Layer

  1. CTR prediction 任务的输入 Xmulti-field categorical data ,使用one-hot encoding 来表示。大多数CTR 预测模型利用embedding layer 将它们转换为低维稠密向量:

ei=Eixi

其中:EiRd×siembedding matrixdembeddin 维度,si 为第 ifieldvocabulary size

  1. 在我们的模型中,为了使网络能够从multi-views 中获得更丰富的信息,我们使用分块操作来reshape the embeddings ,将它们分成两个不同的视图:

    ei,a,ei,b=chunk(ei)

    其中:ei,a 被视为original viewei,b 被视为another view

    进一步,我们可以得到reshaping 后的resulting embedding

    x1=[e1,a,,ef,a,e1,b,,ef,b]RD

    其中:ffields 数量,D=i=1fd 为总的embedding 维度,x1 为一阶特征并且作为LCNECN 的输入。

    chunk() 函数是什么?作者讲的不明不白。读者猜测是:将每个 fieldembedding 向量一分为二;左半边拼接起来,构成 original view;右半边拼接起来,构成 anoher view

    这么做的目的是为了下游的 Self-Mask 操作而准备的。但是,为什么不用 FFM 来做投影呢?

48.1.2 Deep Cross Network v3

  1. LCN:用于具有线性增长的低阶(浅)的explicit feature interaction 。其递归公式如下:

    cl=Wlxl+blxl+1=x1[cl||Mask(cl)]+xl

    其中:

    • clRD/2 表示第 l 层(在original view )的Cross Vector

    • WlRD/2×D,biRD/2 分别为可学习的权重矩阵和偏置向量。

    • xlRD 表示第 l 阶的feature interaction

    • Mask 表示Self-Mask (在another view ),稍后将详细介绍。|| 表示向量拼接。

      为什么将 Mask 拼接上来而不是与 cl 相乘?读者猜测是因为相乘的效果不好,所以搞了个拼接操作,不伦不类。

    由于线性增长的feature interaction 方法难以在有限的层数内捕获高阶交互,因此我们引入ECN 来实现真正的、高效的deep cross network

  2. ECN:作为DCNv3 的核心结构,用于指数级增长的高阶(深度)explicit feature interaction 。其递归公式为:

    cl=Wlx2l1+blx2l=x2l1[cl||Mask(cl)]+x2l1

    其中:x2lRD 表示第 2l 阶的feature interaction

    Figure 3 可以看出,原始的Cross Network v2 本质上是一种shallow crossing 方法,通过层的堆叠实现feature interactions 阶次的线性增长。实验表明,DCNv2 中交叉层的最佳数量为23,其大部分性能来自负责隐式交互的DNN 。相比之下,ECNx1 修改为 x2l1 ,实现feature interactions 阶次的指数级增长,从而在有限的层数内实现特征的Deep Crossing ,显式地捕获高阶feature interactions

  3. Self-MaskFigure 3 可视化了不同crossing 方法的计算过程。Cross Vector cl 目标是在bit-level 建模特征之间的交互,而权重矩阵 Wl 旨在计算不同feature fields 的固有重要性。然而,正如一些论文指出的那样,并非所有feature interactions 都对CTR 任务中的最终预测有益。因此,我们在another view 中引入了Self-Mask 操作来过滤掉feature interactions 中的噪声信息(对应于 Mask(cl)),同时保持original view 的交互信息的完整性(对应于 cl )。Self-Mask 操作如下:

    Mask(cl)=clmax(0,LN(cl))LN(cl)=gNorm(cl)+b,Norm(cl)=clμδμ=2Di=1D/2cl.i,δ=2Di=1D/2(cl,iμ)2

    其中LN 表示LayerNorm

    • μRσR 分别为 cl 的均值和标准差,cl,iR 表示 cl中的第 i 元素。

    • 增益向量 gRD/2 和偏置向量 bRD/2 都是待学习的参数。

    这里也可以使用其他mask 机制,例如基于伯努利分布的random Mask 、基于Top-K 选择的learnable Mask 等。为了确保我们提出的模型简单而有效,我们使用LayerNormcl 进行正态分布变换,确保 Mask(cl) 包含大约50% 的零值,以滤掉噪声并提高计算效率。

  4. Fusion:大多数先前的CTR 模型试图建模显式和隐式feature interactions ,这本质上意味着同时捕获低阶和高阶feature interactions 。我们的DCNv3 通过整合LCNECN来实现这一点,避免使用可解释性较差的DNN

    y^D=σ(WDx2L+bD),y^S=σ(WSxL+1+bS)y^=Mean(y^D,y^S)

    其中:

    • WD,WSR1×D 表示可学习的权重,bD,bSR 为偏置。

    • Mean 表示均值运算,L 表示层的last number

    • y^D,y^S,y^ 分别表示ECNLCNDCNv3 的预测结果。

48.1.3 Tri-BCE Los

  1. Tri-BCE loss calculation and trade-off 方法如Figure 4 所示。我们使用广泛采用的二元交叉熵损失(即Logloss )作为DCNv3primary and auxiliary loss

    L=1Ni=1N(yilogy^i+(1yi)log(1y^i))LD=1Ni=1N(yilogy^D,i+(1yi)log(1y^D,i))LS=1Ni=1N(yilogy^S,i+(1yi)log(1y^S,i))

    其中:

    • yground-truthNbatch size

    • Lprimary lossLD,LS 分别表示ECNLCN预测结果的auxiliary losses

    为了给每个子网络提供合适的监督信号,我们为它们分配了自适应权重:

    wD=max(0,LDL),wS=max(0,LsL)

    并联合训练它们以实现Tri-BCE loss

    LTri=L+wD×LD+wS×LS

    注意,wD,wS 也参与梯度的反向传播。

  2. 《TF4CTR:Twin Focus Framework for CTR Prediction via Adaptive Sample Differentiation》 所示,向子网络提供单一监督信号通常不是最优的。我们提出的Tri-BCE loss 通过提供自适应权重(该权重在整个学习过程中变化)来帮助子网络学习更好的参数。理论上,我们可以推导出由 y^D 获得的梯度:

    (y^D+)=1N×(logy^++wDlogy^D+)y^D+=1N(12y^++wDy^D+)(y^D)=1N×(log(1y^)+wDlog(1y^D))y^D=1N(12(1y^)+wD1y^D)

    其中:(y^D+)(y^D) 分别表示对于正样本和负样本时 y^D 接收到的梯度。

    类似地,y^S 接收到的梯度信号与 y^D 的梯度信号一致,因此我们不再赘述。

    可以观察到,对于 y^Dy^S 在两个子网络上都具有相同的梯度项 12y^+12(1y^),这表明用单一损失训练两个子网络会导致相同的监督信号,这对模型的学习是不利的。然而,我们的Tri-BCE loss 还提供了基于 wDwS 的动态调整的梯度项,确保子网络直接受到ground-truth label y 的影响,并根据primary and auxiliary loss 之间的差异自适应地调整其权重。因此,Tri-BCE loss 为子网络提供了更合适的监督信号。

48.1.4 复杂度分析

  1. 为了进一步比较DCN 系列模型的效率,我们讨论并分析了不同模型的时间复杂度。令 WΨ 表示DNN 中预定义的参数数量。其他变量的定义可以在前面的部分中找到。为了清楚起见,我们在Table 1 中进一步提供了不同变量大小的比较。我们可以得出:

    • 所有模型对于embedding 的时间复杂度相同。因此,我们仅在实验部分可视化non-embedding 参数。

    • 除了我们提出的ECNDCNv3 之外,所有其他模型都包含隐式交互以增强预测性能,这会产生额外的计算成本。

    • 在显式交互方面,ECN 仅具有比DCNv1 更高的时间复杂度,而GDCN 的时间复杂度是ECN 的四倍。

    • 由于我们的DCNv3 使用Tri-BCE loss ,因此DCNv3loss 计算时间复杂度是其他模型的三倍。但这并不影响模型的推理速度。

    时间复杂度只看 O 的量级,其系数不太具有参考意义。

48.2 实验

  1. 四个研究问题(research question: RQ):

    • RQ1DCNv3 在性能方面是否优于其他CTR 模型?它们在大规模的和高度稀疏的数据集上表现良好吗?

    • RQ2DCNv3与其他CTR模型相比是否更有效率?

    • RQ3DCNv3 是否具有可解释性和过滤噪音的能力?

    • RQ4:不同的配置如何影响模型?

  2. 数据集:Avazu, Criteo, ML-1M, KDD12, iPinYou, and KKBox

  3. 数据集预处理:我们遵循《Open benchmarking for click-through rate prediction》 中概述的方法。

    • 对于Avazu 数据集,我们将其包含的时间戳字段转换为三个新的feature fieldshour, weekday, and weekend

    • 对于CriteoKDD12 数据集,我们通过将每个numeric value x 向下舍入从而将numerical feature fields 离散化:

      {log2(x),if x>21,else
    • 我们设置了一个阈值,用默认的"OOV" token 替换低频的categorical features 。我们将CriteoKKBoxKDD12 的阈值设置为10 ,将AvazuiPinYou的阈值设置为2,将小数据集ML-1M的阈值设置为1

    更具体的数据处理过程和结果可以在我们的开源运行日志和配置文件中找到,我们在此不再详述。

  4. 评估指标:Logloss, AUC

    这里LoglossL (而不是 LD,LS,LTri )。

  5. baseline 方法:我们将DCNv3 与一些SOTA 模型进行了比较 *表示将原始模型与DNN 网络集成):

    • (1):由于ECN 是一个执行显式feature interactions 的独立网络,在两个大规模数据集上,我们将其与几个也执行显式feature interactions 的模型进行了比较。例如:

      • LR实现了一阶feature interactions

      • FM及其衍生模型FMFwFMAFMFmFM实现了二阶特征交互。

      • CrossNetv1CrossNetv2CINAutoIntAFNFiGNN 实现了高阶feature interactions

    • (2):为了验证DCNv3 相对于包含隐式feature interactions 的模型的优越性,我们进一步选择了几个高性能的代表性的baseline,例如PNNWide & DeepDeepFMDCNv1xDeepFMAutoInt*AFN*DCNv2EDCNMaskNetCL4CTREulerNetFinalMLPFINAL

  6. 实现细节:我们使用 PyTorch 实现所有模型,并参考现有作品 。我们使用Adam optimizer 优化所有模型,默认学习率设置为0.001。为了公平比较,我们将KKBoxembedding 维度设置为128,将其他数据集的embedding 维度设置为16 CriteoML-1MiPinYou数据集的batch size 设置为4,096,其他数据集的batch size 设置为10,000 。为了防止过拟合,我们采用patience = 2 的早停。baseline 模型的超参数是根据 (《An open-source CTR prediction library》《Open benchmarking for click-through-rate prediction》)及其原始论文中提供的最佳值进行配置和微调的。 有关模型超参数和数据集配置的更多详细信息,请参阅我们简单易懂的运行日志,此处不再赘述。

48.2.1 RQ1 整体性能

  1. 与仅使用显式feature interactions 的模型进行比较:由于ECN 模型显式地以feature interactions 为特征,我们选择了11 个代表性的模型进行比较,分为一阶、二阶和高阶等等。我们用粗体表示性能最好的,用下划线表示得分次好的。实验结果如Table 3 所示,我们可以得出以下结论:

    • 通过比较Table 3Table 4 ,我们发现大多数仅仅使用显式feature interactions 的模型通常比集成隐式feature interactions 的模型表现更差,甚至比简单的DNN 更差。这无疑削弱了显式feature interactions 的必要性。

    • 总体而言,捕获高阶feature interactions 通常可以提高模型性能。例如:

      • FM 在两个大规模数据集AvazuCriteo 上的表现优于LR

      • CrossNetv2Avazu 上的表现优于除FwFM 之外的所有一阶和二阶feature interaction 模型。

      这证明了高阶feature interactions 的有效性。

    • 更复杂的模型结构不一定会带来性能提升。与FM 相比,AFM引入了更复杂的注意力机制,但并没有取得更好的性能,这一点在《Open benchmarking for click-through rate prediction》 中也有所报道。但是,与CrossNetv1 相比,CrossNetv2扩展了权重矩阵的规模,从而带来了一定程度的性能提升。因此,我们应该仔细设计模型架构。

    • FiGNN 在显式feature interaction 模型中取得了最佳的baseline 性能。然而,与FiGNN相比,我们的ECNAvazu数据集上仍然实现了Logloss下降0.4%AUC增加0.54%,在Criteo数据集上实现了Logloss下降0.18%AUC增加0.17%,均在统计显著水平上超过0.001。这证明了ECN的优越性。

  2. 与集成隐式feature interactions 的模型的比较:为了进一步全面研究DCNv3 在各种CTR数据集(例如,大规模稀疏数据集)上的性能优势和泛化能力,我们选择了15个有代表性的baseline 模型和6个基准数据集。我们用粗体突出显示ECNDCNv3 的性能,并用下划线突出最佳baseline 性能。Table 4 展示了实验结果,从中我们可以得出以下观察结果:

    • 总体而言,DCNv3 在所有六个数据集上都取得了最佳性能,与最强的baseline 模型相比,平均AUC 提高了0.21%,平均Logloss 降低了0.11%,均超过了0.1%的统计显著阈值。这证明了DCNv3的有效性。

    • FinalMLP 模型在AvazuCriteo数据集上取得了良好的性能,超越了大多数结合显式和隐式feature interactionsCTR 模型。这证明了隐式feature interactions 的有效性。因此,大多数CTR 模型试图将DNN 集成到显式feature interaction模型中以提高性能。然而,DCNv3 仅使用显式feature interactions 就实现了SOTA 性能,表明仅使用显式feature interaction 进行建模的有效性和潜力。

    • DCNv3 在所有六个数据集上都实现了优于ECN的性能,证明了LCN在捕获低阶feature interactionsTri-BCE loss 方面的有效性。值得注意的是,在iPinYou数据集上,我们观察到所有模型的Logloss值都在0.0055水平左右。这是由于数据集中正样本和负样本之间的不平衡,其他工作也报告了类似的结果。

    • ECNAUC方面优于所有baseline 模型,唯一的例外是KKBox 数据集上的Logloss optimizationECNDCNv1 弱。这进一步证明了ECN 的有效性,因为它通过指数级增长的feature interactions 和噪声过滤机制捕获高质量的feature interaction 信息。

48.2.2 深入研究 DCNv3

  1. 效率比较(RQ2 ):为了验证DCNv3 的效率,我们为25baseline 模型固定了最优超参数,并比较了它们的参数数量(四舍五入到小数点后两位)和运行时间(五次运行的平均值)。实验结果如Figure 5 所示。我们可以得出:

    • 显式CTR 模型通常使用较少的参数。例如,LR, FM, FwFM, and AFMnon-embedding 参数几乎为零,而 FmFM, CrossNet, CIN, and AutoInt 都需要少于1M 的参数。值得注意的是,参数数量并不总是与时间复杂度相关。虽然CIN仅使用0.57M个参数,但其每个epoch 的训练时间最多达到606 秒,因此不适合实际生产环境。FiGNNAutoInt 面临同样的问题。

    • 在所有模型中,LR 模型的运行时间最短,为150 秒。CrossNetv1CrossNetv2 紧随其后,在提升性能的同时,时间几乎不增加。这证明了CrossNet 及其系列模型的效率。作为deep CTR 模型的基本组成部分,DNN 仅需156 秒。由于CTR 并行结构的parallel-friendly 特性,一些精心设计的deep CTR 模型(如DCNv2FinalMLPFINAL)在运行时间没有大幅增加的情况下显著提高了预测准确率。

    • 我们提出的ECNDCNv3DCN系列中参数效率最高的模型,分别仅需0.78M1.37M个参数即可实现SOTA性能。同时,在运行时间方面,DCNv3始终优于FinalMLP, FINAL, DCNv2, and DCNv1 等强大的baseline 模型。这证明了DCNv3 的时间效率。尽管由于使用了Tri-BCE lossDCNv3ECN 多需要20秒,但它仍然与DCNv2相当。值得注意的是,loss 的额外计算成本仅在训练期间产生,不会影响实际应用中的推理速度。这进一步证明了ECNDCNv3 的效率。

  2. DCNv3 的可解释性和噪声过滤能力(RQ3):可解释性在CTR 预测任务中至关重要,因为它可以帮助研究人员理解预测并增加对结果的信心。在本节中,我们研究动态的Cross & Masked Vector 和静态的 Wl 以了解模型的预测过程。实验和可视化结果如Figure 6 所示(Value 表示每个feature fieldFrobenius范数),我们可以得出以下观察结果:

    • Figure 6 (a∼d) 中,我们观察到 clMask(cl) 随着层数的增加而逐渐变化。例如:

      • UserIDLCNECN的第一层都具有很高的重要性,但随着层数的增加而降低。

      • 同时,UserIDMask(cl) 逐渐增加其相应的稀疏性以进一步滤除噪声信息。

    • clMask(cl) 表现出互补特性。当 cl 中的feature field 变得重要时,其在 Mask(cl) 中的相应稀疏性会降低,反之亦然(例如,UserID, Occupation, Age fields )。这证明了我们引入的Self-Mask 操作的有效性,该操作通过更积极地为某些feature fields 分配零值来进一步过滤掉噪音。

    • Figure 6 (e, f) 中,我们观察到LCNECN在同一层捕获不同的feature interaction 信息。

      • LCN 中,W3 用于计算3 阶特征的重要性从而生成4feature interactions

      • 相反,在ECN 中,W3 用于计算 22 阶特征的重要性从而生成 23feature interactions

      因此,对于UserID × Genres ,与LCN 相比,ECN 展示了更低的重要性。这进一步证明了DCNv3 的有效性。

    • 总体而言,我们观察到高阶feature interactions 的重要性低于低阶feature interactions ,这在一些工作中也有类似的报道。例如,在Figure 6 中,(f)(e) 相比,鲜红色块较少;并且(a) 中的蓝色块随着层数的增加逐渐变暗,(b) 中的情况类似。

  3. 消融研究(RQ4 ):为了研究DCNv3 各组件对其性能的影响,我们对DCNv3 的几种变体进行了实验:

    • w/o TB:使用BCE 代替Tri-BCEDCNv3

    • w/o LN:没有LayerNormSelf-Mask

    消融实验结果如Table 5 所示。可以看到:

    • ECNLCNDCNv3 相比都表现出一定的性能损失,这表明有必要同时捕获高阶和低阶feature interactions

    • ECN 相比,LCN的表现始终不佳,证明了指数级feature interaction 方法的优越性。

    • 同时,w/o TB 的变体也导致一定程度的性能下降,在KKBox上尤为明显。

    • LayerNorm 的目的是保证Self-Mask保持0.5 左右的masking rate ,因此删除它会导致masking rate 不稳定,从而导致一些性能损失。

    这些证明了DCNv3 中每个组件的必要性和有效性。

    为什么没有移除 Self-Mask 的对比实验?

  4. 网络深度的影响(RQ4 ):为了进一步研究不同神经网络深度对ECN 性能的影响,我们在两个大规模CTR 数据集CriteoKDD12上进行了实验。Figure 7 显示了ECN 在测试集上的AUCLogloss性能。

    Figure 7 中我们观察到:

    • Criteo 数据集上,该模型在4 层的深度下实现了最佳性能,这表明ECN 最多可以捕获 24feature interactions

    • KDD12 数据集上,ECN6 层的深度下实现了最佳性能,这意味着它捕获了 26feature interactions

    相比之下,在线性增长的CrossNetv2 中实现相同阶次的feature interactions 分别需要 241 层和 261 层。考虑到所需的巨大计算资源,这是不切实际的,而ECN 凭借其指数级增长的feature interaction 机制轻松实现了这一点。这进一步证明了ECN 的有效性。

四十九、FINAL[2023]

《FINAL: Factorized Interaction Layer for CTR Prediction》

  1. 普通的multi-layer perceptron: MLP 网络在学习multiplicative feature interactions 方面效率低下,因此feature interaction learning 成为CTR 预测的重要主题。现有的feature interaction 网络可以有效地补充MLP的学习,但单独使用时,它们的性能往往不如MLP 。因此,将它们与MLP 网络集成对于提高性能是必要的。这种情况促使我们探索一种更好的 MLP backbone 替代方案,以取代MLP factorization machines 的启发,在本文中,我们提出了FINAL,这是一种factorized interaction layer ,它扩展了广泛使用的线性层,并且能够学习二阶feature interactions 。与MLP类似,多个FINAL layers可以堆叠成一个FINAL block ,从而产生具有指数级增长的feature interactions 。我们将feature interactionsMLP 统一到单个FINAL block 中,并通过经验证明其作为MLP block 替代品的有效性。此外,我们探索了两个FINAL blocksensemble 作为增强型双流CTR 模型(enhanced two-stream CTR model ),在开放benchmark 数据集上创造了新的SOTAFINAL 可以轻松用作building block ,并且已在华为的多个应用程序中实现了业务指标增益。我们的源代码将在MindSpore/modelsFuxiCTR/model_zoo 上提供。

  2. CTR 预测任务通常被表述为二分类问题,其中包含丰富但异构的特征,例如user profiles, item attributes, and session contexts。因此,feature interaction learning 成为CTR 预测的重要研究课题。现有方法通常遵循两个方向来建模feature interactions

    • 第一个是使用multi-layer perceptrons: MLP 隐式地学习特征之间的隐藏关系。虽然已经证明MLP 理论上可以近似任何有界的连续函数,但在实践中,在给定有限网络大小的情况下,它们在建模combinatorial feature interactions 方面很弱 。

    • 第二种方法是使用特征之间的multiplicative operations 来显式地建模它们的交互。例如,DCNFMxDeepFM,这些方法中的feature combination degree 通常与堆叠层数成线性比例,因此需要相当深的架构才能全面覆盖有用的特征组合。然而,由于许多广泛记载的问题,例如gradient explosion/vanishmen《Which neural net architectures give rise to exploding and vanishing gradients?》)和rank collapse《Attention is not all you need: Pure attention loses rank doubly exponentially with depth》《Rank diminishing in deep neural network》),很难优化非常深的模型。

    因此,现有方法很难有效地建模高阶feature interactions

    在本文中,我们提出了一个Factorized Interaction Layer: FINAL 来显式地学习multiplicative feature interactions ,它可以实现非常高的combination orders 而无需繁琐的层堆叠(Figure 1 )。受fast exponentiation 算法的启发,FINAL 采用hierarchical 的方式以指数级速度提高feature interaction 阶次。在每个hierarchy 中,input representations 与一系列连续的non-linear layersrepresentations output 相乘,从而逐步增加feature interaction 阶次。通过用多个hierarchies 处理feature representationsfeature interactions 的阶次进一步呈指数级增加。基于提出的FINAL 模块,我们设计了一个统一的框架,该框架结合了多个FINAL blocks 从而在不同视图中学习feature interactions ,并且我们通过使用它们的预测作为common teachers 来交换它们所编码的互补知识来进行自蒸馏(self-distillation )。我们在四个公共数据集上进行了广泛的实验,结果验证了FINAL 的优越性。它还在我们企业举办的多个商业场景的在线实验中取得了显著的成功。FINAL 为编写CTR 预测模型提供了一种全新而简单的选项,有望为各种推荐场景提供支持。

    论文创新性一般。

    DCN V3 也是类似的思路:Exponential Cross Network、以及 self-distillation 。但是 DCN V3 采用的是 1, 2, 4, 8, 16,... 这样的指数,而这里用的 1, 3, 9, 27, ... 这样的指数。另外,这里的 FINAL Block 仅仅得到最高指数,而没有使用残差连接,因此往往需要多个不同层的 FINAL Block 并行拼接。

49.1 模型

  1. FINAL 总体框架如Figure 2 所示。它主要由多个并行的FINAL blocks 组成,旨在建模不同的feature interaction 模式。每个FINAL block 包含几个factorized interaction layers ,其中feature interactions 的最大阶次随模型深度呈指数级增长。来自不同blocks 的预测分数被组合成一个统一的预测分数作为final prediction ,它也充当virtual teacher 从而self-teach 这些blocks 以交换和fuse 它们的隐藏知识。通过这种方式,可以有效、全面地捕捉复杂的feature interactions

  2. FINAL Block:我们方法的基本单元是FINAL block 。它接收一个flattened feature vector x 作为输入,其中可能包括各种各样的field ,例如one-hot features, embedded categorical features, and numerical features。由于工业场景中精心设计的特征的多样性、复杂性和异质性,特征之间的交互通常可能是很复杂的且隐式的。因此,建模高阶交互对于有效利用特征至关重要。在实践中,如何以最小的model depths 实现足够高的交互阶次,对性能和效率都很重要。

    fast exponentiation 算法思想的启发,我们设计了一种hierarchicalfeature interaction 机制来实现指数级的阶次增长。在每个hierarchy 中,使用factorized interaction layer 通过几个multiplicative operations 来提高feature interaction 阶次。令 xl1 表示第 lfactorized interaction layer 的输入。它使用以下公式进行转换:

    hl,1=Wl,1xl1+bl,1hl,2=hl,1σ(Wl,2xl1+bl,2)hl,N=hl,N1σ(Wl,Nxl1+bl,N)xl=i=1Nhl,i

    其中:

    • xllayer output

    • Wl,i,bl,i 为第 ioperation 的权重参数和偏置向量,Nmultiplicative interaction 的数量。

    • σ() 为激活函数。

    直观地讲,feature interaction 阶次与multiplicative operations 的数量成正比。通过聚合每个step 中的中间结果,每个层的输出可以包含multi-granularityfeature interactions 。在FINAL block 中,我们堆叠多个factorized interaction layers ,以便每个层的initial feature interaction degree 都成指数级放大。这样,K 层具有 Nmultiplicative operationsFINAL block 的最高多项式阶次(就 x 中的元素而言)为 NK

  3. Cross-block Knowledge Transfer:在我们的方法中,我们倾向于使用多个FINAL blocks 来从不同视图来学习feature interactions

    • 我们首先使用不同的线性投影层(linear projection layers )将hidden representations 转换为output logits

    • 这些logits 按均值聚合为统一的logit ,然后通过sigmoid 函数进一步对其进行归一化以进行模型训练(记作 y^)。

    我们使用二元交叉熵损失来计算 CTR prediction loss ,如下所示:

    Lc=1Si=1S[yilog(y^i)+(1yi)log(1y^i)]

    其中:yiy^i 是第 i 个样本的label 和预测分数,S 是训练数据规模。

    为了促进不同FINAL block 之间的knowledge sharing ,我们执行self-knowledge distillation ,以赋予它们inter-block knowledge 。具体来说,我们使用聚合后的分数 y^ 作为老师,并鼓励每个block 从这个synthesized prediction 中学习。以dual-block 网络为例(Figure 2 ),我们用 y^ay^b 表示两个blocknormalized prediction scores。它们对应的知识蒸馏损失(knowledge distillation losses )如下:

    Ld=1Si=1S[y^ilog(y^a,i)+(1y^i)log(1y^a,i)]Ld=1Si=1S[y^ilog(y^b,i)+(1y^i)log(1y^b,i)]

    其中:y^a,i,y^b,i 是第 i 个样本的block-specific predictions

    为什么不用 ground-truth yi 作为 teacher

    我们使用task lossknowledge transfer regularizations 来优化模型,模型训练的整体损失函数为:

    L=Lc+Ld+Ld

    这样,每个block 都知道任务监督信号和cross-block 知识,因此可以更好地应对复杂的feature interactions

    knowledge transfer regularizations 本质上是迫使每个子网的输出都接近模型的整体输出。

  4. 讨论:最后,我们简要讨论了模型复杂度和兼容性。假设parallel blocks 的数量和隐层维度是常数,那么我们框架的理论复杂度为 O(NK) 。为了达到相同的feature interaction 阶次,普通的layer-stacking 方法所需的计算复杂度通常为 O(NK)。因此,当 NK 较小时,我们的方法具有与现有方法相当的效率,并且在建模极高阶feature interactions 时可能具有显著的效率优势。此外,FINAL block 是一个即插即用的模块,可以直接插入到现有架构、或替换现有架构的MLP-basedfeature interaction 模块。因此,FINAL 与各种CTR 预测方法兼容,并且可以轻松地为它们提供支持。

49.2 实验

  1. 数据集:Criteo, Avazu, MovieLens, and Frappe

    为了公平比较,我们重用了《Adaptive factorization network: Learning adaptive-order feature interactions》发布的预处理数据集,并遵循相同的splitting 和预处理程序。

  2. 评估指标:AUC

  3. baselines:我们将其与四类现有模型进行比较,按feature interactions 阶次分类:

    • 一阶(仅使用单个特征):Logistic Regression: LR

    • 二阶(建模pair-wise feature interactions ):Factorized Machine (FM) and AFM

    • 三阶(建模triple-wise feature interactions ):CrossNet (两层)、CrossNetV2 (两层)和CIN (两层)。

    • 高阶:DCNDCNV2DeepFMAutoIntxDeepFMSAM

  4. 实现细节:我们基于开源CTR prediction library ,即FuxiCTR , 实现了所有研究的模型。为了进行公平比较,我们遵循 《Adaptive factorization network: Learning adaptive-order feature interactions》 中的相同实验设置。

    所有baseline 均使用Adam optimizer 进行训练,其中学习率为0.001batch size4096embedding 维度为10MLP 隐单元的数量为[400, 400, 400]

    我们采用两个FINAL blocks 和两个factorized interaction layersK=2,N=2)。

  5. Table 1 展示了在四个数据集上的评估结果,从中我们得到以下发现:

    • 首先,LR 在所有数据集上的表现最差,这表明feature interaction modelingCTR预测中的必要性。

    • 其次,能够建模高阶feature interactions 的方法往往会获得更好的性能,这是直观的,因为可以考虑更复杂的feature relatedness 。由于FINAL 在建模高阶feature interactions 方面特别强大,因此它在所有数据集上都获得了最佳性能,并且其优势非常显著(t-testp<0.05)。这验证了FINAL 在捕获复杂特征关系方面的有效性。

    • 第三,dual-block FINAL model 略优于single-block 模型。这可能是因为使用多个blocks 有助于学习具有不同结构和初始化参数的diverse feature interaction 信息。

    • 第四,self-knowledge distillation 可以进一步提高multi-block FINAL model 的性能。这进一步表明了不同blocks 中编码的知识具有互补性,使用知识蒸馏(knowledge distillation )将它们融合可以更好地指导FINAL block learning

  6. 我们的FINAL block 是一个即插即用模块,可以提升各种deep CTR 模型的性能。为了证明FINAL block 的兼容性,我们将其作为MLP block 的替代品引入了四种流行的deep CTR 模型(即MLP, DeepFM, xDeepFM, and DCN ),结果如Table 2 所示。

    我们观察到FINAL block 一致地改进了流行的deep CTR 模型。这验证了FINAL 确实捕获了这些模型忽略的有用线索。由于FINAL 独立于backbone 架构,因此它是一个灵活的组件,可用于为实际系统中的各种CTR 预测模型提供支持。

    这本质上是模型的集成,因此效果比原始模型更好是可以预期的。

  7. 在线评估:由于其显著的性能提升和低延迟,我们在企业的多个商业场景中部署了FINAL 。在本节中,我们选取两个代表性场景来展示其优越性。

    • News Feed 推荐:我们在商业新闻推荐场景中进行在线评估,其中数百万日活用户消费数字新闻文章。在线A/B test 持续一个月,从2022925日到1025 日。对于online serving ,我们将整个流量的5% 作为实验组,其中包括超过300k 活跃用户。 我们将我们的方法与精心设计的baseline 模型进行了比较。Figure 3 总结了连续30 天的在线结果。我们的模型在评估期间显示出一致性的在线点击率改进,平均点击率提高了3.17%additional online inference latency 增加了22.22% ,这在我们的系统中是可以接受的。实验结果证明了FINALfeed recommendation 中的有效性。

    • Online advertisement display :在线广告需要同时预测点击率和Post-click conversion rate: CVR 。在我们的广告展示场景中,转化对应于安装应用程序、提交注册信息、用户留存(user retention )等事件。

      多任务学习(multi-task learning: MTL )是联合CTR and CVR estimation 的常用解决方案。一般来说,MTL 采用具有shared-bottom 结构的模型,其中bottom embedding layers 的参数在任务之间共享。然后,应用MLP 模块从shared bottom 来学习feature interactions 并对特定任务进行预测。我们使用FINAL block 替此MTL 框架中的MLP 进行比较。对于online serving ,我们随机选择5% 的用户作为实验组,通过FINAL-enhanced model 提供广告推荐。对照组为另外5% 的用户,采用baseline MTL model 。连续7 天的在线A/B test 结果显示,整体CVR 增益为5.52% 。结果验证了FINAL 对于在线广告的有效性。

五十、FinalMLP[2023]

《FinalMLP: An Enhanced Two-Stream MLP Model for CTR Prediction》

  1. 虽然多层感知机 (multi-layer perceptron: MLP )是许多deep CTR 预测模型的核心组件,但人们普遍认为,单独应用简单的MLP 网络在学习乘性特征交互(multiplicative feature interactions )方面效率低下。因此,许多双流交互(two-stream interaction )模型(例如DeepFMDCN )已通过将MLP 网络与另一个专用网络(dedicated network )集成从而来增强CTR 预测。由于MLP stream 隐式学习特征交互(feature interactions ),现有研究主要侧重于提升complementary stream 中的显式特征交互(explicit feature interactions )。

    相比之下,我们的实证研究表明,只需结合两个MLP 即可获得令人惊讶的良好性能,这是现有工作从未报道过的。基于这一观察,我们进一步提出了可以轻松插入的feature gating layersinteraction aggregation layers ,从而得到enhanced two-stream MLP model 。这样,它不仅可以实现差异化的feature inputs ,还可以有效地融合两个streams 之间的stream-level interactions 。我们在四个开放benchmark datasets 上的评估结果,以及我们工业系统中的online A/B test 表明,FinalMLP 比许多复杂的two-stream CTR 模型取得了更好的性能。

  2. CTR 预测的关键挑战之一是学习特征之间的复杂关系,使得模型能够在罕见的feature interactions 情况下仍能很好地泛化。

    • 多层感知机作为深度学习中强大而通用的组件,已成为各种CTR 预测模型的核心构建块(building block)。尽管MLP 在理论上被认为是一种通用近似器,但人们普遍认识到,在实践中,应用简单的MLP 网络学习multiplicative feature interactions(例如,点乘dot )效率低下。

    • 为了提升学习explicit feature interactions (二阶或三阶特征)的能力,人们已经提出了各种feature interaction 网络。典型的例子包括factorization machines: FMcross networkcompressed interaction network: CINself-attention based interactionadaptive factorization network: AFN 等。

      这些网络引入了inductive bias 来有效地学习feature interactions ,但失去了MLPexpressiveness ,如Table 3 中的实验所示。因此,双流(two-streamCTR 预测模型得到了广泛应用,例如DeepFMDCNxDeepFMAutoInt+,它们将MLP 网络和专用的feature interaction 网络集成在一起,以提升CTR 预测。具体来说,MLP stream 隐式地学习feature interactions ,而另一个stream 以互补的方式提升explicit feature interactions 。由于其有效性,双流模型已成为工业部署的热门选择。

    • 尽管许多现有研究已经验证了双流模型相对于单个MLP 模型的有效性,但没有一项研究报告了双流模型与简单地并行组合两个MLP 网络的双流MLP 模型(记作DualMLP )的性能比较。因此,我们的工作首次尝试描述DualMLP 的性能。我们在开放benchmark datasets 上进行的经验研究表明,尽管DualMLP很简单,但可以实现令人惊讶的良好性能,与许多精心设计的双流模型相当甚至更好(参见我们的实验)。这一观察促使我们研究这种双流MLP 模型的潜力,并进一步扩展它以构建一个简单但强大的CTR 预测模型。

  3. 双流模型实际上可以看作是两个并行网络的ensemble 。这些双流模型的一个优点是每个流都可以从不同的角度学习feature interactions ,从而互补以实现更好的性能。例如:

    • Wide&DeepDeepFM 提出使用一个流来捕获低阶feature interactions ,另一个流来学习高阶feature interactions

    • DCNAutoInt+ 提倡分别在两个流中学习explicit feature interactionsimplicit feature interactions

    • xDeepFMvector-wisebit-wise 的角度进一步提升了feature interaction learning

    这些先前的结果验证了两个network streams 的差异化(或多样性)对双流模型的有效性有很大影响。

    与现有的通过设计不同的网络结构(例如,CrossNetCIN)来实现stream differentiation 的双流模型相比,DualMLP 的局限性在于两个流都只是MLP 网络。我们的初步实验还表明,当针对两个MLP 使用不同的网络大小(如,不同的层数、不同的units 数量)来调优DualMLP 时,可以获得更好的性能。这一结果促使我们进一步探索如何扩大两个流的差异化,以改进DualMLP 作为base model

    此外,现有的双流模型通常通过summationconcatenation 来组合两个流,这可能会浪费对高阶(即stream-level ) 的feature interactions 进行建模的机会。如何更好地融合stream outputs 成为另一个值得进一步探索的研究问题。

    为了解决这些问题,本文构建了一个增强型双流MLP 模型,即FinalMLP ,它在两个MLP module networks 之上集成了feature gating 层和interaction aggregation

    • 更具体地说,我们提出了一个stream-specificfeature gating layer ,它允许获得gating-basedfeature importance weights 从而用于soft feature selection 。也就是说,可以通过以learnable parameters 、用户特征、或item 特征为条件,从不同角度计算feature gating ,从而分别产生全局的、user-specific 、或item-specificfeature importance weights 。通过灵活地选择不同的gating-condition features ,我们能够为每个流得出stream-specific features ,从而增强feature inputs的差异化,以实现两个流的complementary feature interaction learning

    • 为了将stream outputsstream-level feature interaction 来融合,我们提出了一个基于二阶双线性融合(second-order bilinear fusion )的interaction aggregation 层 。为了降低计算复杂度,我们进一步将计算分解为 ksub-groups ,从而实现高效的multi-head bilinear fusion

    feature gating 层和interaction aggregation 层都可以轻松插入现有的双流模型中。我们在四个开放benchmark datasets 上的实验结果表明,FinalMLP 优于现有的双流模型,并达到了新的SOTA 。此外,我们通过离线评估和在线A/B testing 验证了其在工业环境中的有效性,其中FinalMLP 还显示出比所部署的baseline 显著的性能提升。我们设想,简单而有效的FinalMLP 模型可以作为未来开发双流CTR 模型的新的强大baseline

  4. 本文的主要贡献总结如下:

    • 据我们所知,这是第一项通过实证证明双流MLP 模型令人惊讶的有效性的研究,这可能与文献中的普遍看法相反。

    • 我们提出了FinalMLP ,这是一种增强型双流MLP 模型,具有pluggable feature gating and interaction aggregation layers

    • 我们在benchmark datasets 上进行了离线实验,并在生产系统中进行了online A/B test ,以验证FinalMLP 的有效性。

50.1 模型

  1. 双流MLP 模型:尽管双流MLP 模型很简单,但据我们所知,之前的研究尚未报道过这种模型。因此,我们首次尝试研究这种用于CTR 预测的模型,称为DualMLP ,它简单地将两个独立的MLP 网络组合成两个流。具体而言,双流MLP 模型可以表述如下:

    o1=MLP1(h1),o2=MLP2(h2)

    其中:

    • MLP1()MLP2() 是两个MLP 网络。两个MLP 的规模(即,层数、隐层大小)可以根据数据进行不同的设置。

    • h1h2 表示两个流的feature inputs ,而 o1o2 分别是两个流的output representations

    在大多数以前的工作中,feature inputs h1h2 通常设置为同一个,它是feature embeddings 的拼接(可能包含一些池化操作) e ,即 h1=h2=e。同时,stream outputs 通常通过简单的操作进行融合,例如summationconcatenation ,忽略stream-level interactions 。接下来,我们介绍两个可以分别被插入到inputs 中和outputs 中的模块,以提升双流MLP 模型。

50.1.1 Stream-Specific Feature Selection

  1. 许多现有研究强调了结合两种不同的feature interaction 网络(例如,implicit vs. explicitlow-order vs. high-order,bit-wise vs. vector-wise )以有效地实现准确的CTR 预测。我们的工作不是设计专用的网络结构,而是旨在通过stream-specificfeature selection 来扩大两个流之间的差异,从而产生差异化的feature inputs MMOE 中使用的门控机制的启发,我们提出了一个stream-specificfeature gating 模块来soft-select stream-specific features ,即为每个流不同地重新加权feature inputs 。在MMOE 中,gating weightstask-specific features 为条件,从而重新加权expert outputs 。同样地,我们通过以learnable parameters, user features, or item features 为条件,从不同角度执行feature gating ,从而分别产生global, user-specific, or item-specific feature importance weights

  2. 具体来说,我们通过context-aware feature gating layer 进行stream-specific feature selection ,如下所示:

    g1=Gate1(x1),g2=Gate2(x2)h1=2σ(g1)e,h2=2σ(g2)e

    其中:

    • Gate1() 表示基于MLP 的门控网络,它以stream-specific conditional features xi 作为输入,并输出element-wise gating weights gi 。请注意,可以灵活地从user/item 的一组特征中选择 xi ,或将 xi 设置为learnable parameters

    • feature importance weights 是通过使用sigmoid 函数 σ() 和乘子2 将其转换为[0, 2] 的范围从而获得的,使得权重的平均值为1

    • 给定concatenated feature embeddings e ,我们可以通过逐元素乘积 获得加权的feature outputs h1h2

    我们的feature gating 模块允许通过从不同角度设置conditional features xi ,从而为两个流制作差异化的feature inputs 。例如,Figure 1(a) 演示了user-specificitem-specificfeature gating 的案例,它分别从用户的角度和item 的角度来调制(modulate )每个流。这减少了两个相似的MLP streams 之间的“homogeneous” 学习,并能够实现feature interactions 的更多的complementary learning

50.1.2 Stream-Level Interaction Aggregation

  1. Bilinear Fusion:如前所述,现有工作大多采用summationconcatenation 作为融合层(fusion layer ),但这些操作无法捕stream-level feature interactions 。受到CV 领域中广泛研究的双线性池化(bilinear pooling )的启发,我们提出了一个双线性交互聚合层(bilinear interaction aggregation layer ),通过用stream-level feature interaction 来融合stream outputs 。如Figure 1(c) 所示,所预测的点击率公式如下:

    y^=σ(b+w1o1+w2o2+o1W3o2)

    其中:

    • bR,w1Rd1×1,w2Rd2×1,W3Rd1×d2 为可学习的权重,d1d2 表示 o1o2 的维度。

    • 双线性项 o1W3o2 建模了 o1o2 之间的二阶交互。具体而言:

      • W3 是单位矩阵时,该项模拟了内积操作。

      • W3 为零矩阵时,点击率公式会退化为具有线性层的传统的concatenation fusion,即 b+[w1,w2][o1,o2] 。其中 [,] 表示向量拼接操作。

  2. 有趣的是,bilinear fusion 也与常用的FM 模型有联系。具体来说,FM 通过以下公式来建模 m 维输入特征向量 x (该特征向量通过one-hot/multi-hot feature encodingconcatenation 来获得)之间的二阶特征交互,从而进行CTR 预测:

    y^=σ(b+wx+xupper(PP)x)

    其中:

    • bR,wRm×1,PRm×d 为可学习的权重, dmupper() 函数获取矩阵的严格的上三角部分。

    P 就是 embedding 矩阵。

    可以看出,当 o1=o2 时,FMbilinear fusion 的一种特殊形式。

  3. 然而,当 o1o2 是高维时,计算 y^ 需要大量参数且计算成本高昂。例如,要融合两个1000 维输出,W3R1000×1000 需要1M 参数,计算成本高昂。为了降低计算复杂度,我们在下面介绍了扩展的多头双线性融合(multi-head bilinear fusion )。

    通常 o1o2 的维度和 embedding 维度相等,都是选择较小的维度,如 128 。很少选择非常大的维度。

  4. Multi-Head Bilinear Fusionmulti-head attention 之所以具有吸引力,是因为它能够将来自不同representation subspaces 并使用相同attention pooling 的知识结合起来。在最近成功的Transformer 模型中,它减少了计算量,并一致性地提高了性能。受Transformer 成功的启发,我们将bilinear fusion 扩展为多头的版本。具体来说,我们不是直接计算 o1W3o2 ,而是将 o1o2分别分成 k 个子空间:

    o1=[o1,1,,o1,k]o2=[o2,1,,o2,k]

    其中:k 是超参数,oi,j 表示第 i 个输出向量的第 jsub-space representationi{1,2},1jk multi-head attention 类似,我们在每个子空间中执行bilinear fusion ,将 o1,jo2,j 配对为一组。然后,我们通过sum pooling 聚合subspace computation ,以得到最终的预测的点击率:

    y^=σ(j=1kBF(o1,j,o2,j))

    其中:BF() 表示没有sigmoid 激活函数的bilinear fusion

    通过与multi-head attention 类似的subspace computation ,理论上我们可以将bilinear fusion 的参数数量和计算复杂度减少 k 倍,即从 O(d1d2) 减少到 O(d1d2k)。特别是,当设置 k=d1=d2 时,它会退化为element-wise product fusion 。如果 k=1 ,则等于原始双线性融合。选择合适的 k 可以实现multi-head learning ,从而使模型获得更好的性能。实际上,k 个子空间的multi-head fusionsGPU 中并行计算,从而进一步提高效率。

  5. 最后,我们的stream-specific feature gating 模块和stream-level interaction aggregation 模块可以被插入到模型中,从而生成增强型的双流MLP 模型,即FinalMLP

50.1.3 模型训练

  1. 为了训练FinalMLP ,我们应用了广泛使用的二元交叉熵损失:

    L=1N(ylogy^+(1y)log(1y^))

50.2 实验

  1. 数据集:Criteo, Avazu, MovieLens, and Frappe

  2. 评估指标:AUC 。此外,AUC 增加0.1 被认为是CTR 预测的显著改善。

  3. baseline

    • single-stream 的显式的feature interaction 网络:

      • 一阶:Logistic Regression (LR)

      • 二阶:FMAFMFFMFwFMFmFM

      • 三阶:HOFM(3rd)CrossNet(2L)CrossNetV2(2L)CIN(2L)。我们特意将最大阶次设置为“3rd” 、或将交互层数设置为“2L” ,从而获得三阶特征交互。

      • 高阶:CrossNetCrossNetV2CINAutoIntFiGNNAFNSAM,可自动学习高阶feature interaction

    • 双流CTR 模型:相关工作中所介绍的。

  4. 实现:

    • 重用baseline 模型。

    • 基于 FuxiCTR 实现我们的模型。

    • 我们的评估遵循与AFN 相同的实验设置,将embedding 维度设置为10 ,将batch size 设置为4096,将默认MLP大小设置为[400, 400, 400] 。对于DualMLPFinalMLP,我们调优在1∼3 层中的两个MLP 以增强stream diversity 我们将学习率设置为1e−35e−4。我们通过广泛的网格搜索(平均每个模型约30 次运行)调优所有研究模型的所有其他超参数(例如,embedding regularizationdropout rate )。我们注意到,通过优化后的FuxiCTR 实现和足够的超参数调优,我们获得的模型性能比AFT 原始论文中报告的要好得多。因此,我们报告自己的实验结果,而不是重复使用他们的实验结果来进行公平的比较。为了促进可重复的研究,我们开源了FinalMLP 的代码和running logs 以及所有使用的baseline

50.2.1 MLP vs. Explicit Feature Interaction

  1. 这里我们将MLP 与精心设计的feature interaction 网络进行比较,如下表所示。令人惊讶的是,我们观察到MLP 的表现可以与精心设计的显式feature interaction 网络不相上下,甚至超越它们。这一观察结果也与DCN-V2 论文中报告的结果一致,其中表明经过良好调优的MLP模型(即DNN )可获得与许多现有模型相当的性能。

  2. 总体而言,MLP 取得的出色表现表明,尽管其结构简单且在学习multiplicative features 方面较弱,但MLP在以隐式方式学习feature interactions 方面非常具有表达能力。这也部分解释了为什么现有研究双流模型,其中双流模型将显式feature interaction 网络与MLP结合起来作为CTR 预测。不幸的是,MLP 的优势从未在任何现有工作中得到明确揭示。受上述观察的启发,我们更进一步研究一种未经探索的模型结构的潜力,该模型结构简单地将两个MLP 作为双流MLP 模型。

50.2.2 DualMLP and FinalMLP vs. Two-Stream Baselines

  1. 我们对下表中所示的代表性的双流模型进行了全面比较。从结果中,我们得出以下观察结果:

    • 首先,我们可以看到双流模型通常优于Table 3 中报告的单流模型,尤其是单个MLP 模型。这符合现有工作,表明双流模型可以学习互补的特征,从而能够更好地建模CTR prediction

    • 其次,简单的双流模型DualMLP 表现得出奇地好。通过仔细调优两个流的MLP layersDualMLP 可以实现与其他复杂的双流baseline 相当甚至更好的性能。据我们所知,DualMLP 的强大性能从未在文献中报道过。在我们的实验中,我们发现通过在两个流中设置不同的MLP size 来增加stream network 的多样性可以提高DualMLP 的性能。这促使我们进一步开发增强的双流MLP 模型,即FinalMLP 。/

    • 第三,通过我们在feature gatingfusion 方面的可插入式扩展,FinalMLP 在四个开放数据集上的表现始终优于DualMLP 以及所有其他的双流基线。这证明了我们的FinalMLP 的有效性。截至撰写本文时,FinalMLPCriteo 上的PapersWithCodeBARSCTR prediction 排行榜上排名第一。

50.2.3 消融研究

  1. Feature Selection and Bilinear Fusion 的效果:具体来说,我们将FinalMLP 与以下变体进行比较:

    • DualMLP :简单的双流MLP模型,仅将两个MLP作为两个流。

    • w/o FS :缺乏通过context-aware feature gating 实现stream-specific 的特征选择模块的FinalMLP

    • Sum:在FinalMLP 中使用summation 融合。

    • Concat:在FinalMLP 中使用concatenation 融合。

    • EWP:在FinalMLP 中使用Element-Wise Product (即Hadamard 乘积)融合。

    消融研究结果如Figure 2 所示。我们可以看到:

    • 当删除feature selection 模块、或用其他常用融合操作替换bilinear fusion 时,性能会下降。这验证了我们的feature selection 模块和bilinear fusion 模块的有效性。

    • 此外,我们观察到bilinear fusionfeature selection 起着更重要的作用,因为替换前者会导致更多的性能下降。

  1. Multi-Head Bilinear Fusion 的效果:我们研究了subspace grouping 技术对bilinear fusion 的影响。下表显示了通过改变子空间数量(即heads 数量 k)进行bilinear fusionFinalMLP 的性能。OOM 表示在设置中发生Out-Of-Memory 错误。

    我们发现使用更多参数(即较小的 k )进行融合,并不总是会带来更好的性能。这是因为合适的 k 可以帮助模型从多个视图中学习stream-level 特征交互,同时减少冗余的特征交互,类似于multi-head attention 。在实践中,可以通过调优 k 来实现effectivenessefficiency 之间的良好平衡。

  2. Industrial Evaluation:我们进一步在新闻推荐生产系统中评估FinalMLP ,该系统每天为数百万用户提供服务。我们首先使用来自3天的用户点击日志(包含1.2B 个样本)的训练数据进行离线评估。AUC 结果如Table 5 所示。

    • 与在线部署的deep BaseModel 相比,FinalMLPAUC 上获得了超过一个点的改进。

    • 我们还将其与EDCN进行了比较,这是一项最近的工作,它通过双流网络之间的交互增强了DCNFinalMLPAUC上比EDCN获得了额外的0.44 个点的改进。

    此外,我们测试了接收用户请求和返回预测结果之间的端到端的推理延迟(inference latency )。我们可以看到,通过应用我们的multi-head bilinear fusion ,延迟可以从70 毫秒(使用1 head )减少到47毫秒(使用8 heads ),与在线部署的BaseModel45 毫秒)达到相同的延迟水平。此外,通过选择适当的head numAUC 结果也会略有改善。

    我们最终报告了718日至22日进行的在线A/B test 的结果,结果显示在Table 6 中。FinalMLP 平均实现了1.6%CTR改进。这样的改进对我们的生产系统意义重大。