《FinalMLP: An Enhanced Two-Stream MLP Model for CTR Prediction》
1 Intro
- 特征交叉对于ctr模型很重要
- 当前普遍认为普通MLP不足以学习到丰富的特征交叉信息,因此很多采用MLP+其他特征显示交叉结构组合,实现 two-Stream model 来进行ctr预估。
本文提出了MLP+MLP的网络结构,比MLP+交叉结构对比,证明了简单MLP的组合也能达到很好效果
2 模型结构
核心思想:
- enable stream differentiation:减少两个组合单元的同质化学习,更可能保证特征交互学习的互补
- better fuse the stream outputs :保证stream之间有效的信息交叉
2.1 enable stream differentiation
- 调整两边MLP的网络深度、宽度
- 差异化MLP的input - Stream-Specific Feature Selection(Fig.1 (a)),通过控制门控input,调整stream对各特征的侧重点差异
2.2 Stream-Level Interaction Aggregation
2.2.1 Bilinear Fusion
- 蓝框部分为Bilinear Fusion核心: o 1 o_1 o1和 o 2 o_2 o2的2阶交互。
- 当 W 3 W_3 W3全0时,Stream-Level Interaction Aggregation 退化成concate(红框)
2.2.2 Multi-Head Bilinear Fusion
当 o 1 o_1 o1和 o 2 o_2 o2维度比较大时,参数量会爆炸。因此:
- 将stream的output划分成多个子空间(k为子空间数,超参)
- 再将多个子空间Bilinear Fusion结果加和
参数量 O ( d 1 d 2 ) \mathcal O(d_1d_2) O(d1d2) -> O ( d 1 d 2 / k ) \mathcal O(d_1d_2/k) O(d1d2/k)