---
# System prepended metadata

title: 'AN IMAGE IS WORTH 16x16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE'
tags: [uscc論文]

---

# AN IMAGE IS WORTH 16x16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE
**Anonymous authors**
Under review as a conference paper at ICLR 2021

## ABSTRACT

* 在 NLP 領域上，Transformer architecture 是一個很重要的架構，但不常使用在 vision
* attention 常和 cnn 結合
* 這篇文章要直接應用 transformation ， 且證明可以表現得很好
* 可以用更少的資源，且訓練得跟 SOTA 一樣好

## INTRODUCTION

* 由於 self-attention 在 NLP 上的成功，有人他用來取代 CNN(Ramachandran et al., 2019; Wang et al., 2020a)，但只有理論上的有效率，而由於他是用特別的 attention patterns ，因此在大型資料集上的 image recognition 還是 classic ResNet-like architecture 比較好
* 因為 NLP 處理的資料是序列化的，而 cv 處理的資料是三維的，長寬和channels，所以將影響分割成 patchs ，並將 patches 變成依序列線性嵌入，當成 transformer 的輸入。

## METHOD
使用很接近 original Transformer(Vaswani et al., 2017)
，這樣有意的設計是為了有 scalable NLP Transformer architectures 的優勢，還有有效率的實作，希望可以超越最好的 CNN

### 3.1 VISION TRANSFORMER
![](https://i.imgur.com/RMtjepC.png)
**a. 將圖片序列化**
首先將圖像分割成 patchs ，然後將每個 patch 重塑成一個向量，得到 flattened patch。

如果圖片是 `H x W x C` 用 `P x P` 大小的 patch 去分割圖片得到 N 個 patch ，那每個 patch 的 shape 是 `P x P x C` ，轉成向量會是 $P^2C$ 維的向量，將 N 個 patch reshape 的向量 concat 在一起得到， $N x (P^2C)$ 的 2D vector ， 和 NLP輸入 transformer 的詞向量相同。

**b. Position embedding**

因為 transformer 本身沒有位置訊息，我們要用 position embedding 將位置訊息加到模型。
如上圖，編號 0-9 的紫色框表示各個位置的 positon embedding ，而紫框旁邊的粉色框是經過 linear projection 之後的 flattened patch 向量。 使用將 position embedding 和 patch embedding 相加的方式結合 position 訊息。

**c. Learnable embedding**
上圖帶星號的粉色框不是通過某個 patch 產生的，他是一個 learnable embedding(既做 $X_{class}$)，其作用類似於 BERT中的 [class] token。
在 BERT 中。[class] token 經過 encoder 後對應的結果作為整個句子的表示; 類似地，這裡 $X_{class}$ 經過 encoder 後的對應的結果也最為整個圖的表示。

為什麼 BERT 或者這篇文章的 ViT 要多加一個 token 呢？因為如果人為指定一個 embedding ，經過 encoder 得到的結果作為整體的表示，則不可避免會使得整體表示偏向於這個指定 embedding 的訊息，而這個新增的 token 沒有語意訊息，與圖像的任何 patch 無關，所以可以公平的反應全圖的資訊。

**d. Transformer encoder

---


4.5 INSPECTING VISION TRANSFORMER


![](https://i.imgur.com/NbUVSB7.png)



在中等規模的數據集上（例如ImageNet），transformer 模型的表現不如ResNets; 而當數據及的規模擴大， transformer 模型的效果接近或是超過目前的一些 SOTA。


## 補充
![](https://i.imgur.com/Kqpigd1.png)
![](https://i.imgur.com/4CNGHhn.png)
![](https://i.imgur.com/KgjtW5H.png)
![](https://i.imgur.com/q8bss0z.png)

**Transformer**
![](https://i.imgur.com/Nx3KLcj.png)





## Reference
https://arxiv.org/abs/2010.11929
https://zhuanlan.zhihu.com/p/266311690


###### tags: `uscc論文`