备注好友: 方向-学校/公司-姓名/昵称
【AIGC 先锋科技】交流群
深度网络经常被调整以适应新任务,并从持续的数据流中继续学习。这种顺序训练需要整合新的和过去的信息,主要通过保留最重要的数据点来解决, formally 称为核心集。
传统上,这些核心集由整个样本组成,如图像或句子。然而,最近的自回归架构在 Token Level 上运作,导致了一个著名的主张,即一张图像的价值是16x16个词。
直观上,这些 Token 并非所有都具有同等的信息性或可记忆性。因此,作者提出在 Token Level 上构建更深层次的数据摘要。
作者分别称为核心 Token 集,它们既选择最具信息性的数据点,又利用特征属性只存储它们的最相关特征。作者证明了核心 Token 集在逐步图像分类、开放式视觉问答和持续图像描述中,都能显著降低内存,并保留显著的性能。
实际上,作者在实践中发现,数据中1%的核心 Token 集的性能,相当于至少是两倍大小的核心集,甚至可以达到10倍大小的核心集。
1 Introduction
深度学习模型很少在静态环境中部署,而需要不断调整以适应不断变化的环境。随着时间推移,分布发生变化时,作者需要让模型在保持之前设置的性能的同时,适应新的例子。天真地,为每个环境变化从头训练模型很快变得不切实际,对于具有数十亿参数的复杂架构。
因此,研究重点放在确定训练数据中微小的、代表性的子集,这些子集后来可以持续重复播放,以避免(灾难性)遗忘 之前获得的信息。形式上,这些(加权)子集可以被描述为 核心集;数据摘要,用微小的性能损失近似原始损失函数。
然而,尽管提出了多种成功的核心集选择技术,作者认为现代架构进步现在允许尚未利用的数据汇总水平。特别是,(视觉) Transformer 现在方便地定义每个数据输入为有序的 Token 集合。
反过来,作者认为不仅数据实例的子集允许有效汇总,而且每个数据点中可能与任务泛化相关的少数几个特征(作者称之为核心 Token )也至关重要。作者将重要数据实例中最有意义的 Token 子集称为_核心 Token 集_。
核心词汇基于核心集的一般原则构建,作者的目标是识别那些在可忽略的误差范围内近似全数据集损失的词汇。为此,作者证明了使用 transformer 层上的注意力得分计算的归因图可以作为选择核心词汇的基础,以理解每个词汇的相关性。
在实际应用中,作者因此探索了不同的策略来确定词汇的相关性,例如利用梯度或扰动注意力得分。作者得到的第一个有趣见解是,从每个数据样本中以指定比例保留的核心词汇与选择相同保留率的涉及核心集(选择数据实例的子集)具有相似的成本。
然而,更重要的是,作者可以将两种技术结合在二分子集选择方法中,即作者所谓的核心词汇集,其中作者首先使用核心集选择方法从样本中选择一个子集,然后选择这些样本的核心词汇。作者框架的示意图如图1 所示。
作者在顺序训练任务中展示了核心词汇集的优势,作者表明仅存储相关的部分输入可以产生具有改进性能和显着减小内存缓冲区大小的信息摘要,与最先进的传统核心集相比。
总之,作者做出了以下贡献:
- 作者提出了核心词集(core token sets)的概念,这是一种子数据摘要,它选择了一个数据集中最重要实例的一小部分最相关的词。
- 作者展示了如何利用在 Transformer 层上计算的归因图,在探索各种策略中选择最具影响力的特征。
- 最后,作者广泛突出了在不同顺序任务设置下,核心 Token 集在图像分类、多模态图像描述和多模态问答中的实际性能和内存效益。
2 Preliminaries and Related Work
Coresets: 传统的数据集概要通常作为整个训练数据的实例 Level 的(加权)子集构建。这些核心集由具有最相关信息的最有用的实例组成,其目的是用一个可以忽略的成本函数近似整个数据集。也就是说,作者要找到一个子集,将其分解为作者的给定数据集(Bachem等人,2015年,2017年),满足任何解(参数):
在实践中,coresets主要被设计用于展示数据集逼近传统机器学习模型(如K-means、SVM和逻辑回归)的能力,如Blomer等人(2016年)、Feldman等人(2007年)和Har-Peled & Kushal(2005年)的工作。针对深度神经网络(DNNs)的研究则很少。Killamsetty等人(2017年)是其中少数针对DNNs的研究。
(2021b) 采用双层优化来解决核集选择作为外目标问题,以及模型参数泛化作为内目标问题。然而,这需要几个优化步骤,对于复杂架构来说可能不切实际。因此,相对于双层优化,基于梯度的核集方法应运而生。它们的主要前提是解决与方程1不同的另一个问题,该问题基于损失梯度而不是直接近似损失。
因此,最近提出的CRAIG(Mirzasoleiman等人,2020)旨在通过将梯度匹配问题转换为单调子模函数优化问题,并使用预定义的误差边界来解决最优核集问题。类似地,GradMatch(Killamsetty等人,2021a)将核集与完整数据集的梯度进行匹配,同时采用L2正则化以减少对任何特定数据样本的依赖性。
在顺序学习过程中,核心集(coresets)可以有效地作为回放缓冲区在持续训练中交错使用(Mundt等人,2023年),以避免灾难性遗忘(McCloskey和Cohen,1989年)。然而,现有的主要回放策略依赖于临时子集选择,例如储备池或随机取样,以在训练过程中保留之前获取的信息。在作者的工作中,作者评估了在解决标准分类问题之外的更复杂的任务,例如顺序视觉问答和顺序图像描述,并提出了一个高级数据总结技术,称为核心 Token 集(core tokensets)。
Transformer初步: 给定一个样本, Transformer (Vaswani等人,2017)利用一系列 Token ,其中每个 Token 捕捉到数据样本的显著特征。
通常,对于图像,样本被转换为个大小为的平坦2D块(:特征通道数)。随后,每个块被编码为一个单独的 Token Embedding ;每个嵌入块都与相应的位置嵌入向量相连接。然后,自注意力层处理这些 Token Embedding 序列:
3 Core Tokensets: Summarizing Datasets with Informative Tokens
如今, Transformer 已经能够将数据输入处理为多个 Token 的序列,作者提出了一种比传统核心集更高效地概括数据集的新方法。
定义:核心词汇集 是数据集()的一个子集,满足在可以忽略不计的误差范围内,由该核心词汇集找到的解近似于整个数据集的成本:。
这将在继续训练中保持原始结构的保存。重要性变量通常由 Token 与当前任务的相关性调节,但作者可以考虑直接选择方法。
例如,一个简单的(随机)选择可以通过从伯努利分布中采样重要性变量来实现:
。在这里,
自然映射到作者的关键超参数,即保留率,它反映了从
中保留的 Token 的百分比。
然而,目前尚未探索用于选择核心 Token 的方法。尽管随机取样在构建记忆(Hayes等人,2021年)方面是可行的 Baseline ,但随机选择核心 Token 可能导致存储冗余 Token 。特别是在图像中,感兴趣的目标通常只占据输入样本的微小区域;仅存储背景是不可能很好地近似真实损失的。为了解决这个问题,作者提出利用归因技术,并提出研究 Token 与注意力图的相关性以构建作者的核心 Token 集合。
首先,为每个 Token 分配一个相关性分数,以确定其对预测的贡献。然后,作者受到“可解释性”技术(Chefer等人,2021年;Deiseroth等人,2023年)的启发,进一步提高归因图的有效性以计算 Token 相关性分数。例如,作者可以扰动块内的注意力分数或计算 Transformer 块内的梯度以量化对最终预测的贡献。
让作者具体概述基于梯度的方法来选择核心 Token 。给定一个具有B块的Transformer模型,作者首先计算每个块()的注意力图,包括h个注意力头。作者考虑注意力图()的梯度()与层间相关性评分(,Bach等人,2015)的Hadamard乘积(与目标类别相关),以计算每个 Token 相对于其他 Token 的相关性。
最终的属性图通过计算h个注意力头的乘积的平均值()以及一个身份矩阵,以考虑Transformer中的 Shortcut 。然后,通过将所有注意力头得分相乘定义最终的权重矩阵,其中每一行都是相对于其他 Token 的每个 Token 的相关性得分。
从影响力矩阵中,作者提取每个 Token 的相关性,这将最终决定每个个别的二进制。对于分类,作者只考虑第一行的一类 Token 。
然后,最高值导致核心 Token 的提取到作者集合中。集合的基数是根据选择的保留率预先确定的,即。直观上,这种基于梯度的核心 Token 选择策略与早期描述的核心集选择梯度匹配策略有关。
作者通过分析梯度确定每个数据点的最影响力 Token ,并存储一个子集,它大致上会导致所有 Token 的整体结果。
4 Sequential Training with core tokensets
当作者按顺序训练作者的 Transformer 模型时,作者同时优化模型在新任务上接收到的数据以及通过_core tokenset_建模的内存缓冲区数据。因此,训练损失为:
在作者开始实验性地验证作者的核心 Token 集之前,让作者先考虑两个进一步的紧迫方面:
1.) 如何使 Transformer 对作者的数据摘要中存储的部分输入( Token 子集)敏感;
2.) 提供传统核心集与 Token 子集之间权衡和相互作用的直观。
首先,作者来看如何使 Transformer 对作者的数据摘要中存储的部分输入( Token 子集)敏感。在 Transformer 模型中,输入是序列化的文本,而核心 Token 集是作者希望捕获的关键信息。
为了使 Transformer 对核心 Token 集敏感,作者可以设计一个模块,该模块可以捕获输入文本中的特定 Token ,并将其传递给下一层。例如,作者可以使用一个简单的注意力机制来捕获 Token 集。
接下来,作者来考虑传统核心集与 Token 子集之间的权衡和相互作用。传统核心集通常包含一组预定义的关键 Token ,这些 Token 被认为是输入文本中的重要特征。
然而, Token 子集可以更灵活地适应不同的输入文本和任务需求。在某些情况下, Token 子集可能包含比传统核心集更多的关键信息,从而提高模型的性能。然而, Token 子集也可能引入更多的噪声和冗余信息,导致模型性能下降。
因此,在实际应用中,作者需要根据具体任务和数据集的特点来选择合适的核心 Token 集和 Token 子集。作者可以通过实验和调优来确定最佳的核心 Token 集和 Token 子集大小和组成,以提高 Transformer 模型的性能。
Making Transformers susceptible to Partial Inputs
在常规(预)训练过程中,ViTs只观察到完整的个 Token 。如果作者现在喂它们一个子集的 Token ,即删除一些连接的 Patch ,这将导致一个与预期输入结构有明显差异的输入序列。不幸的是,这立即导致模型行为和性能下降。实际上,作者在图2a中报告了后者,在一个实验中,作者从一个在初始训练期间训练完整样本的阶段过渡到使用核心 Token 集进行部分输入的微调。
具体而言,作者持续微调一个预训练的ImageNet(Deng等,2009)ViT-B/16模型,首先在所有数据上进行微调到20个随机类别,然后在每个保留比例不同的_核心 Token 集中进行微调。为了简单起见,作者随机选择核心 Token 。作者可以观察到预测准确率在保留约30%时下降约15%。
如果您过早地得出结论,那么您可能会提出核心 Token 无效的观点。然而,事实并非如此,作者最初性能下降的模型实际上是遇到了意外的输入。为了纠正这个问题,作者证明作者只需要让模型能够观察到部分输入。虽然作者可以设想几种方法来实现这一点,但一个有效简单的策略是确保模型始终被 Prompt 以一个完整的 Token 序列的核心 Token 。在这种情况下,左外 Token 的输入值被设置为。关键是,这种设置保留了模型预训练的输入结构,从而确保了块的局部关系正确表示。
为了模拟核心 Token 集的稀疏性,作者还根据预期的保留率随机零化完全数据样本中的 Token ,类似于应用于输入的Dropout(Srivastava等人,2014)。在图2b中,作者再次在ImageNet的20个类别上调整一个预训练的视觉 Transformer (ViT),但现在采用随机丢弃并随后在核心 Token 集上微调。作者将保留率固定为核心 Token 的30%,而在初始的20个类别训练过程中使用的丢弃率不同。作者发现使用丢弃 Token 是避免性能下降的必要条件。
当作者匹配丢弃率和保留率时,模型在从核心 Token 中学习方面变得更加熟练。最终,作者保留了初始性能,这与早期曲线(图1a中的绿色曲线)形成鲜明对比,而没有进行任何训练调整。
针对在组合 Token 上的连续学习,作者因此采用上述实用策略。也就是说,在训练过程中,作者多次随机采样以重新观察完整的数据,即作者随机丢弃输入 Token 。核心 Token 集已经分配了其相关性,即在先前描述的选择策略之后,每个始终为1。
在这里,作者利用核心 Token 集的存储整数位置来用零填充剩余部分。在图3中,作者依次在ImageNet子集上调整,作者的策略始终保持性能,而直接在核心 Token 集上进行训练则会严重恶化。
Intuition on Effectiveness: Coresets vs. Core Tokensets
作者的核心词汇定义自然提出了一个问题,即是否应该存储每个数据点的子集,还是存储数据点的子集,或者是将两者结合。为了为这个问题提供直观,作者设想了两种实际的数据总结变体。第一种努力识别每个数据点最相关的子集,并将其用作数据摘要。
作者将这种想法称为仅提取核心词汇。在第二种,作者将尝试找到最重要的数据点子集及其最具有影响力的词汇。在本文剩余实验中,当作者提到核心词汇时,作者将指代后者。换句话说,核心词汇集遵循早期图1的方式,作者首先构建核心集,然后为选定的样本识别核心词汇,而仅选择核心词汇可以被视为省略核心集步骤的消融实验。
在图4中,作者评估了这两种策略,即仅核心 Token 和核心 Token 集,与传统的核心集,在20个随机ImageNet类别的不同保留率(10-100%)下,作者的预训练ViT-B模型上的表现。作者可以观察到,对于所有保留率,核心 Token 的训练都超过了传统核心集。然而,核心 Token 集,识别出最重要的 Token 用于最重要的数据点,带来了显著的进一步性能提升。
作者认为这是相当直观的。例如,考虑一个预算,其中作者只将1%的样本存储在作者的内存缓冲区中;显然,核心集技术将丢弃总数据实例的99%。对于核心 Token ,对于每个数据项,可以存储1%的信息。相比之下,对于核心 Token 集,这种组合允许作者在关注每个样本的几个核心 Token 的同时,选择比核心集技术更多的实例。具体来说,作者可以在相同的内存预算下存储10%的样本(>1%核心集)和10%的 Token (>1%核心 Token )。作者在实验部分继续广泛验证这些发现。
Experimental Details
数据集和模型 作者使用ImageNet100(Deng等人,2009年)进行分类,将其分为五个具有20个独特类别的任务。对于视觉问答,作者按顺序在三个独立的视觉问答数据集上进行训练,分别是VQA 2.0(Antol等人,2015年)、CLEVR(Johnson等人,2017年)和Visual Genome。对于图像描述实验,作者依赖于MS COCO(Lin等人,2014年),将其分为五个大小相等的任务,基于目标类别。作者首先使用在ImageNet21k上预训练的VIT-B/16作为基础模型(Wightman,2019年)进行图像分类,以专注于数据汇总效率和知识保留的研究。最后,作者将预训练的BLIP模型作为VQA和图像描述任务的初始化模型。
根据任务的复杂性,作者在8-12块Nvidia A100 GPU上训练作者的模型。
策略。作者评估了两种最近最先进的核集方法,即CRAIG(Mirrasoleiman等人,2020年)和GradMatch(Killassetty等人,2021年),这两种方法都依赖于梯度进行数据选择。此外,作者考虑了四种不同的特征归因方法来生成注意力图,基于这些图选择核心 Token 。
Rollout考虑了从输入层到更深层的 informations 流(Abnar和Zuidema,2022年)。相比之下,Grad-Cam 依赖于每个输入 Token 与真实输出之间的梯度。进一步,梯度具有层相关传播(Grad-LRP)(Chefer等人,2021年,2021年)考虑了每个层的各自相关性。最后,AtMan (Deiseroth等人,2023年)通过扰动注意力分数计算每个 Token 的影响力。
评估指标 在所有增量设置中,作者将所有任务上的指标进行平均。作者报告了图像分类和VQA的平均准确度。然而,作者注意到作者并没有将VQA作为分类任务进行训练。相反,作者在自然语言中开放地生成答案。因此,如果生成的文本与 GT 标签相同,那么答案就被认为是正确的。对于图像描述,作者报告了BLEU-4(Papineni等人,2002)和ROUGE(Lin,2004),这些指标衡量了模型生成文本与参考文本之间的相似性。
Sequential Image Classification
在作者的顺序分类任务中,作者特别评估了记忆缓冲区在保留旧信息方面的信息效用,通过比较四种选择核心 Token 的方式与四个核心集策略的两种变体。表1将方法作为数据集存储比例的函数进行比较。在这里,作者将选择数据点子集的核心集与为所有数据点选择核心 Token 的纯提取核心 Token 进行对比。
然后,作者将这些与基于最佳性能核心集和核心 Token 策略的核心 Token 集进行比较。作为参考,当作者在每个时间步的累积数据上顺序训练模型时,它实现了85.4%的顶级准确率,即数据随着时间的推移被添加到一个不断增长的数据集中。
首先,当数据随机选择时,作者观察到性能显著下降,保留率逐渐降低。在这里,更复杂的核心集选择技术提供了显著改进,其中GradMatch是稍好的方法。转向识别影响性 Token 的具体方法,如扰动注意力分数,如Atman,可以被视为最佳核心 Token 选择机制。GradLRP紧跟其后,而GradCam和Rollout则相形见绌。GradCam和GradLRP本身都优于核心集策略,这加强了作者之前图4的发现。
更重要的是,基于最佳GradMatch和Atman结合的核心 Token 集,相较于其他方法,准确率提高了几个百分点。作者通过匹配颜色编码强调这一点,其中作者突出显示了核心 Token 集的性能,其匹配甚至超过了相应的GradMatch准确率。
可观察到的趋势是,核心 Token 在大幅降低内存成本时,性能相似。这最明显的是当保留1%的数据时,核心 Token 集的性能类似于一个十倍大的核心集。
为了证明这种获得的优点是稳定的,作者将GradMatch与所有四个核心词选择机制相结合,形成在40%的数据集保留率下的一组核心词集。作者展示了任务依次学习时,准确率分别如图5所示的变化。
在这里,可以看到,Atman(黄色,三角形)和GradLRP(绿色,x)曲线合理地接近整个数据集的上界。然而,值得注意的是,任何核心词选择机制,与GradMatch结合形成核心词集,都比传统核心集方法(红色,虚线)提高了性能。
Open-ended Visual Questioning Answering
作者现在转向一个更大的规模,多模态的设置,在200万增量VQA配对上微调BLIP。在表2中,作者报告了在不同保留率下考虑的选择策略的结果。尽管GradMatch仍然是最佳核心集选择策略,但GradLRP现在在识别核心 Token 方面超过了ATMAN。相应地,作者的VQA核心 Token 集结合了GradMatch和GradLRP。再次,核心 Token 集在所有保留率下都优于其他所有方法。
与图像分类表类似,为了提供更清晰的视觉,作者为核心集和核心 Token 集的特定单元着色,以突出在不同保留率下它们的比较性能。核心 Token 集可以观察到要么表现更好,要么在内存效率方面显著更高。例如,如果作者希望达到至少75%的性能,作者将不得不采用基于GradMatch的核心集,该核心集从数据集中提取了30%的子集。相比之下,核心 Token 在保留20%的数据时已经超越了作者的示例性能标准。再次,这种效应随着存储的数据量减少而增强,甚至在存储1%的数据时达到了惊人的性能,这超过了十倍大的核心集。因此,作者的VQA实验结果与图像分类中观察到的一致。
Image Captioning
最后,作者在连续图像描述任务上进行实验,比较了各种选择策略下的核心词集(CTS),保留率达到了10%。作者选择这个低保留率,因为它已经显示了接近在完整数据集上训练的结果,因此不再需要研究更高的百分比。
相反,作者将BLEU-4和ROUGE分数作为任务随时间变化的报告。再次,作者将GradMatch作为有利的核心集选择策略,并将其与不同的核心词选择策略相结合。
与先前的所有发现完全一致,所有CTS变体都超过了传统核心集,而GradLRP基础的CTS领先,再次被Atman紧随其后。对于BLEU和ROUGE分数的排序相同,两者在仅使用10%数据时都表现出轻微的性能下降。
5 Discussion
作者已经对三个不同的顺序任务进行了核心词组集的深入评估。尽管这些任务的性质不同,但作者的实证发现始终如一地提供了有价值的见解。
首先,关于比较数据子集的保留效果,即传统核心集与核心 Token (每个数据点相关 Token 子集)的保留效果,有一个关键洞察。如果将这些方法视为独立的竞争者,那么在 Token Level 上可能更为安全。作者在这里可能明显地假设,直观上来说,在丢弃一个有信息价值的 Token 时,损失的信息要比丢弃整个数据点少。例如,如果内存大小选择为例如10%,那么很可能会有大量相关信息的保留。
作者第二个关键的见解是,对于每个这些点,自然选择最重要的数据点和最相关的核心词汇应该相辅相成。 作者已经通过核心词汇集的高效性和相应的内存大小增益来证明这一点。 在这里,作者假设与内存大小相比获得显著改进的性能是选择级联性质的结果。 例如,考虑一个允许相当于数据大小1%的内存的场景。 对于传统核心集,这意味着丢弃所有数据实例的99%。
然而,对于核心词汇集,作者可以实际上提取最具有意义的10%的数据点,并只存储它们的10%最相关词汇(假设所有数据点具有相同的维度,这在典型的基准数据集中通常是这样的)。 如果这10%的词汇携带了最相关的信息,那么显然,这种1%大小核心词汇集的性能与10%核心集相当也就不足为奇了。 这个事实在作者论文的各个实验中一直被观察到。
最后,这使作者想到了讨论作者工作的局限性以及其可能的未来。第一个局限性与核心集方法中的大多数相同。事实是,除非涉及额外的优化问题,否则在当前形式下,数据保留率(或内存缓冲区大小)必须提前选择。第二,作者故意选择将重要数据点和它们最具有信息量的 Token 视为两个 ConCat 步骤。这一选择是由作者想要展示核心 Token 集原则的普遍性,并分别对大量可能的选择策略进行基准测试所驱动的。
因此,可以证明所有核心 Token 集策略在直接对比传统核心集时都是有益的。然而,一些正在研究的策略天生就适合直接组合成一个单一的选择算法。事实上,作者通过实验得到的最佳性能的GradMatch + GradLRP组合都依赖于梯度信号。因此,可以设想一种基于梯度的选择策略。尽管额外的反向传播计算成本可以管理,但这将使两步计算合并为一步。更重要的是,这为未来的工作提供了道路,以推导出核心 Token 集的保证和界限为ε。作者认为这是一个有前途的未来方向,并将在其他领域进行进一步的实验。
6 Conclusion
作者已经为 Transformer 提出了数据总结的核心词集,以适应 Transformer 的独特架构特性。
在核心词集概念的基础上,作者证明了每个数据样本可以用核心词集中的子集进行充分概括。
因此,作者看到了特征属性分数在确定每个输入词对目标任务相关性的重要性。
作者在三个不同的场景中进行的实证调查表明,核心词集是有效保持顺序训练模型稳定性的经济高效方法。
关于未来工作,作者设想了开发单阶段核心词集选择策略,其中同时确定相关的样本集及其有信息价值的词。
core tokensets for Data-efficient Sequential Training of Transformers.