DG-ENN: Dual Graph enhanced Embedding Neural Network for CTR Prediction (KDD’21)

性能简直无敌了,线下这个收益上线岂不是xx亿的收益?代价就是虽然是个端到端的模型,但是用到了全数据集的邻接矩阵,这可以在数据集上搞,可以在工业场景用吗?

就论文本身而言,我个人认为这篇文章的缺点是:我反复读这篇文章,发现根本无法实现其 “分治、field-wise” 的做法。所以我按我的理解介绍。

Motivation:稀疏的特征和稀疏的交互

在CTR场景中:(1)很多特征是很稀疏的,只出现很少的次数,这些特征的语义很难很好的学出,更不要说学出这些特征和其他特征的组合特征了;(2)很多用户的交互行为也是很稀疏的(长尾用户),导致长尾用户的兴趣也很难很好的学出。

问题(2)已经被广泛用GNN来解决了:NGCF、LightGCN等;那么问题(1)也可以用GNN来解决,所以再构建一个“Attribute Graph Convolution”来解决这个问题,这就是文章题目中“Dual Graph”的来源。

输入与输出

和所有CTR模型一样,模型的输入包括用户u、商品v、用户属性AuA_uAu、商品属性 AvA_vAv、用户点击过的商品序列 SuS_uSu、背景信息C,经过embedding layer输入模型的就是:
E=[eu,ev,eAu,eBv,eSu,eC]E=\left[e_{u}, e_{v}, e_{A_{u}}, e_{B_{v}}, e_{S_{u}}, e_{C}\right] E=[eu,ev,eAu,eBv,eSu,eC]
EEE 是各种模型的输入:DIN、DSIN等,文章提出的模型就是一个 “enhanced Embedding Neural Network”,其输出的
P=[p^u,p^v,zAu,zBv,p^Su,eC]P=\left[\hat{p}_{u}, \hat{p}_{v}, z_{A_{u}}, z_{B_{v}}, \hat{p}_{S_{u}}, e_{C}\right] P=[p^u,p^v,zAu,zBv,p^Su,eC]
是经过 Dual GNN 强化过的embedding,可以输入到各种CTR模型中,全都可以增强他们的性能。

这里就用了一个很简单的三层NN。

建图

图非常多,一共有5个图:用户属性图 Gua\mathcal{G}_{u a}Gua,物品属性图 Gva\mathcal{G}_{v a}Gva,user-user图 Guu\mathcal{G}_{u u}Guu,item-item图 Gvv\mathcal{G}_{v v}Gvv 和user-item图 Gcf\mathcal{G}_{cf}Gcf

属性图:

user-user图 Guu\mathcal{G}_{u u}Guu,一半来自user-KNN,一半来自特征相似度计算:
sim⁡(i,j)=α1⟨Yi,Yj⟩∥Yi∥⋅∥Yj∥+α2⟨Ai,Aj⟩∥Ai∥⋅∥Aj∥\operatorname{sim}(i, j)=\alpha_{1} \frac{\left\langle\mathbf{Y}_{i}, \mathbf{Y}_{j}\right\rangle}{\left\|\mathbf{Y}_{i}\right\| \cdot\left\|\mathbf{Y}_{j}\right\|}+\alpha_{2} \frac{\left\langle\mathbf{A}_{i}, \mathbf{A}_{j}\right\rangle}{\left\|\mathbf{A}_{i}\right\| \cdot\left\|\mathbf{A}_{j}\right\|} sim(i,j)=α1YiYjYi,Yj+α2AiAjAi,Aj
item-item图 Gvv\mathcal{G}_{v v}Gvv,来自用户点击过的商品序列 SuS_uSu中的一阶转移:

红框框中算一条边。

user-item图 Gcf\mathcal{G}_{cf}Gcf:user-user图 Guu\mathcal{G}_{u u}Guu,item-item图 Gvv\mathcal{G}_{v v}Gvv和user-item图 Guv\mathcal{G}_{u v}Guv的并集。

增强稀疏的特征

在用户属性图Gua\mathcal{G}_{u a}Gua、物品属性图Gva\mathcal{G}_{v a}Gva做图卷积,实现稀疏特征的增强。

卷积方法可以用GCN、NGCF、LightGCN,实验结果显示还是LightGCN的效果最好。对于一个属性 hhh,图卷积的输出是:
fLightGCN (l)(eh(l),eNh(l))=∑i∈Nhd(h,i)ei(l)e^h=∑l=0Leh(l)f_{\text {LightGCN }}^{(l)}\left(\mathbf{e}_{h}^{(l)}, \mathbf{e}_{N_{h}}^{(l)}\right)=\sum_{i \in N_{h}} d(h, i) \mathbf{e}_{i}^{(l)}\\ \hat{\mathbf{e}}_{h}=\sum_{l=0}^{L} \mathbf{e}_{h}^{(l)} fLightGCN(l)(eh(l),eNh(l))=iNhd(h,i)ei(l)e^h=l=0Leh(l)
这里得到了用户属性AuA_uAu、商品属性 AvA_vAv 中每个属性的embedding。把他们各自加起来就是user、item的embedding:
zu=∑t=1Je^u(t),zv=∑t=1Ke^v(t)\mathbf{z}_{u}=\sum_{t=1}^{J} \hat{\mathbf{e}}_{u}^{(t)}, \mathbf{z}_{v}=\sum_{t=1}^{K} \hat{\mathbf{e}}_{v}^{(t)} zu=t=1Je^u(t),zv=t=1Ke^v(t)

此时一条样本的输入就已经进化到了:
Z=[zu,zv,zAu,zBv,zSu,eC]\mathbf{Z}=\left[\mathbf{z}_{u}, \mathbf{z}_{v}, \mathbf{z}_{\mathbf{A}_{u}}, \mathbf{z}_{\mathbf{B}_{v}}, \mathbf{z}_{\mathbf{S}_{u}}, \mathbf{e _ { C }}\right] Z=[zu,zv,zAu,zBv,zSu,eC]

增强稀疏的交互

这里就和LightGCN之类的做法一样了,但是作者为了更novel一点,设计了课程式学习:现在user-user图上卷、再在item-item图上卷,最后再在 “user-item edges to learn the user-item preferences that can be used for user behavior expanding. ”,请问 Gcf\mathcal{G}_{cf}Gcf 用来干嘛了?

这时最终的embedding进化到了:
P=[p^u,p^v,zAu,zBv,p^Su,eC]P = \left[\hat{\mathbf{p}}_{u}, \hat{\mathbf{p}}_{v}, \mathbf{z}_{\mathbf{A}_{u}}, \mathbf{z}_{\mathbf{B}_{v}}, \hat{\mathbf{p}}_{\mathbf{S}_{u}}, \mathbf{e}_{\mathbf{C}}\right] P=[p^u,p^v,zAu,zBv,p^Su,eC]

实验效果

这个线下实验效果提升这么多,线上收益不得xx亿。

这篇提出的方法是一个embedding network,那用 P=[p^u,p^v,zAu,zBv,p^Su,eC]P = \left[\hat{\mathbf{p}}_{u}, \hat{\mathbf{p}}_{v}, \mathbf{z}_{\mathbf{A}_{u}}, \mathbf{z}_{\mathbf{B}_{v}}, \hat{\mathbf{p}}_{\mathbf{S}_{u}}, \mathbf{e}_{\mathbf{C}}\right]P=[p^u,p^v,zAu,zBv,p^Su,eC] 来输入到其他模型中呢:

小结

不像PCF-GNN,这是一个端到端的模型,但是用了全数据集的邻接矩阵,这合适吗。

【GCN-CTR】端到端的GNN-CTR:Dual Graph enhanced Embedding Neural Network for CTR Prediction (KDD‘21)相关推荐

  1. 6.DeepFM: A Factorization-Machine based Neural Network for CTR Prediction论文详解和代码实现

    一.总述 这篇论文来自哈工大&华为诺亚方舟实验室,主要关注如何学习user behavior背后的组合特征(feature interactions),从而最大化推荐系统的CTR.但目前的方法 ...

  2. DeepFM: A Factorization-Machine based Neural Network for CTR Prediction

    简介:学习用户行为背后的复杂特征交互对于推荐系统的CTR预估是很重要的,任务是预测用户点击推荐项目的概率.在在线广告中,提升收益是很重要的.所以排序策略成了CTR*bid,bid就是如果被一个用户点击 ...

  3. 飞桨端到端开发套件揭秘:低成本开发的四大秘密武器

    11 月 5 日,在 Wave Summit+2019 深度学习开发者峰会上,飞桨全新发布和重要升级了最新的 21 项进展,在深度学习开发者社区引起了巨大的反响. 很多未到场的开发者觉得遗憾,希望可以 ...

  4. 飞桨端到端开发套件揭秘:四大秘密武器,让你的开发效率直线提升

    11 月 5 日,在 Wave Summit+2019 深度学习开发者峰会上,飞桨全新发布和重要升级了最新的 21 项进展,在深度学习开发者社区引起了巨大的反响. 很多未到场的开发者觉得遗憾,希望可以 ...

  5. GPU端到端目标检测YOLOV3全过程(上)

    GPU端到端目标检测YOLOV3全过程(上) Basic Parameters: Video: mp4, webM, avi Picture: jpg, png, gif, bmp Text: doc ...

  6. Kubernetes端到端解决方案Part3:如何正确部署Kubernetes

    戳蓝字"CSDN云计算"关注我们哦! 在之前的文章中我们向您介绍了Kubernetes的入门挑战以及如何执行端到端的即服务解决方案.本篇文章,我们将继续探讨如何正确部署Kubern ...

  7. 端到端的框架DeepInf

    Facebook.Twitter.微信.微博等社交和信息网络活动已经成为我们日常生活中不可或缺的一部分,在这些活动中,我们可以很容易地了解朋友的行为,进而受到他们的影响.因此,对每个用户进行有效的社会 ...

  8. 高精地图落地 | InstaGraM:实时端到端矢量化高精地图新SOTA!

    点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心[高精地图]技术交流群 后台回复[高精地图综述]获取高精地图创建.高精地图定位等多篇综述 ...

  9. 借助chat GPT阅读文献——基于改进的时间-图卷积网络的端到端EEG信号疲劳驾驶分类模型

    借助chat GPT阅读文献--基于改进的时间-图卷积网络的端到端EEG信号疲劳驾驶分类模型 文章主要内容 文献原文 End-to-end fatigue driving EEG signal det ...

  10. 用TVM在硬件平台上部署深度学习工作负载的端到端 IR 堆栈

    用TVM在硬件平台上部署深度学习工作负载的端到端 IR 堆栈 深度学习已变得无处不在,不可或缺.这场革命的一部分是由可扩展的深度学习系统推动的,如滕索弗洛.MXNet.咖啡和皮托奇.大多数现有系统针对 ...

最新文章

  1. 文字识别技术在内容安全中的应用
  2. @Repository、@Service、@Controller 和 @Component
  3. Hadoop中Namenode单点故障的解决方案及详细介绍
  4. bs4爬取的时候有两个标签相同_PYTHON爬取数据储存到excel
  5. CentOS 7.0变动
  6. 1,Django 基础一
  7. 【kafka】控制台默认不能发送大数据 4096 4095 4129
  8. 美妆海报不会做? PSD分层模板轻松掌握大咖思路!
  9. 2022百度之星第一场初赛
  10. 第三方验收测试报告怎么做?
  11. JAVA 实现TCP请求转发
  12. Swift - URL转码解码
  13. 怎么看《就算老公一毛钱股份都没拿到,在我心里,他依然是最牛逼的创业者》文中创业公司 CEO 的行为?
  14. flutter ListView.separated使用
  15. 十月百度,阿里巴巴,迅雷搜狗最新面试十一题
  16. 学习java随堂练习-20220614
  17. Python中面向对象(学习笔记)
  18. 金蝶物料辅助属性改造
  19. JDBC编程的六个步骤以及使用示例(详细)
  20. MuJoCo - hybrid system的建模与控制

热门文章

  1. 退出android recovery界面,怎么退出recovery模式?
  2. vue 图片剪裁插件
  3. 数字经济时代,企业的核心竞争力究竟是什么?
  4. labelme批量json转png数据集教程
  5. 关于python中的三个点【...】
  6. 猫和计算机连接网络,猫、路由器和网卡的连接教程[图文]
  7. 华为云发布《云原生2.0架构白皮书》,GaussDB技术再升级
  8. 10.24程序员节日快乐
  9. STM32L476入坑-1
  10. 弗洛伊德的兔子与乌龟