⚠ 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相加(而不是拼接)
比如有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