Swim-Transformer学习

看了这个博主(73条消息) Swin-Transformer网络结构详解_swin transformer_太阳花的小绿豆的博客-CSDN博客

的视频和文章整理的笔记。

1 网络整体框架

      和Vision Transformer 不同,它是原始图像尺寸对图像下采样4倍,8倍以及16倍递增,这样的backbone有助于在此基础上构建目标检测,实例分割等任务。

     并且使用了Windows Multi-Head Self-Attention(W-MSA)的概念,比如在下图的4倍下采样和8倍下采样中,将特征图划分为多个不相交的区域(Window),并且Multi-Head Self-Attention只在每个窗口(Window)内运行。相对于Vision Transformer中直接对整个(Global)特征图进行Multi-Head Self-Attention,这样能减少计算量,尤其是浅层特征图很大的时候。这样做虽然减少了计算量但也会隔绝不同窗口之间的信息传递,所以在论文中作者又提出了Shifted Windows Multi-Head Self-Attention(SW-MSA)的概念,通过此方法能够让信息在相邻的窗口进行传递,但计算量是和W-MSA保持一样。

SW-MSA

    首先窗口向右侧和下方各偏移了M/2个像素,M是Patch Merging层的patch大小,本文是2x2,所以M是2。此时便由4个窗口变成9个。为减少计算量,论文中作者提出Efficient batch computation for shifted configuration解决。即通过移动移动最上一行,再移动最左边一列,使得图片窗口重新拼成4x4形状,这时候便可以想W-MSA一样使用2x2计算,实现特征交融,还减少了计算量。

 

  但此时的4x4,有些部位是不连接的图像内容,因此直接对此2x2计算,信息会乱串,就没有意义。作者提出在实际计算中使用的是masked MSA即带蒙板mask的MSA,这样就能够通过设置蒙板来隔绝不同区域的信息了。大概就是比如里面有区域5和区域3,正常算一遍,然后对区域3部分数据减100,使得这部分数据趋近0,即可当成只计算区域5,其他同理。

  

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值