Swin Transformer : Hierarchical Vision Transformer using Shifted Windows
发布时间
阅读量:
阅读量
本研究旨在探讨并开发一种新型的Transformer架构——Swin Transformer。其主要目标在于构建一个通用且高效的架构设计框架。
Transfoemer从NLP应用到CV领域存在以下几个挑战 :
痛点:CV中视觉块的变化尺度大;图像像素的高分辨率;——动机
- scale:视觉元素的变化可能导致规模上的显著差异;
- High Resolution:像素级别上的提升意味着更高的分辨率,在这种情况下其自注意力机制的时间/空间复杂度为O(N^2)。
本文开发了一种基于层次结构的Transformer架构,并采用滑动窗口机制来提取特征。该架构将自注意力机制限定于不重叠的小块区域,并通过跨层连接设计提升了模型灵活性。该模型在图像分类任务上表现突出,并在目标检测和语义分割等密集预测任务中展现出良好的性能。同时,在实现上述功能的同时实现了较低的时间延迟。
Hierarchical(分层)Transformer——捕获分层特征图+线性 复杂度
- 分层特征图采用较小尺寸的patch,并结合其邻居patch进行融合
- 线性的计算复杂度主要体现在基于局部区域进行自注意力机制的设计上;每个模块采用固定尺寸(即fixed patch)并保持局部特性(即local)
- 核心问题在于如何实现如何实现如何实现如何实现如何实现如何实现如何实现如何实现如何实现如何实现
架构学习
- swin transformer block:用基于Shifted-window替代原标准多头自注意力模块,线性复杂度替代二次计算。
- 基于自注意力的移动窗口:局部窗口自注意力计算;窗口间的连接(移动窗口分区方案);
- 第一个模块使用从左上角像素 开始的规则窗口划分策略(New ),将8×8特征映射均匀划分为2个大小为4×4的窗口。然后,下一个模块采用一种窗口配置,从前一层的窗口配置中移动,通过从规则划分的窗口中替换(M/2,M/2)像素的窗口。
- 针对移位配置的高效批计算:以前的pad的填充再屏蔽的方法,在窗口过小的情况下,会提高计算量;本文整改:循环移位-向左上方移动。——降低计算量。
全部评论 (0)
还没有任何评论哟~
