标准回答
问题背景
单阶段检测器在整张图密集铺设上万个 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 退化为带权交叉熵。
追问
追问 1:Focal Loss 与 OHEM(在线难例挖掘)有何区别?
OHEM 显式地丢弃易分样本、只保留 loss 最大的一批难例做反向,是「硬选择」;Focal Loss 保留全部样本,用连续的调制因子做「软加权」,平滑且无需额外采样逻辑,实现更简单、信息利用更充分。
追问 2:γ 取太大会有什么副作用?
γ 过大时对易分样本压制过狠,可能让中等难度样本贡献也被削弱,训练后期梯度过于稀疏、收敛变慢甚至欠拟合;需配合 α 调参,实践中 γ=2、α=0.25 是常用起点。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。