跳到主要内容
返回时间线
arXiv来源发表:

一个Transformer块跑完整个视觉编码器:深度坐标编程专家库,参数少七成仍追平DeiT III

核心概要

视觉Transformer的深度堆叠被压缩成一个循环复用的Transformer块,每个循环深度上的FFN由一个小专家库按归一化深度坐标做凸组合生成,从而在共享权重的同时保留随深度变化的计算。在ImageNet-1k监督训练下,reViT-B/16以约少70%的存储参数达到DeiT III的精度;在只匹配DINOv2教师最后一层特征的蒸馏设置中,8专家模型在分类、分割和深度预测的冻结探针上接近教师。同一检查点还能通过重采样深度坐标在多个测试深度上运行。

AI-generated editorial illustration: One Block, Multiple Depths: Recurrent Vision Transformers with Depth-Programmed Experts

深度剖析

视觉编码器不再需要逐层独立的参数堆叠,一个Transformer块在全部循环深度上复用即可承担整段深度计算。 此前的视觉Transformer按固定深度堆叠各自独立的块,循环共享方案要么保留多个不同块,要么依赖中间层教师特征。 在ImageNet-1k监督训练中,reViT-B/16取得83.0%的top-1,DeiT III为82.8%,reViT-L/16为83.8%对84.1%,而存储参数约为后者的四分之一;四个块的Raptor在S、B、L三个尺度上均低于reViT。

每个循环深度上的FFN不是独立学出来的,而是由一个小专家库按深度坐标混合出的一个稠密FFN。 标准做法是每个深度各自学习一套FFN权重,或者按token把输入分派给不同专家。 路由器是一个两层MLP,把归一化深度坐标映射为专家权重,再对专家库的投影和偏置做加权合并,每个深度只执行合并后的一个FFN;在相同单FFN计算预算下,这种权重空间合并优于所测试的token分派和输出混合方案。

一个训练好的检查点可以在多个推理深度上运行,深度改变时只需重新采样同一段归一化坐标区间。 常规模型在训练时固定深度,换深度通常需要重新训练或另存一套权重。 在蒸馏设置下,仅用深度条件门控的变体在ADE20k上从较低深度提升到43.6 mIoU,ImageNet线性探针达到83.1%,NYUv2 RMSE为0.555,而只依赖图像特征的门控在更深时ImageNet和ADE20k几乎不再提升,NYUv2反而变差。

启示与展望

报告覆盖的是ImageNet-1k监督训练与DINOv2蒸馏两种设置下的图像分类、ADE20k分割和NYUv2深度预测探针,模型规模为S/16、B/16、L/16与B/14。适合关注视觉骨干压缩与循环权重共享的研究者和工程读者。文中给出的推理延迟测量基于直接PyTorch实现,未使用自定义算子或跨输入缓存,作者将其描述为当前实现的特征而非优化后的部署结果。

蒸馏对比中reViT只匹配教师最后一层特征,而Raptor使用了中间层特征,因此表2的对比被作者描述为参考性比较而非受控消融。专家删除分析显示,删除某个专家造成的对齐下降通常小于同等幅度的随机门控扰动,且最早被使用的专家删除代价最大,因此单凭删除敏感度无法区分专家角色与其在循环中的位置。门控列置换实验表明,保留全部专家但改变其与深度的配对会降低教师对齐。在更大骨干上,合并权重集中在更少方向上,从更多专家中获得的收益也更小。