ABSTRACT
在一些深度学习推荐模型中,增加 artificial 的 features 通常会提升效果,比如 Wide & Deep 的 wide 测,但是人工设计特征代价很高。因此需要一种自动提取有效特征,丰富特征表示的方式。该工作提出了 Feature Generation by Convolutional Neural Network (FGCNN)模型解决该问题。FGCNN 有两个模块: Feature Generation 和 Deep Classifier。其中 Feature Generation 利用 CNN 去生成 local patterns 并且组合生成新的特征;Deep Classifier 则采用 IPNN 的结构去学习增强特征空间中的交互。该工作表明 CTR 预测的一个新方向:通过外部的模型减少 DNN 部分学习高阶特征的难度,本文就是通过 CNN+MLP 学习的特征,添加到 DNN 部分。如图 1 所示:
INTRODUCTION
文中解释了为什么 DNN 学习有效的特征交互有时候是比较困难的,因为有效的特征交互都是比较稀疏的。例如:现在有 4 个特征 Name, Age, Height, Gender,来预测用户是否下载一个电子游戏,因为只有 Age 和 Gender 这两个特征对是否下载游戏有影响,这时候 DNN 必须学习到 Name and Height 的 embedding 表示都是 0 才可以,这对于 DNN 是很难的。
当然 CNN 其实是不适合 CTR 预测问题的,因为特征之间不像图像、文本那样存在局部相关性。比如(Name, Age, Height, Gender) or (Age, Name, Height, Gender)其实是没什么区别的。因此作者在模型左侧 Feature Generation 部分结合使用了 CNN 和 MLP,互相取长补短吧。
Model
模型结构:
Feature Embedding:其实在输入到 Feature Generation 和 Deep Classifier 之前有一个 embedding 层,用于将特征映射到低维的空间中,embedding 做法和之前的一些模型都一样,比如 multi-values 的 id 特征,各自的 embedding 求和等。
Feature Generation:是 CNN+Recombination 结构,CNN 提取 useful neighbor feature patterns,recombination layer(全连接层)基于 CNN 提取的特征生成 global feature interactions。CNN+Recombination 包括:Convolutional Layer, Pooling layer 和 Recombination layer。Feature Generation 生成的特征和 raw features 最后需要合并。
Deep Classifier:使用 IPNN 模型(这里其实可以使用各种 advanced network)。IPNN 模型如下图所示:
Objective Function:
EXPERIMENTS
上图表明,FGCNN 模型的效果比其他模型都要好。
上图表明,FFCNN 模型可以作为现有模型的一个很好的补充,并且效果提升很明显。
总结:
本文的创新之处在于,利用 CNN+MLP 提出一种模块 Feature Generation,用于提取 DNN 难 get 到的交叉 feature,然后将生成的 new_features 和 old_features 拼接在一起,输入到其他任何 classifier(可以是 FM、DNN、IPNN、DeepFM 等)中,都能提升效果。
参考文献:
https://arxiv.org/pdf/1904.04447.pdf
本文转载自 Alex-zhai 知乎账号。
原文链接:https://zhuanlan.zhihu.com/p/70087762
评论