FunRec-Task2
FunRec Task2二阶特征交叉
Task1中提到精排模型中的两大特点“记忆”和“泛化”,从而引申出擅长“记忆”的LR和擅长“泛化”的Embedding+MLP,由于手工设计特征交叉实在太麻烦,从而需要让模型自动捕捉所有特征对之间的交互关系,既能自动学习特征交叉,又不会让参数太多。
1.FM: 从召回到精排的华丽转身
- 在召回时,FM主要解决的是“如何快速从海量物品中找到候选集”的问题,在精排阶段则是解决“如何自动学习特征之间的交叉关系,而不用手工一个个去设计”,给每个特征学一个向量表示,然后用向量内积来捕捉特征间的关系。

FM将交互权重分解为两个低维隐向量的内积
1.降低复杂度从On^2降低到了Onk
2.极大地缓解了数据稀疏问题:即使特征i和j在训练样本中从未同时出现过,模型依然可以通过它们各自与其他特征的共现数据,分别学到有效的隐向量vi和vj
2.AFM: 注意力加权的交叉特征
- 在FM的基础上引入注意力机制,为不同的特征交叉分配权重,使模型能关注到更重要的交互。

AFM 的模型结构在 FM 的基础上进行了扩展。它首先将所有成对特征的隐向量进行元素积而不是像 FM 那样直接求内积。这样做保留了交叉特征的向量信息,为后续的注意力计算提供了输入。
其中模型引入一个Attemtion Net注意力机制,来学习每个交叉特征的重要性得分aij+
AFM由一阶线性部分和经过注意力加权的二阶交叉部分组成
通过引入注意力机制,AFM 不仅提升了模型的表达能力,还通过可视化注意力权重aij赋予了模型更好的可解释性,让我们可以洞察哪些特征交叉对预测结果的贡献最大
3.NFM: 交叉特征的深度学习
- NFM将 FM 的二阶交叉结果(用哈达玛积表示的向量)作为输入,送入一个深度神经网络(DNN),从而在 FM 的基础上学习更高阶、更复杂的非线性关系。
- NFM 的核心思想是,FM 所捕获的二阶交叉信息本身就是一种非常有价值的特征,可以作为“原料”输入给强大的 DNN,由 DNN 来自动学习这些交叉特征之间的高阶组合关系。
4.PNN: 多样化的乘积操作
- PNN 在内积的基础上,又引入了外积(Outer Product),希望通过多种乘积操作来更全面地捕捉特征间的交互关系。它的关键组件是“乘积层”(Product Layer),这一层会对特征 Embedding 做各种乘积运算,然后把结果传给后面的全连接网络。

PNN 的乘积层会产生两部分信号,一部分是线性信号,另一部分是二次信号。
其中二次信号根据特征 Embedding 之间的两两交互方式的不同分为IPNN和OPNN
IPNN:这种变体使用特征 Embedding 之间的内积来计算二次信号.PNN通过引入了矩阵分解技巧,计算所有内积对的加权和,转变成了先对 Embedding 进行加权求和,然后计算一次向量的 L2 范数平方,使得模型复杂度从ON2M降低到ONM
OPNN:这种变体使用特征 Embedding 之间的外积 fifj^T来捕捉更丰富的交互信息。OPNN采用了一种称为“叠加”的近似方法来大幅降低复杂度。它不再计算所有成对的外积,而是先将所有特征的 Embedding 向量相加,然后再计算一次外积,使得模型复杂度从ON2M2降低到OM(N+M)
PNN将“乘积”操作(无论是内积还是外积)作为了网络中的一个核心计算单元,认为这种操作比传统 DNN 中简单的“加法”操作更能有效地捕捉类别型特征之间的交互关系
5.DeepFM: 低阶高阶的统一建模
- DeepFM是对 Wide & Deep 架构的直接改进和优化。**它将 Wide & Deep 中需要大量人工特征工程的 Wide 部分,直接替换为了一个无需任何人工干预的 FM 模型,从而实现了真正的端到端训练。**更关键的是,DeepFM 中的 FM 组件和 Deep 组件共享同一份特征嵌入(Embedding),这带来了两大好处:首先,模型可以同时从原始特征中学习低阶和高阶的特征交互;其次,共享 Embedding 的方式使得模型训练更加高效。

- FM部分:负责学习一阶特征和二阶特征交叉。其输出的计算方式与标准 FM 完全相同:
- Deep部分:负责学习高阶的非线性特征交叉。它的输入正是 FM 组件中所使用的那一套 Embedding 向量。具体来说,所有输入特征首先被映射到它们的低维 Embedding 向量上,然后这些 Embedding 向量被拼接(Concatenate)在一起,作为 DNN 的输入。
- DeepFM 把 FM 部分和 Deep 部分的输出的 Logits 直接相加,再通过 Sigmoid 函数得到点击率预测
- DeepFM 的核心思路很简单:用 FM 处理低阶特征交互,用深度网络处理高阶特征交互,两者共享同一套 Embedding。这样做的好处是减少了人工特征工程的工作量,模型可以自动学习各种特征交互模式。相比 Wide & Deep 需要专家手工构造 Wide 部分的特征,DeepFM 用 FM 替代了这部分工作。
6.参考资料
二阶特征交叉
