一、Vision Transformer
Vision Transformer (ViT)将Transformer应用在了CV领域。在学习它之前,需要了解ResNet、LayerNorm、Multi-Head Self-Attention。
ViT的结构图如下:
如图所示,ViT主要包括Embedding、Encoder、Head三大部分。Class token、Position Embedding、Extract Class Token等部分会按照顺序穿插讲解。
1. Patch Embedding
由于多头自注意力是针对NLP提出的,它的输入尺度为 [ b a t c h _ s i z e , n u m _ t o k e n , d i m _ t o k e n ] [batch\_size,num\_token,dim\_token] [batch_size,num_token,dim_token],而CV中图像输入尺度通常为 [ b a t c h _ s i z e , n u m _ c h a n n e l , h e i g h t , w i d t h ] [batch\_size, num\_channel,height,width] [batch_size,num_channel,height,width],ViT通过Patch Embedding将其尺度转换至期望的形式。
如上图所示,假设一张图像的尺寸为 [ 3 , 224 , 224 ] [3,224,224]

本文阐述了ViT如何将Transformer应用于CV,包括PatchEmbedding的图像转换、TransformerEncoder的特征提取,以及MLPHead的定制化应用。
最低0.47元/天 解锁文章
1863

被折叠的 条评论
为什么被折叠?



