阅读笔记7——Focal Loss

Focal Loss升级 | E-Focal Loss让Focal Loss动态化,类别极端不平衡也可以轻松解决 Focal Loss升级 | E-Focal Loss让Focal Loss动态化,类别极端不平衡也可以轻松解决1简介相关工作2.1 普通目标检测1、两阶段目标检测2、一阶段目标检测2.2 Long-Tailed 目标检测3本文方法3.1 再看Focal Loss3.2 Equalized Focal Loss1、Focusing Factor2、Weighting FactorPyTorch实现如下: 尽管最近长尾目标检测取得了成功,但几乎所有的长尾目标检测器都是基于两阶段范式开发的。在实践中,一阶段检 阅读详情

一、提出背景

  当前一阶的物体检测算法,如SSD和YOLO等虽然实现了实时的速度,但精度始终无法与两阶的Faster RCNN相比。是什么阻碍了一阶算法的高精度呢?何凯明等人将其归咎于正、负样本的不平衡,并基于此提出了新的损失函数Focal Loss及网络结构RetinaNet,在与同期一阶网络速度相同的前提下,其检测精度比同期最优的二阶网络还要高。
  为了解决一阶网络中样本的不均衡问题,何凯明等人首先改善了分类过程中的交叉熵函数,提出了可以动态调整权重的Focal Loss。

二、交叉熵损失

1. 标准交叉熵损失

  标准的交叉熵函数,其形式如式(2-1)所示:
CE(p,y)={−log(p)if(y=1)−log(1−p)otherwise(2-1)CE(p,y)=\left\{\begin{matrix} -log(p) & if(y=1) & \\ -log(1-p) & otherwise & \end{matrix}\right.\tag{2-1}CE(p,y)={−log(p)−log(1−p)​if(y=1)otherwise​​(2-1)

  公式中,ppp代表样本在该类别的预测概率,yyy代表样本标签。可以看出,当标签为1时,ppp越接近1,则损失越小;标签为0时,ppp越接近0,则损失越小,符合优化的方向。
  为了方便表示,按照式(2-2)将ppp标记为ptp_{t}pt​:
pt={pif(y=1)1−potherwise(2-2)p_{t}=\left\{\begin{matrix} p & if(y=1) & \\ 1-p & otherwise & \end{matrix}\right.\tag{2-2}pt​={p1−p​if(y=1)otherwise​​(2-2)
  则交叉熵可以表示为式(2-3)的形式:
CE(p,y)=CE(pi)=−log(pi)(2-3)CE(p,y)=CE(p_{i})=-log(p_{i})\tag{2-3}CE(p,y)=CE(pi​)=−log(pi​)(2-3)

  标准的交叉熵中所有样本的权重都是相同的,因此如果正、负样本不均衡,大量简单的负样本会占据主导地位,少量的难样本与正样本会起不到作用,导致精度变差。

2. 平衡交叉熵损失

  为了改善样本的不平衡问题,平衡交叉熵在标准的基础上增加了一个系数αt\alpha _{t}αt​来平衡正、负样本的权重,αt\alpha _{t}αt​由超参数α\alphaα按照式(2-4)计算得来,α\alphaα取值在[0,1]区间内。

αt={αif(y=1)1−αotherwise(2-4)\alpha _{t}=\left\{\begin{matrix} \alpha & if(y=1) & \\ 1-\alpha & otherwise & \end{matrix}\right.\tag{2-4}αt​={α1−α​if(y=1)otherwise​​(2-4)

  有了αt\alpha _{t}αt​,平衡交叉熵损失公式如式(2-5)所示:

CE(pt)=−αtlog(pt)(2-5)CE(p_{t})=-\alpha _{t}log(p_{t})\tag{2-5}CE(pt​)=−αt​log(pt​)(2-5)

  尽管平衡交叉熵损失改善了正、负样本间的不平衡,但由于其缺乏对难易样本的区分,因此没有办法控制难易样本之间的不均衡。

三、Focal Loss

  Focal Loss为了同时调节正、负样本与难易样本,提出了如式(3-1)所示的损失函数:

FL(pt)=−αt(1−pt)γlog(pt)(3-1)FL(p_{t})=-\alpha_{t}(1-p_{t})^{\gamma}log(p_{t})\tag{3-1}FL(pt​)=−αt​(1−pt​)γlog(pt​)(3-1)

  对于该损失函数,又如下3个属性:

  • 与平衡交叉熵类似,引入了αt\alpha_{t}αt​权重,为了改善正负样本的不均衡,可以提升一些精度。
  • (1−pt)γ(1-p_{t})^{\gamma}(1−pt​)γ是为了调节难易样本的权重。当一个边框被误分类时,ptp_{t}pt​较小,则(1−pt)γ(1-p_{t})^{\gamma}(1−pt​)γ接近于1,其损失几乎不受影响;当ptp_{t}pt​接近于1时,表明其分类预测较好,是简单样本,(1−pt)γ(1-p_{t})^{\gamma}(1−pt​)γ接近于0,因此其损失被调低了。
  • γ\gammaγ是一个调制因子,γ\gammaγ越大,简单样本损失的贡献度会越低,

四、RetinaNet

  为了验证Focal Loss的效果,何凯明等人还提出了一个一阶物体检测结构RetinaNet,其结构如图4-1所示:

在这里插入图片描述

图4-1 RetinaNet网络结构图
  • 在Backbone部分,RetinaNet利用ResNet与FPN构建了一个多尺度特征的特征金字塔。
  • RetinaNet使用了类似于Anchor的预选框,在每一个金字塔层,使用了9个大小不同的预选框。
  • 分类子网络:分类子网络为每一个预选框预测其类别,因此其输出特征大小为KA×W×H,A默认为9,K代表类别数。中间使用全卷积网络与ReLU激活函数,最后利用Sigmoid函数输出预测值。
  • 回归子网络:回归子网络与分类子网络平行,预测每一个预测框的偏移量,最终输出特征的大小为4A×W×W。与当前主流工作不同的是,两个子网络没有权重的共享。
深度学习损失函数:Focal Loss与Dice Loss实战解析 损失函数是深度学习模型训练的核心组件,通过量化预测与真实值的差异来指导参数优化。针对计算机视觉中的类别不平衡问题,Focal Loss通过调制因子和类别权重有效提升难样本学习能力,而Dice Loss则直接优化分割区域重叠度。这两种损失函数在目标检测和图像分割任务中展现出独特优势,Focal Loss能显著提升小目标检测率,Dice Loss则特别适合医学图像分析。工程实践中,将两者组合使用往往能取得更好效果,如在工业缺陷检测中可使召回率提升24.4%。合理选择损失函数并调整超参数是解决类别不平衡问题的关键 阅读详情

相关推荐

Focal Loss改进版 GFocal Loss

https://github.com/implus/GFocal 最小的模型,247m Model Multi-scale training AP (minival) AP (test-dev) FPS Link GFL_R_50_FPN_1x No 40.2 40.3 19.4 Google GFL_R_50_FPN_2x Yes 42.8 43.1 19.4 Google GFL_R_101_...

jacke121的专栏 9122

focal Loss 损失函数

一、正负样本不均衡问题 Class Imbalance(正负样本不平衡) 带来的问题就是:样本中会存在大量的easy examples,且都是负样本(属于背景的样本)。这样,easy negative examples会对loss起主要贡献作用,会主导梯度的更新方向,网络学不到有用的信息,无法对object进行准确分类。 还有一个问题,为什么two stage不会有这样的问题呢或者为什么two stage没有one stage这么严重呢? 因为,对于two stage来说,首先利用RPN产生region p

weixin_43570470的博客 1927

芒果YOLOv8改进61:分类损失函数Loss篇FocalLoss:即插即用|最新改进FocalLoss损失函数,提高处理不平衡数据分类场景下的任务性能,提升YOLOv8检测精度

YOLOv8 + FocalLoss 代码实践|即插即用|提高处理不平衡数据分类场景下的任务性能,提升YOLOv8检测精度

包括YOLOv5、YOLOv7、YOLOv8等模型改进 4999

Focal Loss和变体

Focal Loss是一种新的深度学习损失函数,用于解决类别不平衡问题,可以改善模型的分类性能。它是一种类似于交叉熵损失函数的损失函数,但是它比交叉熵损失函数具有更强的分类能力,可以更好地处理类别不平衡的问题。多任务Focal Loss:在Focal Loss的基础上,引入了多任务学习,以更好地处理多个任务之间的不平衡。改进的Focal Loss:在Focal Loss的基础上,引入了额外的参数。动态Focal Loss:在Focal Loss的基础上,引入了动态权重。,以更好地处理不同类别之间的不平衡。

qq_37464479的博客 1128

focal loss和retinanet

focal loss主要解决proposal中多个bbox的框样本样本不平衡. 如上图, 比如出100000个框, 实际物体100个, 每一个loss 为2.3, 剩余的每一个loss为0.1,但是数量还是太多, 那么(100*2.3)/(10000*0.1)大约为40倍, 所以要降低esay examples(一般增加难分类的权重,这里降低是因为, esay example数量太多导致总的...

yang_daxia的博客 892

在 Dify 平台部署一个 知识库问答(KBQA) 工作流

加强检索约束,Prompt 加限制(“仅基于知识库回答”):启用缓存,使用轻量级 LLM(如 Mistral-7B)(OpenAI Embedding、M3E、BGE等)(支持 PDF/TXT/Markdown/Word)(GPU/CPU 资源,用于向量数据库和模型推理)企业内部文档(PDF/Word/Excel)网页爬取数据(Markdown/HTML)分块大小(太小→信息碎片化,太大→噪声多)相似度阈值(太高→漏检,太低→噪声多)(是否返回正确文档)结构化数据(数据库/API)

井底小蛙的博客 1520

Focal Loss的阅读笔记

重新看这篇文章是因为最近看到一篇论文FoveaBox算法的基础框架是RetinaNet,所以干脆重新记录一下。 1.Focal loss: 在文章中提出 one-stage 的检测模型在精度上没有two-stage的检测模型好的原因是类别不平衡,Focal loss 的提出是为了解决检测中简单-困难样本不均衡的问题【提高困难样本对模型的影响】。 -----------------------...

weixin_38715903的博客 316

PCIe中ACS知识小记

虚拟机内部的访问数据显而易见是带的GPA地址。而目前几乎所有的PCIe 设备都带ACS control,所以它们可以单独assign给不同的VM,但是随之而来的就是即使两个GPU同时assign给同一个VM,由于ACS的存在,他们之间也不会有真正的物理层面的P2P访问。每一个TLP都自带一个address(寻址类TLP),同时每一个endpoint,PCIe switch都自带一段BIOS配置的地址空间范围,一旦这个TLP的address落入某个设备的地址范围,那么这个TLP就属于这个设备并消费。

Summer的博客 5078

论文阅读|Focal loss

原文标题:Focal Loss for Dense Object Detection 概要 目标检测主要有两种主流框架,一级检测器(one-stage)和二级检测器(two-stage),一级检测器,结构简单,速度快,但是准确率却远远比不上二级检测器。作者发现主要原因在于前景和背景这两个类别在样本数量上存在很大的不平衡。作者提出了解决这种不平衡的方法,改进了交叉熵损失,使其对容易分类的样本产生抑制...

一个程序员 573

图形学基础|屏幕空间反射(SSR)

图形学基础|屏幕空间反射(SSR) 文章目录图形学基础|屏幕空间反射(SSR)一、前言二、反射技术概述2.1 环境贴图反射2.2 IBL反射2.3 平面反射(Planar Reflections)2.4 屏幕空间反射(Screen Space Reflection)2.4.1 SSR的基本原理2.4.2 SSR的优缺点三、SSR(Screen-Space Reflection)实现3.1 Efficient GPU Screen-Space Ray Tracing3.1.1 2D Raymarching v

【黑键】 3万+

随机森林模型及案例(Python)

1 集成模型简介 集成学习模型使用一系列弱学习器(也称为基础模型或基模型)进行学习,并将各个弱学习器的结果进行整合,从而获得比单个学习器更好的学习效果。 集成学习模型的常见算法有Bagging算法和Boosting算法两种。 Bagging算法的典型机器学习模型为随机森林模型,而Boosting算法的典型机器学习模型则为AdaBoost、GBDT、XGBoost和LightGBM模型。 1.1 Bagging算法简介 Bagging算法的原理类似投票,每个弱学习器都有一票,最终根据所有弱学习器的投

qq_42433311的博客 4万+

论文阅读《Focal Loss for Dense Object Detection》

Background & Motivation 目标检测最开始采用滑窗的方法,深度学习兴起后二阶段检测模型占了主导地位,一阶段模型一直在追赶。文章认为一阶段检测模型精度不如二阶段检测模型的一个重要原因是前景/背景的比例失调,二阶段检测模型中使用RPN、Selective Search、OHEM 等方法来应对这一问题,而一阶段的模型使用这些办法效果不是很好。前景/背景比例的失调会导致: 大多数的训练徘徊在easy negative/well-classified example上,使训练十分低效。...

AmbitionalH的博客 498

用数据分析优化彩票决策:放弃预测,专注理性投入

彩票本质上是负和博弈的概率系统,其核心并非号码预测,而是对玩法规则、返奖率(RTP)、投入策略与心理约束的量化决策。基于组合数学与二项分布的分析方法,可精确计算各奖项概率、评估不同玩法的实际回报效率,并构建个人资金-风险-目标模型。数据的价值不在于打破随机性,而在于识别非随机环节——如奖池跃升期的RTP波动、固定奖的保底收益、冷热号背后的分奖博弈结构。这种以决策优化为导向的数据实践,适用于将彩票视为受控实验的理性参与者,而非追求玄学中奖的投机者。

frank1998819 641

Focal Loss 阅读笔记

Focal Loss for Dense Object Detection 文章地址:https://arxiv.org/abs/1708.02002

weixin_37676252的博客 2353

【GlobalMapper精品教程】070:专题地图制作完整操作教程

与其它GIS软件一样,Globalmapper也可以制作出漂亮的地图,本文讲解专题地图制作完整操作流程。

智慧空间实验室 3753

如何在 UniApp 中接入讯飞语音听写功能 文末附vue3+vue2完整代码

在开发过程中,我遇到了讯飞接口返回空数据的问题。通过仔细检查传送的每一帧数据,我发现问题出在第一帧的配置信息以及 Base64 数据的切片。确保每一帧的数据正确且符合接口要求,问题就能够得到解决。希望这个过程能帮助你在项目中顺利对接讯飞语音识别。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 997

Focal Loss(RetinaNet)论文阅读

这篇论文提出了Focal Loss(焦点损失),通过改进损失函数,从而获得更好地检测模型和更高的检测精度。 Motivation (1)要清楚两个名词的含义; hard example,表示硬实例,比如二分类,正例为1,负例为0,那么训练过程中,预测结果接近0.5的,称为硬实例,通过硬实例,模型能学到更多有用的信息。 easy example,与上面相反; (2)传统one-stage相对于t...

qq_41332469的博客 613

MAVLink协议详解

MAVLink是为微型飞行器MAV(Micro Air Vehicle)设计的(LGPL)开源的通讯协议。是无人飞行器和地面站(Ground Control Station ,GCS)之间,以及无人飞行器之间通讯常用的协议。APM、PIXHAWK飞控,Mission Planner、QGroundControl地面站均使用了MAVLink协议进行通讯。 MAVLink源码下载地址(现已更新至v2.0):https://github.com/mavlink/qgroundcontrol   用户手册:ht

程序猿老樊的博客 7704

论文阅读:【RetinaNet】Focal Loss for Dense Object Detection

论文地址:https://arxiv.org/pdf/1708.02002.pdf 代码: Pytorch , tensorflow 创新点: 这篇文章重新定义目标检测中loss损失函数,引入一种新的Focal loss 用来替代 one-stage中的损失函数,作者分析 two-stage 检测方法精度优于one-stage主要由于easyeasyeasy识别样本类别与hardhardhard识...

Rock的博客 1058

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【论文阅读记录】Focal Loss for Dense Object Detection

前言: {     之前就见过几次Focal Loss(焦点损失),只是知道它可以用于解决样本不均衡[1],这次就来详细了解一下这种损失和对应的一种模型:RetinaNet。     论文地址:https://arxiv.org/pdf/1708.02002.pdf }   正文: {     在论文的第一节,作者提到,目前state-of-art的目标检测模型是双阶段的结构,即首...

fish_like_apple的博客 231

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

nanodet阅读:(3)Loss计算及推理部分

nanodet的阅读笔记

tangshopping的博客 5442

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

OHEM,Batch Hard(识别乱入),Focal Loss

一些别人总结的Faster R-CNN后续改进: [目标检测] Faster R-CNN 深入理解 && 改进方法汇总 Faster R-CNN改进篇(一): ION ● HyperNet ● MS CNNTraining Region-based Object Detectors with Online Hard Example Mining 最好先阅读之前博文: Tensorflow o

Wayne2019的博客 5534

论文阅读:RetinaNet:Focal Loss for Dense Object Detection

1、网络总述 这篇paper看似只是提出了一个Focal loss损失函数,但是这是在深刻分析了one_stage和two_stage检测器的基础上,得出one-stage不如two_stage的本质原因是:anchors的类别不均衡,类别不平衡容易导致分类器训练失败,因为分类可以把所有的样本都分为负样本,照样准确率很高。 【注】: 这里的类别不均衡既有正负样本的不均衡,也包括易分类负样本...

j879159541的博客 698

09 《Focal Loss for Dense Object Detection》学习笔记

参考网址: RetinaNet——《Focal Loss for Dense Object Detection》论文翻译(这篇文章基本上完全翻译了论文内容,还是比较详细的,我再阅读时主要参考了这篇) 论文网址:Focal Loss for Dense Object Detection RetinaNet翻译+解析(主要是介绍了论文中的损失函数:CE、FL,其实这些在原作中...

xiaotian127的博客 319

Focal Frequency Loss在StyleGAN2中的应用:生成1024x1024高质量图像

Focal Frequency Loss(FFL)是ICCV 2021提出的创新损失函数,通过聚焦难以合成的频率分量,有效提升图像生成质量。本文将详细介绍如何将FFL集成到StyleGAN2中,实现1024x1024超高分辨率图像的高质量生成,为AI绘画和视觉创作提供强大技术支持。 ## 为什么频率域优化对StyleGAN2至关重要? 传统生成模型往往在像素空间优化,容易丢失高频细节。Styl

gitblog_00915的博客 725

PaddleDetection RetinaNet 实战指南:Focal Loss 单阶段密集目标检测的配置、训练与蒸馏

RetinaNet(Focal Loss for Dense Object Detection)是单阶段密集检测范式的代表性模型,通过 Focal Loss 与特征金字塔(FPN)解决了单阶段检测中正负样本极度不均衡的问题,在 PaddleDetection 中以 `RetinaNet` 架构实现,覆盖 ResNet50/ResNet101 骨干与 1x/2x 训练计划。本指南以仓库 [confi

gitblog_01042的博客 386
上一篇: 阅读笔记6——通道混洗
下一篇: YOLOv5改进——使用深度可分离卷积轻量化C3
晓shuo
晓shuo 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域
博客等级 码龄6年 4万+粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓shuo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值