论文: 《DeepFM: A Factorization-Machine based Neural Network for CTR Prediction》
背景:常见的ctr模型需要专门的特征工程。设计了一种end-to-end的模型结构deepfm,同时侧重低阶和高阶特证。这个结构,既包含了fm部分和deep learning常见的网络结构部分。与最新的wide&deep结构相比,deepfm部分的wide和deep部分共享输入,不需要原始特征以外的特征工程。
相关工作
理解deepfm相比于wide&deep的改进就是,fm和deep部分共享了一个输入。这种共享使得可以学到低阶特征和高阶特征,同时避免了特征工程
具体原理
deepfm的输入,每个category field用一个向量表示,连续field则用value表示
fm部分就是一个fm模型。
deep部分则是将fm embedding后的向量作为输入,输到一个dnn里。
对于ctr预测任务,raw input通常是高维的,稀疏的,离散和连续混合,以fields聚合(比如年龄,性别)。这就需要一个embedding layer来将input_vector转换成一个低维的稠密输入。fm转化后的embedding正好起到了这个作用。
在deepfm里,不同field的embedding向量是一样的。同时fm不再预训练,统一联合训练。
与其他网络的区别
FNN(Factorization-machine supported Neural Network用FM来学习特征。然后输入到network,受限于FM的性能。预训练使embeeding的参数受影响,同时降低了效率
PNN(Product-based Neural Network)引入一个product layer在embedding之间和nework之间,
PNN和FNN,像其他model一样,缺少低阶特征的抽取。
wide&deep为了同时兼顾低阶特征和高阶特征,提出了wide&deep 网络。wide是一个线性结构。两个部分输入独立。缺点是wise部分仍然需要专门的特征工程。
实验设置
dropout:0.5
network-structure 400-400-400
lr和fm的优化算法是ftrl。
fm的隐向量size是10
实验结果比较
主要比较了训练效率和训练指标。
deepfm在训练效率上相比于lr,fm,fnn,pnn,wide&deep 达到最优。
在auc和logloss上同样大到最优。
超参数设置
在所有网络上尝试了不同的激活函数,ddropout值,神经元个数,网络层数,网络形状(递增或常数或diamond)