Swim

编程入门 行业动态 更新时间:2024-10-17 02:47:05

<a href=https://www.elefans.com/category/jswz/34/1750095.html style=Swim"/>

Swim

看了这个博主(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,其他同理。

  

更多推荐

Swim

本文发布于:2024-02-06 15:42:44,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1749883.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Swim

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!