当前位置: 首页 > news >正文

从 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. 前沿探索与未来方向

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

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

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

http://www.jsqmd.com/news/1171036/

相关文章:

  • 活性锰除醛产品怎么挑?我会先看这几个地方
  • 敏捷创新背后的举重式工作:突破性创新的幕后逻辑
  • 嵌入式系统信号上下拉设计与PIC18F85J10实践
  • 毕业必备!2026AI论文工具榜单(覆盖 99% 论文写作需求)
  • TEKLauncher终极指南:告别方舟MOD冲突与服务器配置烦恼的完整解决方案
  • 沐曦MXC600国产GPU实战:从CUDA迁移到AI训练集群部署
  • LabVIEW TDMS 文件高级应用:3步实现高速流盘与Excel数据交换
  • LinkSwift网盘直链下载助手:一键获取9大网盘真实下载地址的终极解决方案
  • 深入理解 Java I/O 流:从基础到高级应用
  • 【Midjourney角色一致性终极指南】:20年AI视觉工程师亲授3大锚点控制法,97%用户忽略的提示词底层逻辑
  • 详情页跳出率下降41%的秘密:用ChatGPT构建“用户决策路径图谱”(附可即插即用的12类目Prompt矩阵)
  • 防火墙Web管理端口8443 vs 443:思科/华为/华三3厂商安全策略解析
  • 5步掌握Windows Terminal:现代命令行的深度配置实战
  • vSphere HA 6.5+ 虚拟机重启优先级与顺序控制:5级策略与依赖链实战
  • 163MusicLyrics终极指南:跨平台音乐歌词提取与处理的完整解决方案
  • 勒让德变换与凸共轭函数:从3个经典案例看优化理论的数学基石
  • YimMenu技术解析:构建GTA V最强防护系统的开源方案
  • SDF函数
  • 基于鸿蒙平台的AI星座匹配应用开发实践:从移动端到鸿蒙PC的全场景解决方案
  • League Akari:英雄联盟玩家的终极本地化效率工具
  • 北京超算 YOLOv5 实战:从 2080Ti 本地 6 小时到超算 1 卡 3 步提交
  • 5G AAU 设备参数深度解析:从 64T64R 到 1100W 功耗的 5 个设计考量
  • 广州北京路美陈:1核心2策略,揭秘客流翻倍200%秘密-肆墨设计
  • 指令失效?响应失准?ChatGPT自定义指令配置错误率高达63%——你还在用默认模板吗?
  • 是什么把工作流(workflow)和智能体(agent)区分开来?
  • 【共创季稿事节】毕业季·鸿蒙同行:我用鸿蒙做毕设,也做了一个帮毕业生做毕设的鸿蒙应用
  • 1987年5月17日下午13-15点出生性格、运势和命运
  • 智能车竞赛国赛名单背后的技术赛道:从四轮到AI视觉,9大赛题技术趋势盘点
  • TMC7300与PIC18LF45K42实现高效BDC电机控制方案
  • ChatGPT写K8s YAML配置失效真相(YAML缩进陷阱与锚点引用黑洞)