目录:

· 摘要

· 背景

· 问题和方法

·  Co-Action Network方案

· 方案扩展

· 总结

· References

· 关于我们

▐ 一、摘要

排序模块在广告、推荐和搜索等系统中扮演着非常重要的角色。排序结果会直接影响用户的体验。因此排序技术一直是工业界和学术界的研究热点,其中的点击率预估技术更是重中之重。而特征交叉则是点击率预估模型的重要技术方向,本文介绍了近年来特征交叉的热门技术方案及其挑战,并提出了一种新的特征协同交互模型Co-Action Network(CAN),通过提高非线性特征交互的隐式学习容量来探索特征协同交互的潜力。该模型相关工作论文已发表在WSDM 2022,欢迎阅读交流。

论文下载:https://arxiv.org/abs/2011.05625

▐ 二、背景

我们团队主要负责展示广告场景的排序预估,点击率预估模型的性能除了影响平台营收,也关系到用户体验和广告主的营销效率。在展示广告的业务场景下,点击率预估模型的目标是预估给定广告、场景、用户的情况下该用户会点击该广告的概率,即  。近年来随着深度学习的发展,点击率预估模型也逐渐从传统的LR、FM、MLR等模型过渡到DNN模型,其整体的表达方式可以看做是一种Embedding&MLP的范式,基于这种范式逐渐涌现出了两类优秀的工作,一类是通用范式的特征交叉,例如:xDeepFM, ONN,FiBiNET等,这部分模型充分利用神经网络的学习能力挖掘特征信息的低阶、高阶融合从而提升点击率预估能力。另一类是基于物理意义先验的显式语义特征交互,例如DIN和PCF-GNN等,分别采用用户行为序列和图结构去捕捉用户和目标商品的相关性。在后者我们团队提出了兴趣建模这一技术方向,并持续耕耘产出了DIN/DIEN/MIMN/SIM等工作。因此我们也希望能在通用范式的特征交叉迭代中寻求技术增长,一开始我们的尝试是基于笛卡尔积的特征交叉,但远未达到预期的目标,随后我们打破以往的笛卡尔积组合惯性,尝试直接对序列特征和目标特征进行笛卡尔积组合,取得了不错的离线结果,不过在工业化上线的时候,这种方法在离线都遇到各种问题,且严重威胁到未来的技术迭代。因此我们转而尝试FM等参数化方案,这类方案性能可以,但效果远不如笛卡尔积。于是我们转而思考是否有更优雅的方式能够覆盖并超越笛卡尔积的效果,且不影响未来技术更迭。基于这样的思考路径,我们展开相关研究并最终设计出了Co-Action Network(CAN)。

▐ 三、问题和方法

通用范式的特征交叉指的是通过组合两个(或多个)特征来学习特征间非线性的组合高阶表达,其收益则是来自通过挖掘特征之间的共现组合,拓展了特征输入的表达,从而使得模型能更容易的学习到共现组合提供的信息。例如在真实的业务场景下,我们可以挖掘海量数据中用户特征和商品特征间的共现信息,如下图所示:

上述特征交叉的工业实现方案可以主要分为非参数化方案和参数化方案。

非参数化方案:显式的表达特征交叉ID,例如特征求交,笛卡尔积特征等。

参数化方案:主要通过模型参数隐式拟合的形式去捕捉特征的非线性组合能力,而参数化方案在DNN基础上的创新迭代又主要分为以下两类范式:

  • 范式一:通过模型参数拟合的过程中能够明确特征的交互关系,例如DeepFM,IPNN,ONN,以及本文的CAN。

  • 范式二:无法明确特征具体交互关系,通过设计更复杂的后端网络追求特征的implict组合和高阶融合,例如DCN,xDeepFM,FIBNET。

需要注意的是,两种范式并不冲突,如果我们将范式一定义丰富输入X,则范式二则是在复杂化F表达式,那么两者结合的F(X)可能会带来进一步收益,本文会在最后介绍CAN和范式二的结合升级。下面依次介绍一下各方法的实现和认识:笛卡尔积,IPNN,ONN,xDeepFM,FiBiNET,这些方法主要选取华为CTR Survey工作《Open Benchmarking for Click-Through Rate》里效果显著的模型。

1. 笛卡尔积

传统的笛卡尔积一般是将样本输入的任意两个特征进行组合拼成一个新的特征作为输入,我们在多种组合尝试后将其扩展到序列特征的组合中,具体操作是将待预估的商品信息(如item id)和用户行为序列信息(如item id sequence)做笛卡尔积,形成一个新的id sequence,对其直接做embedding后pooling,将该信息输入到后续DNN网络,在我们现有的主模型SIM上有比较明显的提升。但这种序列笛卡尔积在训练端和在线服务端成本很大,训练需要采用各种优化手段防止模型无限膨胀,且大小骤增的模型严重影响OL更新。在线服务因为每一次预估需要生成的ID(特征量级扩展参竞规模倍),和查询embedding的ID会急剧膨胀,RT和QPS都明显遭遇性能瓶颈,一言以蔽之则是给在离线都带来巨大挑战。

2. IPNN

IPNN,全称为Inner Product-based Neural Network,认为在embedding输入到MLP之后学习的交叉特征表达并不充分,提出了一种product layer的思想,即基于乘法的运算来体现体征交叉的DNN网络结构。

3. ONN

ONN可以看成是在IPNN基础上的基于Feature组合参数独立性的扩展,即可以理解成ONN=IPNN+FFM,ONN认为相同特征在交互过程中执行不同的操作应当使用不同嵌入向量,例如一共有n个特征,每个特征与其他特征做Inner Product会执行(n-1)次操作,加上不交互的嵌入向量,即一个特征需要有n个对应的嵌入向量。

4. xDeepFM

xDeepFM虽然命名看起来是DeepFM的延续,但其核心模块CIN实际是DCN的一种升级。对比DCN,CIN则从bit-wise改进为vector-wise,不同Feature Group的向量逐层与融合信息进行交互,特性同样是有限高阶、自动叉乘、参数共享。xDeepFM的模型架构图如下。

其中CIN才是该模型核心,其具体前馈流程如下图:

是Embedding的维度,是Feature Group的数量,是第层转移矩阵数量,转移矩阵的shape为,该转移矩阵也可以看成是一个卷积核,是原始Embedding,是第层的输出,具体执行逻辑是:

  • 和的每一列进行外积后拼接得到的矩阵P,对于来说,这里的 = m;

  • 将矩阵P经过个转移矩阵Conv1D后得到;

  • 将k层Layer的沿列SUM后送入DNN网络。

5. FiBiNET

文章指出当前的许多通过特征组合进行CTR预估的工作主要使用特征向量的内积或哈达玛积来计算交叉特征,这种方法忽略了特征本身的重要程度。提出通过使用Squeeze-Excitation network (SENET) 结构动态学习特征的重要性以及使用一个双线性函数来更好的建模交叉特征。

SENET有效性在论文中的解释是获取不同特征的重要性,但其实也可以看做是一种XF(X)的特征交叉,其中F是SENET计算权重的非线性拟合函数,权重可以看做vector-size特征交叉的相对向量,独特之处在于确保了特征交叉的时候不做Embedding向量内部的差异化,这种形式可以降低学习难度。

6. 挑战

如背景中所述,我们在迭代的过程中希望寻找一种参数化的方案能够超越笛卡尔积效果,但又能屏蔽掉笛卡尔积带来的在离线问题,但在尝试现有参数化方案后发现均有一定差距,分析原因主要是存在coupled-gradient和信息容量的问题,因此我们分析了笛卡尔积独立空间学习特征共现记忆的原理,基于此我们通过参数化的方式 将表征神经元化(micro net)设计了Co-Action Network,无需显式构建id即可逼近大规模序列端笛卡尔积效果,同时性能更友好。下文我们将详细展开,与此同时CAN模型主要针对的是范式一的优化升级,因此也存在和范式二的合并优化,后文会介绍合并后的模型设计与效果。

▐ 四、Co-Action Network方案

1. 方案概述

点击率预估模型的核心目标是给定用户、场景、商品等信息,预估用户的点击率。以DNN为基础的主流预估模型,均采用交叉熵损失函数进行监督训练,即商品特征、场景特征以及用户特征取完Embedding后送入全连接层中。其形式化描述是:

其中和分别表示用户特征和广告特征,表示将原始的离散ID映射为d维可学习的嵌入向量(embedding),作为整个模型的输入。将特征间交互建模考虑进来后,可进一步描述为:

其中表示和之间的交互建模。由于特征共现的存在,模型可以受益于特征交互。因此如何有效地对特征交互进行建模是提高模型表达能力的关键。仔细回顾以往的方法可以发现,它们要么以特征交互作为权重,要么同时隐式学习与其他目标的相关性,可能会产生不理想的结果。学习特征交互最直接的方法是将特征组合视为新的特征,直接学习每个特征组合的嵌入向量,如笛卡尔积。笛卡尔积提供了独立的参数空间,具有足够的灵活性来学习协同作用信息,从而提高预测能力。

然而,笛卡尔积式的建模也有一些严重的缺陷。首先是参数爆炸问题。大小为的两个特征进行笛卡尔积操作后的参数空间将从扩展到,其中D为嵌入维度,这将给在线系统带来巨大的负担。此外,由于笛卡尔积将<A, B>和<A, C>视为完全不同的特征,组合之间不存在信息共享,这也限制了组合的表示能力。

考虑到笛卡尔积的优点和计算的服务效率,我们提出了一种新的特征交互建模方法CAN。将笛卡尔积的表达变得可学习、可扩展并具备更高的自由度,演进过程如下:

对于每个特征对,其笛卡尔积产生一个新的特征和相应的嵌入。由于不同的特征对可能具有相同的特征,因此任意两个特征对之间存在隐含的相似度,而笛卡尔积忽略了这一点。如果能够有效地处理隐式相似度,则可以用比笛卡尔积更小的参数尺度更有效地建模这些特征对之间的相互作用。CAN模型受笛卡尔积独立编码的启发,首先对嵌入参数和特征交互进行区分,避免了特征间的相互干扰。考虑到DNN具有强大的拟合能力,进而设计了一个以micro net形式参数化特征嵌入的协同单元。由于不同的特征对可以共享同一个micro net,因此在该micro net中可以自然地学习和存储相似度信息。

2. 模型设计

该模型主要包括特征抽取模块、兴趣抽取模块、序列建模模块、特征交互模块等,整体框架如下图所示。其中左侧的Co-Action Unit具体刻画了隐式特征交互的过程。

CAN的主要改进是,在原有结构基础上将不同特征送入新设计的算子得到特征交互的表达向量,再额外送入全连接层中作为信息补充。其形式化表达如下,其中表示模型的参数:

CAN的实现细节主要有三部分,首先引入了一个动态可插拔的特征交互学习单元Co-Action Unit,该单元实现特征组合信息的表达。此外,为了在模型中加入高阶信息,引入了多阶增强的逻辑,它显式地为特征交互学习单元构造了一个多项式输入。为了防止不同特征组合的信息学习的数据穿越相互干扰,针对性地在多个方面合理的开辟新的参数空间,在有限的参数扩增下,有效的提高了自由度。

一般来说,特征交互学习单元是每个特征对的一个独立的MLP,即micro net,由特征对提供MLP的权值、偏置和输入。对于一个特定的用户特征ID ,使用参数查询获得可学习的参数,相应的目标商品ID 其参数为。然后,对进行重构,将其分割为micro net的权重矩阵和偏置向量。这一过程可以公式化为:

其中和表示micro net第i层的权重和偏置表示拼接运算,

WSDM 2022 | 点击率模型特征交叉方向的发展及CAN模型介绍相关推荐

  1. 【推荐算法】点击率模型特征交叉方向的发展及CAN模型介绍

    猜你喜欢 0.2022年人才市场洞察及薪酬指南 1.[免费下载]2022年1月份热门报告 2.[实践]小红书推荐中台实践 3.微信视频号实时推荐技术架构分享 4.腾讯QQ看点推荐场景的多目标架构实践 ...

  2. 效果广告点击率预估实践:在线学习

    效果广告点击率预估实践:在线学习 原创 2016-03-24 腾讯大数据 腾讯大数据 1.引言 技术钻研如逆水行舟,不进则退.公司的广告业务发展非常迅猛,有目共睹,激烈的外部竞争和客户越来越高的期望, ...

  3. 程序化广告交易中的点击率预估

    程序化广告交易中的点击率预估 指标 广告点击率预估是程序化广告交易框架的非常重要的组件,点击率预估主要有两个层次的指标: 1. 排序指标.排序指标是最基本的指标,它决定了我们有没有能力把最合适的广告找 ...

  4. 一种全新的点击率建模方案

    本文作者:branxu,腾讯 CDG 应用研究员 2018 年和 2019 年腾讯算法广告大赛都可以看做推荐系统问题.这类问题最重要的特征是点击率,最大的难点是冷启动.文本结合 2018 年比赛亚军方 ...

  5. CTR点击率预估干货分享

    1.指标 广告点击率预估是程序化广告交易框架的非常重要的组件,点击率预估主要有两个层次的指标:  1.排序指标.排序指标是最基本的指标,它决定了我们有没有能力把最合适的广告找出来去呈现给最合适的用户. ...

  6. 点击率预估与冷启动(一)

    点击率预估与冷启动(一) 之前一篇文章和大家聊了下<转化率模型与校准>,今天咱们来聊聊点击率预估以及冷启动的问题.有些读者在看完之后可能会发现这两者之间的微妙的联系.废话不多说,开启今天的 ...

  7. 广告点击率的贝叶斯平滑

    广告点击率的贝叶斯平滑 声明: 1)该博文是Yahoo专家所无私奉献的论文资料整理的.具体引用的资料请看参考文献.具体的版本声明也参考原文献 2)本文仅供学术交流,非商用.所以每一部分具体的参考资料并 ...

  8. 互联网广告综述之点击率系统

    互联网广告综述之点击率系统 声明: 1)该博文是整理自网上很大牛和专家所无私奉献的资料的.具体引用的资料请看参考文献.具体的版本声明也参考原文献 2)本文仅供学术交流,非商用.所以每一部分具体的参考资 ...

  9. 点击率预估的几个经典模型简介

     点击率预估的几个经典模型简介 2016-02-22 00:32 点击率预估是大数据技术应用的最经典问题之一,在计算广告,推荐系统,金融征信等等很多领域拥有广泛的应用.本文不打算对这个话题做个全面 ...

最新文章

  1. 当我们拿到数据进行建模时,如何选择更合适的算法?
  2. linux mint 19 与windows时间不同步
  3. UC伯克利摘最佳论文、Hugging Face获最佳demo,EMNLP 2020奖项公布
  4. 解决 项目cocoapods diff: /../Podfile.lock: No such file or directory
  5. php 怎么解析文本,PHP解析自定义纯文本数据库
  6. VS2005中GridView簡單應用
  7. python将一行作为字段_Python 变量代入,指定某一行截取输出字段
  8. 骇基-黑客攻防实战入门⑴
  9. 机器学习——DBN深度信念网络详解
  10. 服务器如何连接多屏显示器,电脑设置两个显示器多屏显示
  11. [江枫]In Memory Undo与logical standby database
  12. 计算机比赛小组名称和口号,小组名称口号大全(精选150个)
  13. Datawhale来到2050!
  14. TLS Origination for Egress Traffic(0.8)
  15. NTKO OFFICE文档控件使用
  16. Python 爬虫 批量下载论坛图片
  17. 河南大学计算机学院会搬到郑州吗,河南新增一所“重量级”本科大学,投资约12.8亿,当地考生有福了...
  18. echarts配置详解
  19. element-ui输入框限制只能输入数字一系列问题
  20. 智慧城市与数字城市、智能城市的关系和区别

热门文章

  1. IOS中关于MBProgressHUD的使用
  2. C#中创建文件并追加内容和换行
  3. 电脑显示计算机无法显示,如果计算机无法打开怎么办?
  4. 列车停站方案_4月10日零时起阜阳高铁、铁路大调图!最新列车时刻表来了!看看有没有你经常乘坐的列车?...
  5. java byte 拓展_Java项目中如何扩展第三方jar包中的类?
  6. 跨域失败 过滤器_跨域问题解决方案
  7. php 转义取消,php如何取消转义
  8. MySQL删除主键的操作方法
  9. Storyboard的简单使用
  10. JS面向对象(二)——构造函数的继承