文章目录

  • 前言
  • 网络结构
    • 整体架构
    • CSW Self-Attention
    • LePE
    • 模型详细配置参数

前言

论文地址:https://arxiv.org/abs/2107.00652
论文代码:https://github.com/microsoft/CSWin-Transformer

文章作者认为Transformer中存在问题,就是全局自注意的计算代价高,而局部自注意影响每个token的交互。因此作者提出CSWin Transformer模型。

CSwin Transformer的创新点

  • Cross-Shaped Window self-attention机制,可以并行计算水平和竖直方向的self-attention`可以在更小的计算量条件下获得更好的效果。

  • Locally-enhanced Positional Encoding(LePE), 可以更好的处理局部位置信息,并且处理任意形状的输入。

网络结构

整体架构

CSWin Transformer模型结构如上图所示,整个结构和Swin Transformer非常相似。

作者首先在token embedding的时候,采用了带重叠的卷积(卷积核大小为 7 ∗ 7 7 * 7 77,步长为4)来获得 H 4 \frac{H}{4} 4H* H 4 \frac{H}{4} 4H*C的patch token。为了体现层次,整个网络由四个阶段组成。在两个相邻的阶段之间使用了一个卷积层( 3 ∗ 3 3 * 3 33,步长为2),缩小图像尺寸增加通道数,以减少计算量并且扩大感受野。其中每个CSwin Transformer Block进行上图(右)所示。

CSW Self-Attention

CSW Self-Attention全称是Cross-Shaped Window Self-Attention。

由于原始全自注意机制的计算复杂度与特征图大小呈二次的关系。目前常用 halo 和 shifted window扩大感受野。但是为了扩大attention的区域,更加有效的获取全局自注意力。本文受到Sequential axial self-attention的启发提出了一个十字形状的attention。【Sequential axial self-attention是串行的,而本文使用的注意力机制是并行处理的】

从上图中a图可以看出,原始图像为 H ∗ W ∗ C H*W*C HWC。如果我们想做行attention,那么将窗口设置为 s ∗ W s*W sW。列attention同理。其中 s s s的值是变化的(浅层宽度较小,深层宽度较大。解释:作者考虑到了计算量以及感受野设定的),接着我们将dim设置为2,一部分用于计算行attention,另一部分用于计算列attention,最后在concat起来,实现并行处理。于transformers在计算attention的时候是采用mutilhead的,为了保持计算量,本文对head一分为2,一部分用于行attention,一部分用于列attention。公式表示如下:


图像矩阵形式表示如下(借鉴:浅谈CSwin-Transformers)

  • 标准的self-attention

  • (行or列)self-attention

LePE

LePE的全称是Locally-Enhanced Positional Encoding.


上图所示,APE和CPE是在送入Transformer模块之前引入的位置信息,RPE和LePE在每个Transformer模块中进行操作的。灵活度更高,效果更好。也就是作者在原文中提到 directly operates on the attention results instead of the attention calculation.(直接处理注意结果,而不是处理注意计算)
LePE的计算方法很直接,直接作用在value上与SoftMax值相加。


这样,LePE可以友好地应用于将任意输入分辨率作为输入的下游任务。

思考:可以将LePE看作是加了局部假设偏置的注意力,加完假设偏置的话可以一定程度上提升模型效果,因此体现了局部偏置对于CV任务的重要性。

模型详细配置参数


原论文与Swin Transformer的配置类似,分为T(Tiny),S(Small),B(Base),L(Large)4种规格。

参考链接
浅谈CSwin-Transformers
重磅开源!87.5%准确率!十字形注意力的CSWin Transformer

CSWin Transformer网络模型相关推荐

  1. 【Transformer】CSWin Transformer: A General Vision Transformer Backbone with Cross-Shaped Windows

    论文: 文章目录 一.背景 二.动机 三.方法 3.1 总体结构 3.2 Cross-Shaped Window Self-Attention 3.3 CSWin Transformer Block ...

  2. 论文:CSWin Transformer

    CSWin Transformer: A General Vision Transformer Backbone with Cross-Shaped Windows 论文:https://arxiv. ...

  3. 一文总结微软研究院Transformer霸榜模型三部曲!

    [导读]本文将主要介绍微软研究院提出的三大Transformer霸榜模型,分别是:开创Transforer新时代的Swin Transformer, 进阶版的Swin Transformer -- C ...

  4. 为何Transformer在计算机视觉中如此受欢迎?

    编者按:近一年来,Transformer 在计算机视觉领域所带来的革命性提升,引起了学术界的广泛关注,有越来越多的研究人员投入其中.Transformer 的特点和优势是什么?为什么在计算机领域中 T ...

  5. 关于大家对Swin Transformer的魔改论文模型记录(只关注Swin是如何使用的)

    A Novel Transformer based Semantic Segmentation Scheme for Fine-Resolution Remote Sensing Images(语义分 ...

  6. 为何Transformer在计算机视觉中如此受欢迎

    本文选自中国自动化学会模式识别与机器智能专委会通讯的文稿,作者是微软亚洲研究院视觉计算组研究员胡瀚. 胡瀚,微软亚洲研究院视觉计算组研究员,于2014年和2008年在清华大学自动化系分别获得博士和本科 ...

  7. transformer论文研读

    transformer论文研读 Conformer: Local Features Coupling Global Representations for Visual Recognition CS2 ...

  8. 【图像分类案例】(10) Vision Transformer 动物图像三分类,附Pytorch完整代码

    大家好,今天和各位分享一下如何使用 Pytorch 构建 Vision Transformer 网络模型,并使用 权重迁移学习方法 训练模型并预测. Vision Transformer 的原理和 T ...

  9. Vision Transformer 必读系列之图像分类综述(二): Attention-based

    文 @ 000007 号外号外:awesome-vit 上新啦,欢迎大家 Star Star Star ~ https://github.com/open-mmlab/awesome-vit​gith ...

最新文章

  1. asp.net mvc jqgrid 同一个页面查询不同的表,jqgrid显示不同表的表头和数据并且分页...
  2. 图像凸性检测函数convexityDefects在Python2.7下使用opencv3.0的问题
  3. shutil python_shutil模块
  4. 性能测试, 压力测试 , 负载测试和 容量测试 的区别与联系
  5. java插入数据库字符串拼接_JAVA字符串怎么连接?
  6. mybatis动态SQL语句
  7. 【洛谷 - P3410】拍照(最大权闭合图,网络流最小割)
  8. flink 1.8编译:flink-fs-hadoop-shaded找不到
  9. SQL 取空格右边的字符_从零学会SQL,第2关
  10. array in java,ArrayList to Array Conversion in Java
  11. Atitti  onvif 设备发现与原理
  12. SpringBoot任务——JSoup+定时任务 定时爬取微博热搜至数据库
  13. 图像相似度对比分析软件,简单图像相似度对比图
  14. fastapi+tortoise-orm测试
  15. html显示在最上,让DIV对象显示在最上层
  16. python定义整数_Python | 程序定义一个整数值并打印
  17. 40岁以上的程序员该怎么办?年龄不是问题
  18. 利用阿里云搭建NFS服务器
  19. 第六章 组合数据类型----元组
  20. 《大型数据库技术,传智播客Java百度网盘

热门文章

  1. 【BAPI】- [ BAPI_ACC_DOCUMENT_POST ]资产类科目过账
  2. Word处理控件Aspose.Words功能演示:从 C# 中的 Word 文档中提取图像
  3. Java/509. Fibonacci Number 斐波那契数
  4. 给联想Thinkpad E480 安装了Ubuntu 18.04 Wifi适配器不可用的处理方法
  5. Mysql导入现有的数据表、表的数据
  6. 计算机信息检索课程小结,信息检索课的心得体会范文
  7. Python利用OpenCV去除图片水印
  8. 高德地图 web 端 JS API 遇到的坑及性能优化
  9. 升级和查看pip版本,升级pip里的包
  10. 华为如何分屏_折叠屏手机有“毒”!试用华为Mate X百天后竟难以自拔