AWB(Attention WaveBlock)

文章目录

  • AWB(Attention WaveBlock)
    • 1 问题and方法
    • 2 MMT
    • 3 WaveBlock
    • 4 attention WaveBlock
      • 4.1 CBAM
      • 4.2 Non-local block
    • 5 实验结果

1 问题and方法

?:UDA:聚类算法产生的伪标签存在噪声->双流网络相互学习产生软标签(随着网络的逐渐收敛,互补性被削弱 两者偏向于同类噪声。
1、通过两个网络分别使用waving blocks产生差异
2、利用注意力机制扩大差异,发现更多互补特征
3、结合注意力机制和wb

2 MMT

两个不同初始化的网络NET1与NET2,首先在源域上对两个网络进行预训练,得到初始化参数,在每个epoch使用聚类算法生成硬伪标签,在给定时期的每次迭代两个网络产生精细的软伪标签,然后由一个网络生成的硬伪标签和软伪标签一起用于监督另一个网络. “软"标签来自对方网络的"平均模型”,采用网络的"平均模型"Mean-Net 1/2而不是当前的网络本身Net 1/2进行相互监督

3 WaveBlock

增强两个网络的互补性,用不同的波调制

4 attention WaveBlock

尽管WaveBlock能够使两个网络在特征地图的不同区域上工作,但从非歧视性区域(如背景)中学习到的一些特征可能仍然相似。通过将注意力模块与WaveBlock相结合,这两个网络将注意力集中在不同且有区别的区域,例如人体,因此可以学习更多不同的特征。

注意力和AWB的组合有两种方式,前注意力和后注意力,如下图所示,简单易懂,前注意力的优点是可以利用完整的特征来计算注意力,后注意力的优势是可以进一步增大特征差异。

4.1 CBAM

一种轻量的注意力模块,包含两个独立的子模块, 这样不只能够节约参数和计算力,并且保证了其能够做为即插即用的模块集成到现有的网络架构中去。先通道再空间的结果会稍微好一点

CAM(通道注意力模块):


具体流程如下:
将输入的特征图F(H×W×C)分别经过基于width和height的global max pooling(全局最大池化)和global average pooling(全局平均池化),得到两个1×1×C的特征图,接着,再将它们分别送入一个两层的神经网络(MLP),第一层神经元个数为 C/r(r为减少率),激活函数为 Relu,第二层神经元个数为 C,这个两层的神经网络是共享的。而后,将MLP输出的特征进行基于element-wise的加和操作,再经过sigmoid激活操作,生成最终的channel attention feature,即M_c。最后,将M_c和输入特征图F做element-wise乘法操作,生成Spatial attention模块需要的输入特征。
SAM(空间注意力模块):


具体流程如下:
将Channel attention模块输出的特征图F‘作为本模块的输入特征图。首先做一个基于channel的global max pooling 和global average pooling,得到两个H×W×1 的特征图,然后将这2个特征图基于channel 做concat操作(通道拼接)。然后经过一个7×7卷积(7×7比3×3效果要好)操作,降维为1个channel,即H×W×1。再经过sigmoid生成spatial attention feature,即M_s。最后将该feature和该模块的输入feature做乘法,得到最终生成的特征。

4.2 Non-local block

某一像素点处的响应是其他所有点处的特征权重和,将每一个点与其他所有点相关联,实现non-local 思想。

5 实验结果

AWB(Attention WaveBlock)相关推荐

  1. AWB——Complementarity-enhanced Mutual Networks for Unsupervised Domain Adaptation in Person Re-ID

    论文地址:arXiv:2006.06525 代码地址:Attentive-WaveBlock 1 概述 这是一篇有关UDA Re-ID的文章,方法性能在paper with code上位居榜首,本文可 ...

  2. attention seq2seq transformer bert 学习总结 _20201107

    https://blog.csdn.net/weixin_44388679/article/details/102575223 Seq2Seq原理详解 一文读懂BERT(原理篇) 2018年的10月1 ...

  3. “Attention is All You Need 翻译

    <p><img src="output_0_0.png" alt="png"></p> "Attention is ...

  4. 《attention is all you need》解读

    Motivation: 靠attention机制,不使用rnn和cnn,并行度高 通过attention,抓长距离依赖关系比rnn强 创新点: 通过self-attention,自己和自己做atten ...

  5. 浅谈Transformer 及Attention网络

    1 Transformer 模型结构 处理自然语言序列的模型有 rnn, cnn(textcnn),但是现在介绍一种新的模型,transformer.与RNN不同的是,Transformer直接把一句 ...

  6. Attention is all your need 谷歌的超强特征提取网络——Transformer

    过年放了七天假,每年第一件事就是立一个flag--希望今年除了能够将技术学扎实之外,还希望能够将所学能够用来造福社会,好像flag立得有点大了.没关系,套用一句电影台词为自己开脱一下--人没有梦想,和 ...

  7. 《Attention is All You Need》浅读(简介+代码)

    2017年中,有两篇类似同时也是笔者非常欣赏的论文,分别是FaceBook的<Convolutional Sequence to Sequence Learning>和Google的< ...

  8. seq2seq与Attention机制

    学习目标 目标 掌握seq2seq模型特点 掌握集束搜索方式 掌握BLEU评估方法 掌握Attention机制 应用 应用Keras实现seq2seq对日期格式的翻译 4.3.1 seq2seq se ...

  9. 什么是self-attention、Multi-Head Attention、Transformer

    本文紧接<什么是Encoder-Decoder.Seq2Seq.Attention?>,目的是从输入输出.以及内部数据流和详细的计算过程角度,去剖析self-attention.Multi ...

  10. 谷歌NIPS论文Transformer模型解读:只要Attention就够了

    作者 | Sherwin Chen 译者 | Major,编辑 | 夕颜 出品 | AI科技大本营(ID:rgznai100) 导读:在 NIPS 2017 上,谷歌的 Vaswani 等人提出了 T ...

最新文章

  1. 用memcache.php监测memcache的状况
  2. 机器学习面试:这25个实用又有深度的问题
  3. Mercury的三件“利器”
  4. ActiveMQ安装使用
  5. python 3.8.2 / 内置的数据结构 / list (类似于 STL 中的 vector)
  6. VTK:Texture之AnimateVectors
  7. java管道流文件的复制_JavaIO 总结笔记三 基本字节字符输入输出流和文件复制...
  8. gperftools mysql_利用 gperftools 对nginx mysql 内存管理 性能优化
  9. POJ 1200 Crazy Search 查找有多少种不同的子串(hash)
  10. 作业3:基于墨刀的短视频APP
  11. 【编译工具】之Andorid pthread_cancel函数
  12. 数据结构--二叉搜索树
  13. 计算机硬盘 安装,电脑新硬盘如何安装系统
  14. Unigui使用IconFont图标
  15. Microsoft Internet Explorer浏览器包含最新版本的内置Adobe Flash Player的解决办法
  16. JavaScript 学习中
  17. sun存储的串口连接管理_修改SUN设备管理IP的步骤
  18. Android 蓝牙 单独打开和关闭BLE - 详解
  19. Activiti 介绍
  20. rtx3080显卡怎么样 rtx3080功耗

热门文章

  1. 离散数学 --- 特殊关系 --- 偏序关系,哈斯图和特殊元素以及其它次序关系
  2. Jeff Atwood:Google的头号UI问题
  3. java实现短视频拍摄_短视频 SDK 6大功能技术实现方式详解
  4. 荒野猎人 但是亲眼看到还是第一次
  5. 京东批量一键评价代码
  6. 再练动态规划——(4)涂抹果酱
  7. html编写花,HTML5的花儿
  8. c语言中不能在变量名函数名关键字中插入,C语言中,不能在变量名、函数名、关键字中插入空格和空行。...
  9. 嵌入式分享合集106
  10. 2.6 Abbreviation( 缩 写)