©作者 | 赵阳、小舟

来源 | 机器之心

来自康奈尔大学、Meta AI 和哥本哈根大学的研究者提出一种优化 Transformer 的有效方案,在只添加少量参数的情况下,对下游任务有极大的提升效果。

识别问题往往是通过预训练大型基础模型处理大量精选或原始数据的方式解决的。这似乎是一种可行的模式:只需利用最新最好的基础模型,就可以在多个识别问题上取得极大的进展。

然而,在实践中,将这些大型模型用于下游任务就存在一些挑战。最直接(通常也是最有效)的适应策略是针对任务对预训练模型进行端到端的全面微调(full fine-tuning)。但这种策略需要为每个任务存储和部署一个单独的主干网络参数副本。因此这种方法通常成本很高且不可行,特别是基于 Transformer 架构的模型会比卷积神经网络大得多。

近日,来自康奈尔大学、Meta AI 和哥本哈根大学的研究者试图找到让大型预训练 Transformer 模型适应下游任务的最佳方法。

论文标题:

Visual Prompt Tuning

论文链接:

https://arxiv.org/abs/2203.12119

首先,解决这个问题的一种简单策略是参考卷积网络适应新任务的方法,如下图 1 (a) 所示。一种较为普遍的方法是只微调参数的一个子集,如分类器头或偏置项(bias term),还有研究考虑在主干网络中添加额外的残差块(或适配器)。这些策略也可以用于 Transformer 模型。然而,这些策略在准确性上往往不如微调参数。

本研究的研究者探索了一条完全不同的路线。他们不修改或微调预训练 Transformer 本身,而是修改 Transformer 的输入。受 prompt 方法最新进展的启发,研究者提出了一种简单有效的新方法,将 transformer 模型用于下游视觉任务 (图 1 (b)),即视觉 prompt 调优 (visual prompt tuning,VPT)。

VPT 方法只在输入空间中引入少量特定于任务的可学习参数,同时在下游训练过程中固定整个预训练 transformer 主干网络。在实践中,这些附加参数简单地被添加到 transformer 中每个层的输入序列中,并在微调过程中与 linear head 一起更新。

该研究使用预训练 ViT 主干网络完成 24 个不同领域的下游识别任务,VPT 击败了所有其他迁移学习 baseline,甚至在 20 种情况下超过了全面微调方法,而只用到极少量的参数(少于主干网络参数的 1%)。

实验结果表明 VPT 具有独特的优势。在 NLP 中, prompt 方法只能在一些特定情况下与全面微调方法性能相当。而 VPT 在小数据环境中也特别有效,在各种数据规模上均保持着优势。此外,VPT 在 Transformer 的扩展和设计方面也具有竞争力。综上所述,VPT 是适应不断增长的视觉主干网络的最有效方法之一。

方法

VPT 将少量可学习参数引入 Transformer 的输入空间,并在下游训练阶段固定主干网络。总体框架如图 2 所示。

1.1 符号表示

对于 N 层的 Vision Transformer (ViT),输入图像分为 m 个固定大小的 patch

402 Payment Required

。是图像 patch 的高度和宽度。接下来每个 patch 先是嵌入到具有位置编码的 d 维潜在空间中:

其中,

402 Payment Required

表示图像 patch 嵌入的集合,并且也作为第 (i+1) 个 Transformer 层 的输入。连同一个额外的可学习分类 token(),整个 ViT 被表述为:

表示 在 的输入空间的嵌入。 表示在序列长度维度上的融合(stacking)和级联(concatenation),即 。每层 由多头自注意力 (MSA) 和前馈网络 (FFN) 以及 LayerNorm 和残差连接组成。神经分类头用来将最后一层的 嵌入 ,映射到预测的类概率分布 y 中。

1.2 VPT

给定一个预训练的 Transformer 模型,该研究在嵌入层之后的输入空间中引入 p 个维度为 d 的连续嵌入,即 prompt。在微调期间仅更新特定于任务的 prompt,而 Transformer 主干保持不变。根据所涉及 Transformer 层的数量,研究者提出两种变体,VPT-shallow 和 VPT-deep,如图 2 所示。

VPT-Shallow:prompt 仅插入到第一个 Transformer 层 中。每个 prompt 都是一个可学习的 d 维向量。p 个 prompt 的集合表示为 ,shallow-prompted ViT 为:

其中, 表示第 i 个 Transformer 层计算得到的特征,。

如图 2 所示,橙色和蓝色标记的变量分别表示可学习和固定的参数。值得注意的是,对于 ViT, 相对于 prompt 的位置是不变的,因为它们是在位置编码之后插入的,例如, 和 在数学上是等价的。这也适用于 VPT-Deep。

VPT-Deep:在每个 Transformer 层的输入空间都引入了 prompt。对于第 (i+1) 层 ,输入的可学习 prompt 集合表示为 。VPT-Deep 的 ViT 为:

视觉 prompt 的存储:VPT 在存在多个下游任务时具有显著优势,只需要为每个任务存储学习到的 prompt 和分类头,并重新使用预训练 Transformer 模型的原始副本,这显著降低了存储成本。例如,给定一个具有 8600 万参数的 ViT-Base(d = 768),50 个 VPT-Shallow 和 VPT-Deep 产生额外的 p × d = 50 × 768 = 0.038M 和 N × p × d = 0.46M 参数,分别仅占所有 ViT-Base 参数的 0.04% 和 0.53%。

实验

下表 1 展示了在 4 个不同的下游任务组上微调预训练 ViT-B/16 的结果,并将 VPT 与其他 7 种调优方法进行了比较。我们可以看到:

1. VPT-Deep 在 4 个问题类别中的 3 个(24 个任务中的 20 个)上优于其他全部方法(表 1 (a)),同时使用的模型参数总量显著减少(1.18× VS 24.02×)。可见,VPT 是一种很有前途的方法,可以在视觉任务中适应更大的 Transformer。

2. VPT-Deep 在所有任务组中都优于所有其他的参数调优方法(表 1 (b,c)),表明 VPT-deep 是存储受限环境中最好的微调策略。

3. 虽然比 VPT-deep 略差一点,但 VPT-shallow 仍然比(表 1 (b))中的 head-oriented 方法性能更好。如果存储限制很严重,VPT-shallow 是部署多任务微调模型的合适选择。

图 3 显示了每种方法在不同训练数据规模上的平均任务结果。VPT-deep 在各种数据规模上都优于其他 baseline。

图 4 显示了 3 种不同主干规模下 VTAB-1k 的性能:ViT-Base/Large/Huge,VPT-deep 显著优于 Linear 和 VPT-shallow。

此外,研究者还将 VPT 扩展到 Swin 上,在局部移位窗口中使用 MSA,并在更深层合并 patch 嵌入。为简单且不失一般性起见,研究者以最直接的方式实现 VPT:prompt 被用于局部窗口,而在 patch 合并阶段被忽略。

如下表 2 所示,该研究在 ImageNet-21k 监督的预训练 Swin-Base 上进行实验。尽管在这种情况下,Full 总体上能产生最高的准确率(总参数成本也很高),但对于 VTAB 的三个子组,VPT 仍然优于其他微调方法。

更多阅读

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

视觉Prompt新方法:超越所有微调方法,参数量大幅减少相关推荐

  1. 预测机器剩余使用寿命的可解释回归框架;基于磁场诱导Skyrmion动力学的神经形态计算模式识别;宽截面纳米带连续体内外的束缚态:一种新的递归S矩阵方法;脑-机接口:研究从视觉诱发电位到纯粹想象稳态电位

    可解释的机器学习 1)中文标题:预测机器剩余使用寿命的可解释回归框架 英文标题:An Explainable Regression Framework for Predicting Remaining ...

  2. LLMs:大模型微调技巧的简介、四类微调方法(Prefix Tuning/Prompt Tuning,P-tuning/P-tuning v2​​​​​​​,Adapter Tuning,LoRA/Q

    LLMs:大模型微调技巧的简介.四类微调方法(Prefix Tuning/Prompt Tuning,P-tuning/P-tuning v2,Adapter Tuning,LoRA/QLoRA)之详 ...

  3. 【LLM大模型】模型和指令微调方法

    note Hugging Face 的 PEFT是一个库(LoRA 是其支持的技术之一,除此之外还有Prefix Tuning.P-Tuning.Prompt Tuning),可以让你使用各种基于 T ...

  4. NAACL 2022 | DOP-Tuning: 面向对话摘要领域自适应的轻量级微调方法

    ©作者 | 曾伟豪 单位 | 北京邮电大学 研究方向 | 对话摘要生成 本文介绍一下我们组在面向领域迁移的对话摘要任务上的工作. 论文标题: Domain-Oriented Prefix-Tuning ...

  5. 参数量下降85%,性能全面超越ViT:全新图像分类方法ViR

    来源:机器之心 本文共1700字,建议阅读5分钟 ViT 还不够完美?来自华东师范大学等机构的研究者提出了全新的图像分类方法 ViR,在模型和计算复杂性方面都优于 ViT. 近一年来,视觉 Trans ...

  6. 12层的bert参数量_只需一个损失函数、一个超参数即可压缩BERT,MSRA提出模型压缩新方法...

    来自武汉大学.北京航空航天大学和微软亚洲研究院的这项研究为模型压缩提供了新方向. 机器之心报道,参与:魔王. 论文链接:https://arxiv.org/pdf/2002.02925.pdf 这篇论 ...

  7. php数据表相同字段合并,php实现两表合并成新表并且有序排列的方法

    这篇文章主要介绍了php实现两表合并成新表并且有序排列的方法,涉及针对数组的遍历与排序操作技巧,具有一定的实用价值,需要的朋友可以参考下 本文实例讲述了php实现两表合并成新表并且有序排列的方法.分享 ...

  8. php 自动生成查询密码,php自动生成新密码的两种方法

    php自动生成新密码的两种方法,方法一采用的是随机种子,方法是乱序数组,异曲同工吧. 有需要的朋友可以参考下. 方法1: 代码示例: /* * php自动生成新密码自定义函数 适用环境: PHP5.2 ...

  9. 调用实现天气预报功能android,Android编程实现获取新浪天气预报数据的方法

    本文实例讲述了Android编程实现获取新浪天气预报数据的方法.分享给大家供大家参考,具体如下: 新浪天气预报地址: http://php.weather.sina.com.cn/xml.php?ci ...

  10. 【Java8新特性】浅谈方法引用和构造器引用

    写在前面 Java8中一个很牛逼的新特性就是方法引用和构造器引用,为什么说它很牛逼呢?往下看! 方法引用 当要传递给Lambda体的操作,已经有实现的方法了,可以使用方法引用!这里需要注意的是:实现抽 ...

最新文章

  1. php 读取excel转html,PHPExcel 转HTML
  2. windows下php配置redis
  3. notepad 没有plugin manager_自学英语的几个网站(免费网站)?性价比高的机构有没有?...
  4. PyQt5:窗口的基本功能
  5. qt qthead里如何响应信号_Qt 中的多线程技术(翻译)
  6. access的ole对象换成mysql_ACCESS的Ole对象读取写入
  7. JVM(2)——JVM类加载机制
  8. 写给即将入行以及刚入行的程序员,你需要注意的几个点,别忽略!
  9. 网络-HTTP-Cookie
  10. 在SQL Server 2017上充分利用Python
  11. 台湾域名总量一周统计:9月第一周新增59个
  12. [CGAL] CGAL的世界-Kernel内核、Traits特征类
  13. 【JavaEE基础与高级 第42章】C3P0连接数据库操作顺序
  14. matlab读ascii的dat,[转载]MATLAB读取和调用各种数据(txt,dat,ma
  15. left join和left outer join 有什么区别?这样解释通俗易懂
  16. KnowStreaming贡献流程
  17. [1095]Appium使用wifi连接多台手机
  18. 强制类型转换运算符的优先级
  19. 二叉搜索树(二叉树进阶)
  20. 第二届国信蓝点模拟试题

热门文章

  1. zz红外焦平面阵列用信号处理电路
  2. [知识点整理]使用论文内容和用户行为对论文推荐进行个性化的重新排序(Personalised Reranking of Paper Recommendations Using Paper Conte)
  3. 七夕情人节生日节日表白网页,不是程序员也会用~
  4. Linux上一个恶意程序分析实例:一步一步揭开病毒程序的面纱1
  5. html5制作一个六角星,儿童节手工折纸六角星制作教程
  6. UE5实现PS图层样式投影效果
  7. 哒螨灵使用注意事项_常用杀虫剂-哒螨灵使用方法
  8. TCP/IP模型背后的内涵
  9. install package vif包_每天学点之CentOS软件源码包安装
  10. Web3即将到来,我们做了什么?