IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 目标检测——梯度均衡机制GHM(Gradient Harmonized Mechanism)的理解 -> 正文阅读

[人工智能]目标检测——梯度均衡机制GHM(Gradient Harmonized Mechanism)的理解

论文:Gradient Harmonized Single-stage Detector

论文地址:Gradient Harmonized Single-stage Detectoricon-default.png?t=M4ADhttps://arxiv.org/pdf/1811.05181.pdf


注意 PPT图片为实验室论文研讨组会讲解所需,为笔者自己所做,慎用!

Research Problems(问题)

对于一阶段目标检测器的训练来说,最具挑战性的问题是: 简单和困难样本的急剧不平衡 正负样本的急剧不平衡 -> 并且这两种可以大致概括为 属性不均衡问题

类别不平衡能被概括样本难易程度不一致的问题,而后样本难易程度不一致的问题能被概括梯度范数分布不均的问题[这是GHM论文中的原话,但是笔者不这么认为类别不平衡问题可概括为样本难易程度不一致问题]

如果一个正样本易分类的样本,那它是一个简单样本,并且(再次训练时)模型从这个样本上收益很少,换言之,这种样本将产生极少的梯度

一个误分类样本不管属于什么类别都应该引起模型的注意

(i.e.)换言之

尽管,单个简单样本单个困难样本全局梯度上有更少的贡献,但是大量简单样本总的贡献压倒少量的困难样本从而导致这种训练效率低下

GHM(Gradient Harmonized Mechanism) 梯度均衡机制 首先对相同属性的样本 数量 其梯度密度进行统计,然后根据 样本的梯度密度 附上一个协调参数

(w.r.t.)关于


主要贡献

依据梯度范数分布,揭示一阶段目标检测器严重样本不平衡基本原理,并提出了一种新的 梯度均衡机制 来处理此不均衡

GHM-C(分类的梯度均衡机制)GHM-R(回归的梯度均衡机制) 分别嵌入分类回归损失函数中,纠正不同属性的样本梯度贡献,并对超参数具有鲁棒性

通过GHM的协作,在没有任何数据采样策略下,能容易训练一阶段检测器,并且在COCO基准达到最先进的结果


流程图?

本文主要是以RetinaNet为基准对其损失函数进行修改,所以其流程图主要参照RetinaNet:

目标检测——RetinaNet-Focal Loss 焦点损失函数的理解icon-default.png?t=M4ADhttps://blog.csdn.net/XiaoyYidiaodiao/article/details/124553661?spm=1001.2014.3001.5501


算法

梯度均衡机制

1.对于分类梯度均衡机制来说

首先从二分类交叉熵损失函数开始,

L_{CE}(p,p^{*})=-p^{*}log(p)-(1-p^{*})log(1-p)

其中,p\in \left [ 0,1 \right ]为模型的预测值,p^{*}\in \left \{ 0,1\right \}为样本标签

p^{*}=1时(正样本),L_{CE}(p,p^{*}) = -log(p)

p^{*}=0时(负样本),L_{CE}(p,p^{*}) = -log(1-p)

关于x的梯度,sigmoidp=\frac{1}{1+e^{*}},其中p为头网络的输出结果,x为特征图

现在求L_{CE}关于x的一阶导数即是\frac{\partial L_{CE}}{\partial x} = \frac{\partial L_{CE}}{\partial p}\cdot \frac{\partial p}{\partial x}=\frac{\partial (-log(p))}{\partial p}\cdot \frac{e^{-x}}{(1+e^{-x})^{2}}=-\frac{1}{p}\cdot p\cdot(1-p)=p-1

p^{x}=1时(正样本),\frac{\partial L_{CE}}{\partial x} = \frac{\partial L_{CE}}{\partial p}\cdot \frac{\partial p}{\partial x}

\frac{\partial (-log(p))}{\partial p}\cdot \frac{e^{-x}}{(1+e^{-x})^{2}}=-\frac{1}{p}\cdot p\cdot(1-p)=p-1

p^{x}=0时(负样本),\frac{\partial L_{CE}}{\partial x} =\frac{\partial L_{CE}}{\partial p} =\frac{\partial p}{\partial x} = \frac{\partial (-log(1-p))}{\partial p}\cdot \frac{e^{-x}}{(1+e^{-x})^{2}}=\frac{1}{1-p}\cdot p\cdot(1-p)=p

即,L_{CE}x的一阶导数g=\left | p-p^{*} \right |(当p^{*}=0g=p;当p^{*}=1g=1-p),并且g可表示样本的真实值与预测值之间的距离

在图1中,横坐标表示梯度范数(梯度模长),纵坐标表示样本数据分布比例

在此的梯度范数(梯度模长),是我们刚才算出的g(L_{CE}对于x的一阶导数g=\left| p-p^{*} \right|)

分析图1,简单样本已由红框框出,其梯度范数(梯度模长)非常,表明这些样本的真实值和预测值非常接近,并且其数量所占比例非常大,但是这部分样本(再次训练)对模型提升效果非常有限

非常困难样本以由绿框框出,这部分样本模型的提升没有什么帮助的,但是这部分的样本的梯度范数(梯度模长)很大

介于既 不是简单样本 也不是特别困难样本 中间部分的样本(黑色箭头标出),这些样本对模型的提升更有帮助

从之后的结果来看,GHM之所以效果比焦点损失更好,不仅仅因为其对简单样本在损失上做了抑制,同时对非常困难的样本也起到了一定的忽略作用。这些非常困难样本又被之为离群点,这些离群点在模型中不断拟合过程一直起到了重要作用,如果强行拟合这些离群点,反而会起到不好的效果

?接下来,定义梯度范数(梯度模长)的密度GD(g);在此之前我们必须要先定义梯度范数(梯度模长)范围内的样本个数\delta_{\epsilon}({x,y})

在梯度范数(梯度模长)\left( g-\frac{\varepsilon}{2}, g+\frac{\varepsilon}{2}\right)范围内,样本的个数\delta_{\epsilon}({x,y});如果是范围内则\delta_{\epsilon}({x,y}) =1,反之范围外则\delta_{\epsilon}({x,y})=0

之后,定义范数(模长)区间 l_{\epsilon}(x,y) -> \left(max( \left( 0,g-\frac{\epsilon}{2} \right)), min(\left( g+\frac{\epsilon}{2} ,1\right)) \right)

所以,单位梯度模长g内样本的个数->梯度模长的密度GD(g)=\frac{1}{l_{\epsilon}(g)}\sum_{k=1}^{N}{\delta_{\epsilon}}(g_{k},g)

g的梯度模长表示以\epsilon为长度的中心区域g,并且通过该区域将样本的长度归一化

然后,定义梯度密度均衡参数\beta_{i}=\frac{N}{GD(g_{i})}=\frac{1}{\frac{GD(g_{i})}{N}},其中N为样本的总数

GD(g_{i})很大时,可通过\beta_{i}抑制;对于梯度密度大的样本,即GD(g_{i})的值很大,则\frac{N -}{GD(g_{i})\uparrow} \downarrow相应变小,而\frac{GD(g_{i})}{N}对应变大;反之,当GD(g_{i})很小时,则\frac{N -}{GD(g_{i})\downarrow} \uparrow相应变大,而\frac{GD(g_{i})}{N}对应变小;

从之前的图1可以看出,简单样本和非常困难样本的分布非常密集;

如果样本梯度是均衡分布的,那么对于任何g_{i}和每一个样本,GD(g_{i})=N\beta_{i}=1,相比与之前没做此操作时,是没有任何变化的

好了,将我们刚才所定义的梯度密度均衡参数引入我们之前的分类损失函数L_{c}=\frac{1}{N}L_{CE}(p,p^{*})中,则可得L_{c}=\frac{1}{N}\cdot\beta_{i}\cdot L_{CE}(p_{i},p^{*}_{i})=\frac{1}{N}\cdot \frac{N}{GD(g_{i})}\cdot L_{CE}(p_{i},p^{*}_{i})=\frac{L_{CE}(p_i,p^{*}_i)}{GD(g_{i})},其中\beta_i可以视为第i个样本的损失权重(\beta_{i}第i个样本的梯度密度均衡参数)

?

在图2中,横坐标为原始梯度范数(梯度模长)g=\left| p-p^{*} \right|,纵坐标为重新修正的梯度范数,使用log 缩放能更好的展示 焦点损失函数 与 关于分类的梯度均衡机制

分析图2,我们 关于分类的梯度均衡机制 能同时更好的抑制简单样本,与特别困难样本,降低了离群点的贡献

?

?我们可以使用EMA,简化该过程

?

?

?

2.对于回归的梯度均衡机制来说

简言之,因为SL_{1}二阶导数,在d=\delta不可导,所以我们将其修改为ASL_{1},并且找出与一个相对于回归的损失权重\beta_{i},引入回归损失函数中

在图3中,横坐标为梯度范数(梯度模长),纵坐标为样本分布

分析图3可知,我们的离群点最为突出,我们使用GHM-R对其抑制

此外,在分类中一个简单样本通常是背景区域,该区域的预测概率非常低,因此肯定会排除在最终的候选对象之外,所以 关于回归的梯度均衡机制 对此类简单样本抑制。因此,此类样本的改进几乎对精度没有任何贡献

?

在图4中,横坐标为关于标签的错误率,纵坐标为重新修正的梯度范数(梯度模长)

分析图4可知,我们的GHM-R对于SL_{1}ASL_{1}效果更好!

?

The End

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-05-24 18:10:12  更:2022-05-24 18:11:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:57:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码