1 Intro
- 特征交叉是CTR任务的关键
- 当前部分模型 (FNN and DeepFM) 用浅层MLP交叉特征效果不强;xDeepFM等用复杂子网络实现,但落地性较弱;AutoInt and Fi-GNN虽然也可以通过求和方式动态调整fea emb,但也效果不显
2 Framework
ContextNet由两部分组成:
- Contextual Embedding:对于items,将其全部特征视为其每个特征的context;该模块聚合context信息,并投影到单个特征维度
- ContextNet block:将每个特征的专属聚合contextual information合入该特征,并经过非线性变化强化特征交叉;ContextNet block可不断堆叠
2.1 Contextual Embedding
红框 - context聚合函数,蓝框 - 投影函数。
E
i
E_i
Ei - item第 i 个特征,
E
E
E - item全部特征。
论文用两层MLP来实现Contextual Embedding,其中:
- 聚合层(Aggregation) 只接受原始的fea emb输入 E E E,认为只有这样才包含原始和全局信息
- 为了加快性能,不同fea field的聚合层可共享参数,但投影层(Projection) 需要确保每个fea field独立抽取
2.2 ContextNet Block
- merge func采用Hadamard product
- non-linear func有两种形式 (后续实验证明SFFN更好)
- PFFN (Point-Wise Feed-Forward Network)
- SFFN (Single-Layer Feed-Forward Network)
- PFFN (Point-Wise Feed-Forward Network)
3 Expr
1.蓝框相对较弱,证明通过子网络引入高阶交叉特征很有用;红比黄强,证明得到交叉特征后,乘比加的融合方式有用;ContextNet-SFFN最强
2.Contextual Embedding中,共享聚合层(Aggregation)在不显著影响性能的前提下减少参数量,共享投影层会导致模型性能显著下降
3.消融实验:Contextual Embedding、FFN和FFN中的非线性变化LayerNorm都有用
4.ContextNet Block堆叠
5. fea emb size:过大可能会导致过拟合,模型效果下降
6. 评估各特征的相似性。随着ContextNet Block堆叠,特征逐渐聚焦到特定的交互特征。(越相似,代表越深的交互)