0%

ViT and ViViT

简介

将 Transformer 架构加入视觉领域,ViT与ViViT是分别是将该架构加入图片分类与视频分类领域,是该方向的两篇代表作。

  • ViT: AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE
  • ViViT: ViViT: A Video Vision Transformer

Vision Transformer(ViT)

ViT尽可能的遵循原始Transformer

ViT structure

标准的 Transformer 的输入是一维序列,因此首先需要将二维的图像整形为一维的序列。将其作为整体,称作patch,输入到Transformer进行 embedding。

位置编码直接相加进path embedding。

Trandformer Encoder架构为:

Trandformer Encoder

数学公式总结为:

其中$C$是通道数,$D$是样本数,$p^2$是分块之后的数量,MSA是multiheaded selfattention,MLP是多层感知机,LN是 Layernorm,并且$z_0^0=x_\text{class}$

Video Vision Transformer(ViViT)

基于图像,进一步整合时空的Transformer结构。能够对视频进行有效的处理。

ViViT

除了ViT提出的patch embedding,在处理时空信息上本文提出了Tubelet embedding。

Tubelet embedding

其在时间信息上同样进行编码,组成一个包含部分时间与部分空间信息的embedding。这样就成功让Transformer可以输入时间与空间信息,接下来需要处理的是patch embedding 与 tubelet embedding 两部分信息如何输入进 transformer。虽然其同为编码信息,但是时间和空间的信息如何有效的耦合就是新的问题。这篇文章提出了四种架构。

Spation-temporal attendtion

直接认为两者地位等价,作为相同的token进行输入。显然则会导致输入的信息过于庞大,这是最吃资源的一种。

Factorised encoder

Factorised

这种方案包含两层encoder,第一层将在同一个tubelet 附近的 patch进行encoder,然后下一步将其在时间上进行encoder。

Factorised self-attention

Factorised self-attention

与第一种方案一样,同样认为等价的地位,但只进行self-attention操作。首先先处理空间,然后是时间。

Factorised dot-product attention

Factorised dot-product attention

分别处理时间与空间上的embedding,然后拼接再作为一个整体。