前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CTR预估中实现高效笛卡尔积特征交叉的方法

CTR预估中实现高效笛卡尔积特征交叉的方法

作者头像
圆圆的算法笔记
发布2022-12-19 21:00:35
1K0
发布2022-12-19 21:00:35
举报

今天给大家介绍一篇WSDM2022阿里妈妈在CTR预估方面的工作,这篇工作重点探讨了什么样的特征交叉才是最有效的,并提出了一种代价较小的近似笛卡尔积的特征交叉模型。

  • 论文标题:CAN: Feature Co-Action for Click-Through Rate Prediction
  • 下载地址:https://arxiv.org/pdf/2011.05625.pdf

1

特征交叉升级动机

特征交叉一直是CTR预估中的提升效果的核心方法,很多CTR预估的工作也都围绕如何提升特征交叉的效果展开。典型的特征交叉工作例如FM、DeepFM、PNN等,通过设计每个id embedding在后续的交互方式,实现了隐空间中embedding级别的交叉。对这些CTR预估方法感兴趣的同学可以参考之前的文章一文读懂CTR预估模型的发展历程

然而,FM、DeepFM等方法对于特征交叉的使用并不是最直接的。最直接的特征交叉方法其实是两两特征之间的笛卡尔积。例如有A和B两个特征,没有笛卡尔积的情况下,我们使用A特征的id embedding和B特征的id embedding预估label;而有笛卡尔积的情况下,我们在上述两个特征之外引入了A特征和B特征组合得到的一个新特征的id embedding。原始的预估从p(y|A,B)变成p(y|A,B,AB)。笛卡尔积生成的独立表征是非常强的记忆特征,能够实现样本的穿越,即AB这个特征组合的信息能够无损的穿越到所有包含AB特征组合的样本。

相比之下,单独使用A特征和B特征的embedding预测,由于样本之间的相互影响,无法达到和笛卡尔积相同的目的。因此,通过增加两个特征笛卡尔积的方式能够最大限度提升特征交叉带来的效果增益。然而,FM等交叉方法,特征的embedding不仅承担着学习预估ctr的表示,也承担着学习特征交叉,这限制了特征交叉的学习能力。

笛卡尔积也有它的问题,直接构造笛卡尔积的id embedding,一方面会使参数量暴增,模型难以上线应用。另一方面,笛卡尔积意味着参数空间的指数级膨胀,在样本量不变的情况下,很多笛卡尔积的embedding得不到充分训练,影响特征交叉的效果。此外,特征组合如果完全ID化,也无法建模不同组合之间的关系,比如AC生成的id embedding与AB生成的id embedding应该是有关系的,但纯id化的表示无法刻画这种关系。

基于以上思考,本文提出了一种高效实现近似特征笛卡尔积的方式,既能利用笛卡尔积的强交互特征,参数量又不会暴增,解决笛卡尔积参数空间过大的问题

2

核心思路

这篇文章的核心去做的事就是如何给模型更多的容量,让模型能够处理特征之间的交叉。因为像之前所说,FM通过embedding内积的方式进行特征交叉,但是这些embedding还会用于ctr预估的表征学习,影响交叉的效果。同时,FM的点积也比较简单,难以像笛卡尔积embedding一样保留全部信息。

本文为了提升特征交叉部分的容量,主要做了两件事:第一件事是让ctr预估模型中的特征embedding和用来生成交叉特征的embedding参数分离;第二件事是设计了相比内积更复杂、容量更大的特征交叉网络。通过这种方式,让模型有充足的容量去学好特征交叉。

如下图所示,原始的笛卡尔积方法让特征交叉后得到新特征,输入到embedding层。右侧为本文提出的Co-Action Network,通过网路结构设计实现特征交叉,显著降低了模型参数量。

3

模型结构

本文提出的模型仍然是基于常规的Embedding+MLP架构,在此基础上增加了Co-Action Unit实现特征交叉。下图中右侧是整体的Embedding+MLP架构,左侧是每个Co-Action Unit单元的结构。

每个Co-Action Unit的输入为一对特征embedding,注意这里的特征embedding和ctr模型中用的embedding是两个独立的参数,为了不让ctr预估任务影响特征交叉的学习。文中将两侧的特征分别称为Induction侧和Feed侧。在Induction侧,将读取到的embedding通过reshape和split操作生成一个MLP网络的权重和bias参数,embedding的维度取决于要生成的MLP的尺寸,公式化可以表述为:

在Induction侧,将另一个特征作为上述MLP的输入,得到输出结果,作为特征交叉的结果:

上面这种方式的优点在于,将FM中的点积特征交叉方法替换为全连接,让模型有充足的空间进行特征交叉。FM可以看成是本文提出方法的一个特例,当上面的MLP退化成一层且不带激活函数和bias时,就是传统的FM。

4

实验结果

下图为在亚马逊和淘宝数据集上的效果,文中将Co-Action Unt应用到DNN和DIEN模型上,相比不加Co-Action Unt效果有1~4%的提升,这个效果提升幅度还是非常明显的。

在消融实验中,对比了特征交叉MLP的层数、是否加入激活函数、阶数等效果差异,可见特征交叉部分的网络越复杂,对于特征交叉的学习越充分,越能够近似笛卡尔积的结果,最终带来的效果提升就越明显。

文中对比了使用笛卡尔积、使用Co-Action Unit、二者都使用的效果差异,CAN能够达到和笛卡尔积相当的效果,同时对比CAN和笛卡尔积都加入的效果来看,二者存在比较大的overlap,表明CAN能够比较好的提取特征交叉信息。

END

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-10-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 圆圆的算法笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档