《CL4CTR: A Contrastive Learning Framework for CTR Prediction》
许多 CTR prediction
工作侧重于设计高级架构来建模复杂的 feature interactions
,但忽略了 feature representation learning
的重要性,例如,对每个特征采用一个简单的 embedding layer
,这会导致次优的 feature representations
,从而导致 CTR prediction
的性能较差。例如,低频特征(在许多 CTR
任务中占大多数特征)在标准的 supervised learning settings
中较少得到考虑,导致次优的 feature representations
。在本文中,我们引入自监督学习(self-supervised learning
)来直接生成高质量的feature representations
,并提出了一个与模型无关的 Contrastive Learning for CTR: CL4CTR
框架,该框架由三个 self-supervised learning signals
组成,以规范化 feature representation learning
:contrastive loss
、feature alignment
和 field uniformity
。
contrastive module
首先通过 data augmentation
构建 positive feature pairs
,然后通过 contrastive loss
最小化每对 positive feature pair
的 representations
之间的距离。
feature alignment constraint
使得来自同一 field
的特征的 representations
是接近的。
而 field uniformity constraint
使得来自不同 fields
的特征的representations
是远离的。
大量实验验证了 CL4CTR
在四个数据集上取得了最佳性能,并且具有良好的有效性,以及具有与各种代表性 baselines
模型的兼容性。
CTR prediction
旨在预测给定 item
被点击的概率,已被广泛应用于推荐系统和计算广告等许多应用领域。最近,许多方法通过建模复杂的特征交互(feature interactions: FI
) 取得了巨大成功。根据最近的研究,我们将 CTR prediction
方法分为两类:
(1)传统方法,如逻辑回归 (logistic regression: LR
)和基于 FM
的模型,它们只能建模低阶特征交互。
(2)基于深度学习的方法,如 xDeepFM
和 DCN-V2
,可以通过捕获高阶特征交互从而进一步提高CTR prediction
的准确性。此外,许多新颖的架构(例如,self-attention
、CIN
、PIN
)已被提出并广泛部署从而捕获复杂的任意阶的特征交互。
尽管在性能上取得了成功,但许多现有的CTR prediction
方法都存在一个固有问题:高频特征比低频特征有更高的机会被训练,导致低频特征的 representations
不是最优的。在 Figure 1
中,我们展示了 Frappe
数据集和ML-tag
数据集的特征累积分布(feature cumulative distributions
)。我们可以观察到特征频率的明显“长尾”分布,例如,在 ML-tag
数据集中尾部 80%
的特征仅出现 38
次或更少。由于大多数 CTR prediction
模型通过反向传播来学习 feature representations
,低频特征由于出现次数较少而无法得到充分训练,导致 feature representations
不是最优的,从而导致 CTR prediction
性能也不理想。
先前的一些研究(《A Dual Input-aware Factorization Machine for CTR Prediction》
、《An Input-aware Factorization Machine for Sparse Prediction》
)也意识到了 feature representation learning
的重要性,并建议在 embedding layer
之后部署 weight learning
模块(即 FEN
、Dual-FEN
),为每个特征分配权重以提升其 representations
。 然而,额外的 weighting
模块会增加模型参数和推理时间。 此外,与基于特征交互的方法类似,这些方法仅使用 supervised learning signals
来优化来自 plain embedding layer
的 feature representations
,这不足以产生足够准确的 feature representations
。 因此,在本文中,我们专注于直接从 embedding layer
学习准确的 feature representations
,而不引入额外的加权机制,这是模型无关的并且尚未得到广泛研究。
在本文中,我们试图利用自监督学习(self-supervised learning: SSL
)来解决上述问题,其中我们设计self-supervised learning signals
作为约束,从而在训练过程中规范化所学到的 feature representations
。如 Figure 2
所示,我们提出了一种称为 Contrastive Learning for Click Through Rate Prediction: CL4CTR
的新框架,该框架由三个关键模块组成:CTR prediction model
、contrastive module
、以及 alignment&uniformity constraints
。具体来说:
CTR prediction model
旨在预测用户点击 item
的可能性,在 CL4CTR
框架中可以用大多数现有的 CTR
模型来代替它。
在 contrastive module
中,我们设计了三个关键组件:
(1)
数据增强单元(data augmentation unit
),旨在为 output embedding
生成两个不同的视图作为 positive training pairs
,其包括三种不同的 permutation
方法:random mask
、feature mask
和 dimension mask
。
(2)
特征交互编码器(feature interaction encoder
),旨在基于来自数据增强单元的 perturbed embeddings
从而学习紧凑的 feature interaction representations
。
(3)
面向任务的对比损失(contrastive loss
),旨在最小化 positive training pairs
之间的距离。
此外,我们引入了两个约束:feature alignment
和 field uniformity
,以促进 contrastive learning
。feature alignment
迫使来自同一 field
的特征的 representations
尽可能接近,而 field uniformity
迫使来自不同 field
的特征的 representations
尽可能远离。
我们的主要贡献总结如下:
我们提出了一个与模型无关的对比学习框架 CL4CTR
,它可以以端到端的方式直接提高 feature representations
的质量。
考虑到 CTR prediction
任务的独有特点,我们设计了三个自监督学习信号(self-supervised learning signals
):contrastive loss
、feature alignment constraint
以及field uniformity constraint
,以提高对比学习的性能。
在四个数据集上进行的大量实验表明,只需将 CL4CTR
应用于FM
即可超越 SOTA
的方法。更重要的是,CL4CTR
与现有方法具有很高的兼容性,即它通常可以提高许多代表性的 baselines
的性能。
CTR prediction
是一个二分类任务。假设用于训练 CTR prediction
模型的数据集包含 multi-field
表格型的数据记录,包含 fields
和 Table 1
所示。
最近,如 Figure 2(a)
所示,许多 CTR prediction
模型遵循常见的设计范式:embedding layer
、FI layer
和 prediction layer
。
Embedding layer
:通常,每个输入 one-hot vector
表示的稀疏高维向量。而embedding layer
将稀疏的高维特征向量 embedding matrix
:
其中 embedding size
,;
表示向量拼接。
注意:这里是将
的每个特征获取 embedding vector
,然后拼接成矩阵(而不是一维向量)。
另外,我们使用 feature representations
,其中 field
的 representation
,field
Feature interaction layer
:FI layer
通常包含各种类型的交互操作从而捕获任意阶次的特征交互,例如 MLP
、Cross Network
、Cross Network2
和 transformer layer
等。我们将这些结构称为 feature interaction encoders
,用 embedding matrix
feature interaction representation
Prediction layer
:最后,prediction layer
(通常是一个线性回归或 MLP
模块)根据来自 FI layer
的紧凑 representations
sigmoid
函数。
最后,利用 predicted label
true label
CTR
模型常用的损失函数如下:
对比学习(Contrastive learning
):如 Figure 2
所示,除了上述组件之外,我们在 embedding layer
之上提出了三个 contrastive learning signals
:contrastive loss
、feature alignment constraint
和 field uniformity constraint
,以规范化 representation learning
。由于这些信号在模型推理过程中不是必需的,我们的方法不会增加推理时间和底层 CTR prediction
模型的参数。
受到自监督学习的成功的启发,我们寻求在 CTR prediction
任务中部署 contrastive learning
,从而生成高质量的 feature representations
。如 Figure 2(b)
所示,contrastive module
由三个主要组件组成:data augmentation unit
、FI encoder
和 contrastive loss function
。
在 data augmentation unit
中,我们提出了三种不同的面向任务的后验 embedding augmentation
技术来生成 positive training pairs
,即每个 feature embedding
的两个不同视图。
然后,我们将两个 perturbed embeddings
馈入到同一个 FI encoder
以生成两个 compressed feature representations
。
最后,应用 contrastive loss
来最小化两个 compressed feature representations
之间的距离。
通过 Output Perturbation
实现的 Data Augmentation
:在自监督学习中,数据增强(Data Augmentation
)在提高 feature representations
的性能方面显示出巨大的潜力。人们提出了不同的、设计良好的 augmentation
方法,并将它们用于构建同一输入实例的不同视图。例如,在序列推荐(sequential recommendation
)场景中,三种广泛使用的 augmentation
方法是 item masking
、reordering
和 cropping
(《Self-Supervised Learning for Recommender Systems: A Survey》
)。然而,这些方法旨在 augment
行为序列,并不适合部署在 FI-based CTR prediction
模型中。因此,我们首先提出了三种面向任务的 augmentation
方法,旨在为 FI-based
模型来扰动 feature embeddings
。如Figure 2(d)
所示,我们使用函数 data augmentation
过程。
随机掩码(Random Mask
)。首先,我们介绍 random mask
方法,它类似于 Dropout
。该方法以一定的概率 embedding
random mask
生成如下:
其中:1
的概率都是
特征掩码(Feature Mask
):受先前研究(《Feature generation by convolutional neural network for click-through rate prediction》
、《Autoint: Automatic feature interaction learning via self-attentive neural networks》
)的启发,我们建议在初始 embedding
中掩码特征信息,其中 feature mask
可以按如下方式生成:
其中:
如果一个特征被掩码,那么这个特征的 representation
将被 [mask]
替换,它是一个零向量。
维度掩码(Dimension Mask
):feature representations
的维度影响 deep learning
模型的有效性。受 FED
(《Dimension Relation Modeling for Click-Through Rate Prediction》
)的启发,它试图通过捕获维度关系来提高预测性能,我们建议通过替换 feature representations
中特定比例的维度信息来扰乱初始 embedding
,这可以描述如下:
其中:1
的概率都是
在训练过程中,我们选择上述掩码方法之一来生成两个 perturbed embedding
Figure 2(b)
中,
采用什么类型的掩码,这是在训练之前就确定好的,而不是在训练过程中动态三选一来选择的。
Feature Interaction Encoder
:我们利用一个共享的 FI encoder
从两个 perturbed embedding
feature interaction
信息,如下所示:
其中:FI encoder
函数;perturbed embeddings
生成的两个 compressed representations
。
值得注意的是,任何 FI encoder
都可以部署在我们的 CL4CTR
中,例如 cross-network
(《DCN-M: Improved Deep & Cross Network for Feature Cross Learning in Web-scale Learning to Rank Systems》
)、self-attention
( 《Autoint: Automatic feature interaction learning via self-attentive neural networks》
)和 bi-interaction
(《Neural factorization machines for sparse predictive analytics》
)。具体来说,我们选择 Transformer layer
作为我们的主要 FI encoder
。Transformer layer
被广泛用于提取特征之间的 vector-level
关系。
此外,我们发现一些 FI encoders
(例如 cross network
、PIN
)生成的 compressed representations
(field
FI encoder
的 representations
的维度降低到
其中,投影函数 MLP
。
如果采用了
Transformer Layer
,是不是就不需要Projector
了?
Contrastive Loss Function
:最后,应用对比损失函数(contrastive loss function
)来最小化上述两个 perturbed representations
之间的期望距离,如下所示:
其中:batch size
,
为了确保低频特征和高频特征得到同等的训练,一种简单的方法是在训练期间增加低频特征的频率、或降低高频特征的频率。受到其他领域(CV
,NLP
)中先前研究(《Understanding the behaviour of contrastive loss》
、《Understanding contrastive representation learning through alignment and uniformity on the hypersphere》
)的启发,它们可以通过引入两个关键属性(即 alignment and uniformity constraints
)来实现类似的目标,但它们需要构造 positive and negative sample pairs
来优化这两个约束。
在 CTR prediction
任务中,我们发现同一 field
的特征类似于 positive sample pairs
,不同 field
的特征类似于 negative sample pairs
。因此,我们为 CTR prediction
中的对比学习提出了两个新属性,即 feature alignment
和 field uniformity
,它们可以在训练过程中规范化 feature representations
。具体而言:
feature alignment
将来自同一 field
的特征的 representations
拉得尽可能接近。
相反,field uniformity
将来自不同 field
的特征的 representations
推得尽可能远。
Feature Alignment
:首先,我们引入 feature alignment
约束,旨在最小化来自同一 field
的特征之间的距离。直观地讲,通过添加 feature alignment
约束,同一 field
中的特征的 representations
应该在低维空间中分布得更紧密。正式地, feature alignment
的损失函数如下:
其中:feature
的 embedding
,它们来自同一field
;field
embeddings
。
field Uniformity
:现有的 CTR prediction
方法尚未广泛研究不同 field
之间的关系。例如,FFM
学习每个特征的 field-aware representation
,而 NON
提取 intra-field
信息,但它们的技术不能直接应用于对比学习。不同的是,我们引入 field uniformity
来直接优化 feature representation
,从而最小化属于不同 fields
的特征之间的相似性。field uniformity
的损失函数正式定义如下:
其中:
《Self-Supervised Learning for Recommender Systems: A Survey》
、《SelfCF: A Simple Framework for Self-supervised Collaborative Filtering》
)类似,我们使用余弦相似度来正则化 negative sample pairs
:
这里也可以使用其他相似度函数。
field
在 feature alignment
约束和 field uniformity
约束中,我们都发现低频特征和高频特征被考虑的机会是均等的。因此,在训练期间引入这两个约束可以大大缓解低频特征的 suboptimal representation
问题。
对于某些
field
,例如item id
,它的特征取值范围非常大,那么feature alignment
约束和field uniformity
约束如何处理?读者猜测是:采样一部分特征而不是使用该field
的全部特征。
为了将 CL4CTR
框架融入 CTR prediction
场景,我们采用 multi-task training
策略,以端到端的方式联合优化这三个辅助的自监督学习 losses
和原始 CTR prediction loss
。因此,最终的目标函数可以表示如下:
其中:contrastive loss
和 feature alignment and field uniformity loss
。
数据集:Frappe
、ML-tag
、SafeDriver
和 ML-1M
。四个数据集的统计数据如 Table 2
所示。
NFM
和 AFM
严格按照 7:2:1
将 Frappe
和ML-tag
分为训练集、验证集和测试集,我们直接遵循它们的设置。
对于 SafeDriver
和 ML-1M
,我们按照 《GateNet: Gating-Enhanced Deep Network for Click-Through Rate Prediction》
和 《DCAP: Deep Cross Attentional Product Network for User Response Prediction》
随机将实例分为 8:1:1
。这些数据集的详细描述可以在链接或参考资料中找到。
这些数据集都是
toy
数据集,没有工业数据集,因此说服力不是很强。
baselines
:为了评估提出的 CL4CTR
框架,我们将其性能与四类代表性 CTR prediction
方法行了比较:
1)
一阶方法,即原始特征的加权和,包括 LR
。
2)
基于 FM
的方法,考虑二阶的特征交互,包括 FM
、FwFM
、IFM
和 FmFM
。
3)
建模高阶的特征交互的方法,包括 CrossNet
、IPNN
、OPNN
、FINT
和 DCAP
。
4)
ensemble
方法或多塔结构,包括 WDL
、DCN
、DeepFM
、xDeepFM
、FiBi-NET
、AutoInt+
、AFN+
、TFNET
、FED
和 DCN-V2
。
所提出的 CL4CTR
框架与模型无关。为简单起见,base
模型 CL4CTR
之后记作 FM
作为 base
模型来验证 CL4CTR
的有效性,它仅仅建模二阶的特征交互,除了 feature representations
之外没有其他参数。因此, feature representations
的质量。CL4CTR
仅帮助 base CTR model
的训练,不会向推理过程添加任何操作或参数。
有可能在更优秀的
base
模型上,CL4CTR
的增益会很小甚至消失。因为更优秀的base
模型可能学到更好的representation
。
评估指标:AUC, Logloss
。
实现细节:
为了公平比较,我们使用 Pytorch
实现所有模型,并使用 Adam
优化所有模型。
Frappe
和 ML-tag
的 embedding size
设置为 64
,ML-1M
和 SafeDriver
的 embedding size
设置为 20
。同时,batch size
固定为 1024
。SafeDriver
的学习率为0.01
,其他数据集的学习率为 0.001
。
对于包含 DNN
的模型,我们采用相同的结构 {400,400,400,1}
。所有激活函数均为 ReLU
,dropout rate
为 0.5
。
我们根据验证集上的 AUC
执行早停,从而避免过拟合。我们还实现了 Reduce-LR-On-Plateau scheduler
,当给定指标在四个连续 epochs
内停止改进时,将学习率降低 10
倍。
每个实验重复 5
次,并报告平均结果。
在 CL4CTR
中, Transformer layers
。我们在最终损失函数中使用超参数:
在本节中,我们将 SOTA
的 CTR prediction
模型进行了比较。Table 3
显示了所有被比较的模型在四个数据集上的实验结果。
可以观察到:
与其他 baselines
相比,LR
和FM
的性能最差,这表明浅层模型不足以进行 CTR prediction
。
其他 FM-based
的模型通过引入 field importance
机制(例如,FwFM
和 IFM
)、或部署新颖的 field-pair matrix
方法(例如,FmFM
)来改进 FM
。
通常,基于 deep-learning
的模型(例如,DeepFM
、DCN
、DCN-V2
)将高阶特征交互与精心设计的特征交互结构相结合,比 FM
具有更好的性能。
baselines
。在 Frappe
、ML-tag
、ML-1M
和 SafeDriver
上,AUC
显著优于最强的基线 DCN-V2
分别为 0.13%
、0.11%
、0.39%
和 0.67%
(Logloss
值分别为 16.10%
、8.41%
、0.64%
和 1.46%
)。
此外,我们发现 Logloss
的改进比 AUC
的改进更显著,这表明 CL4CTR
使我们能够有效地预测真实的点击率。
同时, Table 3
显示了平均性能提升(ΔAUC
和 ΔLogloss
)。值得注意的是,大多数 SOTA
的 CTR prediction
模型都设计了复杂的网络来产生高级的 feature representations
和有用的 feature interactions
来提高性能。然而,我们的 CL4CTR
仅仅帮助 FM
通过对比学习从 embedding layer
学习准确的 feature representations
,而不是引入额外的模块。我们 CL4CTR
的改进验证了在 CTR prediction
任务中学习准确的 feature representations
的必要性。
兼容性分析:为了验证 CL4CTR
的兼容性,我们将其部署到其他 SOTA
模型中,例如 DeepFM
、AutoInt+
和 DCN-V2
。结果如 Table 4
所示。
首先,使用 CL4CTR
来 learning feature representation
可以显著提高 CTR prediction
的性能。应用 CL4CTR
后,base
模型的性能得到显著提升,这证实了我们通过提高 feature representations
的质量来提高 CTR prediction
模型性能的假设,并证明了 CL4CTR
的有效性。
此外,实验结果表明,学习高质量的 feature representations
至少与设计高级的特征交互技术一样重要。当这些模型利用监督信号进行训练时,建模复杂的特征交互可以提高 CTR
模型的性能,这解释了为什么 FI-based
的模型优于 FM
。
然而,在将自监督信号引入 CTR
模型以学习高质量的 feature representations
后,在配备了 CL4CTR
的所有模型之间,FM
可以取得最佳性能。可能的原因是:在 FM
中 feature representations
中的参数,而不会受到其他参数的干扰。
因为
FM
模型除了embedding layer
之外没有其它参数。
Data Augmentation
方法:为了验证我们提出的 data augmentation
方法的有效性,我们更改了 contrastive module
中的 augmentation
方法,并固定了其他 settings
以进行公平比较。此外,我们选择了不同的 baseline
模型并将 CL4CTR
部署到其中,以比较它们在此 setting
下的性能。Table 5
展示了实验结果。
在大多数情况下,random mask
方法取得了最佳性能。我们认为 random mask
比 feature mask
和 dimension mask
更具缓和性,因为它省略了 element
信息。
此外,在 Frappe
上,FwFM
模型使用 feature mask
方法取得了最佳性能;相反,在 SafeDriver
上FwFM
模型使用 dimension mask
方法取得了最佳性能,这表明我们提出的 augmentation
方法是有效的,并且可以用于不同的 baseline
模型和数据集。
FI Encoder
:在 contrastive module
中,FI encoder
也会影响 CL4CTR
的性能,因为不同结构的 FI encoder
抽取了不同的信息。例如:
Transformer layer
可以显式地建模 feature-level
的高阶特征交互。
而 CrossNet2
则专注于显式地建模 element-level
的有界阶次的特征交互。
DNN
是大多数 CTR
模型中一种常见且广泛使用的结构,用于隐式地建模 bit-level
的特征关系。
我们选择上述三种代表性的结构作为 FI encoders
并验证其性能。值得注意的是,我们采用了他们论文中报告的三层架构。Table 6
展示了实验结果。
可以观察到:
使用不同的 FI encoders
,CL4CTR
可以一致地提高这些 baseline
模型的性能。
此外,由于不同的 FI encoders
根据特定的 base
模型和数据集提取不同的信息,这些模型的性能也不同。然而,带有 Transformer layers
的 CL4CTR
在大多数情况下都能达到最佳性能,因为 Transformer layer
比其他的 layers
更有效。
损失函数:在本节中,我们通过分别从 CL4CTR
中剔除自监督学习信号(即 Table 7
所示。
首先,我们可以发现,在 baseline
模型中部署每一种自监督学习信号都可以提高其性能。
此外,通过分别比较 contrastive loss
和 alignment&uniformity constraints
,我们得出结论,它们在不同的数据集和 baseline
模型中发挥着不同的作用。具体而言:
具有 FM
的表现优于具有 FM
。
相反,具有 DCN
的表现不如具有 DCN
,这验证了我们的假设。
此外,当
此外,在 Logloss
评估的两个数据集上,采用 FM
的表现始终优于采用 FM
,这表明将feature alignment and field uniformity
引入 CTR prediction
模型使我们的预测概率更接近 true label
。
为了验证特征频率对不同模型的影响,我们将 ML-tag
测试集按照特征频率进行划分,并计算相应的Logloss
,其中 ΔLogloss
表示应用 CL4CTR
后相对于 base FM
模型的提升。Figure 3
展示了实验结果。
首先,低频特征对 base
模型的准确率有负面影响。具体而言,我们展示了 FM
、三个 SOTA
模型(AFN+
,DeepFM
,DCN-V2
)、以及
当输入子集包含低频特征时,所有模型的表现最差。
随着特征频率的增加,所有模型的性能都在持续提升。
当特征频率超过 20
时,所有模型的性能都趋于稳定。
Figure 3
证实了我们的假设,即仅使用具有单个监督信号的反向传播来学习低频特征的 representations
无法实现最佳性能。
其次,CL4CTR
可以有效缓解低频特征带来的负面影响,并在不同特征频率范围内保持最佳性能。通过应用 alignment&uniformity constraints
,我们确保低频特征可以在每个反向传播过程中得到优化,并且与高频特征有同等的机会。此外,contrastive module
还可以提高所有特征(包括低频和高频特征)的 representations
的质量。
这里的分组指的是被点击的
label tag
的频次。
损失函数中权重的影响:我们进一步研究了不同权重({1, 1e-1, 1e-2, 1e-3, 1e-4, 1e-5, 0}
中调优 settings
不变,以便进行公平比较。Figure 4
显示了实验结果。此外,在这两个数据集上 Logloss
的趋势与 AUC
的趋势一致。
总体而言,对于 Frappe
和 ML-1M
数据集,当 CL4CTR
的性能最佳。具体来说:
当 CL4CTR
的性能会下降。
此外,当 1
或 1e-1
)时,CL4CTR
的性能会显著降低。
同时,当 CL4CTR
的表现更差。
掩码比例:我们在 0.1
的步长更改掩码比例 Figure 5
显示了结果。
对于具有 Frappe
和 ML-1M上
的性能显示出相似的趋势。当掩码比例在0.4
或 0.5
左右时,
当选择较小的掩码比例(即 0.1
到 0.3
)时,模型性能会略有下降。
当掩码比例超过 0.5
时,模型性能持续下降,这是因为FI encoders
仅使用一小部分信息来生成有效的interaction representations
,以计算具有较高掩码比例的 contrastive loss
。
embedding size
:我们在 embedding layer
中将 embedding size
更改为从 16
到 64
,步长为 16
,并在 Figure 6
中展示实验结果。
可以观察到:
随着 embedding size
的增加,
同时,CL4CTR
可以提高所有 embedding size
的 FM
的性能。
此外,与具有 embedding size = 64
的 FM
相比,embedding size = 16
的小尺寸下实现了更好的性能。这意味着我们可以通过在 FM
上应用 CL4CTR
来减少参数,同时获得更好的结果。