关于Swin Transformer的架构记录

Swin Transformer 可以说是批着Transformer外表的卷积神经网络。

具体的架构如下图所示:

关于Swin Transformer的架构记录_第1张图片

首先我们得到一张224*224*3的图片。

通过分成4*4的patch,变成了56*56*48。

线性变换后又变成了56*56*96。

然后利用了Swin Transformer中一个比较特别的结构 Patch Merging 变成28*28*192。

同理,变成14*14*384。

同理,变成7*7*768。

这是总体的过程,Swin Transformer内部是由W-MSA 和SW-MSA组成的。

另外一个比较重要的是针对移位配置的高效批量计算。

关于Swin Transformer的架构记录_第2张图片

移动窗口分区的一个问题是,它将导致更多的窗口,一些窗口将小于M×M。

一个简单的解决方案是将较小的窗口填充到M×M的大小,并在计算注意力时屏蔽填充的值。这种朴素解增加的计算量是相当大的(2×2→ 3×3,是2.25倍)。

利用下图所示的方法:

关于Swin Transformer的架构记录_第3张图片

在该偏移之后,分批窗口可以由在特征图中不相邻的几个子窗口组成,因此采用掩蔽机制来将自注意计算限制在每个子窗口内。

掩码如下:

关于Swin Transformer的架构记录_第4张图片

你可能感兴趣的:(transformer,深度学习,人工智能)