【论文阅读】Generalized Focal Loss的解读。交叉熵、Focal Loss、Quality Focal Loss、Distribution Focal Loss

这篇具有很好参考价值的文章主要介绍了【论文阅读】Generalized Focal Loss的解读。交叉熵、Focal Loss、Quality Focal Loss、Distribution Focal Loss。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

论文链接:https://arxiv.org/pdf/2006.04388.pdf

1 Introduction

已有方法中,单阶段密集检测器一般分为三个输出内容

  • 检测框质量估计confidence:
    channel维度上占 1;
    训练时正样本标签为当前grid_ceil对应的标签框和预测框的iou score、或者centerness score,负样本为0。

  • 检测框box:
    channel维度上占4;分别为xywh的转化值。

  • 分类class。
    channel维度上占n位(n为类别数量);

已有方法存在的两个问题

  1. classification score 和 IoU/centerness score 训练测试不一致。
    • (1)在近期的密集检测器中,检测框质量估计和分类得分是独立训练的,但在推理过程中是综合使用 (如乘法)。下图中左边是训练时,右侧是测试时。
      distribution focal loss,深度学习相关的论文阅读,论文阅读
    • (2)定位质量估计的监督目前只针对正样本,这是不可靠的,因为负样本可能有机会获得无法控制的高质量预测(图2(a))。
      这部分作者说的是部分论文。个人长期阅读yolo系列,其损失函数中的有且仅有质量评估项,正样本负样本都会参与训练,会存在正负样本不均衡,然后在yolov5中,增加了正样本扩充的操作。
      distribution focal loss,深度学习相关的论文阅读,论文阅读
      这两个因素导致了训练和测试之间的差距,并可能会降低检测性能,例如,在NMS中,随机高质量分数的负实例可能排名在质量预测较低的正实例前面。
  2. 边界框的的表示不灵活:
    在数学中,狄拉克δ函数(Dirac Delta function)是在实直线上定义的,除了零以外的点都等于零,而其在整个定义域上的积分等于1 的广义函数或分布。有时认为δ函数是原点处的一个无限高、无限细,总面积为1的尖峰。它是由理论物理学家保罗·狄拉克引入的,物理上代表了理想化的质点或点电荷的密度。在信号处理中它往往被称为单位脉冲函数 。
    目前 边界框表示被建模为一个简单的狄拉克分布,并采用回归方式进行训练。简单的说,边界框为狄拉克分布,就是框的边界位置是唯一确定的。
    但是,它没有考虑到数据集的模糊性和不确定性。如下图中的边界不清晰,因此真实标签(白色框)有时不可信,狄拉克分布无法很好的表示这些问题。但能够知道的是边界在一定范围。
    虽然最近的一些工作是将box作为高斯分布,但捕获边界框位置的真实分布太简单了。事实上,真实分布可以是更任意和更灵活的,而不需要像高斯函数一样对称。
    distribution focal loss,深度学习相关的论文阅读,论文阅读

本论文 解决方法的提出
为了解决上述问题,我们为边界框、质量评估 设计了新的表示方法。

  1. 分类IoU联合表示:分类onehot向量的标签 在真实类别位置上的是其相应的定位质量(在本文中,通常是预测box和对应的真实box的iou得分)。这样,我们可以以端到端方式进行训练,同时在推理过程中直接使用(图1(b))。因此,它消除了训练-测试的不一致性,并使定位质量和分类之间具有最强的相关性。
    举例子:5分类的任务,第1类别的分类标签onehot应为 [0,1,0,0,0],当前训练时检测框和对应标签框的iou为0.65,则此时分类的标签不再使用 [0,1,0,0,0],而是使用分类-iou联合表示:[0,0.65,0,0,0]。
    distribution focal loss,深度学习相关的论文阅读,论文阅读
    此外,阴性结果将以0分的质量分数进行监督,因此整体质量预测变得更加可靠。
  2. 对于边界框表示,我们建议通过直接学习box位置上的离散概率分布,而不引入任何其他更强的先验。因此,我们可以获得更可靠和准确的边界框估计,同时了解它们的各种潜在分布。
    distribution focal loss,深度学习相关的论文阅读,论文阅读

解决方案的具体操作

  • Focal Loss (FL):传统上对于密集检测器,分类分支采用 FL 进行优化。FL可以通过重塑标准交叉熵损失来成功地解决类的不平衡问题。FL目前只支持离散的{1,0}类别标签。
  • Quality Focal Loss (QFL):对于提出的分类-iou联合表示,它是一个连续IoU标签 (0∼1) 。QFL 将FL 从{1,0}离散版本扩展到其连续变量。专注于一组稀疏的困难样本的同时,对相应的类别进行连续的0∼1质量估计。
  • Distribution Focal Loss (DFL):使网络快速关注于学习在任意和灵活的分布下,目标边界框的连续位置附近的值的概率。
  • Generalized Focal Loss (GFL):将QFL和DFL统一表达公式,称其为 GFL。GFL考虑了一种非常普遍的情况,即全局优化的解决方案能够针对任意期望的连续值,而不是离散的连续值。

Generalized Focal Loss 的三个优点

  • (1)它缩小了训练和测试之间的差距,从而使分类和定位质量得到更简单、联合和有效的表示;
  • (2)它很好地模拟了边界框灵活的底层分布,提供了信息更丰富、更准确的box位置;
  • (3)可以在不引入额外开销的情况下持续提高单阶段探测器的性能。在COCO测试开发中,GFL使用ResNet-101骨干实现了45.0%的AP,超过了最先进的SAPD(43.5%) 和ATSS(43.6%)。我们最好的模型可以在一个2080Ti的GPU上运行,同时在10 FPS上实现48.2%的单模型单尺度AP。

2 相关公式

这里回顾下交叉熵的定义和公式,以及Focal Loss的公式和由来。

  • 交叉熵的介绍
    • 信息量
      假设 X 是一个离散型随机变量,其取值 x 的集合为 χ \chi χ(即 x ∈ χ x\in \chi xχ),概率分布函数 y ( x ) = P r ( X = x ) y(x)=Pr(X=x) y(x)=Pr(X=x)。则定义事件 X = x 0 X=x_0 X=x0的信息量为: I ( x 0 ) = − log ⁡ ( y 0 ) I(x_0)=-\log(y_0) I(x0)=log(y0)其中 y ( x 0 ) ∈ [ 0 , 1 ] y(x_0)\in [0,1] y(x0)[0,1] I ( x 0 ) ∈ [ 0 , 1 ) I(x_0)\in[0,1) I(x0)[0,1)
      对于一个事件,大概率的状态发生了,我们获取到的信息很小;但小概率的状态发生,我们获取的信息量就很大。比如:连续五天的大晴天,第六天如果下大雨,就带来了非常大的信息量,会改变我们对后面时间的天气带来新的预测
    • 熵(信息量的期望)
      当有了信息量的定义,然后用熵表示所有信息量的期望,即: H ( Y X ) = − ∑ i = 1 n y i log ⁡ ( y i ) H(Y_X)=-\sum_{i=1}^{n}y_i\log(y_i) H(YX)=i=1nyilog(yi)其中n代表事件X所有发生的可能。
    • 相对熵(KL散度)
      对于同一个随机变量x,有两个单独的概率分布 Y ( x ) Y(x) Y(x) P ( x ) P(x) P(x),我们可以使用相对熵来衡量这两个分布的差异。(例如,神经网络中分类任务,标签(理想表达)属于一个分布,模型的输出(大致表达)属于一个分布,两个分布是独立的,我们就可以使用相对熵来衡量这两个分布的差异,也就是距离)。 D K L ( y ∣ ∣ q ) = ∑ i = 1 n y i log ⁡ ( y i p i ) = ∑ i = 1 n y i log ⁡ ( y i ) − ∑ i = 1 n y i log ⁡ ( p i ) = H ( Y X ) + [ − ∑ i = 1 n y i ) log ⁡ ( p i ) ) ] \begin{aligned} D_{KL}(y||q)&=\sum_{i=1}^{n}y_i\log(\frac{y_i}{p_i}) \\ &=\sum_{i=1}^{n}y_i\log(y_i) - \sum_{i=1}^{n}y_i\log(p_i) \\ &= H(Y_X) + [-\sum_{i=1}^{n}y_i)\log(p_i))] \end{aligned} DKL(y∣∣q)=i=1nyilog(piyi)=i=1nyilog(yi)i=1nyilog(pi)=H(YX)+[i=1nyi)log(pi))]
    • 交叉熵
      相对熵 D K L ( y ∣ ∣ q ) D_{KL}(y||q) DKL(y∣∣q) 衡量了同一个变量x的两个独立分布之间的差距。在深度学习中,将其设置为损失函数并最小化,就是使模型的输出的分布尽量靠近标签的分布。我们可以发现交叉熵中,第一项 H ( y ( x ) ) H(y(x)) H(y(x))是一项定值,所以可以只关注第二项。故对第二项定义为交叉熵: H ( X ) = − ∑ i = 1 n y i log ⁡ ( p i ) H(X)=-\sum_{i=1}^{n}y_i\log(p_i) H(X)=i=1nyilog(pi)
    • 二分类的交叉熵
      当n=2时(也就是只有两种可能性时),公式变为 H ( x ) = − y 0 log ⁡ ( p 0 ) − y 1 log ⁡ ( p 1 ) H(x) = -y_0\log(p_0)-y_1\log(p_1) H(x)=y0log(p0)y1log(p1)其中当预测的概率通过sofamax之后总和为1: p 1 = 1 − p 0 p_1=1-p_0 p1=1p0;标签本身: y 1 = 1 − y 0 y_1=1-y_0 y1=1y0。上面的公式可化简为 H ( x ) = − y log ⁡ ( p ) − ( 1 − y ) log ⁡ ( 1 − p ) H(x)=-y\log(p)-(1-y)\log(1-p) H(x)=ylog(p)(1y)log(1p)该公式就是我们最常见的表达。若将其展开情况写。则有 H = { − log ⁡ ( p ) ( y = 1 ) − log ⁡ ( 1 − p ) ( y = 0 ) ) \begin{aligned} H&=\left\{\begin{matrix} -\log(p) & (y=1) & \\ -\log(1-p) & (y=0)) & \end{matrix}\right. \end{aligned} H={log(p)log(1p)(y=1)(y=0))然后用一个公式统一它 H = − log ⁡ ( p t ) p t = { p ( y = 1 ) 1 − p ( y = 0 ) ) \begin{aligned} H&=-\log(p_t) \\ p_t&=\left\{\begin{matrix} p & (y=1) & \\ 1-p & (y=0)) & \end{matrix}\right. \end{aligned} Hpt=log(pt)={p1p(y=1)(y=0))

  • Focal Loss(FL)
    最初的FL 被提出用来解决单阶段目标检测场景,在训练过程中前景和背景类之间经常存在极端的不平衡。在演变的过程中,也增加了系数,来应对困难样本的情况。FL的提出是在二分类交叉熵的基础上演变的
    • FL调节正负样本权重
      由于正负样本数量不一致,我们认为设定权重,给正样本以较大权重,给负样本以小的权重,其中 α ∈ ( 0 , 1 ) \alpha \in(0,1) α(0,1)属于超参数 H = { − log ⁡ ( p ) ∗ ( α ) ( y = 1 ) − log ⁡ ( 1 − p ) ∗ ( 1 − α ) ( y = 0 ) \begin{aligned} H&=\left\{\begin{matrix} -\log(p) *(\alpha ) & (y=1) & \\ -\log(1-p) *(1-\alpha ) & (y=0) & \end{matrix}\right. \end{aligned} H={log(p)(α)log(1p)(1α)(y=1)(y=0)

    • 调节困难样本
      只要是预测值与真值距离越远,样本越困难。那么如何改善这样的问题呢?
      我们可以给困难样本以较大的权重,简单样本以较小的权重。自动降低简单样本的贡献,并迅速将模型集中在困难样本上。
      在训练过程中,当假设为1 的标签(负样本同理):

      • 若预测为0.9,说明该样本为简单样本。权重可为(1-0.9);
        若预测为0.65,说明该样本为稍微困难样本。权重为(1-0.65);
        若预测为0.3,则说明为困难样本。权重为(1-0.3)。

      然后想在这样的权重上给予一定的超参,去修改权重的程度,可加个指数超参数。
      按照此归纳,FL可为 H = { − log ⁡ ( p ) ∗ ( 1 − p ) γ ( y = 1 ) − log ⁡ ( 1 − p ) ∗ ( p ) γ ( y = 0 ) \begin{aligned} H&=\left\{\begin{matrix} -\log(p) *(1-p )^\gamma & (y=1) & \\ -\log(1-p) *(p )^\gamma & (y=0) & \end{matrix}\right. \end{aligned} H={log(p)(1p)γlog(1p)(p)γ(y=1)(y=0)

    • 最终的公式
      将上面的公式合并,并将两种情况统一成一种表达 H = − α t ∗ ( 1 − p t ) γ ∗ log ⁡ ( p t ) p t = { p ( y = 1 ) 1 − p ( y = 0 )      α t = { α ( y = 1 ) 1 − α ( y = 0 ) \begin{aligned} H&=-\alpha _t*(1-p_t )^\gamma*\log(p_t) \\ p_t&=\left\{\begin{matrix} p & (y=1) & \\ 1-p & (y=0) & \end{matrix}\right.\,\,\ \alpha _t&=\left\{\begin{matrix} \alpha & (y=1) & \\ 1-\alpha & (y=0) & \end{matrix}\right. \end{aligned} Hpt=αt(1pt)γlog(pt)={p1p(y=1)(y=0) αt={α1α(y=1)(y=0)


    为了简单起见,我们在原始论文[18]中忽略了 α t α_t αt
    F L ( p ) = − ( 1 − p t ) γ l o g ( p t ) , p t = { p ,       w h e n    y = 1 1 − p ,       w h e n    y = 0 \begin{aligned} &FL(p)=-(1-p_{t})^{\gamma }log(p_t),\\ \\ &p_t=\left\{\begin{matrix} p,\,\,\,\,\,when\,\,y=1 & & \\ 1-p,\,\,\,\,\,when \,\,y=0 & & \end{matrix}\right. \end{aligned} FL(p)=(1pt)γlog(pt),pt={p,wheny=11p,wheny=0
    • 其中, y ∈ { 1 , 0 } y∈\{1,0\} y{1,0}为真实标签类别, p ∈ [ 0 , 1 ] p∈[0,1] p[0,1]为标签对应类别的估计概率。 γ γ γ为可调制参数。
    • 具体来说,FL由一个标准的交叉熵 − l o g ( p t ) −log(p_t) log(pt) 和一个动态比例因子 ( 1 − p t ) γ (1−pt)^γ (1pt)γ 组成,其中比例因子 ( 1 − p t ) γ (1−pt)^γ (1pt)γ 在训练过程中自动降低简单样本的贡献,并迅速将模型集中在困难样本上。
    • 经典的FL只支持{1,0}离散标签。

3 Method

在本节中,我们详细介绍了改进的定位质量估计和边界框的表示,它们分别通过提出的Quality Focal Loss(QFL) 和Distribution Focal Loss(DFL) 成功优化。 最后,我们将QFL和DFL的公式总结为一个统一的视角,称为 Generalized Focal Loss(GFL),作为FL的一个灵活的扩展,以促进未来进一步的推广和普遍的理解。

  • Quality Focal Loss(QFL)
    为了解决上述训练和测试阶段之间的不一致问题,我们提出了一个 定位质量(目标框质量评估) 和分类得分的联合表示,这种标签是软化onehot类别标签形式,类别数值是浮动数值 y ∈ [ 0 , 1 ] y∈[0,1] y[0,1]。在训练过程中,定位质量标签y遵循传统的定义:预测边界框与其对应的真实边界框之间的IoU得分,动态值为0∼1。我们采用sigmoid操作 σ ( ⋅ ) σ(·) σ(),用来实现多类别的分类。为了表示简单,对输出进行sigmoid操作记为 σ σ σ
    下图中,对于正样本positives,左边的已有工作onehot形式,表达中类别位置为1;而右侧中的为0.9,是一个浮点值,表示目标IoU得分为0.9的阳性样本。distribution focal loss,深度学习相关的论文阅读,论文阅读

    由于所提出的分类-iou联合表示需要对整个图像进行密集的监督,并且仍然存在类不平衡问题,因此必须继承FL的思想。但经典的FL只支持{1,0}离散标签,但我们的新标签是浮点型。因此,我们扩展FL的两部分,Quality Focal Loss 公式为:
    Q F L = − ∣ y − σ ∣ β ( ( 1 − y ) log ⁡ ( 1 − σ ) + y log ⁡ ( σ ) ) QFL=-|y-\sigma|^\beta((1-y)\log(1-\sigma)+y\log(\sigma)) QFL=yσβ((1y)log(1σ)+ylog(σ))

    • 交叉熵:【 − log ⁡ ( p t ) −\log(p_t) log(pt)】—>【 − ( ( 1 − y ) log ⁡ ( 1 − σ ) + y log ⁡ ( σ ) ) −((1−y)\log(1−σ)+ y \log(σ)) ((1y)log(1σ)+ylog(σ))】;
    • 调制因子:【 ( 1 − p t ) γ (1−p_t)^γ (1pt)γ】—> 【 ∣ y − σ ∣ β |y−σ|^β yσβ,(β≥0)】,这里 ∣ ⋅ ∣ |·| 保证了非负性。
      与FL类似,QFL的 ∣ y − σ ∣ β |y−σ|^β yσβ表现为一个调制因子:当一个例子的质量估计不准确且偏离标签y时,调制因子相对较大,因此更加重视学习这个困难的例子。当质量估计变得准确,即σ→y,因子变为0,估计良好的例子的损失被降低加权,其中参数β平滑地控制降加权率(在我们的实验中,β=2对QFL最有效)。
    • 另外, σ = y σ = y σ=y 是QFL的全局最小解。在质量标签y = 0.5下,下图中几个β值的QFL可视化。
      distribution focal loss,深度学习相关的论文阅读,论文阅读

  • Distribution Focal Loss (DFL)
    在已有工作中,采用从该位置到边界框四面的相对偏移量作为回归目标。边界框的常规操作是使用回归方法,回归标签y为狄拉克分布 δ ( x − y ) δ(x−y) δ(xy)。它满足 ∫ − ∞ + ∞ δ ( x − y ) d x = 1 \int_{-\infty }^{+\infty }\delta (x-y)dx=1 +δ(xy)dx=1,通常通过完全连接的层实现。更正式地说,恢复的积分形式如下: y = ∫ − ∞ + ∞ δ ( x − y ) x d x y=\int_{-\infty }^{+\infty }\delta (x-y)xdx y=+δ(xy)xdx 我们不建议使用狄拉克或高斯假设,而是直接学习潜在的一般分布 P ( x ) P(x) P(x),而不引入任何其他先验(比如统计出来的anchor)。给定标签y的范围为 y 0 ≤ y ≤ y n , n ∈ N + y_0≤y≤y_n,n∈N^+ y0yynnN+,我们可以从模型中得到估计值 y ^ \hat{y} y^, 也满足 y 0 ≤ y ^ ≤ y n y_0≤\hat{y}≤y_n y0y^yn y ^ = ∫ − ∞ + ∞ P ( x ) x d x = ∫ y 0 y n P ( x ) x d x \hat{y}=\int_{-\infty }^{+\infty }P(x)xdx=\int_{y_0}^{y_n}P(x)xdx y^=+P(x)xdx=y0ynP(x)xdx
    为了与卷积神经网络保持一致,我们将连续域上的积分转换为离散表示,从离散范围[y0,yn]到一个集合 { y 0 , y 1 , . . . , y i , y i + 1 . . . , y n − 1 , y n } \{y0,y1,...,y_i,y_{i+1}...,y_{n−1},y_n\} {y0y1...yiyi+1...yn1yn},其间隔∆=1。因此,给定离散分布性质 ∑ i = 0 n P ( y i ) = 1 \sum_{i=0}^{n}P(y_i)=1 i=0nP(yi)=1,估计的回归值 y ^ \hat{y} y^可以表示为: y ^ = ∑ i = 0 n P ( y i ) y i \hat{y}=\sum_{i=0}^{n}P(y_i)y_i y^=i=0nP(yi)yi
    • y ^ \hat{y} y^可以采用传统的损失函数端到端的训练(如SmoothL1、IoU Loss或GIoU Loss)。
    • P(x)可以很容易地通过由n+1个单位组成的softmax 层来实现,所以这里简单起见将 P ( y i ) P(y_i) P(yi)表示为 S i S_i Si
      但是,P(x)有无限的值组合,不同的灵活的分布可得到相同的积分值y,如下图所示,这可能会降低学习效率。
      distribution focal loss,深度学习相关的论文阅读,论文阅读
      与(1)和(2)直观地相比,分布(3)是紧凑的,对边界框估计更可信和精确。
      怎么理解这里呢?具体这个怎么反应box框的长宽呢?
      我们假设box的左边框距离中心距离5.6,我们使用一个长度为10的向量表达这个距离,只需要满足
      p 0 + p 1 + p 2 + p 3 + p 4 + p 5 + p 6 + p 7 + p 8 + p 9 = 1 p_0+p_1+p_2+p_3+p_4+p_5+p_6+p_7+p_8+p_9=1 p0+p1+p2+p3+p4+p5+p6+p7+p8+p9=1
      p 0 ∗ 0 + p 1 ∗ 1 + p 2 ∗ 2 + p 3 ∗ 3 + p 4 ∗ 4 + p 5 ∗ 5 + p 6 ∗ 6 + p 7 ∗ 7 + p 8 ∗ 8 + p 9 ∗ 9 = 5.6 p_0*0+p_1*1+p_2*2+p_3*3+p_4*4+p_5*5+p_6*6+p_7*7+p_8*8+p_9*9=5.6 p00+p11+p22+p33+p44+p55+p66+p77+p88+p99=5.6即可。
      对于第三种分布,就是使得 p 5 + p 6 = 1 p_5+p_6=1 p5+p6=1 p 5 ∗ 5 + p 6 ∗ 6 = 5.6 p_5*5+p_6*6=5.6 p55+p66=5.6

      这促使我们通过对接近目标y的高概率值的明确鼓励,来优化P(x)分布的形状。因此,我们引入了Distribution Focal Loss(DFL),它通过扩大 y i y_i yi y i + 1 y_{i+1} yi+1(最接近于y,y_i≤y≤y_{i+1})的概率,迫使网络快速关注标签y附近的值。由于边界框的学习只适用于正样本,且不存在类不平衡问题的风险,所以我们可以简单地应用QFL中的完全交叉熵部分来定义DFL: D F L ( S i , S i + s ) = − ( ( y i + 1 − y ) log ⁡ ( S i ) + ( y − y i ) log ⁡ ( S i + 1 ) ) DFL(S_i,S_{i+s})=-((y_{i+1}-y)\log(S_i)+(y-y_{i})\log(S_{i+1})) DFL(Si,Si+s)=((yi+1y)log(Si)+(yyi)log(Si+1))
      直观地说,DFL的目标是为了 扩大边界两侧值的概率 y i y_i yi y i + 1 y_{i+1} yi+1。DFL的全局最小解,即 S i = y i + 1 − y y i + 1 − y i , S i + 1 = y − y i y i + 1 − y i S_i=\frac{y_{i+1}-y}{y_{i+1}-y_i},S_{i+1}=\frac{y-y_i}{y_{i+1}-y_i} Si=yi+1yiyi+1y,Si+1=yi+1yiyyi(见补充材料),可以保证估计回归目标yˆ无限接近相应的标签y, y ^ = ∑ j = 0 n P ( y i ) y i = S i y i + S i + 1 y i + 1 = y i + 1 − y y i + 1 − y i y i + y − y i y i + 1 − y i y i + 1 = y \hat{y}=\sum_{j=0}^{n}P(y_i)y_i=S_iy_i+S_{i+1}y_{i+1}=\frac{y_{i+1}-y}{y_{i+1}-y_i}y_i+\frac{y-y_i}{y_{i+1}-y_i}y_{i+1}=y y^=j=0nP(yi)yi=Siyi+Si+1yi+1=yi+1yiyi+1yyi+yi+1yiyyiyi+1=y这也确保其作为损失函数的正确性。

  • Generalized Focal Loss(GFL)
    请注意,QFL和DFL可以统一为一般形式,这在本文中被称为Generalized Focal Loss。
    • 公式
      假设一个模型估计两个变量 y l , y r ( y l < y r ) y_l,y_r(y_l<y_r) yl,yr(yl<yr)的概率: p y l , p y r ( p y l ≥ 0 , p y r ≥ 0 , p y l + p y r = 1 ) p_{y_l},p_{y_r}(p_{y_l}\geq 0,p_{y_r}\geq 0,p_{y_l}+p_{y_r}= 1) pyl,pyr(pyl0,pyr0,pyl+pyr=1)
      最终预测的线性组合 y ^ = y l p y l + y r p y r ( y l ≤ y ^ ≤ y r ) \hat{y}=y_lp_{y_l}+y_rp_{y_r}(y_l\leq \hat{y}\leq y_r) y^=ylpyl+yrpyr(yly^yr)。预测 y ^ \hat{y} y^对应的浮点标签 y y y 也满足 y l ≤ y ≤ y r y_l≤y≤y_r ylyyr
      以绝对距离 ∣ y − y ^ ∣ β |y−\hat{y}|^β yy^β(β≥0)作为调制因子。
      G F L ( p y l , p y r ) = − ∣ y − ( y l p y l + y r p y r ) ∣ β ( ( y r − y ) log ⁡ ( p y l ) + ( y − y l ) log ⁡ ( p y r ) ) GFL(p_{y_l},p_{y_r})=-|y-(y_lp_{y_l}+y_rp_{y_r})|^\beta\left ( (y_r-y)\log(p_{y_l})+(y-y_l)\log(p_{y_r}) \right ) GFL(pyl,pyr)=y(ylpyl+yrpyr)β((yry)log(pyl)+(yyl)log(pyr))
    • 属性
      p y l ∗ = y r − y y r − y l ,     p y r ∗ = y − y l y r − y l p_{y_l}^{*}=\frac{y_{r}-y}{y_{r}-y_l},\,\,\,p_{y_r}^{*}=\frac{y-y_l}{y_r-y_l} pyl=yrylyry,pyr=yrylyyl时, G F L ( p y l , p y r ) GFL(p_{y_l},p_{y_r}) GFL(pyl,pyr)达到全局最小值,这也就意味着估计的 y ^ \hat{y} y^ 完美匹配着浮点型的连续标签。显然,FL 和QFL和DFL都是GFL的特例(补充资料有说明)。请注意,GFL可以应用于任何单阶段检测器。
      改进后的探测器与原探测器有两个方面的不同。
      (1)在推理过程中,我们直接将分类分数(与质量估计联合表示)作为NMS分数,而不需要乘以任何个体质量预测(如FCOS [26]和ATSS[31]中的中心度)。
      (2)用于预测边界框每个位置的回归分支的最后一层现在有n个+1个输出,而不是1个输出,这带来的额外计算成本可以忽略不计,如表3所示。用GFL训练密集的探测器。
    • GFL训练时损失 L = 1 N p o s ∑ z L Q + 1 N p o s ∑ z 1 c z ∗ > 0 ( λ 0 L B + λ 1 L D ) L =\frac{1}{N_{pos}}\sum_{z}^{}L_{Q}+\frac{1}{N_{pos}}\sum_{z}^{}1_{c_z^{*}>0}(\lambda _0L_B+\lambda_1L_D ) L=Npos1zLQ+Npos1z1cz>0(λ0LB+λ1LD) 其中, L Q L_Q LQ为QFL, L D L_D LD为DFL, L B L_B LB通常为的GIoU Loss。 N p o s N_{pos} Npos 代表正样本的数量。 λ 0 λ_0 λ0 λ 1 λ_1 λ1分别是LQ和LD的平衡权重, λ 0 λ_0 λ0 通常默认为2, λ 1 λ_1 λ1设置为1/4 ,因为在四个方向上平均。在金字塔特征图上的所有位置z上计算出这个总和。 1 c z ∗ > 0 1_{c^*_z>0} 1cz>0是指示器函数,如果 c z ∗ > 0 c^*_z > 0 cz>0,则为1,否则为0。在训练时我们也利用质量得分来平衡 L B L_B LB L D L_D LD

4 Experiment

实验的部分不做详细介绍,这里简单说下结论:文章来源地址https://www.toymoban.com/news/detail-802780.html

  • QFL 和 GFL 两者的作用是正交的,他们的增益互不影响。所以两者同时使用可达效果最优。
    基于Restnet50的backbone的ATSS上1x 训练无multi-scale涨点1%(39.2–>40.2).
  • 在 2x multi-scale的训练模式下,在COCO test-dev上,Resnet50的backbone使用GFL可达43.1的ap。
    基于Resnet-Xt-101-32x4d-DCN的backbone,使用GFL可达48.2的ap 在2080Ti上10FPS,是一个较佳的speed-accuracy strade-off。

    distribution focal loss,深度学习相关的论文阅读,论文阅读

到了这里,关于【论文阅读】Generalized Focal Loss的解读。交叉熵、Focal Loss、Quality Focal Loss、Distribution Focal Loss的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 交叉熵、Focal Loss以及其Pytorch实现

    本文参考链接:https://towardsdatascience.com/focal-loss-a-better-alternative-for-cross-entropy-1d073d92d075 损失是通过梯度回传用来更新网络参数是之产生的预测结果和真实值之间相似。不同损失函数有着不同的约束作用,不同的数据对损失函数有着不同的影响。 交叉熵是常见的损失函数,常

    2024年02月11日
    浏览(59)
  • 【Focal Net】NeuralPS2022 论文+代码解读 Focal Modulation Networks

    论文链接- arxiv 官方代码- github 官方博客- microsoft 该论文提出了一个Focal Modulaiton network,将自注意力机制替换成focal modulation(聚焦调制)。这种机制包括3个组件:1)通过depth-wise Conv提取分级的上下文信息,同时编码短期和长期依赖。2)门控聚合,基于每个token的内容选择性

    2024年02月07日
    浏览(72)
  • 论文阅读《Domain Generalized Stereo Matching via Hierarchical Visual Transformation》

    论文地址:https://openaccess.thecvf.com/content/CVPR2023/html/Chang_Domain_Generalized_Stereo_Matching_via_Hierarchical_Visual_Transformation_CVPR_2023_paper.html    立体匹配模型是近年来的研究热点。但是,现有的方法过分依赖特定数据集上的简单特征,导致在新的数据集上泛化能力不强。现有的立体匹配

    2024年02月04日
    浏览(43)
  • GFDM笔记【2】:GFDM-Generalized Frequency Division Multiplexing论文阅读

    “广义频分复用(Generalized Frequency Division Multiplexing)” 技术由Gerhard Fettweis等人于2009年首次在论文 \\\"GFDM-Generalized Frequency Division Multiplexing\\\" 中提出,这是一种基于数字多载波调制方案,与 \\\"4G\\\" 中使用的 “正交频分复用(Orthogonal Frequency Division Multiplexing)” 技术相比, \\\"GFDM\\\" 调

    2024年02月06日
    浏览(47)
  • 《论文阅读:Dataset Condensation with Distribution Matching》

    点进去这篇文章的开源地址,才发现这篇文章和DC DSA居然是一个作者,数据浓缩写了三篇论文,第一篇梯度匹配,第二篇数据增强后梯度匹配,第三篇匹配数据分布。DC是匹配浓缩数据和原始数据训练一次后的梯度差,DSA是在DC前加入了一层数据增强,DM直接就匹配浓缩数据和

    2024年02月08日
    浏览(44)
  • MTN模型LOSS均衡相关论文解读

    目录 一、综述 二、依据任务不确定性加权多任务损失  三、依据不同任务的梯度大小来动态修正其loss权重GradNorm 四、根据LOSS变化动态均衡任务权重Dynamic Weight Average(DWA) 五、Reference  MTN模型主要用于两个方面,1.将多个模型合为一个显著降低车载芯片负载。2.将多个任务模

    2024年02月04日
    浏览(37)
  • Focal Loss介绍

      在目标检测算法中,我们会经常遇到Focal Loss这个东西,今天我们就来简单的分下下这个损失。   在深度学习训练的时候,在遇到目标类别不平衡时,如果直接计算损失函数,那么最终计算的结果可能会偏向于常见类别,低召回率,模型过拟合等问题。为了应对这个问

    2024年02月09日
    浏览(36)
  • pytorch如何使用Focal Loss

    Focal loss 是 文章 Focal Loss for Dense Object Detection 中提出对简单样本的进行 decay 的一种损失函数。是对标准的 Cross Entropy Loss 的一种改进。 FL 对于简单样本(p比较大)回应较小的loss。 如论文中的图1, 在p=0.6时, 标准的 CE 然后又较大的 loss , 但是对于FL就有相对较小的loss回应

    2024年02月10日
    浏览(37)
  • EIoU和Focal-EIoU Loss

    论文题目:《Focal and Efficient IOU Loss for Accurate Bounding Box Regression》 CIoU Loss虽然考虑了边界框回归的重叠面积、中心点距离、高宽比。但是其公式中的v反映的是高宽的差异,而不是高宽分别与其置信度的真实差异。因此,有时会阻碍模型有效的优化相似性。针对这一问题,本文

    2024年03月27日
    浏览(47)
  • Focal Loss:类别不平衡的解决方案

    ❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博相关......)👈 (封面图由ERNIE-ViLG AI 作画大模型生成) 在目标检测领域,常常使用交叉熵

    2024年02月06日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包