一、MaskNet [2021]

《MaskNet: Introducing Feature-Wise Multiplication to CTR Ranking Models by Instance-Guided Mask》

  1. 点击率(Click-Through Rate: CTR)预估已成为许多实际应用中最基础的任务之一。对于 ranking 模型而言,有效捕获复杂的高阶特征至关重要。浅层前馈网络(shallow feed-forward network)广泛应用于 FNNDeepFMxDeepFM 等许多 SOTADNN 模型中,用于隐式地捕获高阶特征交互。然而,有研究证明,加性(addictive )特征交互(尤其是前馈神经网络)在捕获常见特征交互时效率低下。为解决这一问题,我们通过提出实例引导的掩码(instance-guided mask)将特定的乘性操作(multiplicative operation )引入 DNN ranking systeminstance-guided maskinput instance 的引导下,对 feature embedding layerfeed-forward layer 执行逐元素乘法。

    input instance 就是 embedding vector (来自 embedding layeroutput

    本文还提出 MaskBlock,将 DNN 模型中的 feed-forward layer 转变为 addictive and multiplicative feature interactions 的混合体。MaskBlock 结合了 layer normalizationinstance-guided maskfeed-forward layer,是用于在各种配置下设计新 ranking modelbasic building block 。由 MaskBlock 组成的模型在本文中称为 MaskNet。我们提出了两种新的 MaskNet 模型,以展示 MaskBlock 作为 basic building block 的有效性从而用于构建高性能 ranking systems 。在三个真实数据集上的实验结果表明,我们提出的 MaskNet 模型显著优于 DeepFMxDeepFMSOTA 模型,这表明 MaskBlock 是构建新型高性能 ranking systems 的有效 basic building unit

    instance-guided mask 更像是一种 input-drivenelement-wiseselection-gate

  2. CTR prediction 是指预测用户点击 recommended items 的概率,它在个性化广告和推荐系统中起着重要作用。许多模型已被提出用于解决这一问题,例如 Logistic Regression: LRPolynomial-2 (Poly2)tree-based modelstensor-based modelsBayesian models 、以及 Field-aware Factorization Machines (FFMs) 。近年来,采用 DNN 进行 CTR estimation 也成为该领域的研究趋势。一些基于深度学习的模型被引入,如 Factorization-Machine Supported Neural Networks(FNN)Attentional Factorization Machine (AFM)Wide & Deep (W&D)DeepFMxDeepFM 等。

    特征交互(feature interaction )对于 CTR 任务至关重要,ranking 模型有效捕获这些复杂特征至关重要。大多数 DNN ranking models 模型(如 FNNW&DDeepFMxDeepFM)使用浅层 MLP layers 以隐式方式建模高阶交互,这是当前 SOTAranking systems 的重要组件。

    然而, 《Latent cross: Making use of context in recurrent recommender systems》已证明:addictive feature interaction (尤其是前馈神经网络)在捕获常见特征交叉时效率低下。他们提出了一种简单但有效的方法,称为 "latent cross",这是 RNN 模型中 context embeddingneural network hidden states 之间的一种乘性交互(multiplicative interactions )。最近,《Neural Collaborative Filtering vs. Matrix Factorization Revisited》 还表明,精心配置的 dot product baseline 在协同过滤中显著优于 MLP layer。尽管 MLP 在理论上可以近似任何函数,但他们表明,用 MLP 学习 dot product 并非易事。对于较大的 embedding 维度,要高准确性地学习 dot product 需要较大的模型容量和大量训练数据。他们的工作也证明了 MLP layer 建模复杂特征交互能力的低效性。

    "latent cross"《Latent cross: Making use of context in recurrent recommender systems》)和 《Neural Collaborative Filtering vs. Matrix Factorization Revisited》 的启发,我们关注以下问题:能否通过向 DNN ranking systems 引入特定的 multiplicative operation ,使其有效捕获复杂的特征交互,从而改进 DNN ranking systems

    为了克服 feed-forward layer 捕获复杂 feature cross 效率低下的问题,本文向 DNN ranking system 引入了一种特殊的 multiplicative operation 。首先,我们提出一种 instance-guided mask ,它对 feature embedding layerfeed-forward layer 执行逐元素乘法。instance-guided mask 利用从 input instance 中收集的全局信息,以统一的方式动态地 highlightfeature embedding layerhidden layer 中的 informative elements。采用 instance-guided mask 有两个主要优点:

    • 首先,maskhidden layer or feature embedding layer 之间的逐元素乘法以统一的方式将 multiplicative operation 引入DNN ranking system,从而更有效地捕获复杂的特征交互。

    • 其次,这是一种由 input instance 引导的细粒度的 bit-wise attention ,既可以减弱 feature embedding layerMLP layers 中噪声的影响,又可以 highlightDNN ranking systems 中的 informative signals

    通过结合 instance-guided mask 、以及后续的 feed-forward layerlayer normalization,我们提出了 MaskBlockMaskBlock 将常用的 feed-forward layer 转变为 addictive and multiplicative feature interactions 的混合体。 instance-guided mask 引入乘性交互(multiplicative interactions ),后续的 feed-forward hidden layermasked information 进行聚合,以更好地捕获重要的特征交互。而 layer normalization 可以使得网络的 optimization 更加容易。

    MaskBlock 可被视为在某种配置下设计新 ranking modelsbasic building block 。由 MaskBlock 组成的模型在本文中称为MaskNet 。我们提出了两种新的 MaskNet 模型,以展示 MaskBlock 作为构建高性能 ranking systemsbasic building block 的有效性。

    我们的工作贡献总结如下:

    • (1):在这项工作中,我们提出了一种 instance-guided mask,对 DNN 模型中的 feature embedding layerfeed-forward layers 执行逐元素乘法。instance-guided mask 中包含的全局上下文信息被动态融入 feature embedding layerfeed-forward layer,以 highlight 重要元素。

    • (2):我们提出了一个名为 MaskBlockbasic building block ,它由三个关键组件组成:instance-guided mask 、后续的 feed-forward hidden layerlayer normalization module 。通过这种方式,我们将标准 DNN 模型中广泛使用的 feed-forward layer 转变为 a mixture of addictive and multiplicative feature interactions

    • (3):我们还提出了一个名为 MaskNet 的新的 ranking 框架,以 MaskBlockbasic building unit 来构建新的 ranking system 。具体而言,本文基于 MaskBlock 设计了串行 MaskNet 模型和并行 MaskNet 模型。串行 rank model 一块又一块地堆叠 MaskBlock ;而并行 rank model 在共享的 feature embedding layer 上并行地放置多个 MaskBlock

    • (4):在三个真实数据集上进行了广泛的实验。实验结果表明,我们提出的两种 MaskNet 模型显著优于 SOTA 模型。结果表明,MaskBlock 通过 instance-guided maskDNN 模型引入 multiplicative operation ,确实增强了 DNN 模型捕获复杂特征交互的能力。

1.1 相关工作

  1. SOTACTR 模型:近年来,许多基于深度学习的 CTR 模型被提出,这些基于神经网络的模型大多以有效建模特征交互为关键因素。

    • Factorization-Machine Supported Neural Networks: FNN 是一种使用 FMembedding layer 进行预训练的 feed-forward neural network

    • Wide & Deep Learning 联合训练 wide linear modelsdeep neural networks ,从而结合推荐系统的记忆能力和泛化能力。然而,Wide & Deep 模型的 Wide 部分输入仍需要专业的特征工程。

    • 为了减轻特征工程的手动工作,DeepFMFM 替换了 Wide & Deep 模型的 Wide 部分,并在 FM 组件和 Deep 组件之间共享 feature embedding

    大多数 DNN ranking models 通过 MLP layers 以隐式方式处理高阶特征交互,但一些工作通过子网络显式引入高阶特征交互。

    • Deep & Cross Network: DCN 以显式方式有效地捕获有限阶的特征交互。

    • 类似地,eXtreme Deep Factorization Machine: xDeepFM 通过提出新颖的 Compressed Interaction Network: CIN 部分,以显式方式建模低阶和高阶特征交互。

    • AutoInt 使用多头自注意力神经网络在低维空间中显式建模特征交互。

    • FiBiNET 可以通过 Squeeze-Excitation network: SENET 机制动态学习特征重要性,并通过双线性函数学习特征交互。

  2. Feature-Wise Mask Or Gatingfeature-wise mask or gating已在视觉、自然语言处理、以及推荐系统中得到广泛探索。例如:

    • Highway Networks《Highway networks》 )利用 feature gating 来使得 very deep networksgradient-based training 更加容易。

    • Squeeze-and-Excitation Networks《Squeeze-and-excitation networks》)通过将每个通道与学到的 sigmoidal mask values 显式相乘来重新校准 feature responses

    • 《Language modeling with gated convolutional networks》 提出 gated linear unit: GLU ,用于控制在语言建模任务中预测 next word 时应传播的信息。

    gating or mask 机制也被应用于推荐系统:

    • 《Modeling task relationships in multi-task learning with multi-gate mixture-of-experts》 提出了一种新颖的多任务学习方法,Multi-gate Mixture-of-Experts: MMoE ,该方法显式地从数据中学习建模任务关系。

    • 《Hierarchical gating networks for sequential recommendation》 提出了一种 hierarchical gating network: HGN,以捕获用户的长期和短期兴趣。HGN 中的 feature gating 模块和 instance gating 模块分别从 feature levelsinstance levels 选择可以传递到下游 layersitem features

  3. Normalization:归一化技术已被公认为深度学习中非常有效的组件。许多归一化方法被提出,其中最流行的两种是 BatchNormLayerNorm

    • Batch Normalization (Batch Norm or BN) 通过 mini-batch 内计算的 mean and variance 对特征进行归一化。

    • layer normalization (Layer Norm or LN) 的提出是为了使得 RNN 的优化更加容易,layer normalization 的统计量不是在 mini-batch 中的 N 个样本上计算的,而是针对每个样本以 layer-wise 的方式独立估计的。

    归一化方法已被证明在加速深度网络的训练方面取得了成功。

1.2 我们提出的模型

  1. 在本节中,我们首先描述 feature embedding layer 。然后介绍我们提出的 instance-guided maskMaskBlockMaskNet 结构的细节。最后介绍作为损失函数的 log loss

1.2.1 Embedding Layer

  1. CTR 任务的输入数据通常由 sparse featuresdense features 组成,sparse features 大多为 categorical 类型。此类特征被编码为 one-hot vectors,对于大型词表来说,这通常会导致特征空间维度过高。解决这个问题的常用方法是引入 embedding layer。一般来说,sparse input 可以表示为:

    x={x1,x2,,xf}

    其中:

    • f 表示 fields 数量。

    • xiRn 表示具有 n 个特征的 categorical fieldone-hot vector

    我们可以通过以下方式获得 one-hot vector xifeature embedding ei

    ei=WexiRk

    其中,WeRk×nembedding 矩阵,kfield embedding 的维度。

  2. 数值特征 xj 也可以通过以下方式转换为相同的低维空间:

    ej=vj×xj

    其中:vjRk 是对应的 field embedding ,维度 k

  3. 通过上述方法,在原始 feature input 上应用 embedding layer ,将其压缩为低维稠密的实值向量。embedding layer 的输出是一个 wide concatenated vector

    vemb=concat(e1,e2,,ei,,ef)

    其中:f 表示 fields 数量;eiRk 表示一个 fieldembedding

    尽管 input instances 的特征长度可能不同,但它们的 embedding 的长度均为 f×k,其中 kfield embedding 的维度。

    实际上 input instances 的特征长度是相同的,就是等于特征数量。

    我们使用 instance-guided maskmultiplicative operation 引入 DNN ranking system。在本文的后续部分中,所谓的"instance" 指的是当前输入实例的 feature embedding layer

1.2.2 Instance-Guided Mask

  1. 我们利用 instance-guided maskinput instance 中收集的全局信息,动态地 highlightfeature embedding layerfeed-forward layer 中的 informative 元素。

    • 对于 feature embeddingmask 强调具有更多信息的关键元素,以有效表示该特征。

    • 对于 hidden layer 中的神经元,mask 通过考虑 input instance 中的上下文信息,帮助那些重要的特征交互凸显出来。

    除此之外,instance-guided mask 还将 multiplicative operation 引入 DNN ranking system,以更有效地捕获复杂的特征交叉。

    input instance 就是 feature embedding :它是第一层 feature embedding layer 的输出。

  2. Figure 1 所示,instance-guided mask 中使用了两个带有恒等函数的全连接(fully connected: FC)层。需要注意的是,instance-guided mask 的输入始终来自 input instance ,即 feature embedding layer

    • 第一个 FC layer 称为 "aggregation layer"。与第二个 FC layer 相比,它是一个相对更宽的层,以便更好地收集 input instance 中的全局上下文信息。aggregation layer 具有参数 Wd1,这里的 d1 表示第 d1mask。对于 feature embedding layer 和不同的 MLP layers ,我们采用不同的 instance-guided mask ;每个 mask 拥有自己的参数,以从 input instance 中学习捕获各层的不同信息。

    • 第二个 FC layer 称为 "projection layer",使用参数 Wd2 将维度降低到与 feature embedding layer vembhidden layer vhidden 相同的维度。即:

      vmask=Wd2(relu(Wd1vemb+βd1))+βd2

      其中:

      • vembRm=f×k 指的是 input instanceembedding layer

      • Wd1Rt×mWd2Rz×tinstance-guided mask 的参数;tz 分别表示 aggregation layerprojection layer 的神经元数量,f 表示 fields 数量,kfield embedding 的维度。

      • βd1Rtβd2Rz 是两个 FC layerlearned bias

      注意:

      • 如果作用在 Feature Embedding Layer 之上,那么: z=mvmaskvemb 维度相同。

      • 如果作用在 MaskBlock 之上,那么: zmvmaskvemb 维度,zhidden size

      需要注意的是,aggregation layer 通常比 projection layer 更宽,因为 projection layer 的大小需要与 feature embedding layerMLP layer 的大小相等。因此,我们将 r=t/z 定义为压缩比,这是一个超参数,用于控制两层神经元数量的比例。

      注意:这里的 r 是大于 1 的。把它叫做 “膨胀比” 可能更合适。

  3. 在这项工作中,逐元素乘法用于将 instance-guided mask 聚合的全局上下文信息融入 feature embedding layerhidden layer,如下所示:

    vmaskedEMB=vmaskvembvmaskedHID=vmaskvhidden

    其中,vemb 表示 embedding layervhidden 表示 feed-forward layer 表示两个向量之间的逐元素乘法。

  4. instance-guided mask 可以被视为一种特殊的 bit-wise attention or gating 机制。它使用 input instance 中包含的全局上下文信息来指导训练期间的 parameter optimization

    • vmask 中较大的值意味着模型动态识别出 feature embedding layerhidden layer 中的一个重要元素。这个值被用于增强向量 vembvhidden 中的该元素。

    • 相反,vmask 中的小值将通过降低对应向量 vembvhidden 中的值来抑制 uninformative elements 甚至噪声。

  5. 采用 instance-guided mask 的两个主要优点是:

    • 首先,maskhidden layerfeature embedding layer 之间的逐元素乘法以统一的方式将 multiplicative operation 引入 DNN ranking system ,以更有效地捕获复杂的特征交互。

    • 其次,这种由 input instance 引导的细粒度 bit-wise attention 既可以减弱 feature embedding layerMLP layers 中噪声的影响,又可以 highlight DNN ranking systems 中的 informative 信号。

    instance-guided mask 更像是一种 input-drivenelement-wiseselection-gate

1.2.3 MaskBlock

  1. 为了克服 DNN 模型中 feed-forward layer 捕获复杂特征交互效率低下的问题,我们在这项工作中为 DNN ranking systems 提出了一个名为 MaskBlockbasic building block ,如 Figure 2Figure 3 所示。提出的 MaskBlock 由三个关键组件组成:layer normalization 模块、instance-guided mask 、以及 feed-forward hidden layer

    • layer normalization 可以使得网络的 optimization 更加容易。

    • instance-guided mask 为标准 DNN 模型的 feed-forward layer 引入 multiplicative interactions

    • feed-forward hidden layermasked information 进行聚合,以更好地捕获重要的特征交互。

    通过这种方式,我们将标准 DNN 模型中广泛使用的 feed-forward layer 转变为 addictive and multiplicative feature interactions 的混合体。

  2. Layer Normalization:首先,我们简要回顾 LayerNorm 的公式。

    一般来说,normalization 旨在确保信号在通过网络传播时具有零均值和单位方差,以减少 "covariate shift"《Batch normalization: Accelerating deep network training by reducing internal covariate shift》)。例如,layer normalizationLayerNormLN )(《Layer normalization》)的提出是为了使得 RNN 的优化更加容易。具体来说,设 x=(x1,x2,...,xH)RH 表示 normalization layers 的大小为 Hinputvector representation )。LayerNorm 将输入 x re-centersre-scales 为:

    h=gN(x)+bN(x)=xμδ,μ=1Hi=1Hxi,δ=1Hi=1H(xiμ)2

    其中:hLayerNorm layer 的输出; 是逐元素乘法操作;μδinput 的均值和标准差;bbiasggain ,它们是具有相同维度 H 的待学习参数。

    作为 MaskBlock 中的关键组件之一,layer normalization 可以同时用于 feature embedding layerfeed-forward layer

    • 对于 feature embedding layer ,我们将每个特征的 embedding 视为一层,以计算 LN 的均值、标准差、 biasgain,如下所示:

      LNEMB(vemb)=concat(LN(e1),LN(e2),,LN(ei),,LN(ef))

      这种在每个 embedding 上进行 LN 的方法值得借鉴。

    • 对于 DNN 模型中的 feed-forward layerLN 的统计量是在相应 hidden layer 包含的神经元中估计的,如下所示:

      LNHID(vhidden)=ReLU(LN(Wiz))

      其中:zRt 指的是 feed-forward layer 的输入;WiRm×tfeed-forward layer 的参数; tinput 的大小、mfeed-forward layer 的神经元数量。

      需要注意的是,我们在 MLP 中有两个位置可以放置 normalization operation :一个位置是在非线性操作之前,另一个位置是在非线性操作之后。我们发现,非线性操作之前的 normalization 性能始终优于非线性操作之后的 normalization 性能。因此,在本文中,MLP 部分使用的所有 normalization 都放置在非线性操作之前。

      这个发现也值得我们借鉴。

  3. Feature Embedding 上的 MaskBlock:我们通过结合三个关键元素(layer normalizationinstance-guided mask 和后续的 feed-forward layer)来提出 MaskBlockMaskBlock 可以堆叠形成更深的网络。根据每个 MaskBlock 的不同输入,我们有两种类型的 MaskBlockMaskBlock on feature embeddingMaskBlock on Maskblock。在本小节中,我们将首先介绍如 Figure 2 所示的 MaskBlock on feature embedding

    feature embedding vembMaskBlock on feature embedding 的唯一输入。在对 embedding vemb 进行 layer normalization 操作后,MaskBlock 利用 instance-guided mask 通过逐元素乘法来 highlight vemb 中的 informative elements 。形式上:

    vmaskedEMB=vmaskLNEMB(vemb)

    其中: 表示逐元素乘法,vmaskedEMB 表示 masked feature embedding

    需要注意的是,instance-guided mask vmaskinput 也是 feature embedding vemb

    我们在 MaskBlock 中引入 feed-forward hidden layer 和后续的 layer normalization 操作,以通过归一化的非线性变换(normalized non-linear transformation )更好地聚合 masked informationMaskBlock 的输出可以计算如下:

    voutput=LNHID(WivmaskedEMB)=ReLU(LN(Wi(vmaskLNEMB(vemb))))

    其中:WiRq×n 为第 iMaskBlockfeed-forward layer 的参数,n 表示 vmaskedEMB 的大小,q 表示 feed-forward layer 的神经元数量。

    注意:最外层的 ReLU 并未在 Figure 2 中展示出来。

    instance-guided mask 作为细粒度注意力将逐元素乘法引入 feature embedding ,而 normalization both on feature embedding and hidden layer 使得网络的 optimization 更加容易。MaskBlock 中的这些关键组件帮助 feed-forward layer 更有效地捕获复杂的特征交叉。

  4. MaskBlock on MaskBlock:在本小节中,我们将介绍如 Figure 3 中所示的 MaskBlock on MaskBlock。这种 MaskBlock有两个不同的输入:feature embedding vemb 、前一个 MaskBlock 的输出 voutputp 。这种 MaskBlockinput of instance-guided mask 始终是 feature embedding vembMaskBlock 利用 instance-guided mask 通过逐元素乘法来 highlight 前一个MaskBlock 的输出 voutputp 中的重要特征交互。形式上:

    vmaskedHID=vmaskvoutputp

    其中: 为逐元素乘法,vmaskedHID 表示 masked hidden layer

    为了更好地捕获重要的特征交互,MaskBlock 中引入了另一个 feed-forward hidden layer 和后续的 layer normalization 。通过这种方式,我们将标准 DNN 模型中广泛使用的 feed-forward layer 转变为 a mixture of addictive and multiplicative feature interactions,以避免那些 addictive feature cross models的低效性。MaskBlock 的输出可以计算如下:

    voutput=LNHID(WivmaskedHID)=ReLU(LN(Wi(vmaskvoutputp)))

    其中:WiRq×n 为第 iMaskBlockfeed-forward layer 的参数,n 表示 vmaskedHID 的大小,q 表示 feed-forward layer 的神经元数量。

1.2.4 MaskNet

  1. 基于 MaskBlock,可以根据不同的配置设计各种新的 ranking models。由 MaskBlock 组成的 rank model 在这项工作中称为MaskNet。我们还通过将 MaskBlock 用作 basic building block,提出了两种 MaskNet 模型:串行 MaskNetSerial MaskNet)、并行 MaskNetParallel MaskNet)。

    对于 Parallel MaskNet,所有的 Block 都是Feature Embedding 上的 MaskBlock, 它没有MaskBlock on MaskBlock

  2. Serial MaskNet:我们可以将 MaskBlock 逐个堆叠以构建 ranking system ,如 Figure 4 左侧的模型所示:

    • 第一个 blockMaskBlock on feature embedding

    • 所有其他 blocks 都是 MaskBlock on Maskblock ,以形成更深的网络。

    • prediction layer 放置在 final MaskBlockoutput vector上。

    在本文中,这种串行配置下的 MaskNet 称为 SerMaskNet。每个MaskBlockinstance-guided mask 的输入均来自 feature embedding layer vemb,这使得串行 MaskNet 模型看起来像一个在每个时间步共享输入的 RNN 模型。

  3. Parallel MaskNet:我们通过在共享的 feature embedding layer 上并行地放置多个 MaskBlocks on feature embedding,从而提出了另一种 MaskNet ,如 Figure 4 右侧的模型所示。在这种配置下,每个 block 的输入仅为 shared feature embedding vemb

    我们可以将这种 ranking model 视为 a mixture of multiple experts,就像 MMoE《Modeling task relationships in multi-task learning with multi-gate mixture-of-experts》) 所做的那样。每个 MaskBlock 关注特定类型的重要特征或特征交互。我们通过拼接每个 MaskBlock 的输出来收集每个专家的信息,如下所示:

    vmerge=concat(voutput1,voutput2,,voutputi,,voutputu)R(qu)

    其中:voutputiRq 为第 iMaskBlock 的输出;q 表示 MaskBlockfeed-forward layer 的神经元数量;uMaskBlock 的数量。

    为了进一步合并每个专家所捕获到的特征交互,在 concatenation information vmerge 上堆叠多个 feed-forward layers。设 h0=vmerge 表示 concatenation layer的输出,然后 h0 被馈入到深度神经网络中,feed forward process为:

    hl=ReLU(Wlhl1+βl)

    其中:l 是深度;ReLU 是激活函数;Wl,βt 为第 l 层的模型权重和 biashl 为第 l 层的 output

    prediction layer 放置在这组 feed-forward networks 的最后一层上。在本文的后续部分,我们将这种版本的 MaskNet 称为“ParaMaskNet”

1.2.5 Prediction Layer

  1. 综上所述,我们给出 proposed model 的输出的整体公式:

    y^=σ(w0+i=1nwixi)

    其中:

    • y^(0,1)CTR 的预测值;σ()sigmoid函数。

    • 如果是 SerMaskNet,那么 nlast MaskBlockoutput size;如果 ParaMaskNet,那么 nlast feed-forward layeroutput size

    • xifeed-forward layerbit valuewi 为每个 bit valuelearned weight

  2. 对于二分类问题,损失函数为 log loss

    L=1Ni=1Nyilog(y^i)+(1yi)log(1y^i)

    其中: N 为训练样本的总量;yi 为第 i 个样本的 ground truthy^ipredicted CTR

    optimization process 是最小化以下目标函数:

    Ω=L+λΘ

    其中:λ 为正则化系数;Θ 为参数集合,包括 feature embedding matrixinstance-guided mask matrixfeed-forward layer in MaskBlock 、以及 prediction 部分。

1.3 实验

  1. 在本节中,我们在三个真实数据集上评估所提出的方法,并进行详细的消融研究,以回答以下研究问题:

    • RQ1:基于 MaskBlockMaskNet 模型是否比现有的 SOTA 深度学习 CTR 模型表现更好?

    • RQ2MaskBlock 架构中各个组件的影响是什么?每个组件对于构建有效的 ranking system 是否必要?

    • RQ3:网络的超参数如何影响我们提出的两种 MaskNet 模型的性能?

    • RQ4instance-guided mask 是否根据 input instancehighlightfeature embedding layerfeed-forward layers 中的重要元素?

    下面,我们将首先描述实验设置,然后回答上述研究问题。

  2. 数据集:

    • Criteo 数据集:作为一个非常著名的公开真实世界的 display ad dataset ,包含每条广告的 display information 和相应的用户点击反馈,Criteo 数据集被广泛用于许多 CTR 模型的评估。Criteo 数据集中有 26 个匿名 categorical fields、以及 13continuous feature

    • Malware 数据集:MalwareKaggle 竞赛中发布的微软恶意软件预测(Microsoft Malware prediction)数据集。该竞赛的目标是预测 Windows 机器被感染的概率。恶意软件预测任务可以像典型的 CTR prediction 任务一样被公式化为二分类问题。

    • Avazu 数据集:Avazu 数据集包含按时间顺序排列的若干天的广告点击数据。对于每条点击数据,有 23 个字段表示单个 ad impression 的元素。

    我们将样本按 8:1:1 的比例随机划分为训练集、验证集和测试集。Table 1 列出了评估数据集的统计信息。

  3. 评估指标:

    • Area Under ROC: AUC

    • RelaImp:遵从 《Deep Feedback Network for Recommendation》RelaImp 也被用作另一个评估指标。RelaImp用于衡量:模型相对于 baseline modelAUC相对改进。由于随机策略的 AUC0.5,我们可以去除 AUC 分数的常数部分,并将RelaImp 形式化为:

      RelaImp=AUC(Mesuared Model)0.5AUC(Base Model)0.51
  4. 对比的模型:FMDNNDeepFMDeep&Cross Network: DCNxDeepFMAutoInt 模型。这些模型均在 “相关工作” 中讨论过。 FM 被视为评估中的 base 模型。

  5. 实现细节:

    • 我们在实验中使用 TensorFlow 来实现所有模型。

    • 对于优化方法,我们使用 Adammini-batch size = 1024 ,学习率设置为 0.0001

    • 对于本文中的神经网络结构,我们将所有模型的 field embedding 维度固定为 10 。对于包含 DNN 部分的模型,hidden layers 的深度设置为 3,每层神经元数量为 400 ,所有激活函数为 ReLU

    • MaskBlock 的默认设置中,instance-guided mask 的压缩比(reduction ratio )设置为 2

    • 我们使用 2Tesla K40 GPU 进行实验。

1.3.1 性能对比 (RQ1)

  1. 不同模型在三个评估数据集上的整体性能如 Table 2 所示。从实验结果中,我们可以看到:

    • 串行模型和并行模型在所有三个数据集上均取得了更好的性能,并且相对于 SOTA 方法有显著改进。

      • 与基线 FM 相比,其准确率提升了 3.12%11.40%

      • 与基线 DeepFM 相比,其准确率提升了 1.55%5.23%

      • 与基线 xDeepFM 相比,其准确率提升了 1.27%4.46%

      我们还进行了显著性检验,验证了我们提出的模型在显著性水平( α=0.01)下优于基线模型。

      尽管 MaskNet 模型缺乏类似 xDeepFMCIN 这样的显式地捕获高阶特征交互的模块,但由于 MaskBlock 的存在,它仍然取得了更好的性能。实验结果表明,MaskBlock 通过 instance-guided masknormalized feature embedding and feed-forward layer 上引入乘法操作,确实增强了 DNN 模型捕获复杂特征交互的能力。

    • 关于串行模型和并行模型之间的比较,实验结果显示它们在三个评估数据集上的性能相当。这明确证明 了MaskBlock 是构建各种高性能 ranking systems 的有效 basic building unit

1.3.2 MaskBlock的消融研究 (RQ2)

  1. 为了更好地理解 MaskBlock 中每个组件的影响,我们对 MaskBlock 的关键组件进行了消融实验:每次仅移除其中一个组件,观察性能变化,包括 mask 模块、layer normalization(LN)feed-forward network(FFN)Table 3 显示了我们的两种完整版本MaskNet 模型及其仅移除一个组件的变体的结果。

    Table 3 的结果中,我们可以看到:

    • 移除 instance-guided masklayer normalization 都会降低模型性能,这表明 instance-guided masklayer normalization 都是 MaskBlock 有效性的必要组件。

    • 至于 MaskBlock 中的 feed-forward layer,其对串行模型或并行模型的影响存在差异:移除 feed-forward layer时,串行模型的性能显著下降,而对并行模型似乎没有影响。

      feed-forward layervoutput=vmaskedEMB ,而不是 LNHID(WivmaskedEMB)

      我们认为这表明:MaskBlock 中的 feed-forward layer 对于 instance-guided mask 之后聚合 feature interaction information 很重要。对于并行模型,并行 MaskBlock 上方的 multiple feed-forward layers 具有与 MaskBlockfeed-forward layer 类似的功能,这可能导致在移除 feed-forward layer 组件时两种模型的性能差异。

1.3.3 超参数研究 (RQ3)

  1. 在本文的后续部分,我们研究了超参数对两种 MaskNet 模型的影响,包括:feature embedding sizeMaskBlock 的数量、instance-guided mask 的压缩比。实验在 Criteo 数据集上进行,每次改变一个超参数,同时保持其他设置不变。超参数实验在其他两个数据集上显示出类似的趋势。

  2. Feature Embedding SizeTable 4 的结果显示了feature embedding size 对模型性能的影响。可以观察到:

    • 两种模型的性能在 embedding size 开始增加时均有所提高。

    • 但当在 embedding size 设置为大于 50SerMaskNet 模型)和 30ParaMaskNet 模型)时,模型性能下降。

    实验结果表明,模型受益于更大的feature embedding size

  3. MaskBlock 的数量:为了了解 MaskBlock 数量对模型性能的影响,我们对两种 MaskNet 模型进行了从 1 ~ 9blocks 的堆叠实验。实验结果列于 Table 5

    • 对于 SerMaskNet 模型,性能在开始时随着 blocks 数的增加而提高,直到 blocks 数量设置为大于 5

    • 而对于 ParaMaskNet 模型,当我们继续向其中添加更多 MaskBlock 时,性能缓慢提高。这可能表明,更多的专家提升了ParaMaskNet 模型的性能,尽管这会更耗时。

  4. Instance-Guided Mask 中的压缩比:为了探索 instance-guided mask 中压缩比的影响,我们进行了一些实验,通过改变 size of aggregation layer 从而将压缩比从 1 调整到 5

    实验结果如 Table 6 所示,我们可以观察到:不同的压缩比对模型性能的影响很小。这表明,在实际应用中,我们可以在 aggregation layer 中采用较小的压缩比以节省计算资源。

1.3.4 Instance-Guided Mask 研究 (RQ4)

  1. "Instance-Guided Mask" 章节所述,instance-guided mask 可以被视为一种特殊的 bit-wise attention 机制,用于基于当前 input instancehighlight 重要信息。我们可以利用 instance-guided mask 来增强 informative elements,并抑制 feature embedding layerfeed-forward layer 中的 uninformative elements 甚至噪声。

    为了验证这一点,我们设计了以下实验:在训练 SerMaskNet with 3 blocks 后,我们将不同的实例输入模型,并观察相应 instance-guided masks 的输出。

    • 首先,我们从 Criteo 数据集中随机采样 100,000 个不同的实例,并观察来自不同 blocksinstance-guided mask 产生的值的分布。Figure 5 显示了结果。我们可以看到:mask values 的分布遵循正态分布。超过 50%mask values 是接近零的小数,只有一小部分 mask values 是相对较大的数。

      这表明:

      • feature embedding layerfeed-forward layer 中的大部分信号是 uninformative 的甚至是 noise,这些信号被 small mask values 所抑制。

      • 然而,一些 informative information 通过 instance-guided mask 被较大的 mask values 所增强。

    • 其次,我们随机采样两个实例,并比较 instance-guided mask 所产生的值的差异。结果如 Figure 6 所示。我们可以看到:

      • 对于 feature embedding layermask values,不同的 input instances 导致 mask 关注不同的区域:instance Amask outputs 更多地关注前几个特征,而 instance Bmask values 则关注其他特征的某些 bits

      • feed-forward layermask values 中,我们观察到类似的趋势。

      这表明,input instance 确实引导 mask 关注 feature embedding layerfeed-forward layer 的不同部分。