一张图告诉你Transformer现在是多么的强!几乎包揽了ADE20K语义分割的前几名!
该文章详细解读Swin-transformer的相关内容以及高明之处。看完学不会,你在评论区打我!CNN已然在计算机视觉领域取得了革命性的成果,拥有着不可撼动的地位。Transformer最初用于NLP领域,但Transformer凭借其强大的特征表征能力,已经在cv领域杀出了一条血路。
paper链接:https://arxiv.org/pdf/2103.14030.pdf
代码链接:[https://github.com/microsoft/Swin-Transformer
]( )
2.1 背景
Transformer最开始用于NLP领域,但其强大的表征能力让cv领域的研究人员垂涎欲滴。然而从NLP转为cv领域,存在两个天然的问题。
-
1.相较于文本,图像中像素的分辨率更高
-
2.图像的视觉实体尺寸之间差异很大
传统Transformer(例如transformer、ViT等)尽管有强大的特征表达能力,但其巨大计算量的问题让人望而却步。与传统Transformer不同的是,Swin-Transformer解决了Transformer一直饱受诟病的计算量问题。那么,Swin-Transformer是如何解决的计算量问题呢?让我们继续往下看吧。
2.2 Architecture概况
学习swin transformer之前,我们首先需要熟知以下几个概念:
-
Resolution:假设一张图像的分辨率为224x224,这里所说的224就是像素。
-
Patch:所谓的Patch就是由多少个像素点构成的,假设一个patch的size为4x4,则这个patch包含16个像素点。
-
Window:window的size是由patch决定的,而不是由像素点,假设