位置: IT常识 - 正文

损失函数解读 之 Focal Loss(损失函数解读例题)

编辑:rootadmin
损失函数解读 之 Focal Loss 前言

推荐整理分享损失函数解读 之 Focal Loss(损失函数解读例题),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:损失函数解读例题,损失函数解读公式,损失函数怎么理解,损失函数解读例题,损失函数是啥,损失函数怎么理解,损失函数解读公式,损失函数解读公式,内容如对您有帮助,希望把文章链接给更多的朋友!

Focal loss 是一个在目标检测领域常用的损失函数,它是何凯明大佬在RetinaNet网络中提出的,解决了目标检测中 正负样本极不平衡 和 难分类样本学习 的问题。

论文名称:Focal Loss for Dense Object Detection

目录

什么是正负样本极不平衡?

two-stage 样本不平衡问题

one-stage 样本不平衡问题

交叉熵 损失函数

Focal Loss

代码实现 Pytorch


什么是正负样本极不平衡?

目标检测算法为了定位目标会生成大量的anchor box(锚框),而一幅图中真实的目标(正样本)个数很少,大量的anchor box处于背景区域(负样本),这就导致了正负样本极不平衡。

简单来说,正样本是 预测的anchor box 框住了真实的目标;负样本是 预测的anchor box 没有框住真实的目标,框了背景。由于正样本的数量太少、负样本的数据量太多,导致正负样本极不平衡。

two-stage 样本不平衡问题

先看看RPN中的 anchor box ,feature maps 的每一个点都配9个锚框,作为初始的检测框。虽然这样得到的检测框很不准确,但后面可通过 bounding box regression 来修正检测框的位置。

 下面介绍那9个anchor boxes 锚框,先看看它的形状:

 设 feature maps 的尺寸为 W*H,那么总共有 W*H*9个锚框。(W:feature maps的宽;H:feature maps 的高。)

two-stage方法在第一阶段生成候选框,RPN只是对anchor box进行简单背景和前景的区分,并不对类别进行区分,经过这一轮处理,过滤掉了大部分属于背景的anchor box,较大程度降低了anchor box正负样本的不平衡性。

注意:只是减轻了样本不平衡并没有解决样本不平衡。同时在第二阶段采用启发式采样(如:正负样本比1:3)或者OHEM进一步减轻正负样本不平衡的问题。

使用了anchor box机制的网络,通常就会出现样本不平衡问题。

one-stage 样本不平衡问题

one-stage方法为了提高检测速度,舍弃了生成候选框这一阶段,直接对anchor box进行难度更大的细分类,缺少了对anchor box的筛选过程。

看一下例子,预测了很多的框框,但正确包含物体的框框却很少。

交叉熵 损失函数

为什么要介绍交叉熵 损失函数呢?分类通常用到交叉熵的,而且Focal Loss 也是基于交叉熵进行改进的,先介绍一下交叉熵的原理,会更易于理解Focal Loss。

二分类交叉熵损失函数,公式定义如下:

损失函数解读 之 Focal Loss(损失函数解读例题)

 现定义如下的

 得到变形后的损失函数如下:

Focal Loss

由于存在正负样本极不平衡的问题,直接使用交叉熵 损失函数,得到的效果不好。于是,首先平衡交叉熵。

一般为了解决类别不平衡的问题,会在损失函数中每个类别前增加一个权重因子 ∈ [0, 1]来协调类别不平衡。使用类似的方式定义,得到二分类平衡交叉熵损失函数:

平衡交叉熵采用平衡正负样本的重要性,但是没有区分难易样本。  

 然后,类间不均衡较大会导致,交叉熵损失在训练的时候收到影响。易分类的样本的分类错误的损失占了整体损失的绝大部分,并主导梯度。Focal Loss在平衡交叉熵损失函数的基础上,增加一个调节因子降低易分类样本权重,聚焦于困难样本的训练,其定义如下:

 权重帮助处理了类别的 不均衡。

 其中,是调节因子,≥ 0是可调节的聚焦参数,下图展示了 ∈ [0, 5]不同值时focal loss曲线

γ 控制曲线的形状. γ的值越大, 好分类样本的loss就越小, 我们就可以把模型的注意力投向那些难分类的样本. 一个大的 γ 让获得小loss的样本范围扩大了。同时,当γ=0时,这个表达式就退化成了Cross Entropy Loss (交叉熵损失函数)。

在上图中,“蓝”线代表交叉熵损失。X轴即“预测为真实标签的概率”(为简单起见,将其称为pt)。Y轴是给定pt后Focal loss和CE的loss的值。

从图像中可以看出,当模型预测为真实标签的概率为0.6左右时,交叉熵损失仍在0.5左右。因此,为了在训练过程中减少损失,我们的模型将必须以更高的概率来预测到真实标签。换句话说,交叉熵损失要求模型对自己的预测非常有信心。但这也同样会给模型表现带来负面影响。

深度学习模型会变得过度自信, 因此模型的泛化能力会下降.

当使用γ> 1的Focal Loss可以减少“分类得好的样本”或者说“模型预测正确概率大”的样本的训练损失,而对于“难以分类的示例”,比如预测概率小于0.5的,则不会减小太多损失。 

Focal Loss特点:

当很小时(样本难分,不管分的是否正确),调节因子趋近1,损失函数中样本的权重不受影响;当很大时(样本易分,不管分的是否正确),调节因子趋近0,损失函数中样本的权重下降很多聚焦参数可以调节易分类样本权重的降低程度,越大权重降低程度越大

通过分析Focal Loss函数的特点可知,该损失函数降低了易分类样本的权重,聚焦在难分类样本上。  

代码实现 Pytorchclass WeightedFocalLoss(nn.Module): "Non weighted version of Focal Loss" def __init__(self, alpha=.25, gamma=2): super(WeightedFocalLoss, self).__init__() self.alpha = torch.tensor([alpha, 1-alpha]).cuda() self.gamma = gamma def forward(self, inputs, targets): BCE_loss = F.binary_cross_entropy_with_logits(inputs, targets, reduction='none') targets = targets.type(torch.long) at = self.alpha.gather(0, targets.data.view(-1)) pt = torch.exp(-BCE_loss) F_loss = at*(1-pt)**self.gamma * BCE_loss return F_loss.mean()

参考文章1:https://blog.csdn.net/qq_38675397/article/details/106496333

参考文章2:https://amaarora.github.io/2020/06/29/FocalLoss.html

本文链接地址:https://www.jiuchutong.com/zhishi/300824.html 转载请保留说明!

上一篇:js 箭头函数详解(jquery箭头函数)

下一篇:YOLOv5实现目标识别全流程【超级详细!】(yolo目标识别)

  • 营销节奏,这两年的营销节奏有点乱(营销节奏如何把控)

    营销节奏,这两年的营销节奏有点乱(营销节奏如何把控)

  • xs996799619(xs99)

    xs996799619(xs99)

  • 微信@所有人的消息可以不提示吗(微信@所有人的权限)

    微信@所有人的消息可以不提示吗(微信@所有人的权限)

  • qq好友验证多久过期(qq好友验证多久能好)

    qq好友验证多久过期(qq好友验证多久能好)

  • 红米k40有否有呼吸灯(redmi k40有呼吸灯吗)

    红米k40有否有呼吸灯(redmi k40有呼吸灯吗)

  • 美团评价如何修改(美团评价怎么修改?)

    美团评价如何修改(美团评价怎么修改?)

  • 苹果手机照片导入后日期乱了(苹果手机照片导入安卓手机)

    苹果手机照片导入后日期乱了(苹果手机照片导入安卓手机)

  • 苹果x怎么下载软件(苹果X怎么下载微信分身)

    苹果x怎么下载软件(苹果X怎么下载微信分身)

  • usb接口10和ss分别代表什么(usb ss和10)

    usb接口10和ss分别代表什么(usb ss和10)

  • 9寸显示屏尺寸长和宽(9寸显示屏的长宽高)

    9寸显示屏尺寸长和宽(9寸显示屏的长宽高)

  • 加微信显示对方拒绝接收你的消息(加微信显示对方被加好友过于频繁)

    加微信显示对方拒绝接收你的消息(加微信显示对方被加好友过于频繁)

  • 苹果手机一台手机只能用一个ID吗(苹果手机一台手机最长可使用多少小时)

    苹果手机一台手机只能用一个ID吗(苹果手机一台手机最长可使用多少小时)

  • 苹果8p掉电特别快 怎么办(iphone8p掉电)

    苹果8p掉电特别快 怎么办(iphone8p掉电)

  • 怎样在电脑上下载微信(怎样在电脑上下载软件)

    怎样在电脑上下载微信(怎样在电脑上下载软件)

  • qq怎么注销(qq怎么注销钱包)

    qq怎么注销(qq怎么注销钱包)

  • 2010powerpoint扩展名(powerpoint2020扩展名)

    2010powerpoint扩展名(powerpoint2020扩展名)

  • 硬手机壳对手机有伤害吗(硬手机壳会不会伤手机)

    硬手机壳对手机有伤害吗(硬手机壳会不会伤手机)

  • 苹果怎么拉黑联系人(苹果怎么拉黑联系人电话号码说真在通话中)

    苹果怎么拉黑联系人(苹果怎么拉黑联系人电话号码说真在通话中)

  • 抖音如何发表情包(抖音如何发表情包图片)

    抖音如何发表情包(抖音如何发表情包图片)

  • 华为路况目的地怎么更改(华为手机的路况在哪里设置)

    华为路况目的地怎么更改(华为手机的路况在哪里设置)

  • cpu主频多少合适(cpu主频多少合适手机)

    cpu主频多少合适(cpu主频多少合适手机)

  • 原理图生成pcb(ad9原理图生成pcb)

    原理图生成pcb(ad9原理图生成pcb)

  • procreate背景如何透明(procreate背景如何存为模板)

    procreate背景如何透明(procreate背景如何存为模板)

  • 如何修改手机中应用程序权限(如何修改手机中的dns)

    如何修改手机中应用程序权限(如何修改手机中的dns)

  • 怎么取消uc网盘会员自动续费(怎么取消uc网盘连续包月)

    怎么取消uc网盘会员自动续费(怎么取消uc网盘连续包月)

  • 快手怎么发快手影集(快手怎么发快手赚钱)

    快手怎么发快手影集(快手怎么发快手赚钱)

  • vue调用后端接口(vue调用后端接口的方法)

    vue调用后端接口(vue调用后端接口的方法)

  • YOLOV8——快速训练指南(上手教程、自定义数据训练)(yolov3训练自己的数据超详细)

    YOLOV8——快速训练指南(上手教程、自定义数据训练)(yolov3训练自己的数据超详细)

  • 房产租金收入免不免房产税?
  • 即征即退进项税额怎么填写申报表
  • 留底税额有没有时间
  • 红字冲回账务处理
  • 企业所得税税款可以扣除吗
  • 普通发票税额没有打印全可以用么
  • 什么是长期股权结构
  • 金蝶kis标准版自定义报表功能
  • 发票打印机贵吗
  • 银行存款利息收入要交增值税吗
  • 个人股权转让给公司
  • 中兴通技术维护费
  • 佣金支出和手续费税前扣除相关政策依据及会计处理
  • 纳税评估怎么办
  • 2023年企业退休职工取暖费
  • 新成立的公司如何建账
  • 劳务分包有执照没资质能开票吗?
  • 已出账但未认证的抵扣联怎么办?
  • 2017年一般纳税人增值税优惠
  • 税收筹划的概念和步骤
  • 收入确认的
  • 联营与参股公司的关系
  • 注销税务财务报表模板
  • 自然人收税管理
  • 不动产融资租赁服务属于租赁服务吗
  • 营改增后城建税和教育费附加包含在哪里
  • 企业其他应付款增加说明什么
  • 法人个人账户收钱算不算公司收钱
  • PHP:oci_new_descriptor()的用法_Oracle函数
  • linux操作系统安装包
  • 金融行业如何征收营业税
  • 库存现金盘盈影响营业利润吗
  • 未确认融资费用怎么算
  • php最安全的登录功能
  • 差额征税专用发票税额怎么算
  • 路径规划是什么意思
  • 前端面试题校招
  • win11安卓子系统教程
  • php中url什么意思
  • mac datagrip
  • phpcms怎么样
  • 超过离线开票限定时间怎么办
  • 10万以下销售额怎么算
  • 公司必须要申报工资流水吗
  • 织梦cms要钱吗
  • mongodb 全文索引
  • 轿车折旧年限为几年
  • 认缴制无实收资本怎么算
  • 税务已注销工商如何注销
  • 甲供材甲方如何缴纳增值税
  • 未满一年需要工商年报吗
  • 债券到期收益率被定义为使债券的()
  • 一般纳税人增值税怎么做账务处理
  • 资产减少的方式有哪些?
  • 职工基本医疗保险怎么用
  • 进口关税免征
  • 信用卡刷卡手续费是谁收取的
  • 固定资产出售的收入属于收入吗
  • 应收应付账款统计表
  • 印花税的范畴
  • 享受所得税减免优惠的生产性外商投资企业包括
  • 固定资产入账标准最新规定企业
  • 员工离职未领工资怎么处置
  • windowsxp文件
  • fix it club
  • solaris修改时间
  • Winxp安装光盘修复
  • linux tar压缩文件命令
  • 安卓游戏模拟游戏制作
  • js计算字符串长度 汉字长度
  • linux 每隔几秒执行一次
  • [置顶]bilinovel
  • android中edittext
  • eventbus threadmode
  • jQuery 中ajax异步调用的四种方式
  • 什么叫税务备案
  • 税务稽查人员占税务人员比例
  • weverse登录不了
  • 民办非营利医院所得税
  • 长安cs752016款2.0手动
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设