[自注意力神经网络]Swin Transformer网络

一、概述

        Swin Transformer是一个用了移动窗口层级式Vision Transformer。

        在图像领域,Transformer需要解决如下两个问题:

                ①尺度问题:同一语义的物体在图像中有不一样的尺度。(大小不同)

                ②Resolution过大:若以像素点作为单位,则会出现序列过长的情况。

        由于使用了移动窗口,Swin Transformer的自注意力仅在窗口中计算,降低了计算量;同时移动窗口的应用还带来了图像之间的层级关系,使得其能更好的应用在图像领域。

二、重要操作

        1.移动窗口

                对于视觉任务而言,多尺度特征极为重要。例如对于目标检测而言,常用的方法是提取不同尺度的特征后进行特征融合(FPN),这样可以很好的把握物体不同尺寸的特征。而对于语义分割而言,也需要对多尺寸特征进行处理。(skip connection/空洞卷积等)

                patch:最小的计算单元

                window:原文中默认有 7x7(合计49个)个patch

                Shift操作:将原来的Window往右下移动窗口大小/2并向下取整(2个patch),再沿着原window的延长线对图进行分割。可以使得一个窗口中的自注意力机制注意到其他patch中的信息

                Masked掩码:

                         窗口移动后,由于窗口大小不一致无法直接merging,通常的操作是将小patch进行padding补至与中间大patch一致。但是这样会提升计算复杂度。

                         而Masked是在窗口移动后再进行一次循环移位(cyclic shift);

                组合后的窗口由于发生了patch移动导致除左上角的patch保持原有位置信息之外全部混入和其他位置的patch;针对这种情况。在对其进行自注意力运算,然后对运算后的结果中不是原始组合的部分按照特定的遮罩进行求和(用来屏蔽错误的组合),如下图所示。

                遮罩模板如下: 

        2.patch merging

                用于生成多尺寸特征,类似于CNN中的Pooling(池化)。具体做法是将相邻的小patch合并成一个大patch

 三.模型架构

        ①Patch Partition:在图上划分patch(原文为4x4,对于标准的224*224*3的图片而言,经过此操作后尺寸变为56*56*48)

        ②Linear Embeding:将向量的维度转换为预先设定好的值;原文设置了一个超参数c=96(操作后尺寸变为96*96*96,前面的96*96将被拉直成3136成为序列长度,最后一个96编程每个token的维度;由于96*96拉直后一共3136对于Transformer太长了,所以采用基于窗口的自注意力,默认每个窗口仅有7x7=49个patch)

        ③Swin Transformer Block:每组做两次多头自注意力:①基于窗口的多头自注意力;②基于移动窗口的多头自注意力。这样做可以实现窗口与窗口之间的通信。

        ④Patch Merging:Transformer若不进行限制的话,输入和输出尺度并不会发生改变。如果想像CNN一样得到多尺度特征的话就必须使用Patch Merging。具体做法是将相邻的小patch合并成一个大patch(以原文为了例下采样数为2倍,采用跳步式合并--每隔一个点采集一个);

                        但是经过Merging后,通道数会变为4c,为了和CNN每卷积一次通道数仅x2,在进行Merging后再进行一个1x1卷积将通道数调整为2c。(空间大小/2,通道数x2)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Swin Transformer中的自注意力机制是其网络结构中非常重要的一部分。自注意力机制是一种用于处理序列数据的机制,可以将每个元素与其他元素进行交互以获得上下文信息。在Swin Transformer中,自注意力机制被用于对输入图像的不同位置进行建模。通过计算每个位置与其他位置之间的相似性,并根据相似性对每个位置的特征进行加权求和,自注意力机制能够通过学习到的权重来捕捉全局和局部的上下文信息。 自注意力机制的核心操作是计算注意力权重和加权求和。在Swin Transformer中,这个操作被运用在多个层级上,以便对不同尺度的特征进行建模。具体而言,Swin Transformer使用了移动窗口的策略,将输入图像分割成许多小块,并在每个小块中计算注意力权重和特征加权求和。通过这种方式,Swin Transformer能够有效地处理大尺寸的图像,并且具有较低的计算复杂度。 总之,Swin Transformer中的自注意力机制允许网络通过对不同位置之间的交互来建模图像的全局和局部上下文信息。这种机制的使用使得Swin Transformer能够处理大尺寸的图像,并且在计算效率上有一定的优势。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [注意力机制+Swin-Transformer详解](https://blog.csdn.net/qq_39800375/article/details/120297413)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [[神经网络]Swin Transformer网络](https://blog.csdn.net/weixin_37878740/article/details/129299358)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值