Wide & Deep Learning for Recommender Systems/zh

    From Marovi AI
    Revision as of 06:02, 27 April 2026 by DeployBot (talk | contribs) (Batch translate Wide & Deep Learning for Recommender Systems unit 26 → zh)
    (diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
    Other languages:
    SummarySource
    Research Paper
    Authors Heng-Tze Cheng; Levent Koc; Jeremiah Harmsen; Tal Shaked; Tushar Chandra; Hrishi Aradhye; Glen Anderson; Greg Corrado; Wei Chai; Mustafa Ispir; Rohan Anil; Zakaria Haque; Lichan Hong; Vihan Jain; Xiaobing Liu; Hemal Shah
    Year 2016
    Topic area Machine Learning
    Difficulty Research
    arXiv 1606.07792
    PDF Download PDF

    Wide & Deep Learning for Recommender Systems(《用于推荐系统的宽与深学习》)是 Heng-Tze Cheng 等谷歌研究人员于 2016 年发表的论文,提出了一种用于大规模推荐系统的混合架构。该模型联合训练一个宽(wide)线性分量与一个深(deep)前馈神经网络:前者通过交叉乘积特征变换记忆特定的特征交互,后者通过低维 embedding 对未见过的特征组合进行泛化。该框架在 Google Play 应用商店投入生产,在线上 A/B 测试中将应用安装量提升了 3.9%;同时作者发布了基于 TensorFlow 的参考实现。

    概述

    推荐系统可以视为一条搜索排序流水线:由用户特征与上下文特征组成的查询被映射到一个候选项的有序列表。这需要两种相互补充的能力。记忆(memorization)从历史数据中学习项或特征的频繁共现,并利用直接相关性;广义线性模型配合交叉乘积特征非常适合这种场景,但无法外推到未见过的特征对。泛化(generalization)则探索新的特征组合,由基于 embedding 的模型——例如 factorization machines 与深度神经网络——较好地完成,但稠密 embedding 在稀疏且高秩的查询-项矩阵上可能过度泛化,给出相关性较低的推荐。

    Wide & Deep 框架将这两种信号融合到一个联合训练的模型中。Wide 分支用很少的参数处理类似异常规则的情形,而 Deep 分支覆盖未见过的交互的长尾。两条分支共享同一个 logistic 损失,因此各自可以专精,不必重复建模另一支已经捕捉到的内容。

    主要贡献

    • Wide & Deep 架构,针对通用推荐系统联合训练一个带稀疏特征 embedding 的前馈神经网络与一个带交叉乘积特征变换的线性模型。
    • 在 Google Play 上完成生产化并进行评估的实现:该商业移动应用商店拥有逾十亿活跃用户与逾百万应用,相对于强力调优的 wide-only 基线,线上应用安装率获得 +3.9% 的提升。
    • 配套的开源 TensorFlow 实现及高阶 API,降低了将该架构应用到其他排序问题上的门槛。
    • 工程细节——warm-starting(热启动)、多线程打分以及特征词表生成——使得在每秒为数千万候选项打分的同时,单次请求延迟可压到约 14 毫秒。

    方法

    Wide 分量

    Wide 分量是一个广义线性模型

    $ y = \mathbf{w}^{T}\mathbf{x} + b, $

    其中 $ \mathbf{x} = [x_1, x_2, \ldots, x_d] $ 是特征向量,$ \mathbf{w} $ 是权重,$ b $ 是偏置。除原始输入之外,特征集合还包含交叉乘积变换

    $ \phi_k(\mathbf{x}) = \prod_{i=1}^{d} x_i^{c_{ki}}, \quad c_{ki} \in \{0, 1\}, $

    其中 $ c_{ki} $ 当第 $ i $ 个特征参与第 $ k $ 个变换时取 1,否则取 0。对二值特征而言,只有当所有参与特征都为 1 时 $ \phi_k $ 才为 1,这就刻画了诸如 AND(user_installed_app=netflix, impression_app=pandora) 这样的联合,并为线性模型注入了非线性。

    Deep 分量

    Deep 分量是一个前馈神经网络。每个类别特征都被映射为一个稠密 embedding 向量,其维度在 $ O(10) $$ O(100) $ 量级,并端到端地训练。embedding 与归一化后的连续特征拼接在一起,通过隐藏层进行前向传播

    $ a^{(l+1)} = f\!\left(W^{(l)} a^{(l)} + b^{(l)}\right), $

    其中 $ f $ 是激活函数(实验中采用整流线性单元 ReLU),$ a^{(l)} $$ W^{(l)} $$ b^{(l)} $ 分别为第 $ l $ 层的激活、权重和偏置。

    联合训练

    两条分支以各自输出 log-odds 的加权和方式组合,并送入一个共享的 logistic 损失:

    $ P(Y = 1 \mid \mathbf{x}) = \sigma\!\left(\mathbf{w}_{wide}^{T}[\mathbf{x}, \phi(\mathbf{x})] + \mathbf{w}_{deep}^{T} a^{(l_f)} + b\right), $

    其中 $ \sigma $ 是 sigmoid 函数,$ a^{(l_f)} $ 是 deep 网络最后一层的隐藏激活。关键之处在于这是联合训练而非集成:梯度同时回传到两条分支,因此 wide 部分只需弥补 deep 部分留下的空缺。Wide 分支使用带 $ L_1 $ 正则化的 Follow-the-Regularized-Leader(FTRL)优化,deep 分支使用 AdaGrad。在生产模型中,每个类别特征学习一个 32 维 embedding,所有 embedding 与稠密特征拼接成约 1200 维的输入向量,再经过三层 ReLU,最后送入 logistic 输出单元。

    系统

    推荐流水线先召回候选集,然后用 Wide & Deep 模型对其排序。训练数据由曝光日志构建,使用应用安装作为二值标签。为了消化超过 5000 亿条训练样本以及频繁重训练的开销,作者引入了warm-starting(热启动):用上一版模型的 embedding 与线性权重来初始化新模型。在投入线上服务之前,还会进行一次 dry-run 健全性检查,防止性能回退。

    结果

    在 Google Play 上为期 3 周的线上 A/B 测试中,相对于一个高度调优的 wide-only logistic 回归基线,Wide & Deep 模型将应用商店主着陆页的应用安装率提升了 +3.9%(具有统计显著性),相对于 deep-only 模型再提升 +1%。离线 AUC 之间的差距更小(Wide & Deep、Wide、Deep 分别为 0.728、0.726、0.722),这说明线上增益部分来自模型在探索性新推荐上不断学习用户反馈的能力,而不仅仅是离线排序质量。

    在服务端,单线程批量打分耗时 31 毫秒;将每个批次切分到多个线程并行后,客户端侧延迟降至 14 毫秒,同时高峰时段每秒为超过 1000 万个应用打分。

    影响

    Wide & Deep 成为了工业界 click-through rate(CTR)预估与排序的经典参考架构之一,与 Factorization Machines 以及随后出现的深度 CTR 模型并列。这种由倾向于记忆的线性分支与倾向于泛化的深度分支并行的范式启发了 DeepFM、Deep & Cross Network、xDeepFM 等后续工作,它们将 wide 分支仍依赖的交叉特征工程进一步自动化。

    TensorFlow 中的 DNNLinearCombinedClassifier / DNNLinearCombinedRegressor estimator 将该架构产品化为开箱即用的 API;该论文在 推荐系统 与应用于排序的 深度学习 的教科书式综述中被广泛引用。除对 CTR 模型的直接影响之外,更普适的原则——互补的归纳偏置可以在共享损失下联合训练,而无需事后做集成——也启发了后续的混合设计,例如将召回与排序信号、结构化先验与神经网络,或基于规则的特征与可学习表示组合到一起。

    该工作也常被引用为深度学习在高流量生产排序系统中早期且成功的部署案例。其中关于 warm-starting、词表管理以及连续特征基于分位数归一化的讨论,成为许多工程团队首次搭建在线深度排序流水线时的范本。

    参见

    参考文献

    • Cheng, H.-T., Koc, L., Harmsen, J., Shaked, T., Chandra, T., Aradhye, H., Anderson, G., Corrado, G., Chai, W., Ispir, M., Anil, R., Haque, Z., Hong, L., Jain, V., Liu, X., 与 Shah, H. (2016). Wide & Deep Learning for Recommender Systems. arXiv:1606.07792.
    • Duchi, J., Hazan, E., 与 Singer, Y. (2011). Adaptive subgradient methods for online learning and stochastic optimization. Journal of Machine Learning Research, 12, 2121–2159.
    • McMahan, H. B. (2011). Follow-the-regularized-leader and mirror descent: Equivalence theorems and l1 regularization. 见 Proc. AISTATS.
    • Rendle, S. (2012). Factorization machines with libFM. ACM Transactions on Intelligent Systems and Technology, 3(3), 57:1–57:22.
    • He, K., Zhang, X., Ren, S., 与 Sun, J. (2016). Deep residual learning for image recognition. 见 Proc. IEEE Conference on Computer Vision and Pattern Recognition.
    • Wang, H., Wang, N., 与 Yeung, D.-Y. (2015). Collaborative deep learning for recommender systems. 见 Proc. KDD, 1235–1244.