PNN加强特征交叉能力
PNN 模型的提出同样是为了解决 CTR 预估和推荐系统的问题。对于上文中讲到的DeepCrossing模型,PNN模型在输人、Embedding层、多层 神经网络 以及最终的输出层部分并没有结构上的不同。唯一的区别在于 PNN 模型用乘积层 ProductLayer)代替了DeepCrossing模型中的Stacking层。也就 是说,不同特征的 Embedding 向量不再是简单的拼接,而是用 Product 操作进行 两两交互,更有针对性地获取特征之间的交叉信息。
特征域
“域”(field)代表特征域,域内的特征一般是采用one-hot编码形成的一段one-hot特征向量。例如用户的性别分别是男、女、未知,那么对于一个女性而言采用one-hot方式进行编码的特征向量为[0,1,0],这个三维的特征向量就是一个“性别”的特征域。
Product 的多种特征交叉方式
PNN 模型对于深度学习结构的创新主要在于乘积层的引人。具体地说,PNN模型的乘积层由线性操作部分(上图中乘积层的z部分,对各特征向量进行线性拼接)和乘积操作部分(上图中乘积层的 p部分)组成。其中,乘积特征交叉部分又分为内积操作和外积操作,使用内积操作的 PNN 模型被称为 IPNN( Inner Product-based Neural Network ), 使用外积操作的 PNN 模型被称为OPNN( Outer Product-based Neural Network )。无论是内积操作还是外积操作,都是对不同的特征 Embedding 向量进行两两组合。为保证乘积操作能够顺利进行,各Embedding向量的维度必须相同。
外积
上图表示UV向量的外积,其实是探索垂直空间的一种方式
PNN模型的优势和局限性
PNN的结构特点在于强调了特征Embedding向量之间的交叉方式是多样化的,相比于简单的交由全连接层进行无差别化的处理,PNN模型定义的内积和外积操作显然更有针对性地强调了不同特征之间的交互,从而让模型更容易捕获特征的交叉信息。但PNN模型同样存在着一些局限性,例如在外积操作的实际应用中,为了优化训练效率进行了大量的简化操作。此外,对所有特征进行无差别的交叉,在一定程度上忽略了原始特征向量中包含的有价值信息。如何综合原始特征及交叉特征,让特征交叉的方式更加高效,后续的 Wide&Deep 模型将会解决这类问题。