从WideDeep到DeepCross:聊聊推荐系统模型演进的‘分’与‘合’
从Wide&Deep到Deep&Cross:推荐系统模型设计的哲学思辨
推荐系统在过去十年经历了从简单协同过滤到复杂深度学习的跃迁,而Wide&Deep模型的提出无疑是这一演进过程中的关键转折点。它首次系统性地将"记忆"与"泛化"这对看似矛盾的能力统一在一个框架下,为后续模型设计提供了范式级的参考。当我们站在技术演进的视角回望,会发现推荐模型的发展始终围绕着"分"与"合"的辩证关系展开——何时该解耦特征处理路径?何时又该融合不同建模方式?这些决策背后体现的是工程师对业务本质的深刻理解。
1. 记忆与泛化的二分法:Wide&Deep的范式创新
2016年谷歌提出的Wide&Deep架构之所以能成为行业标杆,关键在于它精准把握了推荐系统的核心矛盾:既要准确捕捉已知的用户偏好(记忆),又要能推断未知的兴趣关联(泛化)。这种二分法设计不是简单的模块堆砌,而是对推荐问题本质的深刻抽象。
记忆能力的工程实现通常体现在以下方面:
- 显式特征交叉:人工设计的组合特征(如"用户A+商品B")
- 稀疏特征直通:让关键ID类特征绕过深层网络直接影响输出
- 规则注入:将业务经验通过特征工程硬编码到模型中
而泛化能力的典型特征包括:
- 自动特征组合:通过神经网络隐式学习特征间高阶关系
- 嵌入表示:将离散特征映射到连续向量空间
- 迁移学习:利用其他领域数据提升冷启动表现
# Wide&Deep的典型特征处理差异 wide_features = ['user_installed_app', 'impression_app'] # 人工选择的交叉特征 deep_features = ['user_age', 'device_type', 'installed_apps'] # 全量特征自动学习 # Wide部分处理逻辑 crossed_feature = tf.feature_column.crossed_column( ['user_installed_app', 'impression_app'], hash_bucket_size=10000)在实际业务中,这两种能力的配比需要动态调整。电商场景可能更依赖记忆能力(如"买了尿布的用户常买啤酒"),而内容推荐则更需要泛化能力(从有限观看历史推断广泛兴趣)。这种权衡艺术正是模型设计的精髓所在。
2. 从人工交叉到自动学习:Deep&Cross的进化之路
Wide&Deep的成功也暴露了其局限性——Wide部分依赖大量人工特征工程。2017年提出的Deep&Cross模型通过引入Cross网络,将特征交叉的工作自动化,标志着推荐系统向端到端学习又迈进了一步。
Cross网络的核心创新在于:
- 显式高阶交叉:通过数学构造实现特征的多层交互
x_{l+1} = x_0 * (W_l * x_l + b_l) + x_l - 参数效率:每层仅增加O(n)参数,避免维度爆炸
- 残差连接:保留原始特征信息防止过度交叉
与经典Wide部分的对比:
| 特性 | Wide部分 | Cross网络 |
|---|---|---|
| 交叉方式 | 人工指定 | 自动学习 |
| 交叉阶数 | 固定二阶 | 可学习高阶 |
| 参数数量 | 随特征数线性增长 | 固定规模 |
| 业务理解依赖 | 强 | 弱 |
这种设计转变反映了推荐系统发展的一个关键趋势:从人工规则到数据驱动。在信息流推荐等场景中,用户兴趣瞬息万变,人工设计特征交叉的效率已跟不上业务变化速度。某头部短视频平台的实际案例显示,采用Cross网络后特征迭代周期从2周缩短至3天,CTR提升达11.6%。
3. 分与合的辩证关系:模型架构的演进逻辑
推荐模型的演进史本质上是对"分"与"合"的持续探索。Wide&Deep选择了记忆与泛化的分离,而后续改进模型则尝试在不同维度进行再组合或再分离。
典型演进路径:
特征处理路径分离
- DeepFM:将Wide部分替换为FM模块
- xDeepFM:引入压缩交互网络(CIN)显式学习特征交互
目标函数融合
- 多任务学习:如YouTube的联合训练点击率和观看时长
- 渐进式精排:粗排/精排模型的级联设计
时空维度解耦
- DIN:引入注意力机制区分历史行为重要性
- TiSAS:显式建模时间间隔的影响
这些创新背后的设计哲学值得玩味:
- 当某个功能模块需要特别强化时,就将其"分"出来单独优化
- 当发现多个模块存在协同效应时,就尝试"合"并处理
- 最终目标都是提升模型在特定场景下的表达效率
4. 业务场景驱动的模型选择策略
没有放之四海皆准的完美架构,只有最适合当前业务阶段的模型选择。通过几个典型案例,我们可以总结出一些实用的决策原则。
电商推荐场景:
- 强依赖商品共现规律
- 需要快速捕捉爆品趋势
- 适合方案:Wide部分强化 + 实时特征更新
# 电商场景的典型特征设计 wide_features = [ 'user_id', 'item_id', 'category_id', 'last_click_item' ]
新闻资讯推荐:
- 内容生命周期短
- 冷启动问题突出
- 适合方案:Deep部分为主 + 跨域迁移学习
视频推荐系统:
- 用户兴趣多元
- 序列特征重要
- 适合方案:Cross网络 + 行为序列建模
实际选型时需要考量的关键维度:
- 特征更新频率
- 数据稀疏程度
- 业务响应速度要求
- 团队工程能力
在模型复杂度与业务收益之间找到平衡点,这才是推荐系统工程师的真正价值所在。正如某位资深算法专家所说:"最好的模型不是指标最高的那个,而是能在你的系统里持续运转的那个。"
