接上一篇
P9 P11
ViT中的Tranformer编码器
n
Tranformer
编码器由
multi-head self-attention
(
MSA
)和
MLP
块的层组成。
n
在每个块之前应用
Layernorm
(
LN
),在每个块之后应用残差连接。
n
MLP
包含具有
GELU
非线性的两全连接层。
![](https://img-blog.csdnimg.cn/69d951c62d254c909d490ae327cd6cbc.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aSn5pWw5o2uQUnkurrlt6Xmmbrog73kuJPlrrbln7norq3orrLluIjlj7bmopPlm6LpmJ8=,size_20,color_FFFFFF,t_70,g_se,x_16)
Vision Transformer(ViT)
n
模型变种:
ViT
的配置基于
BERT
所使用的配置,如下表,
BERT
采用了“
Base”
和“
Large”
模型,并添加了较大的“
Huge”
模型。
![](https://img-blog.csdnimg.cn/5544e1f1b58d40c5aafd9ad93962ebe4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aSn5pWw5o2uQUnkurrlt6Xmmbrog73kuJPlrrbln7norq3orrLluIjlj7bmopPlm6LpmJ8=,size_7,color_FFFFFF,t_70,g_se,x_16)
n
经过大数据集的预训练后,性能也超过了当前
CNN
的一些
SOTA
结果
![](https://img-blog.csdnimg.cn/d986c0a08d0c4008b8fdec306bd12a6f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aSn5pWw5o2uQUnkurrlt6Xmmbrog73kuJPlrrbln7norq3orrLluIjlj7bmopPlm6LpmJ8=,size_20,color_FFFFFF,t_70,g_se,x_16)
经过大数据集的预训练后,性能也超过了当前
CNN
的一些
SOTA
结果如上
BEiT
n
实验证明
vision Transformer
需要远比
CNN
更多的数据来训练。为了解决需要大量数据来训练的这个问题,自监督式的预训练是一个很有前途的方式,它可以利用大规模的图像数据。
n
BEiT
的形式很接近
BERT
,只不过用了一个
dVAE
对
patch
进行离散化(就像
NLP
的
token
也是离散化的)。
n
dVAE
需要先在语料上训练出一个
encoder
和一个
decoder
,
encoder
用来当作
tokenizer
,把图像离散化(对应每一个
patch
),然后给
Transformer
输入
patch
,预测离散后的图像,再用
decoder
还原。
未完,下一篇继续……