SA2VP: Spatially Aligned-and-Adapted Visual Prompt

本文提出了一种新的视觉模型调整方法SA2VP,通过学习空间对齐的二维提示令牌图,解决顺序建模中缺乏空间结构和细粒度提示的问题。SA2VP通过双向交互和提示适配器增强模型对下游任务的知识提取和特征自适应。
摘要由CSDN通过智能技术生成

SA2VP: Spatially Aligned-and-Adapted Visual Prompt

  • 论文链接:https://arxiv.org/pdf/2312.10376.pdf
  • 源码链接:https://github.com/tommy-xq/SA2VP

简介

通过参数高效微调技术将大型预训练视觉模型适应到特定下游任务已经被证实为一个高效的策略,特别是在训练数据有限的场合。它不仅从预训练模型蒸馏与下游任务相关的先验知识,而且通过仅引入少量参数调整符合提高训练效率。作为突出的PEFT方法,提示调整已经获得了在NLP领域显著的成功,并已经在CV领域探索了它的潜力。

大部分已有的视觉提示调整方法遵循顺序建模范式,这源于NLP中提示的学习方法。典型的例子是VPT,其使用预训练视觉Transformer模型编码输入图像为顺序表示,之后学习一组提示令牌作为辅助输入附加在图像表示后。学习的视觉提示期望可以从预训练模型蒸馏相关知识从而将预训练模型适应到下游目标任务。尽管这样的顺序建模范式已经显示了巨大成功,但它有两个潜在限制:1. 因为没有空间结构可以通过简单的提示令牌无需序列结构捕捉,它不能建模潜在的输入图像空间关系,这对于图像的特征学习是重要的。2. 在顺序建模范式的所有视觉提示对提示所有图像令牌起到相同作用没有差异,因此不能对于不同图像令牌执行个性提示以获得细粒度提示。不同的图像令牌可以有不同语义因此可能需要特殊的提示。

为了解决上述两个限制,本文提出了空间对齐-适应视觉提示模型(Spatially Aligned-and-adapted Visual Prompt,SA2VP)。本文的SA2VP不是在顺序建模范式中学习视觉提示的无序序列,而是学习与图像大小相等(或按比例缩放)的二维提示令牌图。此外,将预训练的模型的学习位置嵌入合并到提示令牌图中,以保持空间结构。结果,SA2VP能够在空间上将提示令牌图与图像令牌图对齐,这产生两个基本优点:首先它可以学习输入图像的空间关系因为空间结构在提示标记图中得到了很好的保存,这使得本文模型能够通过视觉提示提取更有效的知识。其次,每个提示令牌被指定为仅提示空间上对应的图像令牌,这使得本文模型能够以细粒度方式分别对不同图像令牌进行提示。

本文方法

视觉提示调整目标是以小负荷的参数调整将大预训练视觉模型使用到下游任务。它需要学习提示作为辅助输入引导模型从预训练模型挖掘下游任务相关知识。

视觉提示的顺序建模范式

给定输入图像 I I I,对于提示调整的顺序建模范式首先将图像 I I I划分为N个等尺寸的补丁并编码 I I I为平坦的令牌补丁序列 E ∈ R N × d \mathbf{E}\in \mathbb{R}^{N\times d} ERN×d。其中每N补丁对应一个图像补丁,d是特征维度。p个参数化令牌嵌入集合 P ∈ R p × d \mathbf{P}\in \mathbb{R}^{p\times d} PRp×d学习为视觉提示并作为序列表示 E \mathbf{E} E的前缀。形成的序列送入预训练视觉模型 F M \mathcal{F}_{M} FM以产生对于下游任务的预测 O \mathbf{O} O
O = F M ( [ P , E ] ) \mathbf{O}=\mathcal{F}_{M}([\mathbf{P},\mathbf{E}]) O=FM([P,E])
F M \mathcal{F}_{M} FM中所有参数冻结,只有 P \mathbf{P} P和分类头是可学习的,这显著减少了调整负荷。

直观地,在训练期间将与下游任务相关的知识从预训练模型中提取到所学习的视觉提示令牌中。因此通过将提取的知识纳入建模推理,可以使预训练模型适应下游任务。

空间对齐与自适应视觉提示

孪生双通路架构

为了解决顺序建模范式的两个局限性,本文设计了空间对齐和自适应的视觉提示(Spatially Aligned-and-Adapted Visual Prompt,SA2VP)架构,如图2所示。它由两个通路组成:学习视觉提示的提示通路 P \mathcal{P} P和学习图像特征的基础通路 B \mathcal{B} B。两个通路都使用相同的预训练视觉模型,以冻结参数为backbone。这里将ViT作为预训练的视觉模型实例化,而本文模型很容易应用于其他经典视觉模型,例如Swin Transformer或ResNet。因此提出的SA2VP遵循两通道相互作用的孪生结构。提示通路通过与基本路径的交互提取与下游任务相关的知识,而基本路径通过关注提示路径获得提示知识。外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

空间结构保护提示图

提出的SA2VP基本设计在于视觉提示令牌的空间对齐的2D结构,这与顺序建模范式的顺序提示形成了对比。如图2所示,本文的SA2VP学习一个2D提示令牌图,该图与图像令牌有相同大小(或缩放)。同时将预训练模型的与学习位置嵌入添加到提示图的每个令牌中,从而可以很好地实现空间结构。因此SA2VP能够在空间上将提示令牌图与图像令牌图对齐,这产生了与顺序建模范式的两个局限性对应的两个关键好处。首先每个提示令牌专门负责提示空间上对应的图像令牌的知识。其次得益于提示令牌图和图像令牌之间的空间对齐,所学习的提示令牌图可以很好地保持图像空间结构,从而对输入图像中包含的空间关系进行建模,这可能有利于更有效的图像编码。

基于空间对齐双向交叉注意力的双向交互

提示通路和基础通路通过设计的空间对齐的双向交叉注意力操作,在相同深度的层中相互进行双向交互。具体地,提示通路的提示令牌充当交叉注意力的查询,将相关知识从基础通路提取下游任务相关知识。相反,基本通路的图像令牌查询提示通路以获得提示知识。如图2所示,两个方向的交互是异步执行的。

与在每个注意力操作的查询令牌和所有值令牌之间执行全局交互的典型交叉注意力不同,在提出的空间对齐的交叉注意力期间,查询令牌只关注空间对应位置中的值令牌。以基础通道到提示通道交互的交叉注意力为例,位于基础通道第l层的<x,y>位置令牌作为查询 q < x , y > B , l \mathbf{q}_{<x,y>}^{\mathcal{B},l} q<x,y>B,l,关注提示路径第l层中空间对应位置的令牌,该令牌即中心为<x,y>的 c × c c\times c c×c的正方形窗口:
q = q < x , y > B , l W q , K = R P , l W K , V = R P , l W V \mathbf{q}=\mathbf{q}_{<x,y>}^{\mathcal{B},l}\mathbf{W}^{q},\quad \mathbf{K}=\mathbf{R}^{\mathcal{P},l}\mathbf{W}^{K},\quad \mathbf{V}=\mathbf{R}^{\mathcal{P},l}\mathbf{W}^{V} q=q<x,y>B,lWq,K=RP,lWK,V=RP,lWV

o < x , y > B , l = softmax ( q K T d k ) + q < x , y > B , l \mathbf{o}_{<x,y>}^{\mathcal{B},l}=\text{softmax}(\frac{\mathbf{q}\mathbf{K}^{T}}{\sqrt{d_{k}}})+\mathbf{q}_{<x,y>}^{\mathcal{B},l} o<x,y>B,l=softmax(dk qKT)+q<x,y>B,l

交叉注意力后采用残差链接。上式中所有涉及的参数,包括 W q , W K , W V \mathbf{W}^{q},\mathbf{W}^{K},\mathbf{W}^{V} Wq,WK,WV都是从预训练的视觉模型的第l层自注意力操作中重用的,这消除了计算负荷。 c c c是一个超参数,用于平衡提示的局部特异性和全局平滑性。 c = 1 c=1 c=1对应于最细粒度提示。

提示适配器

为了促进提示知识从预训练的backbone到下游任务的特征自适应,本文在交叉注意力操作后插入一个轻量级提示适配器。如图2所示,提示适配器由两个MLP层和之间的ReLU与LayerNorm组成。因此,在 < x , y > <x,y> <x,y>的提示特征适配为:
o < x , y > B , l = ReLU ( LN ( o < x , y > B , l ) ⋅ W d o w n ) ⋅ W u p \mathbf{o}_{<x,y>}^{\mathcal{B},l}=\text{ReLU}(\text{LN}(\mathbf{o}_{<x,y>}^{\mathcal{B},l})\cdot W_{down})\cdot W_{up} o<x,y>B,l=ReLU(LN(o<x,y>B,l)Wdown)Wup
特征维度通过可学习矩阵 W d o w n ∈ R d × t W_{down}\in R^{d\times t} WdownRd×t d d d收缩到t,之后通过矩阵 W u p ∈ R t × d W_{up}\in R^{t\times d} WupRt×d扩展回 d d d。适应提示特征 o < x , y > B , l \mathbf{o}_{<x,y>}^{\mathcal{B},l} o<x,y>B,l与第l层backbone的原始输出特征 f < x , y > B , l \mathbf{f}_{<x,y>}^{\mathcal{B},l} f<x,y>B,l通过加权和混合:
f < x , y > B , l = f < x , y > B , l + γ o < x , y > B , l \mathbf{f}_{<x,y>}^{\mathcal{B},l}=\mathbf{f}_{<x,y>}^{\mathcal{B},l}+\gamma\mathbf{o}_{<x,y>}^{\mathcal{B},l} f<x,y>B,l=f<x,y>B,l+γo<x,y>B,l
本文的提示适配器专注于调整提示知识,这与适配器的经典设计策略有不同,经典策略在backbone的每一层上执行特征调整。

层间提示混合

与VPT类似,本文可以只在被称为浅模式的第一层中学习视觉提示,也可以在被称深模式的多个ViT中学习提示。一般地,深度模式中更多的视觉提示比千层模式具有更大表示能力。此外,不同层次的视觉提示可以潜在地提取和提示与backbone不同深度的特征相对应的不同级别的知识。在本文的深度模式中,分别在backbone的第0、4、8层学习三个提示层,它们是根据经验设置的,对应于backbone的三个不同深度。受到SSF强大的特征自适应能力的启发,其对每个特征维度执行放射变换,本文在融合到提示通路之前对新学习的提示令牌图进行相似变换,以弥合它们之前的特征差异。在backbone第l层的新学习提示令牌图 P l ∈ R h l × w l × d \mathbf{P}^{l}\in \mathbb{R}^{h^{l}\times w^{l}\times d} PlRhl×wl×d,学习一个参数化缩放向量 e ∈ R d \mathbf{e}\in \mathbb{R}^{d} eRd并在空间上复制它以具有与 P l \mathbf{P}^{l} Pl相等空间大小 h l × w l h^{l}\times w^{l} hl×wl,记为 E ∈ R h l × w l × d \mathbf{E}\in \mathbb{R}^{h^{l}\times w^{l}\times d} ERhl×wl×d。然后在 E \mathbf{E} E P l \mathbf{P}^{l} Pl之间执行Hadmard积用于特征缩放,并通过将缩放后结果添加到提示通道第l层的特征图 O P , l \mathbf{O}^{\mathcal{P},l} OP,l来进行层间提示融合。
O P , l = E ⊙ P l + O P , l \mathbf{O}^{\mathcal{P},l}=\mathbf{E}\odot \mathbf{P}^{l}+\mathbf{O}^{\mathcal{P},l} OP,l=EPl+OP,l
提示学习

根据常规实验设置,使用图像分类作为预训练和下游任务,同时使用不同的源数据。优化本文的SA2VP的一个简单方法是将交叉熵损失用于监督学习。在推理过程中,基本通路的输出特征通常用于分类,因此本文主要在基本通路上进行交叉熵损失。为了明确增强视觉提示对下游任务学习相关知识的能力,本文还将提示通道上的交叉熵损失作为辅助损失监督本文的模型。
L a l l = λ L C E B ( y r , y ∗ ) + ( 1 − λ ) L C E ( y p , y ∗ ) L_{all}=\lambda L_{CE}^{\mathcal{B}}(y_{r},y^{*})+(1-\lambda)L_{CE}(y_{p},y^{*}) Lall=λLCEB(yr,y)+(1λ)LCE(yp,y)

实验

  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qgh1223

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值