欢迎访问个人网络日志🌹🌹知行空间🌹🌹
SWin-Transformer解读
1.基础介绍
Swin-Transformer是2021年03月微软亚洲研究院提交的论文中提出的,比ViT晚了半年左右,相对于ViT而言,Swin-Transformer的改进,使transformer能作为新的视觉任务backbone,用于分类分割和检测,姿态估计等任务。
论文:https://arxiv.org/abs/2103.14030
代码:https://github.com/microsoft/Swin-Transformer
Swin-Transformer是Shifted Window Transformer,作者指出了将transformer应用到视觉任务中需要解决的两个问题,
一个是在ViT中就已经提到的计算self attension时 Q K T d k V \frac{QK^T}{\sqrt{d_k}}V dkQKTV复杂度是序列长度L(在视觉任务中是image size)的平方,着限制了transformer处理大分辨率图像的能力。
另一个,对于像语义分割/目标检测这些任务,最好能输出层级的金字塔型的特征,以增加模型处理不同scale对象的能力,同时也更利于使用过去研究中已验证有效果的trick。
Swin-Transformer中作者针对上述两个问题提出的方法分别是Shifted Window based Self-Attention和随着网络的深度合并图像patch来生成层级特征图。

关于Shifted Window based Self-Attention
先来看transformer中的常规全局Multi-Head Self Attention(MSA)的计算复杂度,
Q=K=V,shape为(L, C) L对应的是序列的长度对于 h × w h\times w h×w的图像等同于 L = h × w L=h\times w L=h×w,C是模型的通道数等同于hidden_dims, W i Q , W i K , W i V W_i^Q,W_i^K,W_i^V WiQ,WiK,WiV对应的shape都为(C,C),MSA输出的通道数也是C,则 W O W^O WO的shape为(C,C)。那么,对于全局注意力机制的计算包括 Q W i Q QW_i^Q QWiQ, K W i K KW_i^K KWiK, V W i V VW_i^V VWiV, Q K T QK^T QKT, S V SV SV, A W O AW^O AWO这几部分,其中 S = s o f t m a x ( Q K T C ) S=softmax(\frac{QK^T}{\sqrt{C}}) S=softmax(C
Swin-Transformer详解:窗口滑动与相对位置偏置

本文介绍了Swin-Transformer,一种由微软亚洲研究院提出的改进版Transformer模型,适用于视觉任务。文章详细阐述了窗口滑动(Shifted Window based Self-Attention)机制和相对位置偏置,旨在解决Transformer在视觉任务中的计算复杂度问题,并生成层级特征图。Swin-Transformer通过窗口自注意力和层次结构,实现了在减少计算成本的同时保持模型的全局信息捕捉能力。
最低0.47元/天 解锁文章
4357

被折叠的 条评论
为什么被折叠?



