模型编辑旨在数据高效地纠正大型预训练模型的预测错误,同时确保对相邻故障的泛化以及对局部性的关注,以最大限度地减小对无关示例的意外影响。
尽管在编辑基于 Transformer 的大型语言模型方面取得了显著的进展,但在计算机视觉领域有效编辑视觉 Transformer (ViTs)的方法仍然 largely untapped。
在本文中,作者采取初步措施来纠正 ViTs 的预测错误,特别是那些源于子群体转变的错误。作者采用定位然后编辑的方法,首先通过元学习在编辑可靠性的 CutMix-augmented 数据上生成超网络来解决“哪里编辑”的挑战。
这种训练好的超网络产生了一般化的二进制 Mask ,这些 Mask 识别出结构化模型参数的一个稀疏子集,对这些参数对真实世界中的故障样本具有响应性。
然后,作者通过使用一种变体的梯度下降来简单地微调识别出的参数来解决“如何编辑”的问题。
为了验证作者的方法,作者构建了一个编辑基准,该基准引入了子群体转变,以自然下 represented 图像和 AI 生成的图像,从而揭示了预训练 ViTs 在物体识别方面的局限性。
作者的方法不仅在提出的基准上实现了优越的性能,而且还允许在泛化与局部性之间进行可调整的权衡。
作者的代码可从 https://github.com/hustyyq/Wh... 获取。
1 Introduction
在许多科学和工程学科中,计算模型作为复杂现实世界现象的近似值。因此,它们天生就容易产生预测误差,正如乔治· Box 所说:“所有的模型都是错误的,但有些是有用的。” 模型编辑 作为一种有前景的技术,通过允许以数据高效的方式针对特定输入或任务进行模型行为的定向更新,使预训练模型变得更有效,从而实现不需要从头开始预训练。
一个理想的模型编辑方法应该满足三个主要标准:
- 可靠性,确保模型行为有效地针对当前样本进行更新;
- 泛化性,使变化扩展到相邻样本;
- 局部性,意味着编辑对无关样本的模型行为影响最小。
模型编辑使得许多有趣应用成为可能,包括错误校正、事实知识更新、偏见缓解、政策合规和个人化等,尽管其中大多数主要局限于自然语言处理(NLP)领域的大型语言模型(LLMs)。由于庞大的、通常不可访问的预训练数据集和不断增长的模型大小使得重新训练计算耗时,因此有效编辑计算机视觉(CV)模型也变得迫切需要。从 NLP 到 CV 的模型编辑技术转移并非易事,并面临独特的挑战。从数据角度来看,NLP 处理一维、离散的具有高度语义和信息密度的信号,而 CV 需要处理高维连续传感器数据,该数据具有空间冗余。从模型角度来看,许多 NLP 中的模型编辑方法专门为具有单向(即自回归)注意力的 LLMs 设计,例如 GPT-3[15]和 GPT-4[1]。相比之下,CV 模型主要基于卷积网络,更近期的实现使用视觉 Transformer (ViTs)[11; 35],这些实现通常使用双向(即双向)注意力。这些数据格式和模型结构上的差异使得有针对性的编辑在 CV 模型中实现更加困难,实现这些编辑时,往往会导致性能不佳。
在本文中,作者采取初步措施,朝着编辑预训练的 ViTs 进行物体识别[10]的目标迈进,旨在在不需要昂贵且耗时的再训练的情况下纠正预测错误。具体而言,作者采用定位-编辑的方法,将模型编辑分解为两个关键子问题:何处编辑和如何编辑。此外,作者优先考虑学习何处编辑,而不是如何编辑,以便在通用性和局部性之间实现更简单的但更好的折衷,无需存储先前训练的数据。
对于编辑位置的阶段,作者首先使用贪心搜索启发式方法缩小编辑范围。接下来,受到元学习在优化单个样本训练策略方面的有效性的启发,作者元训练一个超网络来生成一个二分类任务,表示哪些参数对于编辑样本至关重要。为了解决数据有限的问题,超网络仅使用伪样本进行训练,每个伪样本都包含一个自然图像与其 CutMix 版本[62](见图 1)。优化目标是使 CutMix 样本的预测概率分布与原始相匹配。通过控制 CutMix 中使用的块的大小并随机改变它们的位置,作者模拟背景、上下文目标和目标属性的分布转移,从而为学习有效应对真实世界失败的通用二值 Mask 提供机会。此外,作者对二值 Mask 施加稀疏性约束,作为间接的数据自由正则化器来促进局部性。一旦解决了编辑位置问题,编辑方法变得简单起来:作者只需要使用一种变体的梯度下降来微调所选参数,从而进行有针对性的编辑。
为了验证作者的方法,作者构建了一个编辑基准,通过引入两种类型的子群体漂移来暴露预训练 ViTs 的弱点。第一种是自然子群体漂移,通过最大差异(MAD)竞赛 [58] 有效地识别出某些类别中代表性不足的自然图像。第二种是人工子群体漂移,由像 Stable Diffusion [46] 这样的高质量文本到图像生成模型合成的图像引入。
总结而言,作者的主要贡献如下:
这是一项首屈一指的模型编辑方法,用于针对预训练的 ViTs,该方法利用元学习技术,优先考虑编辑位置。
一份用于计算机视觉领域未来模型编辑研究的编辑基准,为未来模型编辑研究提供了有价值的资源。
作者的方法在提出的基准测试上实现了在泛化和局部性之间取得最佳帕累托前沿的广泛实验证明,同时在编辑阶段提供了灵活的权衡。
2 Related Work
在本节中,作者将简要概述 NLP 和 CV 领域当前的模型编辑方法。
Model Editing in NLP
基于记忆的方法依赖于外部机制,如包装器和缓存器,在不对内部模型参数进行修改的情况下存储事实更新。这些研究中一个常见的主题是使用一个门控机制来确定一个测试样本是否在编辑范围内;如果是,则覆盖基本模型行为。例如,SERAC [41]和 GRACE [21]采用范围分类器作为硬门控的一种形式,而 Murty 等人[42]则使用软门控函数,允许更平滑的集成。更近的方法如 IKE [63]和 MeLLo [64]改变了一个 LLM 的输入 Prompt 以进行知识更新,其中门控机制隐式地嵌入在 LLM 内部。一般来说,基于记忆的方法提供了一些优势,如非破坏性更新、模块化和适用于持续和少样本学习设置。然而,当处理大量编辑时,它们面临着可伸缩性问题的挑战。此外,编辑的成功在很大程度上取决于门控机制的准确性。
基于参数的方法通过修改内部模型参数,提供了一种更精细的编辑方法。这些方法可以大致分为两个子组:定位然后编辑的方法和基于超网络的方法。定位然后编辑的方法专注于识别出用于编辑的关键参数子集。例如,ROME [38],MEMIT [39],和 MEMIT[20]利用因果中介分析(即表示降噪)来定位隐藏状态(即中间表示,而不是模型参数)负责知识存储。然后,将关联记忆理论应用于将状态定位结果转移到模型参数。最近的研究[22]表明,知识定位可能不能可靠地告知成功的编辑。此外,知识可以定位的观念可能固有地有缺陷,因为 LLMs 中的实际信息可能以分布式编码的方式存在[40]。单步集成梯度跨越多个编辑样本[8, 60]是另一个常用的定位统计量。在这里,作者采用一种更符合原则的元学习策略来定位关键参数,使用更准确地捕获模型行为变化的多步梯度信息。
基于超网络的方法,如 KnowledgeEditor [9],MEND [40]和 MALMEN [54],直接训练一个外部网络来为编辑样本生成参数更新,该样本可以通过前馈特征表示 [9]或反向梯度分解 [40]来表示。可以事先应用定位技术来限制超网络的功能空间。现有的基于超网络的方法侧重于如何编辑,而浅尝辄止于哪里编辑,常常导致性能不佳,特别是在适应计算机视觉应用时。相比之下,作者的方法优先考虑学习哪里编辑,实现了泛化与局部性的更好平衡。
Model Editing in CV
目前,在计算机视觉领域关于模型编辑的研究还相对有限。Bau 等人[3]采用定位后编辑的方法来重写生成对抗网络。Santurkar 等人[49]将这种方法应用于基于卷积网络的图像分类器的编辑,通过将新视觉概念的表示映射到先前学习的概念来实现。然而,这种方法需要先验知识新视觉概念的位置在图像中的以及需要更正的具体目标概念。在实际应用中,这种详细信息可能并不总是可用的。相比之下,作者的方法放宽了这些假设,是第一个应用于 ViTs 的方法。
3 Learning Where to Edit ViTs
在本节中,作者首先介绍了初步内容,然后详细描述了用于学习在哪里编辑 ViTs 的所提出的方法。作者方法的系统图如图 1 所示。
Preliminaries
理想模型编辑方法应确保在可靠编辑的同时,有效地平衡泛化和局部性。在 CV 领域的初始模型编辑尝试中,作者将范围限制为单示例编辑。
Model Editing at Training Time: Where-to-edit
直接微调(vanilla fine-tuning)是微调 ViT( Transformer 自注意力模型)的最简单方法,它涉及更新所有模型参数。然而,现代 ViTs 具有数百万到数十亿个参数,单个样本(x,y)上的微调可能导致过拟合,同时消耗大量的计算成本。为了解决这些问题,先前的研究[8, 23]首先确定了一组关键参数的子集,然后进行编辑:
Optimization Challenges
尽管数学上具有优雅性,解决(2)中的双层优化问题面临三个挑战。首先,元训练超网络需要大量高质量编辑样本,这在实践中既昂贵又耗时。为解决这一问题,作者使用了一种数据增强技术 CutMix [62]来生成伪样本。其次,在 ViT 的整个范围内确定关键参数是一个巨大的搜索空间。这种组合复杂性不仅引入了不可接受的计算成本,而且使关键参数的定位变得具有挑战性[36; 51]。为了解决这个问题,作者基于贪心搜索的启发式方法缩小了编辑范围。第三,生成二进制 Mask 通常涉及在中的二进制化操作,这几乎在 everywhere 产生零梯度,因此对优化无益。为解决这个问题,作者使用了一种对梯度友好的二进制化近似。
伪样本生成**
编辑范围缩小 以前的研究 [38; 40] 表明,在 Transformer 中修改 FFNs 比修改其他部分更有效,以实现成功编辑 [17; 18]。例如,MEND [40] 关注于编辑最后三个 FFN,而 ROME [38] 针对中间的 FFN。在这里,作者通过贪心搜索最优泛化和局部性权衡,进行类似的实证调查,以确定 ViT 中连续的一组 FFNs 的一个子集。作者将在预训练的 ViT/B-16 的前三层连续进行十组 FFNs(或 MSAs)的微调,表示为{1-3, 2-4, ..., 10-12}。编辑集包括 ViT 的 100 个预测错误,这些错误将排球误认为是篮球(参见图 1(a)),根据 MAD 竞赛 [58](请参阅第 4.1 节以获取更多详细信息)。编辑集的平均结果如图 1(b)所示,其中作者发现编辑 MSAs 不利于保持局部性。相反,编辑第 8 至第 10 个 FNNs 通常能够实现最佳权衡,这些层被选为后续实验的默认层。
为了进一步限制超网络的输出空间,作者采用结构化调优方法[8]在 FFNs 中的权重矩阵的特定行/列中选择更新。如[8]中所述,作者选择沿中间维数的权重,进一步将超网络的输出维数降至Nm×6(即三个具有两个 FC 的 FFNs)。
二进制化近似 作为一种信号处理量化(quantization)的特殊情况,二进制化可以通过三种主要方法实现基于梯度的训练:直接估计(straight-through estimation) 、均匀噪声添加(uniform noise addition)
和软到硬的学习(soft-to-hard annealing) [30]。在这里,作者使用具有良好梯度行为的固定参数 sigmoid 函数作为近似:
Model Editing at Test Time: How-to-edit
在测试时,作者采用类似于内循环优化的方式来解决如何编辑的问题。两个微小的差异在于损失函数和二进制化操作。
在测试时,作者得到了编辑样本 x 和其真实标签 y。因此,训练过程中的 KL 散度会降低测试时的交叉熵损失:
此外,作者还可以直接采用基于阈值的二进制化,无需近似,以获得
当 p 设置为零时,所选的 FFNs 中的所有参数都将更新为更可靠的状态。随着 p 的增加,更新的参数数量会减少,这有利于局部性。
Hypernetwork Architecture
在本节中,作者建立了一个编辑基准,通过引入子群体变化来揭示基础 ViT 在物体识别方面的失败,这些子群体变化针对的是在自然和 AI 生成的图像中代表性不足的子群体。
Natural Image Subset
为了构建自然图像子集,作者首先从 Flickr(一个包含大量图像的网站)中搜集了大量无标签图像,称为u,这些图像与 ImageNet-1k 中的目标类别相关。接着,作者利用 MAD 竞赛[58],以促进基础 ViT 的失败识别。根据模型比较的原则,MAD 选择通过最大化两个分类器的预测差异来识别最佳区分两个分类器的图像。这可以数学上表示为
为了利用这种直觉,作者将作者的基础模型(即,在 ImageNet-1k 上预训练的 ViT/B-16)与一个较强的模型(即,使用 CLIP [43] 预训练并在 ImageNet 上进行微调的相同 ViT/B-16)配对,通常情况下,这个较强的模型在未见数据上表现出更好的泛化能力。
AI-generated Image Subset
Experiment Setups
在提出的编辑标准中, 表示其中一个 18 个组。作者进一步将所有组的 GR 值作为整体指标来衡量泛化能力。第三个指标是 _局部性率_(LR),它检查编辑后的模型在编辑范围之外的无关样本上是否保持其预测:
在论文中, Dl包括范围外的图像。使用 ImageNet-1k 的验证集作为 Dl 并不能充分检验局部性,因为大多数样本都是容易的样本,它们远离决策边界[16]。为了更紧密地检查模型编辑的负面影响,作者从 ImageNet-1k [47]、ImageNet-R [25] 和 ImageNet-Sketch [57] 的验证集选择 幅接近基础模型决策边界的图像[47],这些图像的预测更易发生变化。
作者的选择标准基于预训练的 ViT/B-16 模型预测概率如下:
1)真实标签的预测概率最高,2)前两名预测概率之间的差异小于 ,表明类别高度模糊。作者还使用 GR-LR 曲线来划分泛化和局部性权衡。
所有模型编辑方法中,作者实验了两种 ViT Backbone 网络,分别是 ViT-B/16 和 ViT/S-16,它们都在 ImageNet-21k 和 ImageNet-1k 上预训练[53, 47]。
作者将作者的方法与几种最近提出的模型编辑方法进行比较,如下所示:
- 微调(FT)更新第 8 到第 10 个 FFN,这些层已被确定为最有效的层,使用贪心搜索确定。
- FT-l2[39]在微调过程中引入了l2范数正则化。
- T-Patcher [29]在最后一个 FFN 中添加并调整一个神经元。
- KN [8]和 5) SPT [23]根据集成梯度信息选择关键参数。
- ROME [38]通过解决一个约束最小二乘问题,调整最后一个 FFN 的第二层。
- LoRA [28]引入可训练的低秩矩阵来更新所有 MSA 的 Query 和值。
- KE [9]和 9) MEND [40]利用超网络生成最后一个三个 FFN 的参数更新。 与先前的研究工作[40, 39]一致,在训练损失低于 0.01 或达到最大编辑步数 100 时,应用早期停止。竞争方法的详细实现和额外的训练配置见附录。
Main Results
图 4 显示了针对 ViT-B/16 的不同编辑方法应用的 GR-LR 曲线,平均值来自建议的基准测试中的 18 组数据。作者提出了几个有趣的观察结果。
首先,对于大多数方法,纠正单个预测错误通常是可以实现的,这一点由大部分方法的接近 100%的 SR 得到证明。
其次,同时实现高水平的泛化和局部性是一个重大的挑战。T-Patcher 和 ROME 利用之前的数据来维持局部性。然而,依赖于编辑范围分类器的 T-Patcher 在不同的编辑样本上表现出明显的泛化变异性。专门为基于语言的 GPT[15]设计的 ROME 在泛化到 ViTs 方面显示出有限的希望。LoRA 由于其低秩更新而能够维持局部性,但在泛化到 AI 生成的图像上却存在困难。
KE 和 MEND 在 MAD 搜索的自然图像上表现出低的局部性,并且对 AI 生成的图像的泛化能力较差。第三,作者的方法在不依赖先前训练数据以明确强制局部性的情况下,实现了新的最先进水平。类似的结论可以在附录中查看的 ViT-S/16 中得出。
然后,作者在三个 FFN(Feed Forward Neural Network)的不同参数稀疏度水平上评估作者的方法,这三个 FFN 分别是{0.25,0.50,0.75,0.90,0.95},对应整个模型{12.4%,8.25%,4.13%,1.65%,0.83%}的参数稀疏度。通过调整公式(6)中的 ρ。与作者的方法竞争的方法--FT-l2,KN 和 SPT 通过调整各自的超参数使其参数稀疏度达到可比水平。
值得注意的是,当 ρ=0 时,作者的方法简化为 FT。如图 4 所示的计算得到的 GR-LR 曲线。正如预期的那样,增加 KN,SPT 和作者的方法中的参数稀疏度会提高局部性,但会降低泛化能力。值得注意的是,作者的方法在所有方法中实现了最佳的帕累托前沿,作者认为这源于作者提出的策略,即学习在何处进行编辑以实现编辑成功。
Ablation Studies
为了证实作者的方法的有效性确实源于成功局部化关键参数的特定子集,而不仅仅是稀疏性,作者将作者的超网络生成的二进制 Mask 与相同稀疏度的随机 Mask 进行了比较,同时还考虑了 FT-l1 和 FT-l2。如图 4(a)所示,当正则化水平不同时,FT-l1通常在各种正则化水平上超越 FT-l2,因为 l1 范数在消除不太重要的参数方面更有效。应用随机 Mask 的效果类似于 FT-l1。当编辑参数的比例低于时,随机 Mask 的性能显著低于作者的方法。
为了确认超网络识别出的不同编辑样本的参数的特定性,作者在自然图像子集内和跨组的相同子集内的样本计算对应二进制 Mask 在 0.95 稀疏水平下的交集与并集(IoU)。图 5(b)说明了识别出的参数对于同一组内的图像具有显著的重叠,而不同组的图像之间的重叠则要低得多。这些发现支持超网络成功地识别出纠正特定错误所必需的关键参数,同时有效地排除了与无关样本相关联的参数。这种学习的 Mask 特定性使得作者的方法能够在泛化和局部性之间实现有效的平衡。
作者进一步评估了作者的方法,当同一组内的多个编辑样本(即具有相似故障原因的样本)可用时。这是一个直接的扩展,作者计算每个样本生成的连续 Mask 的平均值,然后使用等式(6)进行二进制化。图 4(b)展示了使用一个、两个和三个样本进行模型编辑的结果。值得注意的是,随着编辑样本的增加,编辑性能得到提高,这可以归因于 Mask 的集成导致参数定位更加精确。
更多的消融研究(例如,替代伪样本生成策略,外层循环中的稀疏正则化,内层循环中的梯度步长和学习率,以及超网络中的注意力块数量)详见附录。
6 Conclusion and Discussion
作者已经介绍了一种用于纠正 ViTs 中预测错误的方法。作者的方法优先考虑编辑的位置,而非编辑的方式,通过元训练超网络来识别编辑的一组结构参数。
通过应用l1范数正则化,作者的方法促进了生成的 Mask 的稀疏性,从而间接确保了局部性,无需重新训练以前使用的数据。对提出的编辑基准的全面测试证实,作者的方法有效地纠正了 ViTs 中的预测错误。此外,引入的编辑不仅可靠,而且对相邻样本具有良好的泛化性,同时保持了较高的局部性比率。
作者的工作是计算机视觉模型编辑领域早期的尝试,为未来的研究提出了几个有趣的问题。首先,作者的方法利用了 CutMix 技术[62]生成训练成本有效的伪样本,但它的有效性仅在实践中得到证实。
为什么这样的合成数据训练的超网络能够实现合理泛化,以及如何确定最优的合成数据生成技术仍然是一个巨大的开放性课题。
其次,将作者的方法适应到其他视觉架构,如卷积网络或 Swin Transformer [35],并将其应用扩展到其他视觉领域,如密集预测、生成模型和多模态 LLM,将是有益的。
第三,探索在批处理编辑环境中如何应用作者的方法是一个有前景的方向。在这种情况下,使用解耦技巧(请参阅附录了解更多细节)可能对于有效降低计算和内存需求至关重要。
参考文献
[0]. Learning Where to Edit Vision Transformers.
END
作者:小书童
来源:集智书童
推荐阅读
- 图解大模型训练系列:序列并行 4,Megatron Context Parallel
- YOLOv8+PyQT5 打造安全帽检测预警应用
- 轻量级神经网络模型,嵌入式微小设备也能实时检测 !
- YOLOv8 与 YOLO11 自定义数据集迁移学习效果对比
欢迎大家点赞留言,更多 Arm 技术文章动态请关注极术社区嵌入式 AI 专栏欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。