核心要点

  • 能讲清问题:单阶段检测器(如 RetinaNet)会产生海量候选框,背景负样本远多于正样本,大量易分负样本主导梯度

  • 能写出公式:在交叉熵 (-\log p_t) 前乘调制因子 ((1-p_t)^\gamma),得 (FL = -\alpha (1-p_t)^\gamma \log p_t)

  • 能解释两个参数:γ(如 2)控制聚焦强度——易分样本 p_t 高、(1-p_t)^γ 趋近 0 被压低;α 平衡正负样本总体权重

  • 能给定位:它使单阶段检测精度逼近两阶段,省去了 OHEM 等显式难例挖掘

标准回答

问题背景

单阶段检测器在整张图密集铺设上万个 anchor,其中绝大多数是容易判定的背景负样本。用普通交叉熵时,这些「易分但数量巨大」的样本累积起来主导了总损失和梯度,淹没了少量难分正样本,导致训练低效、精度受限。

Focal Loss 的做法

Focal Loss 在交叉熵前乘一个调制因子:(FL(p_t) = -\alpha_t (1-p_t)^\gamma \log p_t),其中 (p_t) 是模型对真实类别的预测概率。对已经分对的样本((p_t) 接近 1),((1-p_t)^\gamma) 趋近 0,损失被大幅压低;对难分样本((p_t) 小)几乎不衰减。这样梯度自动聚焦到难例上。

两个超参数

γ 控制聚焦强度,γ 越大对易分样本压制越强,论文取 2 较优;α 是类别平衡因子,进一步调节正负样本的相对权重。两者配合即可在不做显式难例挖掘的情况下平衡训练。

常见误区

⚠️ 常见踩坑

别把 α 当成解决不平衡的主力——α 只做静态正负加权,真正按难易动态调权的是 (1-p_t)^γ 调制因子;γ=0 时 Focal Loss 退化为带权交叉熵。

追问

追问 1Focal Loss 与 OHEM(在线难例挖掘)有何区别?

OHEM 显式地丢弃易分样本、只保留 loss 最大的一批难例做反向,是「硬选择」;Focal Loss 保留全部样本,用连续的调制因子做「软加权」,平滑且无需额外采样逻辑,实现更简单、信息利用更充分。

追问 2γ 取太大会有什么副作用?

γ 过大时对易分样本压制过狠,可能让中等难度样本贡献也被削弱,训练后期梯度过于稀疏、收敛变慢甚至欠拟合;需配合 α 调参,实践中 γ=2、α=0.25 是常用起点。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。