乐趣区

关于人工智能:目标检测中焦点损失的入门指南

作者 |GUEST BLOG
编译 |Flin
起源 |analyticsvidhya

介绍

对象检测是计算机视觉社区中钻研最宽泛的主题之一。它曾经进入了各个行业,波及从图像平安,监督,主动车辆零碎到机器查看的用例。

以后,基于深度学习的对象检测能够大抵分为两类:

  1. 两级检测器,例如基于区域的 CNN(R-CNN)及其后续产品。
  2. 一级探测器,例如 YOLO 系列探测器和 SSD

利用于锚框的惯例,密集采样(可能的物体地位)的一级检测器可能会更快,更简略,但因为在训练过程中遇到极其的等级失衡,其精度曾经落后于两级探测器。

FAIR 在 2018 年发表了一篇论文,其中他们引入了焦点损失的概念,用他们称为 RetinaNet 的一级探测器来解决此类不均衡问题。

在咱们深入探讨焦点失落的实质之前,让咱们首先理解这个类不均衡问题是什么以及它可能引起的问题。

目录

  1. 为什么须要焦点损失
  2. 什么是焦点损失
  3. 穿插熵损失

    1. 穿插熵问题
    2. 例子
  4. 均衡穿插熵损失

    1. 均衡穿插熵问题
    2. 例子
  5. 焦点损失阐明

    1. 例子
  6. 穿插熵损失 vs 焦点损失

    1. 容易正确分类的记录
    2. 分类谬误的记录
    3. 非常容易分类的记录
  7. 最初的想法

为什么须要焦点损失

两种经典的一级检测办法,如增强型检测器,DPM 和最新的办法(如 SSD)都能够评估每个图像大概 10^4 至 10^5 个候选地位,但只有多数地位蕴含对象(即前景),而其余只是背景对象。这导致了类不均衡的问题。

这种不均衡导致两个问题

  1. 训练效率低下,因为大多数地位都容易被判断为负类(这意味着检测器能够轻松将其归类为背景),这对检测器的学习没有帮忙。
  2. 容易产生的负类(概率较高的检测)占输出的很大一部分。尽管独自计算的梯度和损失较小,但它们可能使损耗和计算出的梯度不堪重负,并可能导致模型进化。

什么是焦点损失

简而言之,焦点损失(Focal Loss,FL)是穿插熵损失(Cross-Entropy Loss,CE)的改良版本,它通过尴尬分类的或容易谬误分类的示例(即带有噪声纹理的背景或局部对象的或咱们感兴趣的对象)调配更多的权重来解决类不均衡问题,并对简略示例(即背景对象)升高权重。

因而,焦点损失缩小了简略示例的损失奉献,并增强了对纠正错误分类的示例的器重。

因而,让咱们首先理解二进制分类的穿插熵损失。

穿插熵损失

穿插熵损失背地的思维是惩办谬误的预测,而不是处分正确的预测。

二进制分类的穿插熵损失如下:

其中:

Yact = Y 的理论值

Ypred = Y 的预测值

为了标记不便,咱们记 Yact = Y 且 Ypred = p

Y∈{0,1},这是正确标注

p∈[0,1],是模型对 Y = 1 的类别的预计概率。

为了符号上的不便,咱们能够将上述方程式改写为:

pt = {-ln(p) , 当 Y =1 -ln(1-p) , 当 Y=}

CE(p,y)= CE(pt)=-ln⁡(pt

穿插熵问题

如你所见,下图中的蓝线示意当 p 十分靠近 0(当 Y = 0 时)或 1 时,容易分类的 p t > 0.5 的示例可能会产生不小的幅度的损失。

让咱们用上面的例子来了解它。

例子

假如,前景(咱们称其为类 1)正确分类为 p = 0.95 ——

CE(FG)= -ln(0.95)= 0.05

并且背景(咱们称其为类 0)正确分类为 p = 0.05 ——

CE(BG)=-ln(1- 0.05)= 0.05

问题是,对于类不均衡的数据集,当这些小的损失在整个图像上相加时,可能会使整体损失(总损失)不堪重负。因而,将导致模型进化。

均衡穿插熵损失

解决类别不均衡问题的一种常见办法是为类别引入权重因子∝[0,1]

为了标记不便,咱们能够在损失函数中定义 ∝t 如下:

CE(pt)= -∝t ln ln(pt

如你所见,这只是穿插熵的扩大。

均衡穿插熵的问题

咱们的试验将表明,在密集检测器训练过程中遇到的大类不均衡压倒了穿插熵损失。

容易分类的负类占损耗的大部分,并主导梯度。尽管均衡了正例 / 负例的重要性,但它并没有辨别简略 / 艰难的示例。

让咱们通过一个例子来了解这一点

例子

假如,前景(咱们称其为类 1)正确分类为 p = 0.95 ——

CE(FG)= -0.25 * ln(0.95)= 0.0128

正确分类为 p = 0.05 的背景(咱们称之为类 0)——

CE(BG)=-(1-0.25)* ln(1- 0.05)= 0.038

尽管能够很好地正确区分正类和负类,但依然不能辨别简略 / 艰难的例子。

这就是焦点损失(扩大到穿插熵)起作用的中央。

焦点损失阐明

焦点损失只是穿插熵损失函数的扩大,它将升高简略示例的权重,并将训练重点放在艰难的负样本上。

为此,钻研人员提出:
(1- ptγ 为穿插熵损失,且可调聚焦参数 γ≥0。

RetinaNet 物体检测办法应用焦点损失的 α 均衡变体,其中 α = 0.25,γ= 2 成果最佳。

因而,焦点损失能够定义为——

FL (pt) = -αt(1- pt)γ log log(pt).

对于 γ∈[0,5]的几个值,能够看到焦点损失,请参见图 1。

咱们将留神到焦点损失的以下个性:

  1. 当示例分类谬误并且 p t小时,调制因数靠近 1,并且损失不受影响。
  2. pt →1 时,该因子变为 0,并且对分类良好的示例的损失进行了衡量。
  3. 聚焦参数 γ 平滑地调整了简略示例的权重。

随着减少,调制因数的作用同样减少。(通过大量试验和试验,钻研人员发现 γ = 2 成果最佳)

留神:当 γ = 0 时,FL 等效于 CE。参考图中蓝色曲线。

直观上,调制因数缩小了简略示例的损耗奉献,并扩大了示例接管低损耗的范畴。

让咱们通过一个例子来理解上述焦点损失的个性。

例子

  • 当记录(前景或背景)被正确分类时,
  1. 前景正确分类,预测概率 p =0.99,背景正确分类,预测概率 p =0.01。

    pt = {0.99,当 Y act = 1 时 1-0.01,当 Y act = 0 时}调制因数(FG)=(1-0.99)2 = 0.0001
    调制因数(BG)=(1-(1-0.01))2 = 0.0001, 如你所见,调制因数靠近于 0,因而损耗将被权重升高。

  2. 前景被谬误分类,预测概率 p = 0.01,背景对象被谬误分类,预测概率 p = 0.99。
    pt = {0.01,当 Y act = 1 时 1-0.99,当 Y act = 0 时}调制因数(FG)=(1-0.01)2 = 0.9801
    调制因数(BG)=(1-(1-0.99))2 = 0.9801 如你所见,调制因数靠近于 1,因而损耗不受影响。

当初,让咱们应用一些示例比拟穿插熵和焦点损失,并查看焦点损失在训练过程中的影响。

穿插熵损失 vs 焦点损失

让咱们通过思考以下几种状况来进行比拟。

容易正确分类的记录

假如前景正确分类的预测概率为 p = 0.95,背景正确分类的背景为预测概率 p = 0.05。
pt = {0.95, 当 Yact= 1 时 1-0.05 , 当 Yact = 0 时} CE(FG)= -ln (0.95) = 0.0512932943875505

让咱们思考在∝ = 0.25 和 γ = 2 时的焦点损失。

FL(FG)= -0.25 (1-0.95)2 ln (0.95) = 3.2058308992219E-5

FL(BG)= -0.75 (1-(1-0.05))2 ln (1-0.05) = 9.61E-5

分类谬误的记录

假如预测概率 p =0.05 的前景被分类为预测概率 p =0.05 的背景对象。

pt = {0.95,当 Y act = 1 1-0.05 时,当 Y act = 0 时}

CE(FG)= -ln(0.05)= 2.995732273553991

CE(BG)= -ln(1-0.95)= 2.995732273553992

让咱们思考雷同的场景,即∞=0.25 和 γ =2。

FL(FG)= -0.25 (1-0.05)2 ln(0.05)= 0.675912094220619
FL(BG)= -0.75 (1-(1-0.95))2 ln(1-0.95)= 2.027736282661858

非常容易分类的记录

假如对预测概率 p =0.01 的背景对象,用预测概率 p =0.99 对前景进行分类。

pt = {0.99, 当 Yact= 1 时 1-0.01 , 当 Yact = 0 时}CE(FG)= -ln (0.99) = 0.0100503358535014

CE(BG)= -ln(1-0.01)= 0.0100503358535014

让咱们思考雷同的场景,即∞=0.25 和 γ =2。

FL(FG)= -0.25 (1-0.01)2 ln(0.99)= 2.51 * 10 -7
FL(BG)= -0.75 (1-(1-0.01))2 ln(1-0.01)= 7.5377518901261E-7

最初的想法

计划 1 :0.05129 / 3.2058 * 10 -7 = 小 1600 倍
计划 2 :2.3 / 0.667 = 小 4.5 倍
计划 3 :0.01 / 0.00000025 = 小 40,000 倍。

这三个案例分明地阐明了焦点损失如何减小分类良好的记录的权重,另一方面又为谬误分类或较难分类的记录赋予较大的权重。

通过大量的试验和试验,钻研人员发现 ∝ = 0.25 和 γ = 2 成果最佳。

尾注

在对象检测中,咱们经验了从穿插熵损失到焦点损失的整个进化过程。我曾经尽力解释了指标检测中的焦点损失。

感激浏览!

参考

  • https://arxiv.org/ftp/arxiv/p…
  • https://medium.com/@14prakash…
  • https://developers.arcgis.com… / guide / how-retinanet-works /

原文链接:https://www.analyticsvidhya.c…

欢送关注磐创 AI 博客站:
http://panchuang.net/

sklearn 机器学习中文官网文档:
http://sklearn123.com/

欢送关注磐创博客资源汇总站:
http://docs.panchuang.net/

退出移动版