从 SENet 到 GateNet:张俊林团队 3 代特征重要性模型演进与工业落地思考

📅 2026/7/12 2:00:21 👁️ 阅读次数 📝 编程学习
从 SENet 到 GateNet:张俊林团队 3 代特征重要性模型演进与工业落地思考

从SENet到GateNet:特征门控技术在推荐系统中的演进与实践

推荐系统作为互联网内容分发的核心技术,其核心挑战之一是如何从海量高维稀疏特征中识别关键信息。新浪微博张俊林团队在特征重要性建模领域的三代技术演进(FiBiNet/SENet→ContextNet→GateNet),为行业提供了宝贵的工程实践参考。本文将深入剖析这一技术脉络的演进逻辑、核心创新及工业落地经验。

1. 特征重要性建模的技术背景

推荐系统的特征工程面临两个本质矛盾:特征稀疏性参数过载。典型工业级推荐系统可能包含10亿量级的特征(主要来自用户ID、物品ID等离散特征),其中90%以上的特征出现频次不足5次。这种长尾分布导致两个突出问题:

  • 无效特征干扰:低频特征携带的噪声远大于有效信息
  • 存储计算浪费:传统方法为所有特征分配相同维度的Embedding

实验数据表明,在深度CTR模型中,特征Embedding参数占总参数的93.3%,而MLP部分仅占6.7%。这种参数分布失衡使得模型容易陷入过拟合。

特征建模的三个技术方向

方向核心思想代表技术类比
卡门槛动态过滤无效特征SENet/GateNet高考分数线
挤水分变长Embedding分配AMTL/NIS快慢分班
补营养提升稀疏特征质量对比学习/多任务差生补课

2. 技术演进三部曲

2.1 FiBiNet与SENet:特征门控的初代实践

2019年提出的FiBiNet模型首次将计算机视觉领域的SENet模块引入推荐系统,其创新点在于:

  1. 动态特征过滤:通过双层MLP学习特征权重(0-1之间)
    • 输入:各特征Embedding的均值(压缩为1bit)
    • 输出:特征重要性得分
  2. 双线性交叉:改进传统特征交互方式
# SENet核心逻辑示例 def SENet_layer(feature_embeddings): # Squeeze: 各特征embedding取均值 z = GlobalAveragePooling()(feature_embeddings) # Excitation: 双层MLP weights = Dense(units=64, activation='relu')(z) weights = Dense(units=feature_num, activation='sigmoid')(weights) # 加权输出 return Multiply()([feature_embeddings, weights])

工业落地发现

  • 当Embedding size>30时,SENet相对DeepFM等模型的优势扩大
  • 双线性模块因计算复杂度高,实际应用较少
  • 在Avazu数据集上至今保持SOTA效果

2.2 ContextNet:Transformer与门控的融合

2019-2020年设计的ContextNet是对Transformer的推荐场景改造:

  1. 特征级上下文感知:每个特征根据其他特征动态调整自身表达
  2. 精细门控设计
    • 输入:原始所有特征Embedding(bit级)
    • 输出:每个特征各bit的独立权重

关键改进

  • 相比SENet的vector-wise权重,实现bit-wise精细控制
  • 参数量增加但效果提升显著(AUC +0.5%~1.2%)

实际部署中发现:最上层添加MLP"帽子"可进一步提升效果,尽管会破坏模型结构美感

2.3 GateNet:门控机制的体系化

2020年提出的GateNet将门控机制系统化应用于推荐模型:

两种基础门控单元

  1. 特征嵌入门(Feature Embedding Gate)
    • bit-wise:每个embedding元素独立权重
    • vector-wise:整个embedding共享权重
  2. 隐藏层门(Hidden Gate)
    • 作用于MLP层间特征转换

参数共享策略对比

类型参数量效果适用场景
Field Private计算资源充足
Field Sharing线上响应要求高

实验表明:

  • bit-wise效果普遍优于vector-wise
  • sigmoid激活函数在收敛速度和AUC增益上表现最佳
  • 同时使用两种门控反而不如单一门控(可能因过参数化)

3. 工业落地关键考量

3.1 效果与性能的平衡

微博线上AB测试经验:

  • SENet模块:普遍带来0.8%-2.1%的CTR提升
  • GateNet选择
    • 召回/粗排:Field Sharing + vector-wise(响应时延敏感)
    • 精排:Field Private + bit-wise(效果优先)

3.2 工程优化实践

FiBiNet++的改进

  1. 参数压缩:
    • 哈达玛积→内积(参数量减少80%)
    • 移除冗余双线性模块
  2. SENet增强:
    • 分组统计(均值+最大值)
    • 添加Skip Connection
    • 输出bit-wise权重

部署技巧

# 模型量化示例(TensorRT) trtexec --onnx=model.onnx \ --saveEngine=model.engine \ --fp16 \ --workspace=2048

3.3 业务适配经验

不同场景下的门控选择:

场景特征推荐方案理论依据
特征域少(<50)FiBiNet++避免过参数化
用户行为稀疏ContextNet增强特征交互
多目标学习GateNet+MMoE任务特异性门控

4. 前沿探索与未来方向

当前技术团队正在探索的特征建模新范式

  • 动态稀疏门控:结合强化学习的权重剪枝
  • 跨场景知识迁移:基于门控的特征共享机制
  • 门控-注意力统一框架:理论层面建立数学关联

在实践过程中发现,当模型参数量超过训练数据规模时,单纯增加模型复杂度可能适得其反。这时特征门控的价值会更加凸显——它本质上是一种面向特征的数据蒸馏机制