M3-058M3: Deep Learning FoundationsGradient Vanishing & ExplosionHard
Mastery:

Gradient Vanishing & Explosion: 解释'梯度冲突'与多任务学习中的处理。

📐 Mathematical Definition
cos⁡ϕij=gi⋅gj∥gi∥∥gj∥<0 ⇒ conflict;gi←gi−gi⋅gj∥gj∥2gj (PCGrad)\cos\phi_{ij}=\frac{g_i\cdot g_j}{\|g_i\|\|g_j\|}<0\ \Rightarrow\ \text{conflict};\qquad g_i\leftarrow g_i-\frac{g_i\cdot g_j}{\|g_j\|^2}g_j\ (\text{PCGrad})
⚡ Executive Summary
Core Concept: 不同任务的梯度方向可能相反(余弦相似度<0),直接求和会相互抵消;用 PCGrad、GradNorm、不确定性加权等处理。

📌 Key Takeaways

  • •
    冲突即梯度夹角 >90°、内积为负
  • •
    PCGrad 把冲突任务的梯度投影到对方法平面
  • •
    也可用不确定性加权(Kendall)自动平衡任务权重

📐 Mathematical Derivations

数学机理:多任务损失 L=Σ_t w_t L_t,梯度 g=Σ_t w_t g_t。若两个任务的梯度 g_i、g_j 夹角 >90°(内积<0),则它们在参数空间的'前进方向'部分相反;加权求和后可能<strong>相互抵消</strong>,使某些任务几乎不进步('跷跷板'现象:一个任务变好、另一个变差)。<strong>PCGrad(Yu 等 2020)</strong> 的做法是:对每对 (i,j),若 g_i·g_j<0,则把 g_i 投影到 g_j 的<strong>法平面</strong>上:g_i←g_i−(g_i·g_j/‖g_j‖²)g_j——即去掉 g_i 中与 g_j 冲突的分量,只保留不冲突的部分;对所有 j 做平均得到修正后的 g_i。这保证每个任务的更新不会损害其他任务的方向(在局部一阶意义上)。<strong>GradNorm</strong> 走另一条路:动态调整任务权重 w_t,使各任务的<strong>梯度范数</strong>趋于一致(避免某任务梯度主导);<strong>不确定性加权</strong>(Kendall 等 2018)把 w_t 设为可学习的同方差不确定性 σ_t²,即 w_t=1/(2σ_t²),让模型自动学出'哪些任务更可信'。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>PCGrad 的成本</strong>——需计算每对任务的梯度内积,若任务数 T,则需 O(T²) 次向量运算;且要为每个任务保存独立梯度(显存 ×T);故实践中 T 较小时(2~5)可用,T 大时开销显著。② <strong>加权方案的对比</strong>——固定权重最简单但需调参;不确定性加权优雅但假设任务损失同尺度(需先归一化);GradNorm 需额外反向传播。没有普适最优,常按任务数选择。③ <strong>在多模态/多目标中的实例</strong>——多模态检索(用户项目)中'文本检索'与'图像检索'的梯度可能冲突;推荐系统中'点击率'与'转化率'常冲突(CTR 高但 CVR 低);这些场景下梯度冲突处理直接决定效果。④ <strong>与任务相似性的关系</strong>——冲突的根源是任务不相似(如'情感分类'与'语法纠错');若任务相似则梯度自然对齐、无需特殊处理。故<strong>任务分组</strong>(相似任务共享底层、不同任务分支)常比梯度操作更有效。⑤ <strong>与 MoE 的联系</strong>——MoE 让不同任务路由到不同专家,从结构上避免冲突,是'用容量换冲突'的思路。⑥ <strong>面试要点</strong>——被问'多任务训练不好怎么办',应给出层次化回答:先检查任务相似性与损失尺度(最常见原因)→ 再调权重 → 最后才用梯度操作(PCGrad 等);直接跳到 PCGrad 会显得缺乏工程判断。
⚠️ Common Interview Pitfalls
  • ✕
    以为梯度冲突只靠调权重就能解决(方向冲突需投影处理)
  • ✕
    忽略任务损失尺度差异导致的'假冲突'(归一化后可能不冲突)
🎯 Interviewer Follow-ups
  • ?
    如何检测多任务训练中的梯度冲突?
  • ?
    PCGrad 的计算开销是多少?
📚

Associated Knowledge Base Guides & Mindmaps

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

← PreviousM3-057: Gradient Vanishing & Explosion: 如何检测与定位梯度异常?📋Back to BankNext →M3-059: Gradient Vanishing & Explosion: 解释残差连接与归一化如何共同保证梯度流。