三、PNN

  1. 在典型的推荐、广告任务中,大多数特征都是离散的categorical。一种常见做法是将这些离散特征进行 one-hot 编码,从而转化为稀疏二元特征 sparse binary feature

    传统模型非常依赖于特征工程从而捕获潜在的高阶模式,而 FM 等模型通过自动特征交叉捕获二阶交叉特征。

    论文 Product-based Neural Networks for User Response Prediction 提出了 Product-based Neural Networks:PNN 模型,该模型构建了一个 embedding 层来学习离散特征的分布式representation,构建一个 product 层来自动捕捉离散特征的潜在高阶模式。

3.1 模型

  1. 假设有 三、PNN - 图1fieldone-hot 向量为 三、PNN - 图2field i 在向量中的起始位置为 三、PNN - 图3、终止位置为 三、PNN - 图4(包含)。

    每个 field 生成一个 embedding 向量。即 field i 生成 三、PNN - 图5

    模型包含以下几层:

    • 第 0 层输入层:categorical 经过 one-hot 编码之后作为输入

    • 第1层embedding 层:模型从每个 field 中学得各 fieldembedding 表示。

      输入位置 三、PNN - 图6 仅仅与 三、PNN - 图7 相连,即:局部连接:

      三、PNN - 图8

      其中 三、PNN - 图9 为映射参数,它由 三、PNN - 图10 的第 三、PNN - 图11 到第 三、PNN - 图12 列组成。

    • 第2层 product 层:由embedding 特征的一阶特征和二阶交叉特征拼接而成。其中 三、PNN - 图13 部分表示一阶特征,三、PNN - 图14 部分表示二阶特征。为统一生成方式,三、PNN - 图15 由常数 1 和一阶特征交叉生成。

      三、PNN - 图16

      三、PNN - 图17 表示成对特征交叉,当定义不同的 三、PNN - 图18 函数时,就定义了不同的 PNN 实现。

      该层的输出为:

      三、PNN - 图19

      其中 三、PNN - 图20 表示对提取的一阶特征和二阶特征通过 三、PNN - 图21三、PNN - 图22 各自分别进行进一步的特征抽取的数量。三、PNN - 图23 类似于 CNN 的卷积核,其尺寸为整个图片大小, 三、PNN - 图24 为卷积核的数量,三、PNN - 图25 表示第 三、PNN - 图26 个卷积核。

      三、PNN - 图27 表示张量的内积,定义为:

      三、PNN - 图28

    • 第3层到第 三、PNN - 图29 层:全连接层。

      三、PNN - 图30

    • 最后一层:sigmoid 输出层。

      三、PNN - 图31

    模型的损失函数为 logloss

    三、PNN - 图32

    三、PNN - 图33

3.1.1 IPNN

  1. Inner Product-based neural network:IPNNIPNN 的特征交叉函数为:

    三、PNN - 图34

    则有:

    三、PNN - 图35

    则计算 三、PNN - 图36 的复杂度为:

    • 空间复杂度: 三、PNN - 图37

它们分别是计存储 三、PNN - 图38 的空间需求。

  • 时间复杂度: 三、PNN - 图39
  1. 为降低复杂度,可以将 三、PNN - 图40 分解:

    三、PNN - 图41

    则有:

    三、PNN - 图42

    其中 三、PNN - 图43

    则有:

    三、PNN - 图44

    则计算 三、PNN - 图45 的复杂度为:

    • 空间复杂度:三、PNN - 图46
    • 时间复杂度:三、PNN - 图47
  2. 三、PNN - 图48 仅仅是一阶分解,实际上可以进行更加通用的 三、PNN - 图49 阶分解:

    三、PNN - 图50

    其中 三、PNN - 图51 。此时有:

    三、PNN - 图52

    这种分解的代价更高,同时约束更弱。

3.1.2 OPNN

  1. Outer Product-based neural network:OPNNOPNN 的特征交叉函数为:

    三、PNN - 图53

    与内积产生标量不同,这里的外积产生一个矩阵。

    三、PNN - 图54

    计算 三、PNN - 图55 的复杂度为:

    • 空间复杂度:三、PNN - 图56 。它完全由 三、PNN - 图57 主导。
    • 时间复杂度:三、PNN - 图58 。它完全由 三、PNN - 图59 主导。
  2. 为降低复杂度,定义:

    三、PNN - 图60

    此时 三、PNN - 图61

    则计算 三、PNN - 图62 的复杂度为:

    • 空间复杂度: 三、PNN - 图63

      它们分别是计存储 三、PNN - 图64 的空间需求。

    • 时间复杂度: 三、PNN - 图65

3.1.3 讨论

  1. 当移除 product 层的 三、PNN - 图66 部分时,IPNNOPNN 完全相同。

  2. 当采用 IPNN 时,IPNNFM 模型非常相似。

    • FM 模型将抽取的一阶、二阶特征直接送入分类器
    • IPMM 模型将抽取的一阶、二阶特征,首先使用类似 CNN 的 “核函数” (由 三、PNN - 图67 给出)抽取 三、PNN - 图68 个特征,然后将抽取后的特征送入 DNN
  3. 向量的内积可以视为一系列的 “乘法&加法” 操作,乘法类似于 AND、加法类似于 OR。向量的外积只有乘法,类似于 AND

    因此 product 层可以视为学习一系列的 AND/OR 规则。

3.2 实验

  1. 数据集:

    • iPinYou:该数据集是一个公开的、真实的展示广告数据集,包含 1950万曝光数据,其中点击数据 14790个。
    • Criteo:一个著名的广告 benchmark 数据集,包含 1TB 的点击日志。

    论文采用连续的 7 天来训练,第 8 天数据来评估。

  2. 不同模型的评估结果如下所示,其中评估指标为 AUC,Logloss,RMSE,RIGRIG 表示相对信息增益 Relative Information Gain ,它等于 1-NE ,其中 NE 为归一化的交叉熵。

    • 模型配置:

      • FM 模型的 embedding 向量维度为 10 维。
      • CCPM 模型有一个 embedding 层、2个卷积层、1个最大池化层、1个隐层,一共五层。
      • FNN 模型有1个 embedding层、3个隐层,一共四层。
      • PNN模型有1个 embedding 层、1个 product 层、3个隐层,一共五层。
      • PNN*模型和 IPNN,OPNN 相同,但是 product 层是内积和外积的拼接。

      另外:LR,FM 使用 L2 正则化;FNN,CCPM,PNN 使用 dropout (0.5的遗忘率) 。

    • 结论:

      • FM 模型战胜了 LR 模型,说明 FM 模型有效的捕捉到了特征交互。
      • 神经网络模型(FNN,CCPM,IPNN,OPNN,PNN* )战胜了 LR 模型和 FM 模型,说明神经网络模型捕捉到了更高阶的潜在模式 latent pattern
      • 总体而言 PNN 模型效果最好(包括 IPNNOPNN 模型)。
      • 融合了 IPNNOPNNPNN* 模型并没有显著的强于 IPNNOPNN ,这说明 IPNNOPNN 捕捉交互特征的能力已经足够强大。

    三、PNN - 图69