推荐系统与深度学习(6): [华为 2019]FGCNN: 基于卷积神经网络的CTR特征生成方法

以下为个人对文章的理解记录,如有错误,欢迎指正~~
如果觉得有帮助或者写的还行,点个赞呗~~~

Liu B, Tang R, Chen Y, et al. Feature generation by convolutional neural network for click-through rate prediction[C]//The World Wide Web Conference. 2019: 1119-1129.
原文链接:https://arxiv.org/pdf/1904.04447.pdf

一、简介

用户点击预测(Click Through Rate,CTR)是推荐系统中的关键任务,它可以估计用户点击一个item的概率。对于CTR预测的关键挑战是如何有效选择模型特征的交互。一般的线性模型,例如LR、FTRL虽然在实际使用中表现很好,但是缺少了学习特征交互的能力。为了克服这个限制,以FM为基础的模型被提出来,通过特征向量的内积建模成对特征的交互,并且取得了很不错的效果。随着深度学习在计算机视觉、自然语言处理中的成功。越来越多的深度学习模型也在CTR预测任务中被提出来,例如DeepFM、xDeepFM、DIN等等。这些模型将原始的特征输入到DNN中,学习显式的或者隐式的特征交互。理论上来说,DNN可以从原始的特征中学习到到任意的特征交互。然而由于有用的特征交互很稀疏,从大量的参数中学习有效的交互特征就变得很困难。
所以在WDL模型中,通过特征工程,在wide部分加入了手工特征,效果获得了显著提升。但是特征工程(人工特征)的划分比较昂贵,而且需要领域知识。因此如果我们可以通过机器学习模型自动生成有用的特征交互,这将会变得更加的使用和稳定。
本文中,提出了Feature Generation by Convolutional Neural Network (FGCNN)模型解决该问题。在FGCNN中,主要有两个模块: Feature Generation 和 Deep Classifier。其中Feature Generation模块利用CNN去生成local patterns并且组合生成新的特征。如果仅仅使用CNN的话,会丢失很多有用的全局特征交互,因此需要使用MLP模块。Deep Classifier则采用IPNN的结构去学习增强特征空间中的交互,学习有用的全局特征交互。需要注意的是,为了避免梯度下降的不一致性,在训练过程中,使用了两组Embedding matrix。该工作表明CTR预测的一个新方向:通过外部的模型减少DNN部分学习高阶特征的难度,本文就是通过CNN+MLP学习的特征,添加到DNN部分。如下图所示:


CONTRIBUTIONS:

  • CTR预测的一个重要方向是:通过预先自动生成重要特征来减少深度学习模型的优化困难。
  • 提出了一种用于自动特征生成和分类的新模型FGCNN,它包括两个部分:Feature Generation 和 Deep Classifier。其中Feature Generation利用CNN去生成local patterns并且组合生成新的特征;Deep Classifier则采用IPNN的结构去学习增强特征空间中的交互。
  • 在三个数据集上的实验表明FGCNN的有效性。

二、FGCNN模型解读

先看看FGCNN的完整模型,模型主要包含两个部分:Feature Generation 和 Deep Classifier。除此之外还有,Feature Embedding部分。

FGCNN完整模型

2.1 Feature Embedding

在输入Feature Generation和Deep Classifier之前,有一个Feature Embeding层,这也是深度学字中不可缺少的部分。将高维稀疏特征(one-hot encoding),映射到低维稠密特征中去。embedding做法和之前的一些模型都一样,比如multi-values的id特征,各自的embedding求和等。需要注意的是,为了避免梯度下降的不一致性,在训练过程中,使用了两组Embedding matrix。

2.2 Feature Generation

Feature Generation层是CNN+Recombination结构:其中CNN提取useful neighbor feature patterns;Recombination layer(全连接层)基于CNN提取的特征生成 global feature interactions。
下图给出了一个具体的例子,可以先具体琢磨一下。首先经过卷积层,将N&A的信息组合到一起(useful neighbor feature patterns);然后通过池化层选出显著的特征;最后再通过Recombination layer学习全局的特征交互。



再来看看完整模型的Feature Generation结构。
首先看下图中的红色框框的部分,了解过CNN的就可以可以看到这是个典型的(卷积+池化)* N的通过模式,在这里这个模式的输入为raw feature(B,1,24,40),24为field的数量,40为embeding的维度。是不是就很好计算了。再看看黄色框的Recombination部分,这就是一个全连接层。以S1为例,此时的维度为(B,6,12,40),通过全连接层得到R1(New Features),(B,3,12,40)。


Feature Generation部分

2.3 Deep Classifier

Deep Classifier的目的是学习Raw features和New generated features之间更加深层次的特征交互。论文中使用了IPNN模型,理论上可以使用各种advanced network。可以看出Feature Generation层只是增加了Field(Feature)的数量,假设原来只有F个Fields,通过eature Generation层生成了F_new个新的Fields,再通过连接,只是Fields的数量增加了,可以作为任何同类型CTR模型的输入。


三、实验分析

围绕以下五个问题,进行了完整细致的实验。


3.1 整体表现

回到了问题1,FGCNN在三个数据集的结果上超过了目前很多SOTAs的模型。


3.2 FGCNN和其他模型搭配使用的有效性

因为FGCNN之后的Deep Classifier可以是其他任何CTR模型,所以在这个实验中验证了FGCNN提升FM、DNN、DeepFM、IPNN效果。


3.3 FGCNN变体的有效性

为了验证FGCNN所使用的各个模块有效性。设计了这个实验。可以看作是消融分析(Ablation analysis)。


3.4 超参数的选择

3.5 原始特征顺序的影响

可以看到有了Racombination layer之后实现了更好的效果和稳定性。


四、小结

本文通过CNN+MLP的方式学习有用的useful local features和global features,既减少了WDL手工学习的昂贵开销,又缓解了因为特征的稀疏导致DNN学习的困难。将Feature Generation提取的New features和Raw features连接,可以输入到其他任何classifier(可以是FM、DNN、IPNN、DeepFM等)中,都能提升效果。
而且实验都很完整,从各个角度说明了FGCNN模型的有效性。在实验设计上值得个人学习。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,377评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,390评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,967评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,344评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,441评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,492评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,497评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,274评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,732评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,008评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,184评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,837评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,520评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,156评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,407评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,056评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,074评论 2 352