Focal Loss:解决长尾图像分类中“多数类太强势”的损失函数

1. 图像分类里为什么需要 Focal Loss?

在真实的图像分类任务中,你经常会遇到:

  • 类别不均衡 / 长尾分布

    头部类别样本很多,尾部类别样本很少(例如 10000:10)。

  • 训练被"容易样本"主导

    多数类样本多、而且往往更容易,模型很快就能把它们分对;但它们数量巨大,导致训练过程中的++梯度贡献仍主要来自这些样本++,尾部类/难样本的信号被淹没。

Focal Loss 的核心目标就是一句话:

降低"容易样本"的损失权重,让训练更关注"难样本"和"少数类"


2. 基线:多分类交叉熵(Cross Entropy)在做什么?

图像分类常见是 多分类 softmax。设:

  • 类别数为 (C)

  • 模型输出 logits 为,为一组实数。++(如果把模型比作一个法官,Logits 就是他心里对各个选项的"原始评分",还没有转换成百分比形式)++

  • softmax 概率为

  • 真实标签为

softmax公式定义:。++(将 Logits 映射到 0, 1之间,且总和为 1)++

多分类交叉熵:

交叉熵在长尾场景的问题:

交叉熵会对每个样本都"认真对待"。当多数类样本数量巨大时,即使它们早已变成 easy samples( 接近 1),总体上仍会累积出大量损失/梯度贡献,使优化方向更偏向多数类。


3. Focal Loss:在交叉熵上加一个"聚焦因子"

Focal Loss 的关键做法是:给交叉熵乘上一个随样本难度变化的权重项。

在多分类中,直接令,真实类别概率:

3.1 多分类 Focal Loss 公式

其中:

  • :聚焦参数(focusing parameter),控制"压制 easy 样本"的力度

  • :类别权重(每一类一个权重),用来缓解类别不均衡


4. 这条公式到底解决了什么?

关键在这项:

  • 当样本很容易(模型很自信且正确):

    则 ,损失被大幅降低

  • 当样本很难(模型不自信或预测错):

    则 ,损失基本保留,模型会更关注这些样本

给一个"可读性强"的小例子(不依赖公式渲染也能看懂):

  • 若 ,,则

    easy 样本的损失会被压到原来的万分之一量级

  • 若 ,,则

    难样本损失仍然很大,继续驱动模型学习


5. 两个超参数怎么设?(图像分类实战建议)

5.1 :聚焦难样本的强度

  • :Focal Loss 退化为"带类权重的交叉熵"

  • 常用范围:

  • 常见默认:

经验判断:

  • 如果你发现 多数类精度很高、少数类 recall 很差 ,可尝试增大

  • 如果训练变慢、或对噪声数据很敏感,可尝试减小

5.2 :处理类不均衡(长尾分类里很关键)

在图像分类长尾中, 通常设置为"每类一个权重"。常见做法包括:

  • 按类别频次的反比或幂次:

6. 在图像分类任务里,Focal Loss 适合哪些场景?

  • 长尾分类(最典型):尾部类别样本少,模型容易忽略

  • 难例较多:例如细粒度分类(鸟类、车型)、易混淆类别多

  • 你关心宏平均指标:如 macro-F1、balanced accuracy,而不只是 overall accuracy

++不太建议直接上 Focal Loss 的情况:++

  • 数据比较均衡、且训练中不存在"easy 样本淹没问题"

  • 标签噪声较多:Focal Loss 会更强调"难样本",噪声样本往往也"难",可能被放大


7. 总结

Focal Loss 可以看作是"交叉熵 + 动态难度加权"。在长尾图像分类中,它通过 自动降低大量 easy 样本的影响,让训练把更多注意力放在难样本与少数类上 ;配合 的类别权重,通常能显著改善尾部类别的召回与 macro 指标( 确保那些样本稀少的类别也能被正确地识别*)*。

相关推荐
I Am a robert girl几秒前
VideoLoop:用循环工作记忆对抗长视频 Agent 的语义抖动
大数据·人工智能·机器学习·多模态agent·长视频理解·工作记忆·语义抖动
55873 生态系统2 分钟前
龙萨先生,文明架构师|1817册典籍如何被AI读取?——“可复核文明知识库“的体系化构建实践
人工智能·55873全域文明生态体系·55873操作系统·全域文明生态系统·55873技术底层·55873数字资产
我是海飞5 分钟前
杰理 JL703N SDK 实现 AI 自动化调试:自动进入下载模式、下载、重启与日志抓取
人工智能·单片机·自动化·音视频·杰理
海海不掉头发7 分钟前
软件开发方法第七周笔记_CSDN博客
人工智能·笔记·学习·软件工程
虎头金猫10 分钟前
从上传PPT到观众远程打开互动页面:Claper在CentOS 7上的Docker部署、互动组件设置与固定访问地址实战
linux·运维·网络·人工智能·docker·centos·powerpoint
龙亘川10 分钟前
水质决策报表业务建模:从自定义报表到六时间尺度自动报表闭环
大数据·人工智能·智慧城市·开源软件
科研小牛马15 分钟前
北航何静:Codex调用SketchUp实操,常见智能体均适用
人工智能
机器人梦想家17 分钟前
【AI工具】Task Kit:把 Spec Kit 的契约化思想搬来管日常工作
人工智能
ck01357918 分钟前
图片抠图怎么做?从背景去除到透明 PNG 的实用教程
人工智能·测试工具·音视频·媒体·视频
美狐美颜sdk26 分钟前
直播APP接入第三方视频美颜SDK安全吗?数据处理与隐私问题分析
人工智能·音视频·美颜sdk·第三方美颜sdk·视频美颜sdk·美颜api