联合训练
概述
多组件模型的训练范式,各组件共享同一损失函数、同时优化参数,使组件在训练过程中自动协调分工、互补不足,区别于集成学习中各模型独立训练后推理时组合预测。
关键内容
- 与集成学习的本质区别:集成学习中各子模型独立训练、彼此互不知晓,仅在推理时组合预测(投票、加权平均);联合训练中所有组件同时训练、共享损失函数,梯度从输出层反向传播到每个组件。
- 互补性优势:在联合训练中,每个组件"知道"其他组件的存在,自动调整自身去弥补对方的不足。例如 Wide & Deep 中,Wide 组件不需要成为完整的线性模型,只需少量交叉特征补足 Deep 组件的记忆短板。
- 模型紧凑性:联合训练允许各组件轻量化——因为每个组件只需负责对方不擅长的部分。Wide & Deep 的 Wide 组件可以非常小(少量交叉特征),而集成方法中每个模型都需要相对完整才能达到合理精度。
- 端到端优化:整个模型针对最终目标函数统一优化,避免子模型之间目标不一致的问题。集成学习中各子模型可能优化不同的中间目标,导致最终组合时出现目标冲突。
- 差异化优化策略:联合训练不要求所有组件使用相同优化器。Wide & Deep 中 Wide 组件用 FTRL+L1(产生稀疏解,适合高维稀疏特征),Deep 组件用 AdaGrad(自适应学习率,适合稠密参数),两者在同一损失函数下协同优化。
- 数学表达:以 Wide & Deep 为例,$P(Y=1|\mathbf{x}) = \sigma(\mathbf{w}{wide}^T [\mathbf{x}, \phi(\mathbf{x})] + \mathbf{w}{deep}^T a^{(l_f)} + b)$,损失函数对 $\mathbf{w}{wide}$ 和 $\mathbf{w}{deep}$ 同时求梯度。
- 在推荐系统中的影响:联合训练是 Wide & Deep 从"概念框架"落地为"可行方案"的关键技术桥梁,深刻影响了后续所有"双路"模型的设计,包括 DeepFM、DCN、xDeepFM 等。
来源
- Heng-Tze Cheng et al. — Wide & Deep Learning for Recommender Systems, DLRS 2016 (arXiv:1606.07792)