【论文导读】深入理解PNN模型---加入Product层

本文深入解析2016年提出的PNN模型,重点介绍其在用户响应预测中的创新——在Embedding层和MLP之间加入Product层,用于增强特征交互。内容包括模型结构、乘积层、L1和L2层的细节,以及IPNN和OPNN的区别。此外,还提出了对Product层结构的一个疑问。
摘要由CSDN通过智能技术生成

前言

本次分享一篇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 signalsquadratic signals,翻译过来就是线性信号和平方信号,其实通俗来说, 指的就是所有的特征域 ;而 指的是两个embedding向量进行乘积(内积或外积)。公式描述为:

其中 是第 个域的embedding向量, 为embedding维度, 定义为特征交互对, 表示乘积操作函数。

【注】 提一个很小很小的问题,这部分的结构似乎有点歧义,模型中特征域和其自身是不发生交互的,但是文章的内容却是进行自身的交互的(图应该没有表示清楚)。

L1层

在进行乘积层操作后,并没有把结果直接送入 层,而是在乘积层内部有进行了局部全连接层的转换。线性信号 和平方信号 对应的局部全连接结果为 ,公式化描述为:

其中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值