你以为Vision Transformer(ViT)的12层是12个不同的计算单元?真相是,它可能只是把2-3个核心模块反复用了12次。
你是否曾疑惑,为什么那些动辄几十层的ViT模型,其内部计算路径总显得“重复”?为什么随机深度(Stochastic Depth)能神奇地提升模型性能?更关键的是,这种深度堆叠是否真的带来了计算上的“新意”,还是仅仅在重复几个核心模式?
今天,我们为你带来一篇颠覆性解读。一项最新研究提出了 块循环假设(Block-Recurrent Hypothesis, BRH) ,并给出了一个令人震惊的实证:DINOv2 ViT-B模型那12层的复杂计算,本质上可以被压缩为仅2个循环模块的迭代应用 ,同时保持96%的原始性能!这不仅仅是模型压缩,更是对ViT计算本质的一次“灵魂拷问”。
读完本文,你将彻底理解:
ViT的“重复性”从何而来 :如何从表征相似性中发现功能循环的蛛丝马迹。
如何“压缩”一个ViT :揭秘Raptor模型,一个用循环模块精确复现ViT内部所有激活的神奇方法。
ViT的本质是动力系统 :如何将ViT的深度演化视为一个离散动力系统,并借此洞察其收敛、稳定性和内在规律。
❓ 深度堆叠真的带来“深度”计算吗?
近年来,Vision Transformer(ViT)已成为计算机视觉的基石。从DINOv2到CLIP,从图像分类到分割,ViT无处不在。我们默认其强大的性能源于深度的堆叠和复杂的注意力机制。
但一个尖锐的问题摆在眼前:这动辄十几层、几十层的Transformer块,每一层都在做截然不同的计算吗?
直觉上,残差连接的结构暗示着一种“迭代”或“演化”关系。已有研究表明,ViT不同层的表征存在高度的相似性,形成了明显的“块状”结构。然而,表征相似就一定 意味着功能相同吗?会不会只是“殊途同归”,通过不同的计算路径到达了相似的表征空间?
如果答案是“功能确实在循环”,那意味着什么?意味着我们可能严重高估了ViT的算法复杂度 。一个12层的模型,其核心计算程序可能短得惊人。这不仅关乎模型压缩的效率,更关乎我们对这些“黑箱”模型最根本的理解——它们成功的“简洁性”原则到底是什么?
为了回答这个问题,研究者提出了块循环假设(BRH) ,并决心用构造性的方法证明它:不是空谈理论,而是直接动手造一个循环版的ViT出来,看它能否“以假乱真”。
为了帮你快速把握这项研究的全局脉络,我们先来看这张核心架构思维导图——它清晰地展示了从“观察现象”到“提出假设”,再到“构造验证”和“动力系统分析”的完整逻辑链条。
图:块循环假设(BRH)研究全流程思维导图,揭示了从现象观察到理论验证再到深度分析的技术路径。 接下来,我们逐层拆解这张图中的每个关键步骤。
🚀 从观察到假设,再到“克隆”一个ViT
💡 第一步:发现“块状”相似性
研究从一个简单的实验开始:计算ViT不同层之间表征的余弦相似度,并绘制成层-层相似度矩阵。
图1:不同ViT模型的层间相似度矩阵均显示出清晰的块对角结构,表明连续的层被组织成几个内部高度相似的阶段。 如图1所示,无论模型规模、任务如何,相似度矩阵都呈现出明显的块状对角结构 。这意味着,ViT的深度可以被自然地划分为几个连续的“阶段”(Phase),每个阶段内部的层彼此非常相似,而阶段之间则存在明显的边界。
但这只是表象 。两个层输出相似,可能因为它们执行了相同的计算(功能循环),也可能因为它们走了不同的路但终点相似。如何证明是前者?
💡 第二步:形式化假设——块循环假设(BRH)
研究者将上述可能性形式化为一个严格的数学假设:
块循环假设(BRH) :一个训练好的、标称深度为
的Vision Transformer
,如果满足BRH,那么存在
个参数绑定的计算块
,以及对应的迭代次数
(满足
),使得对于几乎所有输入
,以下近似成立:
这里,
表示将块
重复应用
次。关键点在于:
中间层保真 :要求匹配的是 所有中间层的激活 ,而不仅仅是最终输出。这排除了“所有计算都塞进最后一个块”的作弊解。
计算成本等价 :循环版本的总计算量(FLOPs)需与原模型相当。
参数绑定 :
确保了是真正的功能复用,而不是简单地复制了
个不同的块。
简单说,BRH断言:**ViT那
层复杂计算,本质上是一小撮(
个)核心模块循环迭代
次的结果。**
💡 第三步:构造验证——打造“循环版ViT”(Raptor)
假设需要证明。最直接的方式就是构造一个满足BRH的模型实例。研究者提出了 Raptor (Recurrent Approximations to Phase-structured TransfORmers)。
目标 :训练一个仅由
个循环块组成的Raptor模型,使其能够精确复现目标ViT(教师模型)每一层 的隐藏状态激活,而不仅仅是最终输出。
核心挑战 :循环神经网络训练 notoriously 困难,存在梯度消失/爆炸和误差累积问题。
解决方案 :采用创新的两阶段混合训练法 。
阶段一(教师强制 + 自回归混合) :每个循环块
被分配去近似教师ViT的一个连续阶段(例如第1-7层)。训练时,损失函数是混合的:
- • 教师强制损失 :要求
在接收到 教师模型提供的真实上一层激活 时,能预测出正确的下一层激活。
- • 自回归损失 :要求
在接收到 Raptor自身预测的上一層激活 时,也能预测正确。
训练初期以教师强制为主,逐步退火到完全自回归,让模型学会在“闭环”中稳定运行。
阶段二(端到端自回归微调) :将所有训练好的块连接起来,形成一个完整的循环链。仅使用自回归损失进行端到端微调,确保模型在真实部署时(没有教师信号)依然表现良好。
总损失函数可以概括为:
其中
从初始值退火到0,
是额外的正则化项。
图6:Raptor的两阶段训练示意图。第一阶段独立训练各块,第二阶段连接所有块进行端到端自回归微调。 💡 实战思考 :这种“先分治、后协同”的训练策略,是不是很像我们人类学习复杂技能的过程?先分解练习单个动作(教师强制),再组合起来连贯执行(自回归)。你在训练其他循环结构模型时,是否也遇到过类似的稳定性挑战?欢迎在评论区分享你的经验~
💡 第四步:如何划分“阶段”?——最大割算法
Raptor需要知道每个循环块负责哪几层。这对应着在层间相似度矩阵上,找到最优的连续块划分。
研究者将其形式化为一个连续最大割问题 :目标是找到
个连续区间,使得区间内的相似度之和最大化,区间之间的相似度之和最小化。
通过动态规划(DP)可以在
时间内高效求解。图2展示了该算法在ViT-B上的划分结果,与人工观察的块边界高度吻合。
图2:最大割算法自动发现的阶段划分(右图色块)与层间相似度矩阵(左图)的块结构高度一致。 📊 数据不说谎,循环真的可行!
理论很美好,但Raptor真的能 work 吗?研究者在小规模和大规模模型上进行了全面验证。
🏆 小规模验证:阶段划分决定性能上限
首先在CIFAR-100上训练一个ViT-B作为教师模型(准确率90.7%)。然后训练不同
值的Raptor学生模型。
图3:在小规模ViT上,使用最大割算法发现的划分(红色)训练的Raptor,其性能显著优于随机划分(灰色和蓝色),证明了阶段结构与功能循环的相关性。 关键结论:
性能匹配 :仅用2个循环块的Raptor就能非常接近教师模型的性能。
划分关键 : 最大割算法找到的划分,其性能显著优于随机划分 。这强有力地证明,表征相似性矩阵中观察到的块结构,确实对应着功能上的循环阶段。
块独特性 :进一步的“层替换”实验(图15)表明,块内的层可以相互替换而不影响功能,但跨块替换会导致模型崩溃。这说明每个块学习到了 独特且不可互换 的计算角色。
🏆 大规模震撼:2个块恢复DINOv2的96%!
真正的考验在于大规模基础模型。研究者将Raptor应用于著名的DINOv2 ViT-B模型。
方法 :在ImageNet-1K上,使用上述两阶段方法,训练
的Raptor模型,目标是复现DINOv2的内部激活。
评估方式 :冻结Raptor主干,仅在最后一层特征上训练线性分类器(线性探测),并在ImageNet-1K分类、ADE20K分割、NYUv2深度估计等多个任务上与冻结的原始DINOv2进行比较。
表1:Raptor与原始DINOv2 ViT-B在多个下游任务上的线性探测性能对比。k=3时,分类性能达到DINOv2的98%。 震撼结果 :
- •
:仅用2个循环块,就在ImageNet-1K上恢复了DINOv2 96% 的线性探测精度!
- •
:使用3个块,精度提升至 98% (83.0% vs DINOv2的84.6%),基本弥合差距。
- •
:性能饱和,提升有限。
图7:Raptor (k=3) 在ImageNet-1K上的线性探测性能与模型规模对比。仅用3个循环块,其性能远超参数更少的ViT-S,并逼近原始ViT-B。 这意味着什么?DINOv2 ViT-B那12层Transformer块所执行的计算,其核心算法很可能只用2-3个不同的“子程序”循环执行就能概括。 这为BRH提供了最有力的实证支持。
🔬 消融实验:什么让Raptor成功?
研究者通过消融实验(表2)揭示了成功的关键:
纯教师强制不行 :如果只用第一阶段且不退火(即始终依赖教师真实输入),模型完全崩溃(准确率~3%)。 闭环自回归训练至关重要 。
深度缩放嵌入 :为每个块添加一个可学习的“层索引”嵌入,让模型知道当前处于循环的哪一步,带来了显著提升。这使得Raptor成为一个 非自治动力系统 。
Token权重 :对CLS token和Patch token的损失进行不同权重的调整(给予CLS更高关注),有利于最终分类性能。
端到端微调 :第二阶段连接所有块进行微调,带来了最后的性能跃升。
表2:消融实验揭示了不同训练组件对Raptor最终性能的影响。 🧠 深度洞察:当ViT被视为一个动力系统
既然ViT可被压缩为循环迭代,那么自然可以将其整个前向传播过程视为一个离散时间动力系统 。研究者借此发展了一套“动态可解释性”框架,获得了三个深刻洞察。
💡 洞察一:方向收敛与角吸引子
观察token在深度上的演化,其向量模长会持续增长,但方向 会逐渐稳定并收敛。
图8:(左)不同类别图像的token轨迹在低维空间中收敛到特定的“盆地”。(右)token方向与最终方向的余弦相似度随深度增加而趋近于1,表明方向收敛。 研究者发现,归一化后的token方向会收敛到一些类别依赖的角吸引子 。更妙的是,这个系统具有自校正 能力:如果在中间层加入一个小扰动,后续的迭代会将其拉回原有的轨迹(图10)。这就像一颗行星在引力作用下稳定绕行。
💡 洞察二:Token特异性的动态
CLS token和Patch token的行为截然不同!
图11:不同token类型的角速度(每层方向变化幅度)统计。CLS token在后期表现出剧烈的重新定向,而Patch token动态平稳。
- • Patch Token :表现出强烈的 相干性 和 平均场 行为。它们的更新方向高度一致,且变化平稳,迅速收敛到平均方向。
- • CLS Token :前期变化平缓,但在 最后阶段 会执行剧烈的、突然的重新定向!这与它作为全局信息聚合器的功能相符——它在最后时刻整合所有Patch信息,做出最终决策。
- • 阶段转换 :角速度的突变点与之前发现的阶段边界 完美对齐 。每个阶段内部动态平稳,阶段交替时发生“重置”。
💡 洞察三:低秩集体运动与更新坍缩
随着深度增加,所有token的更新向量(
)变得越来越“像”,其变化被限制在一个越来越低的维度子空间中。
图12:(左)更新矩阵的稳定秩随深度下降。(中)token间的更新相干性随深度上升。(右)动态模态分解(DMD)的特征值分布,表明系统具有弱收缩性。 稳定秩下降 + 相干性上升 = 低秩集体运动 。这意味着在ViT的深层,所有token仿佛被少数几个“主导模式”牵着走,协同演化。这类似于物理中的平均场近似,系统自由度大大降低。
💡 这个发现是否颠覆了你对ViT内部计算动态的想象? 点赞支持作者,我们继续深挖更多AI模型的本质!
⚖️ 客观评价与未来展望
这项工作的价值远不止于模型压缩。 它为我们理解ViT乃至Transformer家族提供了一个全新的、基于动力系统的视角。BRH暗示,成功的ViT发现了一种算法上的简约性 ——用迭代换取参数,用循环重用表达计算。
局限性 :
微小性能差距 :即便k=3,仍有约2%的性能差距。这可能需要更精巧的循环设计(如时变参数)来弥补。
因果性未完全确立 :随机深度等技巧能促进块结构,但其间确切的因果机制仍需更深入的研究。
训练复杂性 :Raptor的训练策略比普通ViT复杂,需要分阶段和精心调参。
未来方向 :
- • 更优的循环单元 :探索比简单绑定Transformer块更高效的循环单元。
- • 训练动态研究 :在训练过程中实时监测块循环结构的涌现。
- • 扩展到其他模态 :将BRH和动态可解释性框架应用于语言、多模态Transformer。
- • 引导架构设计 :直接设计 原生循环 的视觉主干网络,或许能以更少的参数和更高的计算效率达到同等性能。
🌟 价值升华
总结一下,本文带给我们的核心启示:
化繁为简 :看似复杂的ViT,其深度计算蕴含着高度的结构重复性(循环),算法复杂度可能远低于其表象。
新的理解范式 :将ViT视为离散动力系统,为可解释性研究开辟了新道路(动态可解释性),让我们能从“演化轨迹”而非静态快照来理解模型。
连接理论与实践 :BRH不仅有理论价值,其构造性证明(Raptor)更展示了将理论洞察转化为实际模型的可行性,为模型压缩和高效架构设计提供了新思路。
这项研究提醒我们:在追求模型规模和深度的同时,不妨回头审视其内在的“简洁性”。正如论文结尾那句意味深长的话:In deep learning, recurrence always finds a way.(在深度学习中,循环总能找到出路。)
🤔 深度思考 :你认为ViT的这种“循环本质”,最可能率先在哪个实际应用场景中产生颠覆性影响?是边缘设备上的高效部署,还是帮助我们设计出下一代更简洁、更强大的基础模型架构?欢迎在评论区留下你的观点!
💝 支持原创 :如果这篇近5000字的深度解读帮你洞悉了ViT的奥秘,点赞+在看 就是最好的支持!分享 给你的技术伙伴,一起探讨AI的底层逻辑!
🔔 关注提醒 :设为星标,第一时间获取更多硬核AI论文解读与技术干货!
#AI技术 #深度学习 #VisionTransformer #模型可解释性 #动力系统 #论文解读 #算法复杂度
参考
Block-Recurrent Dynamics in ViTs
