多模态论文解读——ViT、ViLT

426 阅读2分钟

大家好,这里是好评笔记,本文为试读,查看全文请移步公主号:Goodnote。本文详细介绍Transformer架构在计算机视觉方面的成功模型,将Transformer引入图像领域:ViT、ViLT。

1.png

@[toc]

ViT

ViT(Vision Transformer) 是一种将 Transformer 模型用于计算机视觉任务中的创新架构。ViT 只使用了 Transformer 的编码器 部分进行特征提取和表征学习

论文:AN IMAGE IS WORTH 16X16 WORDS:TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE

1. ViT的基本概念

ViT 的核心思想是将传统的(CNN)的卷积操作替换为 Transformer 的注意力机制,借鉴 Transformer 模型在自然语言处理(NLP)中的成功经验,用于图像分类任务

2. ViT的结构与工作流程

ViT的架构如下图所示: 在这里插入图片描述

图1:模型概览。我们将一幅图像分割为固定大小的图块,将每个图块线性嵌入(embed),添加位置嵌入(position embedding),并将得到的向量序列输入到标准的Transformer编码器中。为了实现分类任务,我们采用标准的方法,在序列中添加一个额外的可学习的“分类标记”(classification token)。Transformer编码器的示意图受到 Vaswani 等人 (2017) 的启发。

ViT 模型的工作流程如下:

1. 图像分块(Image Patch Tokenization)

ViT 将输入的图像划分为固定大小的图像块(patches),并将这些图像块展开为一维向量,类似于将图像分成许多小的"单词"。然后,将每个图像块转换为一个嵌入向量,这些嵌入向量类似于 NLP 中的词嵌入(Word Embedding)。

  • 假设输入图像的尺寸是 224×224224 \times 224,将其划分为尺寸为 16×1616 \times 16 的小块。这将产生 14×14=19614 \times 14 = 196 个图像块。
  • 每个图像块的像素值被展平成一维向量,并通过线性映射(全连接层)转换为固定维度的嵌入向量。

2. 位置编码(Positional Encoding)

因为 Transformer 的注意力机制不依赖于输入的顺序,而图像中的空间信息是重要的,因此需要给每个图像块添加位置编码(Positional Encoding),以保留图像块的位置信息。这样,Transformer 可以理解图像块之间的相对位置关系。

  • 位置编码的方式与 NLP 中的 Transformer 类似,ViT 默认使用 可学习的1D位置编码,将二维图像的分割图块按照固定顺序展平成一维序列后,为序列中的每个位置分配一个可学习的编码向量。

详细全文请移步公主号:Goodnote。

参考:欢迎来到好评笔记(Goodnote)!