Product-based Neural Networks for User Response Prediction阅读笔记
作者:互联网
动机
本文是2016年的一篇文章,提出了经典的推荐模型PNN。传统的推荐模型例如LR、GBDT、FM等在挖掘高阶关系和学习到高质量特征表示受到限制,而当时的深度学习模型存在着不同的问题,例如FNN不是端到端训练的模型,同时不足以提取出多个field的交互特征,CCPM只能做邻域特征交叉,无法进行全局特征交叉。本文提出的PNN可以解决上述模型的问题。
方法
PNN整体结构如下。
文章中讲述这个模型是自顶向下的,这里也按照这个顺序讲述。
首先因为本文是以广告中的预估CTR任务为例,最终的预测结果是CTR,因此有
这里W和b是可训练的参数(之后的W和b若无特殊说明都是这样设定),\(l_2\)是第2个hidden layer的输出,\(\sigma\)是sigmoid函数,接着往下
\(l_1\)是第一个hidden layer的输出
其中符号⊙表示
这里z表示线性信号,p表示二次信号,由product layer产生,具体下面会叙述。
\(f_i\)就是通过embedding layer得到的embedding向量。
损失函数采用交叉熵损失函数。
inner product
在product layer部分,作者提供了两种方法。首先是inner product。
对于线性部分
对于二次信息部分,定义为
这里\(p_{i,j}\)定义为\(f_i\)和\(f_j\)的内积。
为了简化计算,将\(w^n_p\)进行矩阵分解
outer product
对于outer product,线性部分是一样的,二次信息部分由原来的内积变为外积,即原来这部分输出是一个标量,这里变成了一个矩阵。为了简化计算,做以下处理。
实验结果
IPNN是product layer为inner product,OPNN是outer product,PNN*是将inner product和outer product连接起来的方法。PNN模型取得最好的效果。
总结
本文提出的模型PNN非常经典,至今还有不少论文把它当作baseline。本文的重点我认为在product layer这部分,通过内积或外积的方式让特征更好地交叉,同时也通过一系列简化策略,在尽可能不影响模型性能的情况下减少计算量。
标签:Product,based,Neural,模型,product,layer,inner,PNN,outer 来源: https://www.cnblogs.com/ambition-hhn/p/16465834.html