文章目录
- 摘要
- 1. Introduction
- 2. Formulation of Transformer
- 3. VISION TRANSFORMER
- 4 CONCLUSIONS AND DISCUSSIONS
- 4.2 Futrure Prospects
摘要
本文探讨的主要类别包括:主干网络、高/中级视觉、低级视觉和视频处理。
我们还包括有效的Transformer方法,用于将Transformer推进device-based的实际应用。
此外还简要介绍了计算机视觉中的自我注意机制,因为它是Transformer的基本组成部分。
在本文的最后,讨论了视觉Transformer面临的挑战,并提供了几个进一步的研究方向。
1. Introduction
high-level视觉:处理的是对图像中所见内容的解释和使用。
mid-level视觉:处理的是这些信息是如何组织成我们所体验到的物体和表面objects and surfaces.
(由于在DNN-based vision system中、高级的界限变得越来越模糊,此处将其视为一个种类)
low-level图像处理:处理的主要是从图像中提取description(此类描述通常表示为图像本身)。
2. Formulation of Transformer
2.1 Self-Attention
输入向量首先被转换成三个不同的向量:the query vector q q q, the key vector k k k and the
value vector v v v with dimension d q = d k = d v = d m o d e l = 512 d_q = d_k = d_v = d_{model} = 512 dq=dk=dv=dmodel=512, 之后贝打包成三个矩阵: Q , K , V Q,K,V Q,K,V
具体步骤如下:

图示可以看Fig 2.1的左图
Multi-Head Attention
是一个可以用来提高原始自注意的层performance的机制。
当我们给定一个参考词时,在通读句子时通常希望关注其他几个词,Single-Head自注意层限制了我们专注于一个或多个特定位置的能力,而同时不影响对其他同等重要位置的关注。
这是通过赋予注意层不同的表示子空间来实现的,具体地说,不同的头部使用不同的查询矩阵 Q Q Q、键矩阵 K K K和值矩阵 V V V,由于随机初始化,这些矩阵可以在训练后将输入向量投影到不同的表示子空间。
更详细地阐述这一点,给定一个输入vector,和heads数 h h h。
首先将input vector分为三组,the query group, the key group and the value group.
每个组中有h个vector,每个vector的dimension为 d q ′ = d k ′ = d v ′ = d m o d e l / h = 64. d_{q^{'}} = d_{k^{'}} = d_{v^{'}} = d_{model}/h = 64. dq′=dk′=dv′=dmodel/h=64.
这些vector会被打包成三组不同的矩阵: { Q i } i = 1 h , { K i } i = 1 h , { V i } i = 1 h . \{ {Q_i}\}^h_{i=1}, \{ {K_i}\}^h_{i=1}, \{ {V_i}\}^h_{i=1}. { Qi}i=1h,{ Ki}i=1h,{ Vi}i=1h.
具体步骤如下:
M u l t i H e a d ( Q ′ , K ′ , V ′ ) = C o n c a t ( h e a d 1 , . . . , h e a d h ) W o , MultiHead(Q^{'}, K^{'}, V^{'}) = Concat(head_1,...,head_h)W^o, MultiHead(Q′,K′,V′)=Concat(head1,...,headh)Wo,
其中:
h e a d i = A t t e n t i o n ( Q i , K i , V i ) . head_i = Attention(Q_i, K_i, V_i). headi=Attention(Qi,Ki,Vi