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 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Integral Object Mining via Online Attention Accumulation -> 正文阅读

[人工智能]Integral Object Mining via Online Attention Accumulation

论文地址
在很多paper里都看到了OAA的身影,感觉是很厉害的一篇,值得仔细推敲一下。

摘要

弱监督方法中一般用生成attention map的方式为分割任务打下基础,但是attention map一般只关注最有辨识度的区域。我们发现在训练的不同阶段,实际上网络会关注目标的其他区域,也就是说attention map是一直变化着的,如果我们把训练不同阶段的attention map叠加在一起,会不会得到更好的结果呢?由此本文提出了online attention accumulation (OAA)策略。
在这里插入图片描述

1. Introduction

WSSS任务常见的那些套话我们就不多说了,感兴趣可以看我前面发的文章,这里谈谈作者对于分类网络在训练的不同阶段discriminative regions不断转换的原因分析:

  • 一个强大的分类网络通常会对特定类别寻找一个通用的识别图案,这样以便很好地识别来自该类别的所有图像。因此,那些难以分类的训练样本会驱动网络在寻找常见图案方面作出改变,导致attention regions在网络收敛前不断变化。
  • 在训练时,attention model生成的attention maps受先前输入的图像的影响,不同内容的图像和训练图像的输入顺序都会导致中间attention maps中discriminative regions的变化。

虽然OAA可以叠加不同训练阶段的discriminative regions,使得mask更加完整,但是和CAM相比,那些之前本来很discriminative的区域的attention就没有那么strong了,因此本文设计了 hybrid loss function (the combination of an enhanced loss and a constraint loss)通过把 cumulative attention
maps来作为软标签的方式努力训练一个完整的attention model。
总的来说,本文的contributions:1.OAA策略;2.hybrid loss function;3.实验

2. Related Work

3. Methodology

在这里插入图片描述

3.1. Attention Generation

我们使用CAM生成attention maps,即用最后一层卷积层输出的class-specific feature maps生成attention maps。基本结构见Fig. 2。
在这里插入图片描述
我们使用VGG-16作为backbone,预测的目标类别 c c c的概率可以由下式计算:
p c = σ ( G A P ( F c ) ) p^c=\sigma(GAP(F^c)) pc=σ(GAP(Fc))
F F F是class-aware convolutional layer的输出, σ ( ? ) \sigma(\cdot) σ(?)是sigmoid函数,整个网络的loss使用交叉熵损失。给定一张图像 I I I,为了得到attention maps,首先把feature map F F F送入ReLU层,然后做归一化,保证attention map的值在[0,1]范围内:
A c = R e L U ( F c ) m a x ( F c ) A^c=\frac{ReLU(F^c)}{max(F^c)} Ac=max(Fc)ReLU(Fc)?
接着就可以把不同阶段生成的attention maps送入OAA过程中了。

3.2. Online Attention Accumulation

当训练图像被送入不同的epochs中时,OAA从分类模型结合生成的不同的attention maps。如Fig. 2所示,对于给定训练图像 I I I的每个目标类别 c c c,我们建立一个cumulative attention map M c M^c Mc来保存发现的discriminative regions。OAA首先用第一个epoch的类别c的attention map A 1 A_1 A1?初始化cumulative attention map M 1 M_1 M1?。然后,当图像第二次被送入网络后,OAA结合 M 1 M_1 M1?和新生成的attention map A 2 A_2 A2?更新cumulative attention map,过程如下所示:
M 2 = A F ( M 1 , A 2 ) M_2=AF(M_1,A_2) M2?=AF(M1?,A2?)
A F ( ? ) AF(\cdot) AF(?)表示attention fusion strategy。同样,在第t个epoch就是这样的:
M t = A F ( M t ? 1 , A t ) M_t=AF(M_{t-1},A_t) Mt?=AF(Mt?1?,At?)
OAA不断重复这样的过程。接下来详细讲讲 A F ( ? ) AF(\cdot) AF(?),也就是attention fusion strategy的实现。其实这个操作也很简单,就是element-wise maximum operation,即选择 A t , M t ? 1 A_t,M_{t-1} At?,Mt?1?中每个像素最大的attention values,用公式表示就是:
M t = A F ( M t ? 1 , A t ) = m a x ( M t ? 1 , A t ) M_t=AF(M_{t-1},A_t)=max(M_{t-1},A_t) Mt?=AF(Mt?1?,At?)=max(Mt?1?,At?)
从Fig. 5中可以看出,OAA得到了更完整的区域。
在这里插入图片描述
我们也尝试过用averaging fusion strategy代替maximum fusion strategy,但是mIoU下降了1.6%。

但是这里还有一个问题,就是一开始分类模型可能比较弱,这样生成的attention map可能包含噪音,因此作者用目标类别的预测probability来决定是否要选用当前的attention map。也就是说,如果target category的score明显高于non-target categories的score,我们就计算它的attention map,否则就丢弃掉以避免噪音。

3.3. Towards Integral Attention Learning

OAA的缺点在于有些目标区域的attention values很低,不足以被分类模型加强,对于这种情况,我们提出一个新的loss函数,把cumulative attention maps作为监督信息,去训练一个attention module以进一步改善OAA,我们称之为 O A A + OAA^+ OAA+

具体来讲,我们将cumulative attention maps作为soft labels。每个attention value被视作当前点属于目标类别的概率,我们用Fig. 2中去掉GAP层的分类网络和分类损失作为integral attention model。给定class-aware convolutional layer产生的score map F ^ \hat F F^,位置 j j j属于类别 c c c的概率被表示为 q j c = σ ( F ^ j c ) q_j^c=\sigma(\hat F_j^c) qjc?=σ(F^jc?) σ \sigma σ是sigmoid函数。因此,类别c的多标签交叉熵损失可由如下表示:
? 1 ∣ N ∣ ∑ j ∈ N ( p j c l o g ( q j c ) + ( 1 ? p j c ) l o g ( 1 ? q j c ) ) -\frac{1}{|N|}\sum_{j\in N}(p_j^clog(q_j^c)+(1-p_j^c)log(1-q_j^c)) ?N1?jN?(pjc?log(qjc?)+(1?pjc?)log(1?qjc?))
其中, p j c p_j^c pjc?表示归一化后的cumulative attention maps的值。这样我们就得到了被加强的cumulative attention maps。然而用上述的交叉熵损失往往只能让attention maps覆盖到部分的目标区域。这是因为损失函数更愿意让有低class-specific attention values( p j c < 1 ? p j c p_j^c<1-p_j^c pjc?<1?pjc?)成为类别c的背景。

因此,我们提出了一个hybrid loss。给定了cumulative attention map,我们先把它分成soft enhance regions N + c N_+^c N+c?和soft constraint regions N ? c N_-^c N?c? N ? c N_-^c N?c?包括了 p j c = 0 p_j^c=0 pjc?=0的像素, N + c N_+^c N+c?包括其他的像素。对于 N + c N_+^c N+c?,我们移除上面交叉熵损失函数的最后一项来进一步提升attention regions,但不抑制low attention values的区域。这样损失函数就变成:
L + c = ? 1 N + c ∑ j ∈ N + c p j c l o g ( q j c ) \mathcal L_+^c=-\frac{1}{N_+^c}\sum_{j\in N_+^c}p_j^clog(q_j^c) L+c?=?N+c?1?jN+c??pjc?log(qjc?)
由于我们只有image-level的标注,cumulative attention map中的attention regions经常含有非目标像素,因此在上式中,我们用 p j c p_j^c pjc?作为标签而不是用1作为标签。对于 N ? c N_-^c N?c? p j c = 0 p_j^c=0 pjc?=0的地方,loss函数如下所示:
L ? c = ? 1 N ? c ∑ j ∈ N ? c p j c l o g ( 1 ? q j c ) \mathcal L_-^c=-\frac{1}{N_-^c}\sum_{j\in N_-^c}p_j^clog(1-q_j^c) L?c?=?N?c?1?jN?c??pjc?log(1?qjc?)
总体loss就是上面两个相加:
L = ∑ c ∈ C ( L + c + L ? c ) \mathcal L=\sum_{c\in C}(\mathcal L_+^c+\mathcal L_-^c) L=cC?(L+c?+L?c?)
Fig. 5展示了效果。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-07-30 22:43:54  更:2021-07-30 22:44:12 
 
开发: 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/17 20:38:29-

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