Swing Transform学习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

本文参考
Swin-Transformer网络结构详解

一、Swing-Transform

1.1 网络架构

整体架构图
在这里插入图片描述
网络的整体参数
在这里插入图片描述
其中
win. sz. 7x7表示使用的窗口(Windows)的大小
dim表示feature map的channel深度(或者说token的向量长度)
head表示多头注意力模块中head的个数

1.2 论文思路

1.patch Merging
在这里插入图片描述
Patch Merging会将特征图划分为一个个patch,然后将每个patch中相同位置(同一颜色)像素给拼在一起就得到了多个个feature map。接着将这四个feature map在深度方向进行concat拼接,然后在通过一个LayerNorm层。最后通过一个全连接层在feature map的深度方向做线性变化,将feature map的深度由C变成C/2。

2.W-MSA
类似于patchMerging,W-MSA即是将特征图划分为多个,然后再各个特征图上采用MSA。
在这里插入图片描述
虽然W-MSA能够减少计算量,但是他没有考虑到各个窗口之间的信息交流,所以作者又提出了SW-WSA。即对窗体进行一定的Shifted操作。
在这里插入图片描述
但是SW-WSA难以进行并行计算。
由此作者提出了一种比较高效的计算方式
在这里插入图片描述

同时在每一块区域中进行计算时还会采用带Mask的MSA,即通过将注意力机制中的不要匹配的Window的匹配值减去100,从而使这些区域的值变为0,这样也就是代表了他只对有效区域内进行query。

3.相对位置偏置(Relative Position Bias)
根据论文中提供的公式可知是在Q和K进行匹配并除以sqrt(d)后加上了相对位置偏执B。
在这里插入图片描述
具体的方式如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其中M为窗口大小
上述计算只是计算了相对偏执的索引,而relative position bias table表用以保存索引对应的偏执的值(可训练的)

1.3 亮点和总结

1.Swin Transformer使用了类似卷积神经网络中的层次化构建方法,比如在特征图尺寸中采用对图像下采样4倍的,8倍的以及16倍,而Vit Transformer 则是在一开始直接使用下采样16倍。
2.在Swin Transformer中使用了Windows Multi-Head Self-Attention(W-MSA)的概念,可以减少计算量尤其是在浅层特征图很大的时候,为了解决不同窗口间信息传递的问题,Swin Transformer还使用了Shifted Windows Multi-Head Self-Attention(SW-MSA)的概念。同时采用了相对位置偏执,以及进一步提高准确率。

猜你喜欢

转载自blog.csdn.net/weixin_43869415/article/details/121291747
今日推荐