解决什么问题
传统的transformer处理于长序列需要非常大的计算量,而且很慢。且传统的transformer虽然的全局信息的获取上有着很好的效果,但是在局部信息的获取上就没有那么强了。Swim transformer的主要的贡献就是使用分层和窗口的概念来为这个框架提供了一个类似CNN感受野的东西,不仅可以兼顾了transformer本身优秀的全局信息获取的能力,且通过窗口的设计也提供了局部信息的获取能力。
基本结构理解
主要的结构图如下(来自原文)

其主要的结构是S-MSA, SW-MSA,这个两个新的注意力机制。首先需要注意的是这两个注意力机制需要配合使用,单独使用的效果不佳。 首先从patch partition 开始,首先和传统的transformer一样将输入的数据打散成一个个小的patch。假设输入图像为(224,224,3), 将图像打散有16个patches的一组,每一个图片的大小就是(56,56,96)。这里只需要使用一个卷积核大小为4的2D卷积即可完成。因为打散图像是用的卷积,所以这里的96是指的特征通道数。将小patch像在传统transformer中一样展开变成(56x56,96)=(3136,96)。 和之前transf

最低0.47元/天 解锁文章
878

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



