论文笔记之Feature Generation by Convolutional Neural Network for Click-Through Rate Prediction

Feature Generation by Convolutional Neural Network for Click-Through Rate Prediction

目标:CTR预估。
本文指出之前的CTR预估模型大多都基于特征交互,然而这些模型的问题在于相比于特征交互空间的规模,真正有效的特征交互往往是稀疏的,因此在这种大量参数的情况下进行有效学习是困难的。
Wide & Deep通过在wide部分的特征工程来帮助deep部分的学习,然而,特征工程需要领域知识,并且代价较高。本文的想法是通过机器学习模型来进行高效的特征交互。

如上图的右边部分,原始特征放入model中来产生新的特征,之后原始特征和产生的新特征进行组合输入到deep neural network中。
产生的新特征通过提前捕捉稀疏但是重要的特征交互来减少deep model的学习难度。
最直接的学习特征交互的方法是使用MLP,然后把hidden neural作为产生的新特征(MLP其实可以看作是表示学习的过程)。然而,正如前面所提到的,真正有效的特征交互是非常稀疏的,用MLP从这么大的参数空间中学习特征交互是困难的。
同时本文指出了直接把CNN用在CTR预估任务中的缺点。在CTR预估任务中,原始特征的不同排列顺序并没有不同的意义(这一点与cv和nlp是不同的),如果只用CNN抽取局部区域的信息,那么很多有用的全局特征交互信息将会被丢失,这也是为什么CNN在CTR预估中表现不好的原因。
为了克服这一不足,本文使用CNN和MLP,两者是互补的,来学习global-local的特征交互信息。
本文提出了Feature Generation by Convolutional Neural Network(FGCNN),由Feature Generation和Deep Classifier两部分组成。
Feature Generation部分,通过CNN+MLP的结构来从原始特征中产生新特征。CNN学习了局部区域的特征交互(local),而通过MLP可以将它们进行组合来抽取全局的特征交互(global)。通过Feature Generation,组合原始特征和新的特征来扩充特征空间。
Deep Classifier部分,可以使用各种state-of-the-art的网络结构,比如PIN、xDeepFM、DeepFM。下文中,选择了IPNN作为Deep Classifier部分。

FEATURE GENERATION BY CONVOLUTIONAL NEURAL NETWORK MODEL

后面用到的notation如下。

Feature Embedding

输入通常是onehot的,对于连续型特征一般会做离散化再onehot。

通过embedding layer将高维稀疏向量转为低维稠密向量。如果特征域是onehot的,那么直接embedding;如果特征域是multi-hot的,如Interest=Football, Basketball,那么特征域的embedding为域上所有embedding之和。
对于一个实例,域i表示为一个低维向量ei(1 * k维),有nf个域,embedding size为k,那么每个实例可以表示为一个embedding matrix(nf * k维)

在FGCNN中,embedding matrix E同时用于Feature Generation和Deep Classifier,为了避免更新参数时梯度方向的不稳定(原文描述的是inconsistency),引入另一个embedding matrix E'用于Deep Classifier,而E用于Feature Generation。

Feature Generation

如上图,CNN通过较少的参数学习附近区域(local)有效的特征交互,之后通过recombination layer(一个全连接层)产生全局(global)的特征交互。

Convolutional Layer
Pooling Layer

使用max pooling layer来捕捉最重要的特征交互,并减少参数数量。pooling layer的高度为hp,宽度为1,第一个pooling layer的输出为

第i个pooling layer的输出作为第i+1个卷积层的输入,即E_i+1 = Si。

Recombination Layer

由于CNN的特点,如果直接把S1作为新特征,那么global的特征交互将会被忽略,因此引入一个全连接层来recombine local的特征来产生新特征。

Concatenation

如果有nc个卷积层、pooling层、recombination层的组合,那么Feature Generation部分产生的新特征为

拼接原始特征和新特征

E'为用于Deep Classifier部分的原始特征的embedding matrix。

Deep Classifer

Deep Classifier部分可以使用各种现有的模型,文中选择了IPNN进行说明。

Network Structure

看图基本上就很清晰了,IPNN的具体内容见PNN那篇paper。

此外,还可以在激活函数前加BN。Loss用交叉熵。

总结:这篇paper的核心想法在于,先学习一些重要的交互特征,而不是直接把原始数据放入deep model直接做CTR预估。

你可能感兴趣的:(论文笔记之Feature Generation by Convolutional Neural Network for Click-Through Rate Prediction)