AIM:通过预测 patch 学习特征
交互教程
即使主要评估不是图像生成,连续自回归也可以作为预训练任务。
之前已经能做什么
Section titled “之前已经能做什么”ViT 通常读取全部 patch 后分类;语言模型通过预测下一 token 学到有用特征。AIM 将下一 patch 预测用于视觉预训练,目标是连续像素,而非学习得到的离散图像词表。
改变了什么,为什么
Section titled “改变了什么,为什么”将 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)逐步理解机制
Section titled “逐步理解机制”演示选择因果模式时,第 i 行可用截至 i 的 keys,其输出预测下个 patch。切换前缀模式,前三个位置可互相读取,后续位置仍保持因果边界。已知前缀像素是输入,不是从未知未来泄漏的目标。
固定高斯输出方差时,最小化平方误差等价于最大化高斯条件似然(相差常数)。若未来有多种可能,最佳平方误差估计可能是它们的均值。即使平均 patch 看起来不好,也仍可能学出有用特征。
改变参数,查看计算值,再把它与上方的真实模型说明对照。
解析教学模型 · 控件改变的是例子,不是训练后的研究模型。
行是 query,列是 key。遮罩模式仅偶数索引位置包含已知值。
| 量 | 值 |
|---|---|
| 选中行 | 3 |
| 可见 keys | 4 |
训练与采样的区别
Section titled “训练与采样的区别”预训练后丢弃预测头,评估视觉主干。AIM 的 attentive probe 含可训练注意力池化,因此不属于严格线性探针。论文在输入及预测头之前使用正弦绝对位置。
这些结果不能证明什么
Section titled “这些结果不能证明什么”贡献重点是可扩展表征学习,并未证明直接 L2 预测是逼真生成的最佳分布模型。MAR 发现直接 L2 生成差,不与 AIM 用该目标学到有用特征矛盾。
展开公式推导
固定方差高斯条件分布的对数似然中,依赖均值的项就是平方误差。平方误差下最佳预测为条件均值,因此点预测可能平均互不兼容的未来。
注意力探针为何不同于线性探针?
它通过可训练注意力池化改变 patch 特征组合方式;严格线性探针仅在指定固定特征上使用线性读出。
来源与后续阅读
Section titled “来源与后续阅读”本页图形与伪代码为教学重绘。论文报告、固定实现观察和解析示例分别标记;未运行研究模型。