Feature Interaction

1. Deep & Cross

Deep and Cross 结构:

  • Deep 层正常DNN
  • Cross层做interaction
  • 将两部分输出拼接起来再过FC+sigmoid
  • Cross 层交叉组合特征,再加上一个residual block

Deep & Cross 特点

  • 有限高阶:叉乘阶数由网络深度决定,深度 对应最高 阶的叉乘
  • 自动叉乘:Cross输出包含了原始特征从一阶(即本身)到 阶的所有叉乘组合,而模型参数量仅仅随输入维度成线性增长:
  • 参数共享:不同叉乘项对应的权重不同,但并非每个叉乘组合对应独立的权重(指数数量级), 通过参数共享,Cross有效降低了参数量。此外,参数共享还使得模型有更强的泛化性和鲁棒性。例如,如果独立训练权重,当训练集中 这个叉乘特征没有出现 ,对应权重肯定是零,而参数共享则不会,类似地,数据集中的一些噪声可以由大部分正常样本来纠正权重参数的学习

2. xDeepFM

网络结构:

  • CIN层的输入来自Embedding层,假设有个field,每个field的embedding vector维度为,则输入可表示为矩阵 .

  • 不同于Deep & Cross (DCN) whose input is a vector in , xDeepFM can be seen as a generalized version DCN with vector-wise product instead of bit-wise product.

  • 表示第 层的输出, 其中 表示第 层的vector个数, vecor维度始终为 保持和输入层一致。具体地, 第 层每个vector的计算方式为: where and is the -th output vector (weight matrix) in the -th layer, and is the Hadamard product. 当输入维度 的时候,xDeepFM化简成DCN。

  • 另一点与DCN的不同是,xDeepFM不拟合残差,因此第层只能表示阶组合特征,而DCN表示从1到阶全部组合特征。相应地,DCN在最后一层输出层输出结果,而xDeepFM在每层都输出中间结果。

3. Auto-Int

模型结构:

  • 类似xDeepFM,input feature 分成 个field,每个过一个embedding 层得到一个嵌入向量 .
  • Interacting Layer 进行 multi-head self-attention, 在每个head上,对 进行一次 self-attention. 每个 Attention head 都对应着三个转换矩阵: . 对于第 个 Attention head, 当第 个嵌入向量 作为query时, 其对应输出 为:

  • 对第个嵌入 , 作者简单拼接它在 个Attention head的输出, 然后引入标准的残差连接作为其最终输出 :

  • 以上方法得到第 个嵌入的对其他嵌入的二阶特征组合,以此类推可以叠加多个这样的层,构造更高阶的组合特征。当然,也可以在旁边搭个Deep层一起合作。

  • 最终的预测输出为:

4. S^3-Rec

模仿BERT的预训练模式,通过自监督学习构造更好的embedding表达。

results matching ""

    No results matching ""