⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠ You can decompress Drawing data with the command palette: ‘Decompress current Excalidraw file’. For more info check in plugin settings under ‘Saving’

Excalidraw Data

Text Elements

CLS的位置信息永远是0

线性投射层,就是全连接层

假设图片尺寸 X:2242243

196*768

patch : N=224^2/16^2=196

E:768*768(D)

XE = 196768768768 196*768

cls:1*768

197*768

197*768

将位置信息与token相加(而不是拼接)

^d8XnFy7R

比如有12个头, q = 19764 k = 19764 v = 197*64

197*768

197*3012

197*768

16是自己定的patch分辨率

普通的resnet会将数据平均池化后展开为特征

Vit这里使用CLStoken做为特征输出 (也可以对输出序列做平均池化)

最后整个流程的公式表达

layer.py内的PatchEmbed

CLS 是一个特殊的标记,用于表示整个输入序列的类别信息,特别是在分类任务中。它在模型的前向传播过程中被单独处理和更新,最终用于预测输入序列的类别。

小patch被编码为一个特征向量,一共有N个.总的特征向量数量是N+1个(一个CLS,token)

维度D

特征向量N (N个Patch)

Embedded Files

06c0a720bfdc70c43f04bd3446d1d10c747aedc1: Pasted Image 20250514152841_508.png

ded1bc2da9bd8b4ba36aa4ced878330ca37ee0fe: Pasted Image 20250514162823_145.png

62ecbff9513901ad062d54a017476825b55ea25d: Pasted Image 20250514165248_093.png

ea03f9380e97ca6a096af497a61dc9e95b4490e8: Pasted Image 20250529105545_109.png