【提示学习论文七】Visual Prompt Tuning论文原理

发布时间:2024年01月16日

Visual Prompt Tuning(VPT)

文章介绍

  • 这篇文章于2022年发表在ECCV(European Conference on Computer Vision),作者是Menglin Jia, Luming Tang,Bor-Chun Chen, Claire Cardie, Serge Belongie,Bharath Hariharan, Ser-Nam Lim。
  • VPT是一种有效的用于大规模Transformer的视觉微调,只需要在输入空间引入少量可训练参数,同时冻结backbone。

Abstract

目前适应预训练模型的操作方法涉及更新所有骨干参数,即全面微调。本文介绍了视觉提示调谐(Visual Prompt Tuning, VPT)作为一种有效的替代方案,在视觉上对大型变压器模型进行全微调。从高效调优大型语言模型的最新进展中获得灵感,VPT在保持模型主干冻结的同时,仅在输入空间中引入少量(不到模型参数的1%)可训练参数。通过对各种下游识别任务的广泛实验,我们表明,与其他参数高效调优协议相比,VPT实现了显着的性能提升。最重要的是,在跨模型容量和训练数据规模的许多情况下,VPT甚至优于完全微调,同时降低了每个任务的存储成本。代码可从github.com/kmnp/vpt获得。

1 Introduction

对于大模型适应下游任务时,通常的策略是进行端到端的全面微调,然而这种策略需要为每个人物存储部署单独的主干参数,代价比较高。在这里插入图片描述

  1. 目前的迁移学习:
  • 全精调(Full fine-tuning)
  • 头部导向(Head-oriented)
  • 骨干导向(Backbone-oriented)
  1. VPT相反,在输入空间中添加了额外的参数
  2. 在一系列基于预训练的ViT-B骨干适应的下游分类任务中,展示了不同方法的性能,包括均值和标准差。VPT在24个案例中的20个表现优于全精调,同时使用不到总模型参数的1%。

2 Related Work

3 Approach

我们提出了视觉提示调优(VPT)来适应大型预训练的视觉transformer模型,VPT在Transformer的输入空间中注入少量的可学习参数,并在下游训练阶段保持骨干的冻结。总体框架如图2所示。我们首先在第3.1节定义符号,然后在第3.2节正式描述VPT。
在这里插入图片描述

3.1 准备工作

3.2 Visual-Prompt Tuning(VPT)

给定一个预训练的Transformer模型,在Embed层之后的输入空间中引入了一组p个连续的维度为d的嵌入,即prompts。VPT有两个变体,即VPT-shallowVPT-deep,取决于涉及的Transformer层数。

  • 红色:更新参数
  • 蓝色:冻结参数

3.2.1 VPT-Shallow

Prompts仅插入到第一个Transformer层L1中:
在这里插入图片描述

  • Z i Z_i Zi?:第 i i i个Transformer层计算出的特征
  • x i x_i xi?:class token
  • E i E_i Ei?:图片的第 i i i个patch
  • [ x ? i , Z ? i , E ? i ] ∈ R ( 1 + p + m ) × d [\vec{x}_i, \vec{Z}_i, \vec{E}_i] \in \mathbb{R}^{(1+p+m) \times d} [x i?,Z i?,E i?]R(1+p+m)×d:ViT的输出

3.2.2 VPT-Deep

Prompts引入到每个Transformer层的输入空间中:

在这里插入图片描述
第( i i i+1)层的输入prompt集合: P i = p k i ∈ R d ∣ k ∈ N , 1 ≤ k ≤ m P_i = {p_{k_i} \in \mathbb{R}^d | k \in \mathbb{N}, 1 \leq k \leq m} Pi?=pki??RdkN,1km

3.2.3 Storing Visual Prompts 存储视觉提示

VPT在存在多个下游任务时非常有益,只需存储每个任务学到的prompts和分类头(Head),并重复使用预训练Transformer模型的原始副本,从而大大减少了存储成本。

4 实验

主要结果

给出了在4个不同的下游任务组中平均微调预训练的VPT-b/16的结果

模型设计变体的消融

  • Prompt Location(提示位置):VPT和其他方法之间的一个重要区别是作为Transformer层的输入引入了额外的学习参数
    在这里插入图片描述
  • Prompt Length(提示长度):与完全微调相比,这是VPT调优所需的唯一额外超参数。
    在这里插入图片描述
  • Prompt Depth(提示深度):VPT的表现总体上与提示深度呈正相关,如果我们从上到下插入提示,准确的就会下降,这表明Transformer早期层的提示比后期层的提示更重要
    在这里插入图片描述

5 分析和讨论

6 结论

我们提出了可视化提示调优,这是一种新的参数高效方法,可以利用大型视觉Transformer模型进行广泛的下游任务。VPT在输入空间中引入了特定任务的可学习提示,保持预先训练的主干固定。我们证明VPT可以超越其他微调协议(通常包括完全微调),同时极大地降低存储成本。我们的实验也提出了关于不同预训练目标的视觉transformer的微调动力学,以及如何有效地转移到更广泛的视觉识别任务的有趣问题。

文章来源:https://blog.csdn.net/weixin_51293984/article/details/135597015
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。