【论文导读】深入理解PNN模型---加入Product层
前言
本次分享一篇2016年提出的模型PNN(Product-based Neural Networks for User Response Prediction)。本文的主要创新点是在Embedding与MLP之间加入了Product层。对于本篇文章,希望大家能看一下我提出的一个【疑问】,如果知道的话,可以私聊下进行交流。
本篇文章约2.1k字,预计阅读15分钟。
PNN
PNN是2016年上海交通大学研究团队在ICDM(International Conference on Data Mining)会议提出的模型。由于文章距离现在时间过长,所以对其中的背景、挑战不再提及。主要叙述一下文章的创新点:对于之前DIN模型中提到过的BaseModel,PNN在Embedding层与MLP层中间加入了Product层,来更有针对性地获取特征之间的交叉信息。
PNN的简要流程为:
使用Embedding层将高维稀疏数据转化为低维密集型数据;
建立一个乘积层(内积或外积操作),来对embedding特征向量进行特征之间的交互;
使用MLP对高阶特征进行提取;
Model
文章对模型的结构的分析是从上到下,这里我们还是按照从下到上对模型进行解析。
输入(Input)层
模型输入由个特征域(Field)组成,都是离散稀疏的分类特征,如年龄、性别、id等(经过one-hot编码)。模型中并没有提及密集数值型数据,代码复现中可以在中进行插入。
Embedding 层
与BaseModel一样,对每一个离散稀疏的Field特征域进行Embedding操作,参数是通过神经网络的反向传播进行学习。
例如,第个域的embedding向量是embedding的输出:
其中表示包含多个领域的输入特征向量。表示第域的one-hot向量。表示embedding层的参数。
该层引入一个常数1,是为了方便叙述乘积层的操作。
乘积(Product)层
关于该层的和,文中描述的是linear signals
和quadratic signals
,翻译过来就是线性信号和平方信号,其实通俗来说,指的就是所有的特征域;而指的是两个embedding向量进行乘积(内积或外积)。公式描述为:
其中是第个域的embedding向量,为embedding维度,定义为特征交互对,表示乘积操作函数。
【注】 提一个很小很小的问题,这部分的结构似乎有点歧义,模型中特征域和其自身是不发生交互的,但是文章的内容却是进行自身的交互的(图应该没有表示清楚)。
L1层
在进行乘积层操作后,并没有把结果直接送入层,而是在乘积层内部有进行了局部全连接层的转换。线性信号和平方信号对应的局部全连接结果为,公式化描述为:
其中是乘积层的权重,为该层的隐藏单元。
故最后该层的输出为:
其中,
L2层
即一个全连接层,结构化表示为:
输出层
输出是一个概率值
其中
损失函数
最后监督训练使用了最小化对数损失,目标函数为:
其中
IPNN与OPNN
对于上述提到的乘积层操作函数
IPNN
首先定义内积:
由于线性部分
其中
对于两两特征向量内积相乘
且
对于
假设
其中
因此
更一般地,为了减少信息丢失,可以按需要考虑K-阶分解,当然复杂度也会相应提升K倍,这是一个trade-off。
【注】 关于空间复杂度,应该详细的解释一下,因为文章篇幅过短,并没有详细的提到。原本没有得到降维的空间复杂度是
【疑问】 关于这部分,我实在没理解为什么
OPNN
向量的内积运算输入为向量对,输出为一个标量。与其不同的是,向量外积操作的输出是得到一个矩阵。
首先定义外积操作的内积交互:
因此对于
对于计算
由于
对于叠加矩阵
,《深度学习推荐系统》提到:它的最终形式类似于让所有特征Embeddding向量通过一个平均池化层(Average Pooling)后,再进行外积操作。
实验
文章实验不在此处叙述,主要讨论的是模型的构建。但文章的实验设计简单明了,可以看一下原文。【图画的好】
代码复现
本文的模型结构也比较简单,进行了一下简单的复现。采用的数据集依旧是Criteo的样本数据集(原文也是使用了该数据集)。
GitHub地址::https://github.com/BlackSpaceGZY/Recommended-System
总结
文章最主要的创新就是在Embedding层和MLP层之间引入了一个Product层,通过embedding向量的乘积(内积和外积,当然也可以是其他形式)来增强特征域向量之间的交互。第二次看这篇文章,还是有了不少收获。
往期精彩回顾
【论文导读】Wide&Deep模型的进阶---Cross&Deep模型,附TF2.0复现代码
【论文导读】2019阿里CTR预估模型---DIEN(深度兴趣演化网络)
【论文导读】2018阿里CTR预估模型---DIN(深度兴趣网络),后附TF2.0复现代码
扫码关注更多精彩