图像是一张具有局部邻接关系的二维网格,而标准 Transformer 接收一列向量。两种表示之间的转换不仅涉及张量形状,还涉及像素信息保留、空间坐标、全局交互和计算预算。把图像展成一个长向量,会失去可独立交互的位置;把每个像素作为一个位置,则会使全局注意力代价过高。视觉 Transformer(Vision Transformer,ViT)以局部补丁作为序列单元,在两者之间选择一种可训练的表示粒度(Dosovitskiy 等 2021)。
本章研究视觉编码与分类。图像编码器如何连接语言模型,以及视觉生成如何建立概率模型,分别由多模态与生成模型相关章节展开。视觉编码器输出一个向量,不表示它已经获得语言对齐能力;分类准确率也不能单独证明其细粒度空间表示适用于定位任务。
39.1图像补丁表示
形状及坐标
补丁(Patch)是图像中按规则取出的局部像素区域。先考虑无重叠、无填充的矩形补丁,图像张量采用批量、通道、高、宽的顺序。表39.1统一本章符号,所有坐标从零开始。
表 39.1 视觉编码的主要符号。
| 符号 | 含义或形状 |
|---|---|
| \(I\in\Real^{B\times C\times H\times W}\) | 预处理后的图像批量 |
| \(P_h,P_w\) | 补丁高度与宽度 |
| \(G_h=\frac{H}{P_h},\ G_w=\frac{W}{P_w}\) | 补丁网格的行数与列数 |
| \(N=G_hG_w,\ F=CP_hP_w\) | 补丁数量与每个补丁的像素分量数 |
| \(d,a,d_h=\frac{d}{a}\) | 隐藏维度、注意力头数与每头维度 |
| \(L=N+1,\ T\) | 含分类标记的序列长度、编码层数 |
| \(K,\rho d\) | 类别数、前馈中间层宽度 |
标准补丁化的前提
\(H\) 与 \(W\) 分别可被 \(P_h\) 与 \(P_w\) 整除;补丁不重叠、不丢弃边界像素;输入的通道顺序与像素归一化已经确定。固定按补丁行优先、块内通道优先及像素行优先排列。不同排列同样可以定义有效模型,但必须同时变换后续权重和位置映射。
设网格坐标为 \((r,s)\),补丁内坐标为 \((u,v)\),通道为 \(c\)。补丁化(Patchification)可以写成精确的索引映射:
由 \(n\) 可以恢复 \(r=\lfloor \frac{n}{G_w}\rfloor\)、\(s=n\bmod G_w\),由 \(f\) 可以恢复 \(c,u,v\)。因此,式(39.2)是一个双射,元素总数满足 \(BNF=BCHW\)。在这些前提下,切分只是重排,没有学习参数,也没有丢失像素。
这里必须区分逻辑重排与物理复制。张量布局允许时,某些重排可以由步长视图表示;后续矩阵运算若要求连续内存,仍可能发生复制。因此,元素数相等不能推出额外内存开销为零。1
线性投影及信息保留
补丁嵌入(Patch Embedding)将每个补丁映射到共同隐藏空间:
同一个 \(W_E\) 作用于所有补丁,参数量为 \(Fd+d\),不随图像补丁数增长。与像素重排不同,投影可能损失信息:若 \(d<F\),则 \(\operatorname{rank}(W_E)\leq d<F\),必然存在非零行向量 \(\delta\) 满足 \(\delta W_E=0\)。补丁 \(x\) 与 \(x+\delta\) 因而具有完全相同的嵌入。即使 \(d\geq F\),也只有矩阵具有满行秩时才可能从嵌入唯一恢复补丁。
这并不意味着压缩一定有害。分类目标通常不要求保留每个像素扰动,模型可以学习舍弃与标签无关的变化。但对于细小文字、边缘缺陷等任务,若有用变化进入投影的零空间,后续注意力无法恢复它。补丁粒度与投影维度因此是任务信息与计算资源之间的结构选择。
39.2补丁投影及卷积的等价性
令二维卷积核为 \(\mathcal K\in\Real^{d\times C\times P_h\times P_w}\),步幅为 \((P_h,P_w)\),无填充、无膨胀。常用深度学习卷积操作实际按不翻转卷积核的互相关形式计算:
将参数对应为
再令 \(n=rG_w+s\),式(39.4)就逐项等于式(39.3)的 \(E_{b,n,j}\)。卷积输出的 \([B,d,G_h,G_w]\) 还需按同一行优先规则重排为 \([B,N,d]\)。这是一种参数与运算的等价,并不意味着两种实现对任意内存布局和硬件都具有相同速度。
从梯度也能看出这种对应。把批量与补丁位置合并,令 \(G=\frac{\partial\mathcal L}{\partial E}\),则
在无重叠情况下,\(X\) 的梯度按逆映射放回图像即可。若使用重叠滑窗,一个像素会被多次取出,其梯度必须将各窗口贡献相加,不能用一次覆盖写回。
考虑单通道、单图像,令
按式(39.1)得到
第一个输出通道计算四个像素之和,第二个通道计算左右差。对应卷积核分别为
卷积第一通道输出网格 \(\left[\begin{smallmatrix}14&22\\46&54\end{smallmatrix}\right]\),第二通道输出全为 \(-2\)。重排后得到同一个 \(4\times2\) 矩阵。这个构造算例说明像素索引与参数映射的等价,不是分类实验,也没有说明这两个人工核具有良好的视觉表征能力。
重叠、填充及边界
一般滑窗在高度方向的输出数为
其中 \(p_h,S_h,\delta_h\) 分别为对称填充、步幅和膨胀系数,宽度方向同理。步幅小于窗口尺寸会产生重叠;步幅过大可能跳过像素;不能整除时,无填充实现可能丢弃尾部。它们仍可与相同滑窗规则的线性投影对应,但已不满足前述双射。
对变尺寸图像采用填充时,需要区分完全由填充构成的补丁与部分有效补丁。注意力掩码只能排除整个位置,不能自动去除一个补丁内部的无效像素影响。通常应先明确裁剪或填充策略、有效区域以及目标任务是否允许改变长宽比,再决定补丁规则。
39.3二维位置及序列组装
空间位置编码
不含位置编码的注意力对序列置换具有等变性。令 \(\Pi\) 为位置置换矩阵,则线性映射满足 \(Q'=\Pi Q,K'=\Pi K,V'=\Pi V\)。逐行 softmax 满足
因此
逐位置归一化、前馈层和残差都保持这一性质。若固定分类标记的位置,仅置换其余补丁,分类位置输出不变;均值池化同样无法区分这些排列。因此,单纯把上方补丁排在数组前面,并没有使模型知道“上方”的含义。补丁内部的像素坐标由投影权重区分,补丁之间的空间坐标则需要另行提供。
分类标记(Classification Token,CLS)是一个跨图像共享的可训练向量 \(e_{\mathrm{cls}}\in\Real^d\)。标准序列初始化为
位置参数按批量广播,分类向量本身不含当前图像信息,其依赖图像的表示是在编码器中通过交互形成的。
位置参数的二维语义
绝对位置嵌入(Absolute Positional Embedding)为每个位置提供一个与内容相加的向量。标准 ViT 可以把参数存成一张一维表,但表的第 \(1+rG_w+s\) 行实际对应二维网格坐标 \((r,s)\)。因此,“存成一维”不等于“只能表达一维位置”。另一种设计是分解为 \(P_{r,s}=P^h_r+P^w_s\),其参数更少,但位置表的可表达形式受到可加性约束。
二维位置插值(Two-Dimensional Positional Interpolation)用于将固定网格的位置参数适配到另一网格。须先分离 CLS 行,再把补丁部分恢复为 \(G_h\times G_w\times d\),按空间坐标插值,然后重新展平。把整个序列当作一条线插值,可能在旧网格一行末尾和下一行开头之间建立不符合二维邻接的混合。
以双线性插值(Bilinear Interpolation)为例,明确采用角点对齐且新网格两边均大于一,目标坐标 \((i,j)\) 对应源坐标
令 \(r=\lfloor x\rfloor,s=\lfloor y\rfloor,\alpha=x-r,\beta=y-s\),并将邻接下标限制在合法边界,则每个通道独立计算
这是一个明确的教学插值约定。采用像素中心对齐或双三次插值时,坐标和权重都会不同;退化为单行、单列的网格也应显式规定采样位置。复用已有权重时不能无意混用这些规则。2
例如,一个位置通道的源网格为 \(\left[\begin{smallmatrix}0&2\\4&6\end{smallmatrix}\right]\)。按角点对齐扩展至 \(3\times3\),结果为
中心来自四个角各 \(\frac{1}{4}\) 的加权和。分类位置若原为 \(10\),仍单独保留为 \(10\),不能加入这张空间网格。这里被插值的是学习到的位置向量,不是输入图像像素。
位置插值假设原网格参数能够作为某种平滑空间场重新采样。形状匹配并不能证明这种平滑假设适合所有学习结果,也不能保证高分辨率下的物体尺度与训练分布一致。更换补丁尺寸还会改变 \(W_E\) 的输入维度,单独插值位置表无法解决这种权重不兼容。
39.4视觉编码及读出
双向编码层
每层采用前置层归一化(Pre-Layer Normalization,Pre-LN)残差结构:
此处归一化沿每个位置的隐藏维度进行,前馈网络逐位置共享参数。多头注意力的查询、键和值均来自同一视觉序列,正常有效补丁之间不施加语言模型的因果掩码。填充位置则需要有效性掩码。注意力和反向传播的通用推导见第39章《注意力机制》,这里展开其视觉含义。
单个注意力头对第 \(i\) 个位置计算
\(\mathcal V\) 为有效位置集合。一个补丁可以依据内容和位置从其他区域收集信息:局部边缘可以与远处轮廓组合,分类位置也可以汇集多个区域。全局可访问只表示存在信息通路,并不保证模型实际利用了需要的区域。
CLS 及平均池化
在最终归一化后令 \(\widehat Z=\operatorname{LN}(Z^{(T)})\)。CLS 读出采用 \(h=\widehat Z_0\);全局平均池化(Global Average Pooling,GAP)可以采用
其中 \(m_n\in\{0,1\}\),且 \(N_{\mathrm{valid}}>0\)。前者通过专门位置学习信息汇集,后者对最终补丁表示赋相同读出权重,但这些补丁已经经过内容相关的全局交互,因而不能把 GAP 误解为对原始像素简单取平均。
两者也产生不同的直接梯度路径。若分类损失对 \(h\) 的梯度为 \(g\),GAP 对每个有效最终补丁的直接梯度为 \(\frac{g}{N_{\mathrm{valid}}}\),CLS 则在读出位置接收直接梯度,再经各层注意力传递至补丁。结构差异不构成任一读出方式普遍更好的证明,替换预训练模型的读出方式也可能需要重新训练与调整优化设置。
分类头令 \(o=hW_C+b_C\),其中 \(W_C\in\Real^{d\times K}\),并以 \(p_k=\frac{\exp(o_k)}{\sum_j\exp(o_j)}\) 得到类别概率。对于单标签监督 \(y\),损失为 \(-\log p_y\)。密集定位任务则需要保留 \(N\) 个补丁特征,恢复 \(G_h\times G_w\) 网格,并通过任务头处理空间分辨率;单个 CLS 无法直接替代这条空间输出路径。
39.5分辨率及计算预算
参数及运算规模
对每层标准多头注意力,忽略偏置、归一化和逐元素算子,以一次乘加作为一个计数单位,四个投影约需 \(4BLd^2\) 次乘加;\(QK^{\mathsf T}\) 与注意力乘 \(V\) 合计 \(2BL^2d\);前馈网络中间维度为 \(\rho d\) 时约需 \(2B L\rho d^2\)。因此
若按一次乘法和一次加法各计一次浮点运算,主要项再乘二。这个计量约定必须与报告一致。
标准注意力的逻辑分数共有 \(BaL^2\) 个元素。若显式以每元素 \(s\) 字节存储,单张分数张量占 \(sBaL^2\) 字节;训练还包括其他激活、梯度和优化器状态。融合注意力内核可能不物化整张矩阵,故逻辑规模不是实际峰值显存的等式。相关实现见高效注意力章节。
固定 \(d\)、\(C\) 与图像尺寸时,补丁投影的主要乘加量为 \(BNFd=BCHWd\),在无重叠规则下与补丁面积无关;但其参数数 \(Fd+d\) 会随补丁面积变化。减小补丁主要增加编码器序列长度,而不是简单地按同一倍数增加所有模块。这一区分有助于定位成本来源。
规模比较
设图像为 \(224\times224\),采用方形补丁与一个 CLS。下表是由整数公式计算出的结构数量,不是实测显存或运行时间。
表 39.2 固定图像尺寸下的序列规模。
| \(P\) | 网格 | \(N\) | \(L\) | 每头 \(L^2\) |
|---|---|---|---|---|
| 32 | \(7\times7\) | 49 | 50 | 2500 |
| 16 | \(14\times14\) | 196 | 197 | 38809 |
| 8 | \(28\times28\) | 784 | 785 | 616225 |
忽略 CLS,补丁边长减半使 \(N\) 增长四倍,二次项增长十六倍。保留 CLS 后比值分别为 \(\frac{38809}{2500}\approx15.52\) 和 \(\frac{616225}{38809}\approx15.88\),不能把十六倍写成含 CLS 情况的精确等式。
以 \(d=768,\rho=4,B=1,P=16\) 为例,一层线性投影与前馈的主要项为
注意力两次矩阵乘法为
在这一构造配置中,前者明显更大;不能仅因注意力存在二次项,就断定任何分辨率下它都支配运算。两类项相等约发生在 \(L=(2+\rho)d\),本例为 \(4608\)。这一交点只比较乘加次数,尚未计入带宽、并行度和算子调度。
若固定 \(P=16\) 而把输入变为 \(384\times384\),则网格为 \(24\times24\),\(N=576,L=577\),每头逻辑分数为 \(332929\)。二维尺寸同时扩大时,\(N\) 按面积增长,注意力二次项按面积的平方增长。与改变补丁大小不同,这种调整保持补丁投影形状不变,但仍需处理位置参数与视觉尺度分布。
结构预算与质量是不同问题
更细补丁提高空间采样粒度,同时增加编码器序列成本;更高分辨率可能保留输入细节,但也改变内容尺度和位置分布。两者都不保证分类或定位质量单调提高。比较质量时应同时固定数据划分、预处理、优化预算和评价口径,并说明哪些变量实际发生了变化。
39.6归纳偏置及训练边界
卷积先验及全局交互
归纳偏置(Inductive Bias)是模型结构或学习过程对可学习规律的偏好。卷积通过局部连接和跨位置共享核编码空间先验;在适当边界与步幅条件下,其输出随输入平移而相应平移,这称为平移等变性(Translation Equivariance)。带步幅的卷积仅对与采样网格兼容的平移具有相应性质,不能无条件套用逐像素平移等变的说法。
ViT 的补丁投影同样包含局部性与权重共享,并非没有任何视觉先验。它的编码器允许补丁全局交互,而绝对位置表可使不同位置具有不同作用。一像素平移可能改变多个补丁内部的像素组合,不能简单视为补丁序列的整数置换。因此,式(39.12)的序列置换等变不等于图像平移等变。
原始 ViT 强调了预训练数据规模与迁移效果的关系;后续数据高效视觉 Transformer 研究说明,训练配方、正则化及蒸馏也会显著改变数据利用效率(Touvron 等 2021)。不能把某一配方在某个数据规模下的结果写成“Transformer 天生需要固定数量图像”的定律。模型容量、目标域和数据增强共同决定泛化条件。
数据增强的目标效应
数据增强(Data Augmentation)从变换分布 \(a\sim\mathcal A\) 采样图像变换,训练目标相应成为
随机裁剪和翻转隐含“变换后标签仍有效”的假设。裁剪移除了唯一目标、镜像改变文字含义或左右具有临床语义时,标签保持假设可能失败。因此,增强不能仅按强弱选择,还应按任务的语义不变性选择。验证阶段通常使用固定处理流程,以免随机输入变化掩盖模型差异。
混合增强(Mixup)在线性组合输入时同时组合标签(Zhang 等 2018):
原方法从 Beta 分布采样 \(\lambda\)。由于交叉熵对目标标签线性,有
例如 \(\lambda=0.7\),两类标签混合为 \((0.7,0.3)\),预测为 \((0.8,0.2)\),则损失为 \(-0.7\log0.8-0.3\log0.2\approx0.6390\)。这是对合成输入施加的软监督,不表示混合图像在现实世界中天然具有同样的类别概率。
迁移策略及输入协议
线性探测(Linear Probing)冻结视觉主干,仅训练新的线性分类头;全量微调更新主干与分类头;部分解冻则在两者之间选择可训练层。冻结主干减少优化器状态,却不自动证明其表示适合新域。若主干前面还存在需要训练的模块,冻结权重的层仍需向输入传播梯度,这与参数高效微调中的原则相同。
小数据下可从预训练表示与较保守的更新范围开始,依据独立验证选择策略。层间学习率衰减可以让较浅层更新更小;参数指数移动平均对历次参数进行平滑。两者以及混合精度、梯度累积的通用机制见训练章节,是否提升当前视觉任务仍需受控比较,不能把配方叠加数目当作有效性的证据。
发布时必须绑定权重、架构配置、图像处理器和标签映射。预处理中的通道顺序、像素范围、缩放插值、裁剪位置、均值与标准差共同定义输入分布。若训练使用 \(x=\frac{\frac{p}{255}-\mu}{\sigma}\),部署直接把 \(p\) 代入同一个归一化式,便不是一个微小误差,而是显著改变输入尺度。分类头列数正确也不保证标签语义正确:标签索引发生置换时,模型输出的数值可以完全合理,显示的类别却整体错误。
算法39.1 视觉编码的确定性推理路径
输入:图像批量、固定预处理协议、补丁与位置网格配置、\(T\) 层权重、分类标签映射。
输出:类别概率,以及按需要保留的补丁表征。
状态:有效区域、补丁网格 \((G_h,G_w)\)、序列 \(Z\)、层计数 \(t\)。
按声明的通道、范围、缩放与归一化处理图像;根据边界规则裁剪或填充,并记录有效区域。
检查位置表的源网格;若目标网格不同,分离 CLS 后按声明的二维规则插值。若补丁投影尺寸不兼容,终止并报告配置错误。
加入 CLS 与位置嵌入,建立有效位置掩码。每个有效查询必须至少有一个可见键;不得将全屏蔽行直接送入普通 softmax。
对 \(t=1,\ldots,T\) 执行式(39.18),保持序列长度和隐藏维度不变;推理时停用训练期随机失活。
按固定的 CLS 或有效均值读出方式产生 \(h\),计算分类分数与概率,并用绑定的标签映射解释输出。
停止条件与不变量:完成 \(T\) 层与分类头后返回;每个补丁的序列位置始终对应同一空间位置。配置不兼容或无有效输入时显式终止,不静默更换预处理或读出策略。
39.7视觉模型的评价边界
机制等价与任务有效性需要不同证据。共享参数后的线性投影和卷积一致性支持算子对应;补丁化后按逆映射恢复像素支持坐标正确;这些都不证明训练后分类准确。反过来,较高分类准确率也可能掩盖错误预处理被模型偶然补偿的问题。评价视觉系统还应控制同源图像跨划分泄漏、近重复、类别不平衡与采集域变化。
注意力图显示式(39.19)中的内部权重,不直接等于像素的因果重要性。多头投影、值向量、残差和后续非线性共同决定输出。遮挡分析也改变了输入分布,因此应说明遮挡规则和比较对象,而不是把一张热图当作解释有效性的最终结论。