10 分钟内了解 Vision Transformer (ViT) 的工作原理:一张图像价值 16x16 个字

在本文中,您将了解视觉转换器如何解决图像分类问题。我们提炼了您需要掌握的所有重要细节,以及它在有足够的数据进行预训练的情况下可以很好地工作的原因。

来源:AI夏令营

这次我会简短而犀利地讲。10 分钟后,我将指出用于图像分类的 Transformer 架构的细微修改。

因为这是一篇后续文章,如果您对这些术语不太熟悉,请随时为我之前关于 Transformer 和注意力的文章提供建议。

Transformer 注意力

现在,女士们先生们,您可以开始计时了!

Transformer 缺乏卷积神经网络 (CNN) 的归纳偏差,例如平移不变性和局部限制的感受野。您可能以前听说过。

感受野

但它实际上是什么意思呢?

嗯,不变性意味着您可以识别图像中的实体(即对象),即使其外观或位置发生变化。计算机视觉中的平移意味着每个图像像素在特定方向上移动了固定量。

不变性 平移

此外,请记住,卷积是线性局部运算符。我们只看到内核指示的邻居值。

另一方面,Transformer 在设计上是置换不变的。坏消息是它无法处理网格结构数据。我们需要序列!为此,我们将空间非序列信号转换为序列!

置换不变

让我们看看如何。

Vision Transformer 的工作原理简介

整个架构称为 Vision Transformer(简称 ViT)。让我们一步一步检查它。

    将图像分割成块 展平块 从展平的块中生成低维线性嵌入 添加位置嵌入 将序列作为输入提供给标准 Transformer 编码器 使用图像标签预训练模型(在庞大的数据集上进行完全监督) 在下游数据集上进行图像分类的微调
  • 将图像分割成块
  • 将图像分割成块

  • 展平块
  • 展平块

  • 从展平的块中生成低维线性嵌入
  • 从展平的块中生成低维线性嵌入

    来源:Google AI 博客

    DD