跳转到内容
English

AIM:通过预测 patch 学习特征

交互教程

即使主要评估不是图像生成,连续自回归也可以作为预训练任务。

前置阅读:注意力与自回归 · ViT · 语义表征

ViT 通常读取全部 patch 后分类;语言模型通过预测下一 token 学到有用特征。AIM 将下一 patch 预测用于视觉预训练,目标是连续像素,而非学习得到的离散图像词表。

将 patch 按扫描顺序排列并用因果注意力。逐 patch MLP 以平方误差预测下个 patch 的归一化像素。前缀注意力允许初始一组已知 patch 双向交互,仅后续 patch 承担自回归目标。这让主干在下游使用前接触双向上下文。

阅读顺序从左到右。点击模块,将它与计算和代码对应。代码为教学伪代码;来源链接提供论文方法或已核查的实现。

扫描 patch 序列

连续像素作为目标,无需 VQ。

tokens = project(patchify(image))+sinusoidal_position

前缀因果主干

前缀是已知上下文,不承担 AR 目标。

h = transformer(tokens,mask=prefix_causal_mask)

下一 patch 头

目标错开一个 patch,并按 patch 归一化目标像素。

prediction = mlp(h + head_position)
loss = mse(prediction[:,:-1],normalized_patches[:,1:],target_mask)

查看固定版本来源

L=∑i∉prefix∥fθ(x<i)−norm⁡(xi)∥2\mathcal{L}=\sum_{i\notin\mathrm{prefix}}\|f_\theta(x_{<i})-\operatorname{norm}(x_i)\|^2

演示选择因果模式时,第 i 行可用截至 i 的 keys,其输出预测下个 patch。切换前缀模式,前三个位置可互相读取,后续位置仍保持因果边界。已知前缀像素是输入,不是从未知未来泄漏的目标。

固定高斯输出方差时,最小化平方误差等价于最大化高斯条件似然(相差常数)。若未来有多种可能,最佳平方误差估计可能是它们的均值。即使平均 patch 看起来不好,也仍可能学出有用特征。

改变参数,查看计算值,再把它与上方的真实模型说明对照。

解析教学模型 · 控件改变的是例子,不是训练后的研究模型。

行是 query,列是 key。遮罩模式仅偶数索引位置包含已知值。

当前例子的计算值
量值
选中行3
可见 keys4

预训练后丢弃预测头,评估视觉主干。AIM 的 attentive probe 含可训练注意力池化,因此不属于严格线性探针。论文在输入及预测头之前使用正弦绝对位置。

贡献重点是可扩展表征学习,并未证明直接 L2 预测是逼真生成的最佳分布模型。MAR 发现直接 L2 生成差,不与 AIM 用该目标学到有用特征矛盾。

展开公式推导

固定方差高斯条件分布的对数似然中,依赖均值的项就是平方误差。平方误差下最佳预测为条件均值,因此点预测可能平均互不兼容的未来。

−log⁡N(x;μ(c),σ2I)=∥x−μ(c)∥22σ2+const-\log\mathcal{N}(x;\mu(c),\sigma^2I)=\frac{\|x-\mu(c)\|^2}{2\sigma^2}+\mathrm{const}
注意力探针为何不同于线性探针?

它通过可训练注意力池化改变 patch 特征组合方式;严格线性探针仅在指定固定特征上使用线性读出。

返回学习地图

本页图形与伪代码为教学重绘。论文报告、固定实现观察和解析示例分别标记;未运行研究模型。