焦点损失函数 Focal Loss 与 GHM】的更多相关文章

Focal Loss 与 GHM Focal Loss Focal Loss 的提出主要是为了解决难易样本数量不平衡(注意:这有别于正负样本数量不均衡问题)问题.下面以目标检测应用场景来说明. 一些 one-stage 的目标检测器通常会产生很多数量的 anchor box,但是只有极少数是正样本,导致正负样本数量不均衡.这里假设我们计算分类损失函数为交叉熵公式. 由于在目标检测中,大量的候选目标都是易分样本,这些样本的损失很低,但是由于数量极不平衡,易分样本数量相对来说太多,最终主导了总的损失…
论文分析了one-stage网络训练存在的类别不平衡问题,提出能根据loss大小自动调节权重的focal loss,使得模型的训练更专注于困难样本.同时,基于FPN设计了RetinaNet,在精度和速度上都有不俗的表现 论文:Focal Loss for Dense Object Detection 论文地址:https://arxiv.org/abs/1708.02002 论文代码:https://github.com/facebookresearch/Detectron Introducti…
论文原址:https://arxiv.org/abs/1708.02002 github代码:https://github.com/fizyr/keras-retinanet 摘要 目前,具有较高准确率的检测器基于双阶段的目标检测算法实现,单阶段通过对可能存在的位置进行密集的采样操作,一定程度上要比双阶段的方法要更简单快速,但是准确率会有所损失.在进行训练时,前景与背景二者之间较大的类别不平衡是产生上述问题的原因.针对上述问题,本文对常规的损失函数进行修改,降低易分类样本产生的损失的贡献度.本文…
1. 总述 Focal loss主要是为了解决one-stage目标检测中正负样本比例严重失衡的问题.该损失函数降低了大量简单负样本在训练中所占的权重,也可理解为一种困难样本挖掘. 2. 损失函数形式 Focal loss是在交叉熵损失函数基础上进行的修改,首先回顾二分类交叉上损失: 是经过激活函数的输出,所以在0-1之间.可见普通的交叉熵对于正样本而言,输出概率越大损失越小.对于负样本而言,输出概率越小则损失越小.此时的损失函数在大量简单样本的迭代过程中比较缓慢且可能无法优化至最优.那么Foc…
论文:Focal Loss for Dense Object Detection 论文链接:https://arxiv.org/abs/1708.02002 一. 提出背景 object detection的算法主要可以分为两大类:two-stage detector和one-stage detector.前者是指类似Faster RCNN,RFCN这样需要region proposal的检测算法,这类算法可以达到很高的准确率,但是速度较慢.虽然可以通过减少proposal的数量或降低输入图像的…
论文:<Focal Loss for Dense Object Detection> Focal Loss 是何恺明设计的为了解决one-stage目标检测在训练阶段前景类和背景类极度不均衡(如1:1000)的场景的损失函数.它是由二分类交叉熵改造而来的. 标准交叉熵 其中,p是模型预测属于类别y=1的概率.为了方便标记,定义: 交叉熵CE重写为: α-平衡交叉熵: 有一种解决类别不平衡的方法是引入一个值介于[0; 1]之间的权重因子α:当y=1时,取α; 当y=0时,取1-α. 这种方法,当…
何凯明大佬 ICCV 2017 best student paper 作者提出focal loss的出发点也是希望one-stage detector可以达到two-stage detector的准确率,同时不影响原有的速度.one-stage detector的准确率不如two-stage detector的原因,作者认为原因是:样本的类别不均衡导致的.因此针对类别不均衡问题,作者提出一种新的损失函数:focal loss,这个损失函数是在标准交叉熵损失基础上修改得到的.这个函数可以通过减少易…
1. 损失函数 损失函数(Loss function)是用来估量你模型的预测值 f(x) 与真实值 Y 的不一致程度,它是一个非负实值函数,通常用 L(Y,f(x)) 来表示. 损失函数越小,模型的鲁棒性就越好. 损失函数是经验风险函数的核心部分,也是结构风险函数的重要组成部分.模型的风险结构包括了风险项和正则项,通常如下所示: 其中,前面的均值函数表示的是经验风险函数,L代表的是损失函数,后面的 Φ 是正则化项(regularizer)或者叫惩罚项(penalty term), 它可以是L1,…
最近太忙已经好久没有写博客了,今天整理分享一篇关于损失函数的文章吧,以前对损失函数的理解不够深入,没有真正理解每个损失函数的特点以及应用范围,如果文中有任何错误,请各位朋友指教,谢谢~ 损失函数(loss function)是用来估量模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好.损失函数是经验风险函数的核心部分,也是结构风险函数重要组成部分.模型的结构风险函数包括了经验风险项和正则项,通常可以表示成如下式子…
为了有效地同时解决样本类别不均衡和苦难样本的问题,何凯明和RGB以二分类交叉熵为例提出了一种新的Loss----Focal loss 原始的二分类交叉熵形式如下: Focal Loss形式如下: 上式中,相对于原始的二分类交叉熵加入了两个量:1.modulating factor:(其中幂称为focusing parameter):2.: 现在分别来解释一下两个分量的作用: (1)第一个分量称为调制系数,它的作用是困难样本挖掘,比如p越大,则表示它更趋于是简单正样本,则对应的调制系数则更小,即简…
Focal Loss for Dense Object Detection-RetinaNet YOLO和SSD可以算one-stage算法里的佼佼者,加上R-CNN系列算法,这几种算法可以说是目标检测领域非常经典的算法了.这几种算法在提出之后经过数次改进,都得到了很高的精确度,但是one-stage的算法总是稍逊two-stage算法一筹,于是就有了Focal Loss来找场子. 在Focal Loss这篇论文中中,作者认为one-stage精确度不如two-stage是因为下面的原因: ① …
把Focal Loss的前向和后向进行数学化描述.本文的公式可能数学公式比较多.本文尽量采用分解的方式一步一步的推倒.达到能易懂的目的. Focal Loss 前向计算 其中 是输入的数据 是输入的标签. 其中 Focal Loss 后向梯度计算 为了计算前向公式(3)的梯度我们,首先计算单元 的导数. 计算计算 导数: 有了(4)和(5)我们就来对(3)进行推倒. 在(6)中把(4)(5)带入并合并整理就得到(7) (7)就是Focal loss的后向的最后结果.要是在TF, Pytorch等…
公式推导:https://github.com/zimenglan-sysu-512/paper-note/blob/master/focal_loss.pdf 使用的代码:https://github.com/zimenglan-sysu-512/Focal-Loss 在onestage的网络中,正负样本达到1:1000,这就会出现两个问题:1.样本不平衡   2.负样本主导loss.虽然负样本的loss小(因为大量的负样本是easy example,大量负样本是准确率很高的第0类),但个数众…
这个是自己用的focal loss的代码和公式推导:https://github.com/zimenglan-sysu-512/Focal-Loss 这个是有retinanet:https://github.com/unsky/RetinaNet…
温故知新 focal loss for dense object detection,知乎上一人的评论很经典.hard negative sampling, 就是只挑出来男神(还是最难追的),而focal loss把男神拉出来的同时,还把备胎都拉出来,同时还按照颜值排个序…… 太有才了……理工科人也有幽默感的! video detection, track to detect and detect to track, neural networks tricks of the trade,觉得我…
Focal Loss for Dense Object Detection Intro 这又是一篇与何凯明大神有关的作品,文章主要解决了one-stage网络识别率普遍低于two-stage网络的问题,其指出其根本原因是样本类别不均衡导致,一针见血,通过改变传统的loss(CE)变为focal loss,瞬间提升了one-stage网络的准确率.与此同时,为了测试该loss对网络改进的影响,文章还特地设计了一个网络,retina net,证明了其想法. Problems 为啥one-stage网…
本质上讲,Focal Loss 就是一个解决分类问题中类别不平衡.分类难度差异的一个 loss,总之这个工作一片好评就是了. 看到这个 loss,开始感觉很神奇,感觉大有用途.因为在 NLP 中,也存在大量的类别不平衡的任务.最经典的就是序列标注任务中类别是严重不平衡的,比如在命名实体识别中,显然一句话里边实体是比非实体要少得多,这就是一个类别严重不平衡的情况. 硬截断 整篇文章都是从二分类问题出发,同样的思想可以用于多分类问题.二分类问题的标准 loss 是交叉熵. 其中 y∈{0,1} 是真…
def focal_loss(pred, y, alpha=0.25, gamma=2): r"""Compute focal loss for predictions. Multi-labels Focal loss formula: FL = -alpha * (z-p)^gamma * log(p) -(1-alpha) * p^gamma * log(1-p) ,which alpha = 0.25, gamma = 2, p = sigmoid(x), z = ta…
0 前言 Focal Loss是为了处理样本不平衡问题而提出的,经时间验证,在多种任务上,效果还是不错的.在理解Focal Loss前,需要先深刻理一下交叉熵损失,和带权重的交叉熵损失.然后我们从样本权利的角度出发,理解Focal Loss是如何分配样本权重的.Focal是动词Focus的形容词形式,那么它究竟Focus在什么地方呢? 1 交叉熵 1.1 交叉熵损失(Cross Entropy Loss) 有\(N\)个样本,输入一个\(C\)分类器,得到的输出为\(X\in \mathcal{…
神经网络的复杂度:可用神经网络的层数和神经网络中待优化参数个数表示 神经网路的层数:一般不计入输入层,层数 = n 个隐藏层 + 1 个输出层 神经网路待优化的参数:神经网络中所有参数 w 的个数 + 所有参数 b 的个数 如: 在该神经网络中,包含 1 个输入层.1 个隐藏层和 1 个输出层,该神经网络的层数为 2 层. 在该神经网络中,参数的个数是所有参数 w 的个数加上所有参数 b 的总数,第一层参数用三行四列的二阶张量表示(即 12 个线上的权重 w)再加上 4 个偏置 b: 第二层参数…
原文标题:Focal Loss for Dense Object Detection 概要 目标检测主要有两种主流框架,一级检测器(one-stage)和二级检测器(two-stage),一级检测器,结构简单,速度快,但是准确率却远远比不上二级检测器.作者发现主要原因在于前景和背景这两个类别在样本数量上存在很大的不平衡.作者提出了解决这种不平衡的方法,改进了交叉熵损失,使其对容易分类的样本产生抑制作用,使得损失集中在数量较少的难分类样本上.同时,作者提出了著名的RetinaNet,这个网络不仅速…
penalty term 和 loss function 看起来很相似,但其实二者完全不同. 惩罚因子: penalty term的作用是把受限优化问题转化为非受限优化问题. 比如我们要优化: min f(x) = $x^2 - 10x$  x 受限于 g(x) = x -3 <= 0 我们可以利用惩罚因子,将上述问题转化为非受限约束问题,也就是拿掉g(x)的限制. 函数变为: min P(x,s,r) = $x^2 - 10x + sr\phi(x - 3)$ 其中s = +1 或-1, r…
原理 对数损失, 即对数似然损失(Log-likelihood Loss), 也称逻辑斯谛回归损失(Logistic Loss)或交叉熵损失(cross-entropy Loss), 是在概率估计上定义的.它常用于(multi-nominal, 多项)逻辑斯谛回归和神经网络,以及一些期望极大算法的变体. 可用于评估分类器的概率输出. 对数损失通过惩罚错误的分类,实现对分类器的准确度(Accuracy)的量化. 最小化对数损失基本等价于最大化分类器的准确度.为了计算对数损失, 分类器必须提供对输入…
Surrogate loss function,中文可以译为代理损失函数.当原本的loss function不便计算的时候,我们就会考虑使用surrogate loss function. 在二元分类问题中,假如我们有\(n\)个训练样本\(\{(X_1,y_1),(X_2,y_2),\cdots,(X_n,y_n)\}\),其中\(y_i\in\{0,1\}\).为了量化一个模型的好坏,我们通常使用一些损失函数,损失函数越小,模型越好.最常用的损失函数就是零一损失函数\(l(\hat y,y)…
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/limiyudianzi/article/details/80697711 我主要分三篇文章给大家介绍tensorflow的损失函数,本篇为tensorflow自定义损失函数.  (一)tensorflow内置的四个损失函数  (二)其他损失函数  (三)自定义损失函数 自定义损失函数是损失函数章节的结尾,学习自定义损失函数,对于提高分类…
损失函数在机器学习中用于表示预测值与真实值之间的差距.一般而言,大多数机器学习模型都会通过一定的优化器来减小损失函数从而达到优化预测机器学习模型参数的目的. 哦豁,损失函数这么必要,那都存在什么损失函数呢? 一般常用的损失函数是均方差函数和交叉熵函数. 运算公式 1 均方差函数 均方差函数主要用于评估回归模型的使用效果,其概念相对简单,就是真实值与预测值差值的平方的均值,具体运算公式可以表达如下: 其中f(xi)是预测值,yi是真实值. 其中f(x_{i})是预测值,y_{i}是真实值. 其中f…
转载请注明出自BYRans博客:http://www.cnblogs.com/BYRans/ 线性回归中提到最小二乘损失函数及其相关知识.对于这一部分知识不清楚的同学可以参考上一篇文章<线性回归.梯度下降>.本篇文章主要讲解使用最小二乘法法构建损失函数和最小化损失函数的方法. 最小二乘法构建损失函数 最小二乘法也一种优化方法,用于求得目标函数的最优值.简单的说就是:让我们的预测值与真实值总的拟合误差(即总残差)达到最小. 在线性回归中使用最小二乘法构建了损失函数: 上一篇文章<线性回归.…
center loss来自ECCV2016的一篇论文:A Discriminative Feature Learning Approach for Deep Face Recognition. 论文链接:http://ydwen.github.io/papers/WenECCV16.pdf 代码链接:https://github.com/davidsandberg/facenet 理论解析请参看 https://blog.csdn.net/u014380165/article/details/7…
首先要在caffe.proto中的LayerParameter中增加一行optional FocalLossParameter focal_loss_param = 205;,然后再单独在caffe.proto中增加 message FocalLossParameter{  optional float gamma = 1 [default = 2];                        optional float alpha = 2 [default = 0.25];  }    …
原文链接:何恺明团队提出 Focal Loss,目标检测精度高达39.1AP,打破现有记录     呀 加入Facebook的何凯明继续优化检测CNN网络,arXiv 上发现了何恺明所在 FAIR 团队的最新力作:"Focal Loss for Dense Object Detection(用于密集对象检测的 Focal Loss 函数)". 孔涛博士在知乎上这么写道: 目标的检测和定位中一个很困难的问题是,如何从数以万计的候选窗口中挑选包含目标物的物体.只有候选窗口足够多,才能保证模…
BS