《MaskNet: Introducing Feature-Wise Multiplication to CTR Ranking Models by Instance-Guided Mask》
点击率(Click-Through Rate: CTR)预估已成为许多实际应用中最基础的任务之一。对于 ranking 模型而言,有效捕获复杂的高阶特征至关重要。浅层前馈网络(shallow feed-forward network)广泛应用于 FNN、DeepFM 和 xDeepFM 等许多 SOTA 的 DNN 模型中,用于隐式地捕获高阶特征交互。然而,有研究证明,加性(addictive )特征交互(尤其是前馈神经网络)在捕获常见特征交互时效率低下。为解决这一问题,我们通过提出实例引导的掩码(instance-guided mask)将特定的乘性操作(multiplicative operation )引入 DNN ranking system。instance-guided mask 在 input instance 的引导下,对 feature embedding layer 和 feed-forward layer 执行逐元素乘法。
input instance就是embedding vector(来自embedding layer的output)
本文还提出 MaskBlock,将 DNN 模型中的 feed-forward layer 转变为 addictive and multiplicative feature interactions 的混合体。MaskBlock 结合了 layer normalization 、instance-guided mask 和 feed-forward layer,是用于在各种配置下设计新 ranking model 的 basic building block 。由 MaskBlock 组成的模型在本文中称为 MaskNet。我们提出了两种新的 MaskNet 模型,以展示 MaskBlock 作为 basic building block 的有效性从而用于构建高性能 ranking systems 。在三个真实数据集上的实验结果表明,我们提出的 MaskNet 模型显著优于 DeepFM 和xDeepFM 等 SOTA 模型,这表明 MaskBlock 是构建新型高性能 ranking systems 的有效 basic building unit。
instance-guided mask更像是一种input-driven的element-wise的selection-gate。
CTR prediction 是指预测用户点击 recommended items 的概率,它在个性化广告和推荐系统中起着重要作用。许多模型已被提出用于解决这一问题,例如 Logistic Regression: LR、Polynomial-2 (Poly2) 、tree-based models 、tensor-based models 、Bayesian models 、以及 Field-aware Factorization Machines (FFMs) 。近年来,采用 DNN 进行 CTR estimation 也成为该领域的研究趋势。一些基于深度学习的模型被引入,如 Factorization-Machine Supported Neural Networks(FNN) 、Attentional Factorization Machine (AFM)、Wide & Deep (W&D) 、DeepFM、xDeepFM 等。
特征交互(feature interaction )对于 CTR 任务至关重要,ranking 模型有效捕获这些复杂特征至关重要。大多数 DNN ranking models 模型(如 FNN、W&D、DeepFM 和 xDeepFM)使用浅层 MLP layers 以隐式方式建模高阶交互,这是当前 SOTA 的 ranking systems 的重要组件。
然而, 《Latent cross: Making use of context in recurrent recommender systems》已证明:addictive feature interaction (尤其是前馈神经网络)在捕获常见特征交叉时效率低下。他们提出了一种简单但有效的方法,称为 "latent cross",这是 RNN 模型中 context embedding 与 neural 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 layer 和 feed-forward layer 执行逐元素乘法。instance-guided mask 利用从 input instance 中收集的全局信息,以统一的方式动态地 highlight 在 feature embedding layer 和 hidden layer 中的 informative elements。采用 instance-guided mask 有两个主要优点:
首先,mask 与 hidden layer or feature embedding layer 之间的逐元素乘法以统一的方式将 multiplicative operation 引入DNN ranking system,从而更有效地捕获复杂的特征交互。
其次,这是一种由 input instance 引导的细粒度的 bit-wise attention ,既可以减弱 feature embedding layer 和 MLP layers 中噪声的影响,又可以 highlight 在 DNN ranking systems 中的 informative signals。
通过结合 instance-guided mask 、以及后续的 feed-forward layer 和 layer normalization,我们提出了 MaskBlock。 MaskBlock 将常用的 feed-forward layer 转变为 addictive and multiplicative feature interactions 的混合体。 instance-guided mask 引入乘性交互(multiplicative interactions ),后续的 feed-forward hidden layer 对 masked information 进行聚合,以更好地捕获重要的特征交互。而 layer normalization 可以使得网络的 optimization 更加容易。
MaskBlock 可被视为在某种配置下设计新 ranking models 的 basic building block 。由 MaskBlock 组成的模型在本文中称为MaskNet 。我们提出了两种新的 MaskNet 模型,以展示 MaskBlock 作为构建高性能 ranking systems 的 basic building block 的有效性。
我们的工作贡献总结如下:
(1):在这项工作中,我们提出了一种 instance-guided mask,对 DNN 模型中的 feature embedding layer 和 feed-forward layers 执行逐元素乘法。instance-guided mask 中包含的全局上下文信息被动态融入 feature embedding layer 和 feed-forward layer,以 highlight 重要元素。
(2):我们提出了一个名为 MaskBlock 的 basic building block ,它由三个关键组件组成:instance-guided mask 、后续的 feed-forward hidden layer 和 layer normalization module 。通过这种方式,我们将标准 DNN 模型中广泛使用的 feed-forward layer 转变为 a mixture of addictive and multiplicative feature interactions 。
(3):我们还提出了一个名为 MaskNet 的新的 ranking 框架,以 MaskBlock 为 basic building unit 来构建新的 ranking system 。具体而言,本文基于 MaskBlock 设计了串行 MaskNet 模型和并行 MaskNet 模型。串行 rank model 一块又一块地堆叠 MaskBlock ;而并行 rank model 在共享的 feature embedding layer 上并行地放置多个 MaskBlock 。
(4):在三个真实数据集上进行了广泛的实验。实验结果表明,我们提出的两种 MaskNet 模型显著优于 SOTA 模型。结果表明,MaskBlock 通过 instance-guided mask 向 DNN 模型引入 multiplicative operation ,确实增强了 DNN 模型捕获复杂特征交互的能力。
SOTA 的 CTR 模型:近年来,许多基于深度学习的 CTR 模型被提出,这些基于神经网络的模型大多以有效建模特征交互为关键因素。
Factorization-Machine Supported Neural Networks: FNN 是一种使用 FM 对 embedding layer 进行预训练的 feed-forward neural network 。
Wide & Deep Learning 联合训练 wide linear models 和 deep neural networks ,从而结合推荐系统的记忆能力和泛化能力。然而,Wide & Deep 模型的 Wide 部分输入仍需要专业的特征工程。
为了减轻特征工程的手动工作,DeepFM 用 FM 替换了 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 机制动态学习特征重要性,并通过双线性函数学习特征交互。
Feature-Wise Mask Or Gating:feature-wise mask or gating已在视觉、自然语言处理、以及推荐系统中得到广泛探索。例如:
Highway Networks (《Highway networks》 )利用 feature gating 来使得 very deep networks 的 gradient-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 levels 和 instance levels 选择可以传递到下游 layers 的 item features 。
Normalization:归一化技术已被公认为深度学习中非常有效的组件。许多归一化方法被提出,其中最流行的两种是 BatchNorm 和 LayerNorm。
Batch Normalization (Batch Norm or BN) 通过 mini-batch 内计算的 mean and variance 对特征进行归一化。
layer normalization (Layer Norm or LN) 的提出是为了使得 RNN 的优化更加容易,layer normalization 的统计量不是在 mini-batch 中的 layer-wise 的方式独立估计的。
归一化方法已被证明在加速深度网络的训练方面取得了成功。
在本节中,我们首先描述 feature embedding layer 。然后介绍我们提出的 instance-guided mask 、MaskBlock 和 MaskNet 结构的细节。最后介绍作为损失函数的 log loss。
CTR 任务的输入数据通常由 sparse features 和 dense features 组成,sparse features 大多为 categorical 类型。此类特征被编码为 one-hot vectors,对于大型词表来说,这通常会导致特征空间维度过高。解决这个问题的常用方法是引入 embedding layer。一般来说,sparse input 可以表示为:
其中:
fields 数量。
categorical field 的 one-hot vector。
我们可以通过以下方式获得 one-hot vector feature embedding
其中,embedding 矩阵,field embedding 的维度。
数值特征
其中:field embedding ,维度
通过上述方法,在原始 feature input 上应用 embedding layer ,将其压缩为低维稠密的实值向量。embedding layer 的输出是一个 wide concatenated vector :
其中:fields 数量;field 的 embedding 。
尽管 input instances 的特征长度可能不同,但它们的 embedding 的长度均为 field embedding 的维度。
实际上
input instances的特征长度是相同的,就是等于特征数量。
我们使用 instance-guided mask 将 multiplicative operation 引入 DNN ranking system。在本文的后续部分中,所谓的"instance" 指的是当前输入实例的 feature embedding layer。
我们利用 instance-guided mask 从 input instance 中收集的全局信息,动态地 highlight 了 feature embedding layer 和feed-forward layer 中的 informative 元素。
对于 feature embedding ,mask 强调具有更多信息的关键元素,以有效表示该特征。
对于 hidden layer 中的神经元,mask 通过考虑 input instance 中的上下文信息,帮助那些重要的特征交互凸显出来。
除此之外,instance-guided mask 还将 multiplicative operation 引入 DNN ranking system,以更有效地捕获复杂的特征交叉。
input instance就是feature embedding:它是第一层feature embedding layer的输出。
如 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 具有参数 mask。对于 feature embedding layer 和不同的 MLP layers ,我们采用不同的 instance-guided mask ;每个 mask 拥有自己的参数,以从 input instance 中学习捕获各层的不同信息。
第二个 FC layer 称为 "projection layer",使用参数 feature embedding layer hidden layer
其中:
input instance 的 embedding layer 。
instance-guided mask 的参数;aggregation layer 和 projection layer 的神经元数量,fields 数量,field embedding 的维度。
FC layer 的 learned bias 。
注意:
如果作用在
Feature Embedding Layer之上,那么:, 与 维度相同。 如果作用在
MaskBlock之上,那么:, 与 维度, 为 hidden size。
需要注意的是,aggregation layer 通常比 projection layer 更宽,因为 projection layer 的大小需要与 feature embedding layer 或 MLP layer 的大小相等。因此,我们将
注意:这里的
是大于 1的。把它叫做 “膨胀比” 可能更合适。

在这项工作中,逐元素乘法用于将 instance-guided mask 聚合的全局上下文信息融入 feature embedding layer 或 hidden layer,如下所示:
其中,embedding layer ,feed-forward layer ,
instance-guided mask 可以被视为一种特殊的 bit-wise attention or gating 机制。它使用 input instance 中包含的全局上下文信息来指导训练期间的 parameter optimization。
feature embedding layer 或 hidden layer 中的一个重要元素。这个值被用于增强向量
相反,uninformative elements 甚至噪声。
采用 instance-guided mask 的两个主要优点是:
首先,mask 与 hidden layer 或 feature embedding layer 之间的逐元素乘法以统一的方式将 multiplicative operation 引入 DNN ranking system ,以更有效地捕获复杂的特征交互。
其次,这种由 input instance 引导的细粒度 bit-wise attention 既可以减弱 feature embedding layer 和 MLP layers 中噪声的影响,又可以 highlight DNN ranking systems 中的 informative 信号。
instance-guided mask更像是一种input-driven的element-wise的selection-gate。
为了克服 DNN 模型中 feed-forward layer 捕获复杂特征交互效率低下的问题,我们在这项工作中为 DNN ranking systems 提出了一个名为 MaskBlock 的 basic building block ,如 Figure 2 和 Figure 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 layer 对 masked information 进行聚合,以更好地捕获重要的特征交互。
通过这种方式,我们将标准 DNN 模型中广泛使用的 feed-forward layer 转变为 addictive and multiplicative feature interactions 的混合体。


Layer Normalization:首先,我们简要回顾 LayerNorm 的公式。
一般来说,normalization 旨在确保信号在通过网络传播时具有零均值和单位方差,以减少 "covariate shift"(《Batch normalization: Accelerating deep network training by reducing internal covariate shift》)。例如,layer normalization(LayerNorm 或 LN )(《Layer normalization》)的提出是为了使得 RNN 的优化更加容易。具体来说,设 normalization layers 的大小为 input(vector representation )。LayerNorm 将输入 re-centers 和 re-scales 为:
其中:LayerNorm layer 的输出;input 的均值和标准差;bias、gain ,它们是具有相同维度
作为 MaskBlock 中的关键组件之一,layer normalization 可以同时用于 feature embedding layer 和 feed-forward layer 。
对于 feature embedding layer ,我们将每个特征的 embedding 视为一层,以计算 LN 的均值、标准差、 bias 和 gain,如下所示:
这种在每个
embedding上进行LN的方法值得借鉴。
对于 DNN 模型中的 feed-forward layer,LN 的统计量是在相应 hidden layer 包含的神经元中估计的,如下所示:
其中:feed-forward layer 的输入;feed-forward layer 的参数; input 的大小、feed-forward layer 的神经元数量。
需要注意的是,我们在 MLP 中有两个位置可以放置 normalization operation :一个位置是在非线性操作之前,另一个位置是在非线性操作之后。我们发现,非线性操作之前的 normalization 性能始终优于非线性操作之后的 normalization 性能。因此,在本文中,MLP 部分使用的所有 normalization 都放置在非线性操作之前。
这个发现也值得我们借鉴。
Feature Embedding 上的 MaskBlock:我们通过结合三个关键元素(layer normalization、instance-guided mask 和后续的 feed-forward layer)来提出 MaskBlock。MaskBlock 可以堆叠形成更深的网络。根据每个 MaskBlock 的不同输入,我们有两种类型的 MaskBlock:MaskBlock on feature embedding 、MaskBlock on Maskblock。在本小节中,我们将首先介绍如 Figure 2 所示的 MaskBlock on feature embedding。
feature embedding MaskBlock on feature embedding 的唯一输入。在对 embedding layer normalization 操作后,MaskBlock 利用 instance-guided mask 通过逐元素乘法来 highlight informative elements 。形式上:
其中:masked feature embedding 。

需要注意的是,instance-guided mask input 也是 feature embedding
我们在 MaskBlock 中引入 feed-forward hidden layer 和后续的 layer normalization 操作,以通过归一化的非线性变换(normalized non-linear transformation )更好地聚合 masked information 。MaskBlock 的输出可以计算如下:
其中:MaskBlock 中 feed-forward layer 的参数,feed-forward layer 的神经元数量。
注意:最外层的
ReLU并未在Figure 2中展示出来。
instance-guided mask 作为细粒度注意力将逐元素乘法引入 feature embedding ,而 normalization both on feature embedding and hidden layer 使得网络的 optimization 更加容易。MaskBlock 中的这些关键组件帮助 feed-forward layer 更有效地捕获复杂的特征交叉。
MaskBlock on MaskBlock:在本小节中,我们将介绍如 Figure 3 中所示的 MaskBlock on MaskBlock。这种 MaskBlock有两个不同的输入:feature embedding MaskBlock 的输出 MaskBlock 的 input of instance-guided mask 始终是 feature embedding MaskBlock 利用 instance-guided mask 通过逐元素乘法来 highlight 前一个MaskBlock 的输出
其中: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 的输出可以计算如下:
其中:MaskBlock 中 feed-forward layer 的参数,feed-forward layer 的神经元数量。
基于 MaskBlock,可以根据不同的配置设计各种新的 ranking models。由 MaskBlock 组成的 rank model 在这项工作中称为MaskNet。我们还通过将 MaskBlock 用作 basic building block,提出了两种 MaskNet 模型:串行 MaskNet(Serial MaskNet)、并行 MaskNet(Parallel MaskNet)。
对于
Parallel MaskNet,所有的Block都是Feature Embedding上的MaskBlock, 它没有MaskBlock on MaskBlock。

Serial MaskNet:我们可以将 MaskBlock 逐个堆叠以构建 ranking system ,如 Figure 4 左侧的模型所示:
第一个 block 是 MaskBlock on feature embedding。
所有其他 blocks 都是 MaskBlock on Maskblock ,以形成更深的网络。
prediction layer 放置在 final MaskBlock 的 output vector上。
在本文中,这种串行配置下的 MaskNet 称为 SerMaskNet。每个MaskBlock 中 instance-guided mask 的输入均来自 feature embedding layer MaskNet 模型看起来像一个在每个时间步共享输入的 RNN 模型。
Parallel MaskNet:我们通过在共享的 feature embedding layer 上并行地放置多个 MaskBlocks on feature embedding,从而提出了另一种 MaskNet ,如 Figure 4 右侧的模型所示。在这种配置下,每个 block 的输入仅为 shared feature embedding
我们可以将这种 ranking model 视为 a mixture of multiple experts,就像 MMoE(《Modeling task relationships in multi-task learning with multi-gate mixture-of-experts》) 所做的那样。每个 MaskBlock 关注特定类型的重要特征或特征交互。我们通过拼接每个 MaskBlock 的输出来收集每个专家的信息,如下所示:
其中:MaskBlock 的输出;MaskBlock 中 feed-forward layer 的神经元数量;MaskBlock 的数量。
为了进一步合并每个专家所捕获到的特征交互,在 concatenation information feed-forward layers。设 concatenation layer的输出,然后 feed forward process为:
其中:ReLU 是激活函数;bias ;output 。
prediction layer 放置在这组 feed-forward networks 的最后一层上。在本文的后续部分,我们将这种版本的 MaskNet 称为“ParaMaskNet”。
综上所述,我们给出 proposed model 的输出的整体公式:
其中:
CTR 的预测值;sigmoid函数。
如果是 SerMaskNet,那么 last MaskBlock 的 output size;如果 ParaMaskNet,那么 last feed-forward layer 的 output size。
feed-forward layer 的 bit value;bit value 的 learned weight。
对于二分类问题,损失函数为 log loss:
其中: ground truth;predicted CTR。
optimization process 是最小化以下目标函数:
其中:feature embedding matrix、instance-guided mask matrix 、feed-forward layer in MaskBlock 、以及 prediction 部分。
在本节中,我们在三个真实数据集上评估所提出的方法,并进行详细的消融研究,以回答以下研究问题:
RQ1:基于 MaskBlock 的 MaskNet 模型是否比现有的 SOTA 深度学习 CTR 模型表现更好?
RQ2:MaskBlock 架构中各个组件的影响是什么?每个组件对于构建有效的 ranking system 是否必要?
RQ3:网络的超参数如何影响我们提出的两种 MaskNet 模型的性能?
RQ4:instance-guided mask 是否根据 input instance 来 highlight 了 feature embedding layer 和 feed-forward layers 中的重要元素?
下面,我们将首先描述实验设置,然后回答上述研究问题。
数据集:
Criteo 数据集:作为一个非常著名的公开真实世界的 display ad dataset ,包含每条广告的 display information 和相应的用户点击反馈,Criteo 数据集被广泛用于许多 CTR 模型的评估。Criteo 数据集中有 26 个匿名 categorical fields、以及 13 个 continuous feature 。
Malware 数据集:Malware 是 Kaggle 竞赛中发布的微软恶意软件预测(Microsoft Malware prediction)数据集。该竞赛的目标是预测 Windows 机器被感染的概率。恶意软件预测任务可以像典型的 CTR prediction 任务一样被公式化为二分类问题。
Avazu 数据集:Avazu 数据集包含按时间顺序排列的若干天的广告点击数据。对于每条点击数据,有 23 个字段表示单个 ad impression 的元素。
我们将样本按 8:1:1 的比例随机划分为训练集、验证集和测试集。Table 1 列出了评估数据集的统计信息。

评估指标:
Area Under ROC: AUC。
RelaImp:遵从 《Deep Feedback Network for Recommendation》,RelaImp 也被用作另一个评估指标。RelaImp用于衡量:模型相对于 baseline model 的 AUC相对改进。由于随机策略的 AUC 为 0.5,我们可以去除 AUC 分数的常数部分,并将RelaImp 形式化为:
对比的模型:FM、DNN、DeepFM、Deep&Cross Network: DCN、xDeepFM、AutoInt 模型。这些模型均在 “相关工作” 中讨论过。 FM 被视为评估中的 base 模型。
实现细节:
我们在实验中使用 TensorFlow 来实现所有模型。
对于优化方法,我们使用 Adam ,mini-batch size = 1024 ,学习率设置为 0.0001 。
对于本文中的神经网络结构,我们将所有模型的 field embedding 维度固定为 10 。对于包含 DNN 部分的模型,hidden layers 的深度设置为 3,每层神经元数量为 400 ,所有激活函数为 ReLU 。
在 MaskBlock 的默认设置中,instance-guided mask 的压缩比(reduction ratio )设置为 2。
我们使用 2 块 Tesla K40 GPU 进行实验。
不同模型在三个评估数据集上的整体性能如 Table 2 所示。从实验结果中,我们可以看到:
串行模型和并行模型在所有三个数据集上均取得了更好的性能,并且相对于 SOTA 方法有显著改进。
与基线 FM 相比,其准确率提升了 3.12% 到 11.40% 。
与基线 DeepFM 相比,其准确率提升了 1.55% 到 5.23%。
与基线 xDeepFM 相比,其准确率提升了 1.27% 到 4.46% 。
我们还进行了显著性检验,验证了我们提出的模型在显著性水平(
尽管 MaskNet 模型缺乏类似 xDeepFM 中 CIN 这样的显式地捕获高阶特征交互的模块,但由于 MaskBlock 的存在,它仍然取得了更好的性能。实验结果表明,MaskBlock 通过 instance-guided mask 在 normalized feature embedding and feed-forward layer 上引入乘法操作,确实增强了 DNN 模型捕获复杂特征交互的能力。
关于串行模型和并行模型之间的比较,实验结果显示它们在三个评估数据集上的性能相当。这明确证明 了MaskBlock 是构建各种高性能 ranking systems 的有效 basic building unit。

为了更好地理解 MaskBlock 中每个组件的影响,我们对 MaskBlock 的关键组件进行了消融实验:每次仅移除其中一个组件,观察性能变化,包括 mask 模块、layer normalization(LN)、feed-forward network(FFN)。Table 3 显示了我们的两种完整版本MaskNet 模型及其仅移除一个组件的变体的结果。
从 Table 3 的结果中,我们可以看到:
移除 instance-guided mask 或 layer normalization 都会降低模型性能,这表明 instance-guided mask 和 layer normalization 都是 MaskBlock 有效性的必要组件。
至于 MaskBlock 中的 feed-forward layer,其对串行模型或并行模型的影响存在差异:移除 feed-forward layer时,串行模型的性能显著下降,而对并行模型似乎没有影响。
feed-forward layer即,而不是 。
我们认为这表明:MaskBlock 中的 feed-forward layer 对于 instance-guided mask 之后聚合 feature interaction information 很重要。对于并行模型,并行 MaskBlock 上方的 multiple feed-forward layers 具有与 MaskBlock 中 feed-forward layer 类似的功能,这可能导致在移除 feed-forward layer 组件时两种模型的性能差异。

在本文的后续部分,我们研究了超参数对两种 MaskNet 模型的影响,包括:feature embedding size 、MaskBlock 的数量、instance-guided mask 的压缩比。实验在 Criteo 数据集上进行,每次改变一个超参数,同时保持其他设置不变。超参数实验在其他两个数据集上显示出类似的趋势。
Feature Embedding Size:Table 4 的结果显示了feature embedding size 对模型性能的影响。可以观察到:
两种模型的性能在 embedding size 开始增加时均有所提高。
但当在 embedding size 设置为大于 50(SerMaskNet 模型)和 30(ParaMaskNet 模型)时,模型性能下降。
实验结果表明,模型受益于更大的feature embedding size。

MaskBlock 的数量:为了了解 MaskBlock 数量对模型性能的影响,我们对两种 MaskNet 模型进行了从 1 ~ 9 个 blocks 的堆叠实验。实验结果列于 Table 5 。
对于 SerMaskNet 模型,性能在开始时随着 blocks 数的增加而提高,直到 blocks 数量设置为大于 5 。
而对于 ParaMaskNet 模型,当我们继续向其中添加更多 MaskBlock 时,性能缓慢提高。这可能表明,更多的专家提升了ParaMaskNet 模型的性能,尽管这会更耗时。

Instance-Guided Mask 中的压缩比:为了探索 instance-guided mask 中压缩比的影响,我们进行了一些实验,通过改变 size of aggregation layer 从而将压缩比从 1 调整到 5。
实验结果如 Table 6 所示,我们可以观察到:不同的压缩比对模型性能的影响很小。这表明,在实际应用中,我们可以在 aggregation layer 中采用较小的压缩比以节省计算资源。

如 "Instance-Guided Mask" 章节所述,instance-guided mask 可以被视为一种特殊的 bit-wise attention 机制,用于基于当前 input instance 来 highlight 重要信息。我们可以利用 instance-guided mask 来增强 informative elements,并抑制 feature embedding layer 和 feed-forward layer 中的 uninformative elements 甚至噪声。
为了验证这一点,我们设计了以下实验:在训练 SerMaskNet with 3 blocks 后,我们将不同的实例输入模型,并观察相应 instance-guided masks 的输出。
首先,我们从 Criteo 数据集中随机采样 100,000 个不同的实例,并观察来自不同 blocks 的 instance-guided mask 产生的值的分布。Figure 5 显示了结果。我们可以看到:mask values 的分布遵循正态分布。超过 50% 的 mask values 是接近零的小数,只有一小部分 mask values 是相对较大的数。
这表明:
feature embedding layer 和 feed-forward layer 中的大部分信号是 uninformative 的甚至是 noise,这些信号被 small mask values 所抑制。
然而,一些 informative information 通过 instance-guided mask 被较大的 mask values 所增强。

其次,我们随机采样两个实例,并比较 instance-guided mask 所产生的值的差异。结果如 Figure 6 所示。我们可以看到:
对于 feature embedding layer 的 mask values,不同的 input instances 导致 mask 关注不同的区域:instance A 的 mask outputs 更多地关注前几个特征,而 instance B 的 mask values 则关注其他特征的某些 bits 。
在 feed-forward layer 的 mask values 中,我们观察到类似的趋势。
这表明,input instance 确实引导 mask 关注 feature embedding layer 和 feed-forward layer 的不同部分。
