# 2D Transformer

2D Transformer是一种基于Transformer架构的神经网络，专门用于处理二维数据，如图像。Transformer最初是在自然语言处理（NLP）领域提出的，用于处理序列数据。然而，由于其强大的自注意力机制（Self-Attention Mechanism），Transformer架构已经被扩展到了计算机视觉和其他领域。以下是2D Transformer的一些主流技术和方法：

1. **ViT (Vision Transformer)**：

    - ViT是Google Research提出的一种将Transformer应用于图像分类的方法。它将图像分割成多个patches，然后将这些patches作为序列输入到Transformer中。ViT展示了Transformer在图像识别任务上的有效性，并激发了后续许多基于Transformer的图像模型的研究。
2. **Swin Transformer**：

    - Swin Transformer是一种采用层次化分块（Hierarchical Patching）策略的Transformer模型。它将图像分成不同大小的块，并通过局部和全局自注意力机制来捕捉图像的不同层次的特征。Swin Transformer在多个视觉任务上取得了优异的性能。
3. **DeiT (Data-Efficient Image Transformer)**：

    - DeiT强调了数据效率，通过使用少量数据进行训练来减少过拟合，并利用知识蒸馏技术从大型预训练模型中提取知识。DeiT证明了Transformer可以在较小的数据集上也能取得很好的性能。
4. **ConViT (Convolutional Vision Transformer)**：

    - ConViT尝试将传统的卷积神经网络（CNN）和Transformer结合起来。它使用卷积层来提取图像的局部特征，然后使用Transformer来捕捉全局依赖关系。这种方法结合了CNN的空间局部性优势和Transformer的长距离依赖捕捉能力。
5. **Twins (Transformer in Transformer)**：

    - Twins通过在Transformer的每个层中嵌入一个小型的Transformer（称为Twin Transformer）来增强模型的特征表示能力。这种方法使得模型能够在不同的尺度上捕捉图像特征，并提高了模型的性能。
6. **CvT (Convolutional Vision Transformer)**：

    - CvT将卷积操作融入到Transformer的自注意力机制中，使得模型可以在进行自注意力计算之前先进行特征的空间过滤。这种方法旨在结合CNN和Transformer的优点。

这些技术和方法的共同点是它们都利用了Transformer的自注意力机制来处理图像数据，但是它们在实现细节上有所不同，包括如何处理图像数据、如何组织Transformer层、以及如何捕捉不同尺度的特征等。随着研究的深入，我们可以预见将会有更多创新的2D Transformer架构出现，并在计算机视觉领域取得更多的突破。

##### Mamba Vision Mamba

[https://zhuanlan.zhihu.com/p/680130826](https://zhuanlan.zhihu.com/p/680130826)

[https://arxiv.org/pdf/2401.09417.pdf](https://arxiv.org/pdf/2401.09417.pdf)

#### ViTamin

https://beckschen.github.io/vitamin