YAOTU INSIGHTS

用神经科学方法分析ViT:IRIS框架揭示视觉Transformer的方向选择性

用神经科学方法分析ViT:IRIS框架揭示视觉Transformer的方向选择性
最近在尝试理解 Vision TransformerViT为什么能在图像任务上表现得这么好时我遇到了一个挺有意思的困境。我们都知道卷积神经网络CNN的成功很大程度上归功于它和生物视觉系统比如我们大脑的视觉皮层在底层机制上的某种“神似”——比如对边缘、纹理、方向的敏感性。但 ViT 呢它把图像切成一个个小块Patch然后直接扔给 Transformer 去处理看起来和生物视觉的层级化、局部化处理方式完全不同。这就引出了一个核心问题ViT 到底“看”到了什么它内部表征的构建方式是否也遵循着某种我们能够理解的、甚至与生物视觉相通的底层逻辑这个问题不是纯理论的好奇。当我们想优化一个 ViT 模型或者解释它在某个任务上失败的原因时如果只停留在“注意力图很分散”或者“某个层激活值异常”这种层面往往感觉隔靴搔痒。我们需要一个更本质的、能穿透黑箱的“探针”去测量模型内部究竟在编码什么样的视觉特征。这时一个来自神经科学的概念——“方向选择性”Orientation Selectivity——进入了视野。简单说就是视觉神经元对特定角度的线条或边缘反应最强烈。这是初级视觉皮层V1区最基础、也最核心的特性之一。那么一个很自然的想法是ViT 的内部神经元比如某个注意力头或 MLP 层的单元是否也表现出类似的方向选择性如果答案是肯定的我们就能用一个坚实的、跨学科的标尺去量化地比较不同 ViT 模型、不同层、甚至不同训练策略下的“视觉特征质量”。这正是 IRIS 这个框架试图回答并系统化解决的问题。它不是一个新模型而是一套分析方法论和工具集灵感直接来源于视觉皮层的研究手段专门用来给 ViT 模型做一次深度的“神经科学体检”。1. 从“黑箱”到“显微镜”IRIS 要解决的根本问题是什么在深入 IRIS 的具体操作前我们必须先厘清它要啃的硬骨头。当前对 ViT 的可解释性研究主流方法大致分两类一是基于输出的如注意力可视化、类别激活图告诉我们模型“关注”了哪里二是基于扰动的如遮挡测试、特征反演告诉我们哪些区域对结果“重要”。这些方法很有用但它们回答的是“Where”和“What”对于更底层的“How”——即模型内部究竟是如何表征和计算基础视觉特征的——往往力有不逮。这就好比我们知道一台机器产出合格产品输出正确分类也通过敲打不同部位扰动输入知道哪些零件关键但我们并不清楚每个齿轮神经元具体的齿形调谐特性和啮合方式计算逻辑。IRIS 的目标就是给每个“齿轮”拍一张高精度的“齿形照片”。IRIS 的核心命题是将神经科学中研究视觉皮层方向选择性的经典范式创造性地适配到 ViT 的分析上。它不满足于定性的、模糊的描述而是要给出定量的、可重复的测量指标。具体来说它试图系统性地回答以下几个工程和研究中最实际的问题选择性是否存在ViT 的注意力头或 MLP 神经元是否像 V1 区的简单细胞一样对特定方向的线条刺激有最强的反应还是说它们的响应模式是杂乱无章或高度复杂的选择性有多强如果存在选择性它的“调谐曲线”有多尖锐是只对很窄的角度范围敏感高选择性还是对很宽的角度都差不多有反应低选择性这直接关系到特征编码的效率和特异性。选择性如何分布在整个网络的不同层、不同位置如 CLS token 对应的特征 vs. Patch token 对应的特征选择性的强度和偏好角度是如何变化的这能揭示特征从低级到高级的抽象过程。选择性与性能何干一个在 ImageNet 上表现更好的 ViT 模型其内部的方向选择性是否也更强、更规整不同的训练技巧如数据增强、正则化会如何影响这种选择性这为模型设计和训练提供了可量化的优化目标。IRIS 的价值就在于它把上述这些宏大又模糊的问题转化成了一整套可以写代码、跑实验、出图表的标准化分析流程。它提供的不是某个惊世骇俗的结论而是一个可靠的测量工具和比较基准。当你下次疑惑“为什么我的 ViT 小模型在这个细粒度分类任务上就是不如大模型”时或许可以先用 IRIS 测一下两者底层特征的选择性差异这可能比盲目调整超参数更有效。2. 解剖 IRIS一套受视觉皮层启发的标准化分析流程IRIS 不是一个需要你安装的庞大软件包其核心是一套方法论。理解并复现它关键在于把握其三个核心步骤刺激生成、响应测量、特征分析。这完全模拟了神经科学家在记录单个神经元活动时的实验流程。2.1 第一步设计“视觉刺激”——可控的合成图像神经科学家不会给动物看复杂的自然图片来研究方向选择性他们会使用精心设计的、参数可控的刺激比如不同朝向的光栅Grating。IRIS 遵循同样的逻辑。核心刺激正弦光栅Sinusoidal Grating这是研究方向选择性的黄金标准刺激。一张正弦光栅图像由明暗交替的条纹组成其关键参数包括朝向Orientation条纹的角度通常从 0° 到 180°因为180°周期对称。空间频率Spatial Frequency单位距离内明暗交替的次数决定了条纹的“粗细”。相位Phase条纹图案的起始位置。对比度Contrast明暗之间的差异程度。在 IRIS 的典型分析中为了聚焦于“方向”这一核心变量通常会固定空间频率、对比度然后系统地变化朝向例如以 15° 或 30° 为间隔生成一系列刺激图像。工程实现要点生成库可以使用matplotlib,opencv或专门的视觉刺激库如psychopy来编程生成这些光栅图像。关键是要确保生成的图像尺寸、颜色空间通常是灰度与你的 ViT 模型预期输入一致。数据预处理这些合成图像需要经过与模型训练时完全相同的预处理流程如归一化、Resize。这一点至关重要否则响应测量将失去可比性。批量构造将不同朝向的刺激构建成一个DataLoader以便高效地输入模型进行前向传播。# 伪代码示例生成一组朝向不同的正弦光栅 import numpy as np import torch from torchvision import transforms def generate_grating(orientation, spatial_freq, img_size224): # orientation: 角度制如 0, 30, 60... # spatial_freq: 周期/像素 x np.arange(img_size) y np.arange(img_size) xx, yy np.meshgrid(x, y) theta np.radians(orientation) # 计算光栅值 grating np.sin(2 * np.pi * spatial_freq * (xx * np.cos(theta) yy * np.sin(theta))) # 归一化到 [0, 1] 或模型需要的范围 grating (grating 1) / 2 return torch.tensor(grating).unsqueeze(0).float() # 增加通道维 # 假设预处理 preprocess transforms.Compose([ transforms.Resize((224, 224)), transforms.Normalize(mean[0.485], std[0.229]), # 灰度图示例 ]) orientations [0, 30, 60, 90, 120, 150] stimuli [preprocess(generate_grating(o, spatial_freq0.05)) for o in orientations] batch torch.stack(stimuli)2.2 第二步记录“神经元响应”——提取 ViT 的内部激活有了刺激下一步就是观察“神经元”ViT 的某个组件如何反应。这里的关键是定义什么是“响应”。响应指标的选择IRIS 通常关注两类响应注意力权重Attention Weights特别是自注意力机制中某个特定 token如 CLS token与其他所有 token 之间的注意力分数。我们可以观察当呈现不同朝向的光栅时注意力分布的“聚焦”程度是否随朝向变化。特征激活值Feature Activation某个层如 Transformer Block 输出后或 MLP 层输出后的特定特征通道Channel的激活强度。这更直接地类比于神经元的放电频率。操作流程模型 Hook使用 PyTorch 的register_forward_hook功能在目标层上注册钩子函数捕获前向传播过程中该层的输入或输出。前向传播将准备好的光栅刺激批次输入模型。响应提取对于每个刺激、每个你关心的“神经元单元”如某个注意力头对某个位置的注意力分数或某个特征通道在某个空间位置的值记录其响应强度。聚合响应有时需要对响应进行空间或通道维度的聚合如取平均、取最大值得到一个标量值来代表该单元对当前刺激的总体响应。# 伪代码示例提取某一层特征图的平均激活作为响应 responses {} def hook_fn(module, input, output): # output 形状可能是 [batch, num_tokens, dim] 或 [batch, channels, H, W] # 这里以 ViT 的 block 输出为例假设我们取 CLS token 的特征向量 cls_token_activation output[:, 0, :] # 取 batch 中所有样本的 CLS token # 或者取所有 patch token 的某个特征维度的平均值 # patch_mean_activation output[:, 1:, feature_idx].mean(dim1) responses[layer_output] cls_token_activation.detach() target_layer model.blocks[4].mlp # 例如第5个块的MLP层 handle target_layer.register_forward_hook(hook_fn) with torch.no_grad(): model(batch) # 前向传播触发钩子 handle.remove() # 记得移除钩子 # 此时 responses[layer_output] 包含了模型对该批次刺激的响应2.3 第三步分析“调谐特性”——从数据到洞察拿到每个刺激朝向对应的响应值后就进入了最关键的定量分析阶段。目标是绘制出每个被分析单元的“方向调谐曲线”。核心分析绘制调谐曲线以刺激朝向为横轴以该单元的响应强度为纵轴绘制散点图并连接成线。一个典型的方向选择性神经元其调谐曲线会呈现出一个清晰的峰值类似于钟形曲线。计算偏好方向Preferred Orientation调谐曲线峰值对应的朝向就是该单元最“喜欢”的方向。计算选择性强度Selectivity Strength这是量化“选择性有多强”的关键指标。常用方法包括向量和法将每个朝向的响应视为一个向量方向为该朝向长度为响应值计算所有向量的和。合成向量的长度越长、方向越明确说明选择性越强。这通常用“方向选择性指数”Orientation Selectivity Index, OSI来表示计算公式为OSI (R_pref - R_orth) / (R_pref R_orth)或基于向量和的变体其中R_pref是偏好方向的响应R_orth是正交方向偏好方向90°的响应。OSI 越接近1选择性越强接近0则无选择性。曲线拟合用高斯函数或冯·米塞斯分布函数拟合调谐曲线拟合曲线的宽度标准差越窄选择性越强。全网络普查将上述分析应用于网络中成百上千个感兴趣的单元如所有注意力头、所有MLP通道计算每个单元的偏好方向和 OSI然后进行统计分析。例如可以绘制 OSI 在不同网络深度上的分布图或者绘制所有单元偏好方向的玫瑰图来观察网络整体是否存在方向编码的偏向性。结果解读示例如果发现浅层网络的某些单元具有高 OSI 和清晰的调谐曲线那说明 ViT 在早期就学会了类似 Gabor 滤波器CNN 第一层常见的边缘检测器的基础特征检测器。如果深层网络的 OSI 普遍较低且调谐曲线平坦可能意味着特征变得更加复杂和抽象不再对单一方向敏感。比较两个不同模型如果模型 A 在浅层拥有更多高 OSI 的单元且其偏好方向覆盖更均匀而模型 B 的单元选择性较弱这可能为模型 A 在下游任务上更好的泛化能力提供了一种底层解释。通过这三步IRIS 就将一个抽象的“ViT 如何看世界”的问题转化为了可以绘图、计算、比较的客观数据。这套流程的可重复性和可扩展性极强你可以用它来分析任何基于 Transformer 的视觉模型。3. 超越基础测量IRIS 能为我们带来哪些工程启示掌握了 IRIS 的基本操作我们不禁要问这套看起来偏重科学分析的工具对实际的模型开发、调试和应用有什么具体帮助它的价值远不止于发一篇论文更在于提供了一系列可操作的诊断视角和优化线索。3.1 模型诊断与比较从“结果好坏”到“病因分析”当你的模型性能不达预期时传统的调参如同“蒙眼摸象”。IRIS 提供了几个新的诊断切面检查特征学习质量在相同的预训练数据集上比较不同架构如 ViT vs. DeiT, Swin Transformer或不同初始化方法模型的底层方向选择性。如果某个模型的浅层单元普遍缺乏方向选择性OSI 低可能意味着其早期特征提取能力不足这或许是后期表现不佳的根源之一。此时优化重点可能应放在改进训练早期的优化策略或数据增强上。定位过拟合或欠拟合的微观信号一个严重过拟合的模型其内部表征可能变得扭曲和特异化对合成光栅这种规整刺激的响应模式可能会异常例如所有单元的调谐曲线都变得很奇怪或者响应极其微弱。相反一个欠拟合的模型其选择性可能非常弱且混乱。IRIS 提供了一种不同于验证集损失的、从表征层面评估模型训练状态的指标。评估知识蒸馏的效果学生模型是否真的从教师模型那里“继承”了有效的特征提取能力除了最终精度用 IRIS 对比师生模型在相同层上的方向选择性图谱可以更直观地看到知识传递的“保真度”。理想情况下学生模型应复现教师模型关键特征检测器的选择性模式。3.2 训练策略的“显微镜”数据增强与正则化如何影响底层表征数据增强如旋转、裁剪、颜色抖动和正则化如 Dropout, Stochastic Depth是训练 ViT 的标配。但它们具体如何改变模型内部的计算IRIS 可以给出直观答案。旋转增强 vs. 方向选择性一个假设是过度使用旋转增强可能会“模糊”模型对绝对方向的学习导致底层方向选择性降低。你可以设计对照实验一组使用强旋转增强另一组不使用。训练完成后用 IRIS 比较两组模型浅层单元的 OSI 分布。如果前者的 OSI 显著低于后者那么这个假设就得到了验证。这并不意味着旋转增强不好而是提醒我们增强策略需要与任务需求对齐。对于方向敏感的任务如文字识别、遥感图像可能需要谨慎使用旋转增强。Dropout 与特征稀疏性Dropout 鼓励特征的稀疏性和鲁棒性。通过 IRIS你可以观察在应用了 Dropout 的层中具有高选择性的单元比例是否发生变化以及它们的调谐曲线是否变得更加“尖锐”抑制了非偏好方向的响应。这为理解 Dropout 如何工作提供了神经元层面的证据。3.3 架构搜索与设计的新维度在设计新的 ViT 变体时我们通常关注 FLOPs、参数量和 Top-1 精度。IRIS 引入了一个新的评估维度表征效率。注意力机制的设计不同的注意力机制如局部注意力、轴向注意力如何影响方向选择性的形成例如局部注意力是否会催生更类似于 CNN 局部感受野的方向检测器而全局注意力是否会导致选择性的快速消失通过 IRIS 分析可以为“在网络的什么位置使用何种注意力”提供基于底层表征的决策依据。Patch 大小与位置编码更小的 Patch 尺寸意味着更高的空间分辨率这是否有利于学习更精细的方向选择性正弦位置编码与可学习位置编码哪种更有利于形成规整的方向调谐这些在架构设计中常被凭经验决定的选项现在可以通过 IRIS 进行量化评估。构建“更生物合理”的模型如果我们的目标是让 AI 视觉更接近人类视觉那么 IRIS 提供的方向选择性指标可以作为一个直接的优化目标。在架构搜索或训练中可以尝试引入鼓励形成方向选择性的损失项或约束看看是否能同时提升模型的鲁棒性和可解释性。简而言之IRIS 将模型开发从“黑箱优化”部分地带向了“玻璃箱观察”。它让我们在调整旋钮超参数、架构时不仅能听到引擎精度的声音变化还能看到内部气缸神经元的工作状态是否健康、高效。4. 实践指南与边界思考如何用好 IRIS并看清它的局限将 IRIS 的思路付诸实践并非简单地套用公式。从实验设计到结果解读每一步都需要仔细考量。同时我们必须清醒地认识到这个框架的边界避免过度解读。4.1 实操中的关键决策点选择分析目标分析整个网络计算量巨大。通常从有代表性的层开始。建议优先关注浅层前1-3个 Block和中间层因为基础特征在这里形成。具体分析对象可以是注意力头分析每个头在 CLS token 或某个中心 Patch token 上的注意力分布对不同朝向的响应。MLP 通道分析每个输出通道的激活值。这更接近传统神经元的定义。Token 特征分析某个空间位置 Token 的特征向量在某个维度上的激活。设计刺激集光栅不是唯一的刺激。为了全面评估可以扩展刺激集多空间频率检测模型对粗/细纹理的敏感性。对比度变化绘制对比度响应曲线评估模型的对比度不变性。复合刺激如交叉光栅测试神经元的选择性是否严格是否会被正交光栅抑制这能区分“简单细胞”和“复杂细胞”般的响应模式。处理响应噪声模型的响应可能包含随机性尤其在有 Dropout 或随机深度的推理模式下。务必进行多次重复刺激如5-10次并取平均响应以获得稳定的调谐曲线。可视化与报告单个神经元的调谐曲线图固然精美但更重要的是群体统计。绘制 OSI 分布直方图按层分组。绘制偏好方向分布玫瑰图检查是否存在角度偏差例如是否更偏好水平和垂直方向这与自然图像统计有关。计算层间 OSI 的相关性观察选择性模式是如何沿深度传递或变化的。4.2 IRIS 的局限与警示尽管强大但 IRIS 只是工具箱中的一件工具而非万能钥匙。它测量的是“潜力”而非“用途”一个神经元对光栅有方向选择性只表明它具备检测该方向边缘的“硬件基础”。在真实的自然图像处理中它可能被用于完全不同的目的或者与其他神经元协同完成更复杂的检测。不能简单地将“对光栅有选择性”等同于“在模型中只负责检测边缘”。合成刺激与自然图像的鸿沟光栅是高度简化的刺激。自然图像中的边缘通常是模糊的、弯曲的、与纹理共存的。一个对光栅选择性很强的神经元在复杂自然场景中可能完全沉默。因此IRIS 的结果需要与基于自然图像的刺激如特征可视化相互印证。ViT 的并行处理特性与 CNN 的层级递进不同ViT 即使在浅层也通过注意力机制拥有全局视野。这意味着一个浅层单元的响应可能已经受到了图像全局上下文的影响其调谐曲线可能不如 CNN 第一层的卷积核那样“纯粹”和容易解释。“方向”并非唯一重要的特征视觉皮层和成功的视觉模型编码的特征远不止方向。颜色、运动、深度、形状等都是重要的维度。IRIS 目前聚焦于方向未来可以扩展到其他特征维度构建更全面的“表征图谱”。核心建议不要孤立地使用 IRIS。将它与你已有的可解释性工具如注意力可视化、梯度类激活图结合使用。用 IRIS 回答“底层特征质量如何”的问题用其他工具回答“模型关注哪里”和“哪些特征对决策重要”的问题。三者结合才能形成对模型更立体的理解。IRIS 框架的价值在于它为我们打开了一扇窗让我们能够用一种经典的、坚实的科学度量方法去窥探 ViT 这个现代架构的内部世界。它把关于“模型如何工作”的讨论从主观的、定性的描述部分地推进到了客观的、定量的分析。对于研究者它是探索视觉表征本质的利器对于工程师它是调试和优化模型的新式仪表盘。下一次当你面对一个 ViT 模型时不妨尝试用 IRIS 的视角去审视它你可能会发现那些看似神秘的注意力图背后隐藏着一套与生命视觉系统遥相呼应的、对世界基础结构的朴素编码。