摘要
目前调整预先训练的模型的工作方式涉及更新所有主干网络参数,即全面微调。 本文介绍了视觉提示调整(VPT)作为大规模Transformer模型完全微调的有效替代方案。 VPT从最近高效调优大型语言模型的进展中得到启发,在保持模型主干网络不变的情况下,只在输入空间中引入少量(不到模型参数的1%)可训练参数。 通过在多种下游识别任务上的大量实验,我们表明VPT与其他参数高效调整协议相比取得了显著的性能提高。 最重要的是,在许多情况下,在模型容量和训练数据规模上,VPT的性能甚至超过了完全微调,同时降低了每个任务的存储成本。 代码可在github.com/kmnp/vpt获得。
目前调整预训练模型的工作方式为全面微调,
介绍
对于各种识别应用,现在最准确的结果是通过调整在大量精心策划或原始数据上预先训练的大型基础模型来获得的,这一发现反映了自然语言处理(NLP)的发展[6]1乍一看,这是一个成功的故事:只要利用最新和最伟大的基础模型,就可以在多个识别问题上取得快速进展。 然而,在实践中,使这些大型模型适应下游任务会带来自身的挑战。 最明显的(通常也是最有效的)适应策略是对手头任务的预先训练的模型进行端到端的全面微调。 但是,这种策略要求为每个任务存储和部署主干网络参数的单独副本。 这是一个昂贵且往往不可行的命题,尤其是对于现代的基于转换器的体系结构,这些体系结构比它们的卷积神经网络(ConvNet)要大得多,例如VIT-HUGE[19](632M参数)和RESNet-50[31](25M参数)。 因此,我们要问,从效力和效率的角度来看,什么是使大型预先训练的Transformer适应下游任务的最佳方法?
一个简单的方法是求助于我们已经完善的其他策略,以使ConvNets适应新的任务,比如在图 1(a). 一种流行的方法是仅微调参数的子集,例如分类器头[56,36,11]或偏差项[8]。 先前的研究也着眼于向主干添加额外的剩余块(或适配器)[68,87]。 人们可以对变压器实施类似的策略。 然而,总的来说,这些策略在精确度上没有充分的微调。
我们在本文中探索了一条不同的路线。 我们没有改变或微调预先训练的Transformer本身,而是修改对Transformer的输入。 借鉴NLP[50,48,45,51]中提示的最新进展,我们提出了一种新的用于下游视觉任务(图1(b))的简单有效的Transformer模型调整方法,即视觉提示调谐(VPT)。 我们的方法只在输入空间中引入少量特定于任务的可学习参数,而在下游训练时冻结整个预训练的Transformer主干。 在实践中,这些附加参数被简单地预置到每个Transformer层的输入序列中,并在微调期间与线性磁头一起学习。
在使用预先训练的VIT主干的24个跨不同领域的下游识别任务中,VPT击败了所有其他迁移学习基线,甚至在20种情况下超过了完全微调,同时保持了为每个单独任务存储显著更少的参数(不到主干参数的1%)的优势(图1(c))。 这一结果显示了视觉提示的独特力量:而在NLP中,提示调优只能在某些情况下与完全微调性能相匹配[45]。 VPT在低数据量的情况下尤其有效,并且在数据规模上保持了它的优势。 最后,VPT在一系列Transformer规模和设计(Vitbase/Large/HUGE,SWIN)方面具有竞争力。 总之,我们的结果表明VPT是适应不断增长的视觉骨干的最有效的方法之一。
相关工作
Transformer模型[73]在NLP中取得了巨大的成功[17,66,7]。 Transformer体系结构的成功还扩展到各种计算机视觉任务,包括图像分类[19,52]、对象检测[9,49]、语义和泛视分割[71,89,78]、视频理解[25,79,21]和少镜头学习[18],超越了以前的最先进方法。 Transformer在最近的自监督预训练方法中也得到了广泛的应用[11,30,3]。 鉴于Transformer与ConvNets相比具有更高的性能和更大的规模,如何有效地适应不同的视觉任务仍然是一个重要的开放问题。 我们提出的VPT提供了一条有希望的前进道路。 在ConvNets[92]的背景下,人们对视觉任务的迁移学习进行了广泛的研究,并引入了许多技术,包括侧调谐[87]、残差适配器[67]、偏置调谐[8]等。对于视觉Transformer自适应的研究相对较少,这些方法在这种全新的体系结构上的性能如何还不清楚。 另一方面,鉴于大规模预训练的基于转换的语言模型(LM)[17,66,7]的优势,许多方法[29,28,35]被提出来有效地微调LM以适应不同的下游NLP任务[77,76]。 其中,我们在我们的实验中重点关注以下两种具有代表性的方法,用于基准测试目的:Adapters[64]和BitFit[5]。
适配器[34]在每个Transformer层中插入额外的轻量级模块。 一个适配器模块通常包括线性向下投影,接着是非线性激活函数,和线性向上投影,以及剩余连接[63,64]。 而不是插入新的模块,[8]建议在微调ConvNets时更新偏置项并冻结其余的主干参数。 Bitfit[3]将该技术应用于Transformer,并验证了其在LM调谐上的有效性。 我们的研究表明,相对于前面提到的NLP中两种成熟的方法,VPT在适应视觉任务的Transformer模型方面提供了更好的性能。
提示[50]最初是指预先对输入文本进行语言指导,以便预先训练的LM能够“理解”任务。 通过手动选择提示,GPT-3对下游迁移学习任务显示出很强的泛化能力,即使在少镜头或零镜头的设置下也是如此[7]。 除了后续关于如何构造更好的提示文本[70,37]的工作外,最近的工作提出将提示视为特定任务的连续向量,在微调时通过梯度直接优化它们,即提示调优[48,45,51]。 与完全微调相比,它获得了相当的性能,但参数存储量减少了1000×。 虽然提示最近也被应用于VisionLanguage模型[65,91,39,84,22],但提示仍然局限于文本编码器的输入。 由于视觉和语言模式的差异,本文提出这样一个问题:同样的方法能否成功地应用于图像编码器? 我们是第一个解决这一问题的工作(参见相关的并发工作[69,80,14,2]),并通过在多个领域和主干架构的多种识别任务中进行广泛的实验来研究视觉提示的通用性和可行性。
方法
我们提出了视觉提示调谐(VPT)来适应大型预训练的视觉Transformer模型。 VPT在Transformer的输入空间中注入少量可学习的参数,并在下游训练阶段保持主干冻结。 总体框架图如图2所示。 在3.1节中,我们首先定义了符号,然后在3.2节中正式描述.
预备工作
对于具有n层的普通Vision Transformer(VIT)[19],将输入图像划分为m个固定大小的patch{ij∈R3×h×wj∈n,1≤j≤m}。 h和w是图像块的高度和宽度。 然后,每个块首先通过位置编码嵌入到D维潜在空间:
我们将图像patch嵌入的集合EI={EJ(1)I∈RDJ∈N,1≤J≤m}表示为第(i+1)次Transformer层(Li+1)的输入。 连同一个额外的可学习分类token([CLS]),整个VIT被表述为:
其中xi∈Rd表示[CLS]在Li+1输入空间的嵌入。 [·,·]表示序列长度维数上的叠加和串联,即[xi,ei]∈R(1+m)×D。 每一层LI由多重自注意(MSA)和前馈网络(FFN)以及层范数[1]和残差连接[31]组成。 神经分类头用于将最后一层的[CLS]嵌入xn映射到预测的类概率分布y.2
Visual-Prompt Tuning (VPT)
给出一个预训练的Transformer模型,在嵌入层后的输入空间中引入p个维数为D的连续嵌入,即提示。 在微调期间,只有特定于任务的提示被更新,而Transformer主干网络被保持冻结。 根据所涉及的Transformer层的数量,我们的方法有两种变体,VPT-浅层和VPT-深层,如图所示 2.
VPT-Shallow。 提示只插入到第一Transformer层L1中。 每个提示token都是一个可学习的D维向量。 p个提示的集合表示为p={pk∈rdk∈n,1≤k≤p},浅提示vit为:
其中zi∈Rp×d表示由第i Transformer层计算的特征,[xi,zi,ei]∈R(1+p+m)×d。 颜色•和•分别表示可学习参数和冻结参数。 值得注意的是,对于VIT,xn对于提示的位置是不变的,因为它们是在位置编码之后插入的,例如,[x0,p,e0]和[x0,e0,p]在数学上是等价的。 这也适用于VPT-Deep。
VPT-Deep。 在每个Transformer层的输入空间都引入了提示。 对于(i+1)层Li+1,我们将输入的可学习提示集合表示为pi={pki∈rdk∈n,1≤k≤m}。 深层提示VIT被表述为:
VPT的存储。 在存在多个下游任务时,VPT是有益的。 我们只需要存储每个任务的学习提示和分类头,并重用预训练Transformer模型的原始副本,显著降低了存储成本。 例如,给定一个具有8600万(m)参数的VIT-base,d=768,50个浅层提示和深层提示产生额外的p×d=50×768=0.038m和n×p×d=0.46m参数,分别仅占所有VIT-base参数的0.04%和0.53%。
实验
我们评估VPT用于广泛的下游识别任务与预先训练的Transformer骨干跨尺度。 我们首先描述了实验设置,在 4.1节中,包括预先训练的主干网络和下游任务,以及替代迁移学习方法的简要介绍。 然后在4.2节中验证了该方法的有效性和实用性。 我们还系统地研究了不同的设计选择将如何影响性能(第4.3节),这导致了对我们方法的更好理解。
Experiment Setup
预训练Backbones。 我们在Vision中用两个Transformer架构进行实验,即Vision Transformer(VIT)[19]和SWIN Transformer(SWIN[52])。 这个部门的所有骨干都在ImageNet-21K上接受了预先培训[16]。 我们遵循原来的配置,例如,划分的图像补丁的数目,[CLS]的存在等等。更多的细节包括在附录A中。
基准。 我们将VPT的两个变体与其他常用的Finetuning协议进行比较:
(a)Full:完全更新所有主干网络和分类头参数。
(b)方法集中在分类头上。 他们将预先训练的主干网络视为特征提取器,其权重在调优期间是固定的:
- 线性的:只使用一个线性层作为分类头。
- 部分k层:微调主干网络的最后k层,同时冻结其他层,如[85,88,60,30]所采用。 它重新界定了主干网络和分类头的边界。
- MLP-K:利用具有K层的多层感知器(MLP)代替线性层作为分类头。
(c)在微调期间更新子集主干网络参数或向主干网络添加新的可训练参数的方法:
- Sidetune[87]:训练一个“侧”网络,在输入头部之前,在预先训练的特征和侧调谐的特征之间进行线性插值。
- 偏差[8,5]:仅微调预训练主干网络的偏差项。
- 适配器[34,63,64]:插入新的MLP模块与Transformer层内部的剩余连接。
下游任务。我们在以下两个数据集上进行实验:
FGVC由5个基准细粒度视觉分类任务组成,包括CUB-200-2011[75]、Nabirds[72]、Oxford Flowers[59]、Stanford Dogs[41]和Stanford Cars[23]。 如果某个数据集只有train和test两个公开可用集,我们将训练集随机分成train(90%)和val(10%),并依靠val来选择超参数。
VTAB-1K[86]是由19个不同的视觉分类任务组成的集合,它们被组织成三组:自然任务,包含使用标准相机捕获的自然图像; 专门—-包含通过医疗和卫星图像等专门设备拍摄的图像的任务; 结构化–需要几何理解的任务,如物体计数。
每个任务如表1所示。VIT-B/16在监督图像-21K上预先训练。 对于每一种方法和每一个下游任务组,我们在(·)中报告与Full相比的平均测试准确度得分和获胜数。 “Total Params”表示所有24个下游任务所需的总参数。 “scope”表示每个方法的调优范围。 “额外参数”表示除了预先训练的主干网络和线性头部之外,还存在额外的参数。 在所有方法中最好的结果除了完全是粗体。 VPT优于完全微调,在24个可训练参数明显较少的案例中,有20个VTAB包含1000个训练示例。 遵循[86],我们使用所提供的训练集的800-200分裂来确定超参数,并使用完整的训练数据运行最终的评估。 我们报告了测试集在三次运行内的平均准确度得分。
![image-20221112210457978](D:DocumentNotePicturesVisual Prompt Tuningimage-20221112210457978.png)
我们报告了FGVC数据集的平均准确度,以及VTAB中三组数据的平均准确度。 每项任务的个别结果见附录D,上述任务的图像例子也见附录D。
主要结果
表1给出了在4个不同的下游任务组中对预训练的VIT-B/16进行微调的结果,并将VPT与其他7个调整协议进行了比较。 我们可以看到:
- VPT-Deep在4个问题类中的3个(24个任务中的20个)上优于Full(表1(a)),同时使用的总模型参数明显较少(1.18×vs 24.02×)。 因此,即使存储不是一个问题,VPT是一个有希望的方法,以适应更大的Transformer在视觉。 注意,这一结果与NLP中的可比研究形成对比,在NLP中,快速调优匹配,但不超过完全微调[45]。
- VPT-Deep在所有任务组中的性能都优于所有其他参数高效优化协议(表1(b,c)),这表明VPTDeep是存储受限环境中最好的微调策略。
- 虽然不如VPT-deep最优,但VPT-sh浅仍然比tab中面向头部的调优方法提供了非微不足道的性能增益。 1(b),表明VPT-shaller在部署多任务微调模型时是一个值得选择的存储约束条件。
不同下游任务数据大小的VPT。 我们研究了FGVC任务中训练数据大小对准确性的影响(VTAB只有1K个训练示例)。 我们将训练数据在10%到80%之间变化,并对所有方法进行比较。 同样的预训练VIT-B用于下游训练。 在图中给出了每种方法在不同训练数据尺度上的任务平均结果 3.
图 3表明VPT-Deep在数据规模上优于所有其他基线。 深入研究,使用较少可训练参数的方法,如VPT、线性、适配器、偏差,在低数据条件下占主导地位。 然而,当有更多的训练数据可用于线性和适配器时,这种趋势就会逆转。 相比之下,VPT-Deep在整个训练数据大小上仍然持续优于全部训练数据大小。 尽管偏见提供了类似的优势,但它仍然略微低于VPT-Deep的全面表现(图3右)。
不同主干网络尺度下的VPT。 图 4显示了VTAB-1K在3种不同主干网络尺度下的性能:VIT-base/大型/巨大。 vpt-deep是表2的标志。 不同的Transformer体系结构:SWIN-B作为主干网络在监督的ImageNet-21K上预先训练。 对于每一种方法和每一个下游任务组,我们在(·)中报告与Full相比的平均测试准确度得分和获胜数。 “total params”列表示所有19个下游任务所需的总参数。 在所有的3种主干网络选择和3个VTAB-1K亚组中,除Full方法外,Bolded方法的最佳结果明显优于线性和VPT-shally方法。 更重要的是,随着模型规模的增加,VPT-Deep优于Full的优势仍然存在,即VPT-Deep在自然组和结构组上的性能显著优于Full,而在专业组上的性能几乎相同。
分级Transformer上的VPT。 我们将VPT扩展到SWIN[52],它在局部移位窗口中使用MSA,并在更深的层中合并patch嵌入。 为了简单和不失通用性,我们以最直接的方式实现VPT:提示在本地窗口中被关注,但在patch合并阶段被忽略。 实验是在IMAGENET-21K监督预训练SWIN基地上进行的。 对于所有三个子组的VTAB选项卡,VPT继续优于其他参数有效的微调方法(B,C)。 2,尽管在本例中Full产生了最高的准确度分数(在总参数上代价很大)。
令人惊讶的是,对于Natural来说,VPT-deep相对于VPT-sh浅的优势减弱了:VPT-sh浅比完全微调产生的精确度得分略好。
模型设计变体的消融
我们在监督ImageNet-21K预训练VIT-base上消融不同的模型设计选择,并在VTAB上评估它们,在TAB中设置相同。 1. 参见附录B。
提示位置。 VPT与其他方法的一个重要区别是引入了额外的可学习参数作为Transformer层的输入。 图 5消融了关于在输入空间中插入提示的方式和位置的不同选择,以及它们将如何影响最终性能。
预加还是加? 而不是预先提示图像补丁嵌入EI的顺序,如SEC中所述。 3.2,另一个选择是直接按元素向这些嵌入添加提示,保持Transformer的输入序列长度与以前相同。 尽管这种变体在某些情况下比Full有竞争力(例如,VTAB-Natural),但它的性能通常在深度和浅层设置中都落后于默认的Prepend。 关于这一现象的更多讨论见附录B。
潜在空间还是像素空间? 可以在EQ中的嵌入层之前在像素级引入提示,而不是将提示作为第一Transformer层的潜在向量插入。 (1)即前像素和前通道。 图 5表明,这两个变体的自适应性能都有所下降。 例如,与在VTAB-Natural上的嵌入空间(Prepend)中的默认预置相比,在投影层(Prepend-Pixel)之前预置浅层提示的精度得分下降了6.9%。 如果我们将一个新的信道连接到输入图像(concat-channel)上,性能会进一步恶化(在vtab-natural上甚至会下降30分)。 这些观察表明,在Transformer的潜在输入空间中,提示更容易学习压缩的任务依赖信号。
提示长度。 与完全微调相比,这是为VPT调优所需的唯一额外的超参数。 为了便于参考,我们还根据它们各自的额外超参数消融了另外两个基线,即MLP的层数和适配器的减少率。 如图所示 6、最佳提示长度因任务而异。 值得注意的是,即使只有一个提示,vpt-deep的性能仍然显著优于其他两个基线,并且与VTABStructured和Natural上的完全微调相比仍然具有竞争力,甚至更好。
快速深度。 图 7烧蚀哪些层和多少层插入提示。 每个变体报告用VAL集选择的最佳提示长度。 VPT的表现总体上与提示深度呈正相关。 然而,如果我们从上到下插入提示,准确性就会下降,这表明早期Transformer层的提示比后来的层更重要。
最终输出。 在VIT原有配置的基础上,我们使用[CLS]的最终嵌入,即XN作为分类头输入,这也是VIT实验中的默认设置。 如图所示 8,如果我们使用图像·patch输出嵌入EN上的平均池作为最终输出(图像池),结果基本上保持不变(例如,对于VTAB-Specialized来说,82.4比82.3)。 但是,如果池涉及最终提示输出ZN(prompt-pool和global-pool),精确度可能会下降8个百分点。
分析讨论
可视化。 图 9显示了XN的T-SNE[55]可视化,即在最后一个Transformer层之后和分类头之前的[CLS]嵌入,用于VTAB(SVNH[58],Eurosat[32],CLEVR/COUNT[38])中的3个任务,每个子组一个。 所有的图都表明VPT-Deep在使用比Full更少的参数的情况下支持线性可分离的表示。 我们还观察到,与只插入第一层输入提示的VPT-shallow,相比,每个Transformer层(VPT-deep)的额外可调参数提高了性能。 有趣的是,在CLEVR/COUNT(图9(c))上,VPT-deep和full恢复了任务的底层流形结构(计算图像中的对象与街道号码或景观识别),而不像VPT-sharly和linear。
将VPT应用于更多的视觉任务。 通过使用Transformer模型SETR-PUP[89]对ADE20K[90]语义分割任务进行评估,我们探索了VPT超越视觉分类的可行性。 它将一个标准的ConvNet头添加到VIT主干网络中以执行分割。 事实上的方法仍然是完全微调预先训练的主干网络和CONVNET头(全)。 我们还包括两个协议进行比较:仅更新头部层(Head Only)和更新头部层和主干网络中的偏置向量(Bias)。 在TAB。 3、我们报告了Val Miou在多尺度和不多尺度下的结果。 尽管参数有效协议无法与Full竞争,但VPT仍然可以与BIAS相媲美。 值得注意的是,VPT提供了与完全微调的最先进的ConvNet模型(Deeplab v3+[10])相比具有竞争力的结果,同时调整的参数明显较少(分别为15M和64M)。
将VPT应用于更多的预训练方法。 除了用标记数据预先训练的骨干之外,我们还用两个自监督目标进行实验:MAE[30]和MOCO V3[11]。 塔布。 4报道VTAB-1K与VITB联合应用的结果。 我们观察到VPT的两种变体都超过了线性,但其他技术之间的比较没有那么结论性。 对于MAE,其他参数有效的方法,如PARTIAL-1,优于VPT和线性方法。 在MOCO V3的情况下,VPT不再保持最好的性能,尽管它仍然与其他竞争对手。 这表明,这两个自我监督的VITS与前几节的监督VITS有根本的不同。 究竟为什么以及如何产生这些差异仍然是一个悬而未决的问题。
将VPT应用于ConvNets。 我们研究了在ConvNets的输入空间中添加可训练参数的思想:用p个可学习的提示像素填充输入图像的高度和宽度。 尽管这种操作看起来非常规,但我们以这种方式实现VPT,因为没有明显的解决方案来添加类似于Transformer对应方的位置不变提示。 事实上,这种方法在以前的对抗性文献[20]中已经被探索过。 我们实验中的P值比以前的工作小2个数量级:例如5比263。 最重要的是,我们将这一思想投射到迁移学习的镜头中。 更多讨论见附录C。
塔布。 5分别给出了Convnext-B[53]和Resnet-50[31]在Imagenet-1K上预训练的结果。 VPT在较大的ConvNet主干网络ConvNext-B中工作得很好,提供了比其他稀疏调优协议(B,C)更高的精度,并在19种情况下的8种情况下优于完全调优协议。 然而,VPT的优势随着较小的ConvNet(RESNET50)而减弱,因为所有19个VTAB-1K任务都没有明确的赢家。
结论
我们提出了可视化提示调整,这是一种新的参数有效的方法,可以利用大型视觉Transformer模型进行广泛的下游任务。 VPT在输入空间中引入任务特定的可学习提示,保持预先训练的主干网络不变。 我们表明VPT可以超越其他微调协议(通常包括完全微调),同时显著降低存储成本。 我们的实验也提出了不同预训练目标的视觉Transformer的微调动力学,以及如何以有效的方式转移到更广泛的视觉识别任务中的问题。 因此,我们希望我们的工作将对未来的研究如何最好地挖掘大型基础模型在视觉方面的潜力有所启发。
附录
A实现细节
我们使用PyTorch[62]在NVIDIA A100-40GB的GPU上实现所有实验。
分类实验
VPT. 我们使用每个数据集的val集来找到最佳提示长度p,请参见 3.2节. 提示符长度是我们调优的唯一VPT特定的超参数。 对于Transformer骨干,VIT和SWIN的P范围分别为{1,5,10,50,100,200}和{1,5,10,50}。 对于两种体系结构,P的最大选择近似于每个MSA中的图像patch令牌数(VIT:196,SWIN:49)。 对于VPT-Deep我们还应用0.1的差值。 对于ConvNets,p的值域为{1,3,5,7,9,11}。 每个提示用Xavier统一初始化方案随机初始化[26]。 我们遵循最初主干网络的设计选择,例如分类令牌[CLS]的存在,或者是否使用最终的[CLS]嵌入用于分类头输入。
适配器。 适配器[34]在每个Transformer层中插入额外的轻量级模块。 一个适配器模块通常包括线性向下投影(具有减小率r),随后是非线性激活函数,以及线性向上投影,以及剩余连接。 [63,64]彻底搜索了所有可能的配置,发现只有在FFN“Add&LayerNorm”子层之后插入适配器才是最好的。 因此,我们也在自己的实现中使用这种设置。 我们扫过{8,64,256}中的约化率R。
增强和其他超参数。 在训练过程中采用标准的图像增强策略:用ImageNet均值和标准差进行归一化,对5个FGVC数据集随机调整裁剪大小为224×224和随机水平翻转,对VTAB-1K套件调整为224×224。 6总结了我们使用的优化配置。 遵循[56],我们使用每个任务的VAL集,进行网格搜索来寻找特定于调谐的超参数、学习速率和权值衰减值。 根据线性缩放规则[42,27,11,30],学习速率被设置为基LR×B/256,其中B是用于特定模型的批量大小,基LR从tab中指定的范围中选择。 6. 每个实验的最佳超参数值可在附录D中找到。
数据集和预先训练的骨干规范。 标签。 7和8总结了评估的分类数据集的统计和细节,以及论文中使用的所有预先训练的骨干。 图 10包括评价的所有24项分类任务的图像实例。
语义分割实验
ADE20K[90]是一个具有挑战性的场景解析基准,有150个细粒度标签。 训练集和验证集分别包含20,210和2,000幅图像。 在我们的实现中,我们使用了公共码基MM分段[15]。4 VIT-L主干网络是在ImageNet-21K上进行监督预训练的。5
SETR[89]是一个使用VIT作为编码器的竞争分割框架。 PUP是一种由连续卷积层和双线性上采样操作组成的渐进上采样策略。 在多个解码器的选择中,根据MM分割的再现,PUP工作得最好,因此我们在实现中也使用了它。6
当将VPT应用于SETR-PUP时,我们只在SETR的VIT编码器主干网络中插入提示。 对于解码器,仅使用图像patch嵌入作为输入,丢弃提示嵌入。 与识别任务相同,在训练过程中只学习PUP解码器头部和提示,VIT主干网络被冻结。 对于完全微调,我们使用了与MM分段中相同的超参数。 对于Headonly、Bias和VPT,我们使用超参数扫描学习速率{0.05,0.005,0.0005,0.001}。 所有方法的最佳学习率为0.005。 我们扫过提示长度p∈{1,5,10,50,100,200}。 对于VPT,我们还将学习率乘数改为1.0,而不是默认的10.0,因此解码器头和提示共享相同的学习率。 其他超参数与完全微调保持不变。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net