弱监督学习系列:Attention-Based Dropout Layer for Weakly Supervised Single Object Localization and Semantic

原文链接: CVPR2019 & TPAMI 2020

https://arxiv.org/abs/1908.10028https://arxiv.org/abs/1908.10028代码连接:

tensorflow 版本https://github.com/junsukchoe/ADL

wsol evaluation 论文中实现的 pytorch 版本icon-default.png?t=M276https://github.com/clovaai/wsolevaluation

目录 

目录

一、文章想要解决的问题

二、基本思路

三、基本方案

四、本文优劣


一、文章想要解决的问题

        本文主要想解决的是弱监督目标定位(WSOL)中的典型问题:定位器往往只能关注到目标物体最具判别性的局部。

二、基本思路

        如图 1 所示,本文主要包括两个关键的设计:

  1. 在训练过程中遮挡最具判别性的区域,强制让模型关注到物体的次具判别性的区域;
  2. 突出具有信息量的区域,提升模型的识别能力。
图1 算法架构图, drop mask 旨在遮挡 attention map 中最具判别性的区域,importance map 旨在突出具有信息量的区域,在训练过程中随机选择 drop mask 或者 importance map 作为 final map 和输入的 feature map 进行点乘。

三、基本方案

        本文的模型设计非常简单,基本上通过看上图 1 就可以一目了然了。选定任何一个分类网络后(文中尝试了 VGG、ResNet, MobileNet V1 和 Inception-V3),在选定(每个)特征图后插入 ADL 模块。

ADL 模块的输入是第 i 层的特征图的输出 F_i \in \mathbb{R}^{h_i \times w_i \times c_i}

首先按通道进行 average pooling 获得 attention map A_i \in \mathbb{R}^{h_i \times w_i}。基于 attention map 通过设定阈值= \gamma * max(attention map intensity) 获得 drop mask(大于 设定阈值 则置 0,否则为 1,该超参\gamma 可以根据性能自行设定,比如原文中 VGG 和 Inception-v3 用的0.8,resnet用的 0.9,mobilenet 用的 0.95)。

 同时,在 attention map 通过 sigmoid 函数,获得 importance map。这里选择 sigmoid 函数还是挺合理的,一方面压制 attention map 中较小的值(趋向于 0),同时也压制过大的值(趋向于 1)。

获得 drop mask 和 importance map 以后,每次训练,从两者中随机选择一个作为 final map 与 特征图 F_i \in \mathbb{R}^{h_i \times w_i \times c_i} 进行点乘,然后输出作为下一层网络的输入。随机选择根据超参数 drop_rate 进行控制,原文中设置为 75%,则说明有 0.75 的概率选择 drop mask 作为 final map。 

猜你喜欢

转载自blog.csdn.net/yangyehuisw/article/details/123847820