M7-078M7: Retrieval, Ranking & RecSysMulti-Objective Ranking & OptimizationMedium
Mastery:

Multi-Objective Ranking & Optimization: 解释多任务学习中的负迁移与缓解。

📐 Mathematical Definition
negative transfer: shared layers hurt some tasks;fix: soft sharing, gradient surgery\text{negative transfer}:\ \text{shared layers hurt some tasks};\qquad \text{fix}:\ \text{soft sharing},\ \text{gradient surgery}
⚡ Executive Summary
Core Concept: 任务冲突时共享底层会'此消彼长'(负迁移);缓解:MMoE/PLE(软共享)、梯度手术、任务相关性筛选。

📌 Key Takeaways

  • •
    负迁移:共享底层对某任务有害(任务冲突)
  • •
    成因:梯度冲突、容量竞争、任务相关性低
  • •
    缓解:MMoE/PLE(软共享)、梯度投影、任务分组、损失权重

📐 Mathematical Derivations

数学机理:<strong>负迁移(negative transfer)</strong>——多任务学习中,'共享部分'对<strong>某个任务有害</strong>(该任务单独训练时更好)。<strong>成因</strong>——(1) <strong>梯度冲突(gradient conflict)</strong>——两个任务的梯度方向相反(内积为负)→ 相互抵消(见 M3 的梯度冲突题);(2) <strong>容量竞争</strong>——共享参数被'多个任务争夺'(每个任务想让它学自己的模式);(3) <strong>任务相关性低</strong>——不相关的任务共享底层会'互相干扰';(4) <strong>数据不平衡</strong>——某任务数据多 → 主导共享层 → 其他任务欠训练;(5) <strong>标签噪声</strong>——某任务的噪声通过共享层'污染'其他任务。<strong>检测方法</strong>——(a) <strong>消融</strong>——对比'多任务训练'与'各任务单独训练'的表现;若某任务单独训练更好 → 有负迁移;(b) <strong>梯度分析</strong>——计算任务间的梯度内积(负值多则冲突);(c) <strong>训练曲线</strong>——某任务的指标在加入其他任务后下降。<strong>缓解手段</strong>——(1) <strong>软共享(MMoE/PLE)</strong>——不强制共享底层,而是'多个专家 + 门控'(不同任务用不同专家组合);<strong>这是最常用的解法</strong>(见 MMoE 题)。(2) <strong>梯度手术(gradient surgery)</strong>——(a) <strong>PCGrad</strong>——把冲突的梯度投影到对方法平面(去掉冲突分量);(b) <strong>GradNorm</strong>——动态调整任务权重使梯度范数均衡;(c) <strong>CAGrad</strong>——找'最坏情况'的梯度方向。(3) <strong>任务分组</strong>——把相似任务放在一组共享、不相似的分开;(4) <strong>损失权重调整</strong>——(a) <strong>不确定性加权</strong>(Kendall);(b) <strong>动态权重</strong>(按'训练进度'调);(c) <strong>手工权重</strong>(业务优先级)。(5) <strong>参数隔离</strong>——(a) <strong>共享底层 + 任务特定顶层</strong>(经典但可能有负迁移);(b) <strong>任务特定的嵌入</strong>(不同任务用不同嵌入);(c) <strong>'适配器'</strong>(每个任务一个小模块)。(6) <strong>数据平衡</strong>——(a) 采样加权(见多任务数据配比题);(b) 按 token/样本数均衡。<strong>与其他问题的关系</strong>——(a) 与'梯度冲突'(M3 题)同源;(b) 与'MMoE/PLE'(深度推荐模型);(c) 与'多目标融合'(负迁移是'训练阶段'的问题、融合是'推理阶段'的问题)。<strong>实践建议</strong>——(a) <strong>先检测</strong>(消融对比)——确认是否真有负迁移;(b) <strong>优先软共享</strong>(MMoE/PLE);(c) <strong>任务分组</strong>(相似任务共享);(d) <strong>梯度手术</strong>(冲突严重时);(e) <strong>数据平衡</strong>(防某任务主导);(f) <strong>监控各任务</strong>(防此消彼长)。<strong>度量</strong>——(a) 各任务指标(vs 单独训练);(b) 梯度内积(冲突程度);(c) 训练曲线的稳定性。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>'先检测再缓解'</strong>——很多'负迁移'其实是'数据不平衡'或'实现问题';面试中能指出'先消融对比'是深度理解的标志。② <strong>'软共享(MMoE/PLE)是最常用的解法'</strong>——它比'梯度手术'更简单且有效。③ <strong>'任务分组'常被忽视但有效</strong>——相似任务共享、不相似分开;这比'强行全共享'更优。④ <strong>'数据不平衡是常见原因'</strong>——某任务数据多会主导共享层;故需采样加权。⑤ <strong>'梯度手术成本高'</strong>——PCGrad 需计算任务对的梯度内积(O(T²));故适合任务数少的场景。⑥ <strong>面试要点</strong>——被问'多任务学习有负迁移怎么办',应给出'<strong>先检测(消融)+ 成因(梯度冲突/容量竞争/相关性低/数据不平衡)+ 缓解(软共享/梯度手术/任务分组/权重/数据平衡)</strong>';能指出'先检测再缓解'是深度理解的标志。
⚠️ Common Interview Pitfalls
  • ✕
    不检测就上梯度手术(可能原因不是冲突)
  • ✕
    强行让不相关任务共享底层
🎯 Interviewer Follow-ups
  • ?
    如何检测负迁移?
  • ?
    梯度手术(PCGrad)的原理?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM7-077: Multi-Objective Ranking & Optimization: 解释为什么不能只看短期点击。📋Back to BankNext →M7-079: Multi-Objective Ranking & Optimization: 解释业务约束在排序中的实现。