丰色 发自 凹非寺
量子位 | 公众号 QbitAI

Prompt tuning,作为NLP领域中的一个“新宠”,甚至曾被学者誉为NLP预训练新范式。

那么,它能否借鉴到CV领域并产生同样的成绩呢?

现在,来自康奈尔大学和Meta AI等机构,通过Prompt来调整基于Transformer的视觉模型,结果发现:

完全可以!

比起全面微调,Prompt性能提升显著。无论模型的规模和训练数据怎么变,24种情况中有20种都完全胜出。

与此同时,它还能大幅降低每项任务所需的存储成本。

只使用不到1%的模型参数

大家一贯使用的全面微调(full fine-tuning),需要为每个下游任务存储和部署单独的主干参数副本,成本太高,尤其是现在基于Transformer的模型越来越大,已经超过CNN架构。

所谓Prompt,最初指的是在输入文本中预编语言指令,以便预培训的语言模型后续可以直接理解各种下游任务。

它曾让GPT-3即使在少样本或零样本的情况下表现出很强的泛化能力。

最近一些成果则表明,Prompt与完全微调的性能相当,参数存储量还减少了1000倍。

NLP中的高超性能让不少人开始在CV领域中探索Prompt的魔力,不过都只局限于跨模态任务中文本编码器的输入。

在本文中,作者将他们所提出的Visual Prompt Tuning方法,简称为VPT。这是首次有人将Prompt应用到视觉模型主干(backbone),并做出成果。

具体来说,比起全面微调,VPT受最新大型NLP模型调整方法的启发,只在输入空间中引入少量可特定某任务训练的参数(不到模型参数的1%),同时在训练下游任务期间冻结(freeze)预训练模型的主干

在实操中,这些附加参数只用预先加入到每个Transformer层的输入序列中,并在微调期间与线性head一起学习。

他们一共探索出两种变体:

VPT-Deep变体为Transformer编码器每层的输入预先设置一组可学习的参数;

VPT-Shallow变体则仅将提示参数插入第一层的输入。

两者在下游任务的训练过程中,只有特定于任务的提示和线性头的参数会更新,而整个Transformer编码器被冻结。

接下来,是骡子是马?拉出来溜溜~

20/24的优胜率

实验涉及两种在ImageNet-21k上预训练好的主干,一个来自Vision Transformer,一个来自Swin Transformer

进行对比的微调方法有三大种,7小种,包括:

(1)完全微调:更新所有主干和分类头(classification head)参数

(2)以分类头为重点的微调,包括Linear、Partial-k和Mlp-k三种;

(3)以及在微调过程中更新一个主干子集参数或向主干添加新的可训练参数的方法,分为Sidetune、Bias和Adapter三种。

实验的数据集有两组,一共涉及24个跨不同领域的下游识别任务,包括:

(1)由5个基准细粒度视觉分类任务组成的FGVC;

(2)由19个不同视觉分类集合组成的VTAB-1k,细分为使用标准相机拍摄的自然图像任务(Natural)、用专用设备(如卫星图像)捕获的图像任务(Specialized)以及需要几何理解的任务(Structured),比如物体计数。

测得每项任务上的平均准确度后,得出的主要结果如下:

VPT-Deep在24个任务中有20个的表现都优于全面微调,同时使用的总模型参数显著减少(1.18× vs. 24.02×);

要知道,在NLP领域中Prompt再厉害,性能也不会超过全面微调。这说明Prompt很适用于视觉Transformer模型

和其他微调方法相比(b、c组),VPT-Deep的性能则全部胜出。

此外,选择不同主干参数规模和模型规模的ViT(ViT-B、ViT-L和ViT-H)进行测试还发现,VPT方法不会受影响,依然基本保持性能领先。

而在Swin Transformer中,全面微调法的平均准确度虽然更高,但也付出了巨大的参数代价。

其他微调方法则全部不敌VPT。

作者介绍

一作贾梦霖,康奈尔大学信息科学(Information Science)博士生,主要研究方向为视觉和文本信息的细粒度识别,截至目前共发表过4篇顶会。

共同一作为唐路明,也是康奈尔大学的一位计算机博士在读学生,本科毕业于清华大学数学与物理专业。

他的主要研究方向为机器学习和计算机视觉的交叉领域。

论文地址:

https://arxiv.org/abs/2203.12119

训练CV模型新思路来了:用NLP大火的Prompt替代微调,性能全面提升相关推荐

  1. 我参加第七届NVIDIA Sky Hackathon——训练CV模型

    如何从0开始训练自己的CV模型 第一步 配置基本环境(在上一篇已经配置了我参加第七届NVIDIA Sky Hackathon--训练ASR模型 ) 第二步 利用labelimg制作图像数据集 第三步 ...

  2. NLP大火的prompt能用到其他领域吗?清华孙茂松组的 CPT 了解一下

    点击"凹凸域",马上关注 更多内容.请置顶或星标 机器之心报道 编辑:张倩 从 GPT-3 开始,一种新的范式开始引起大家的关注:prompt.这段时间,我们可以看到大量有关 pr ...

  3. NLP大火的Prompt能用到其他领域吗?清华孙茂松组的CPT了解一下

    ©作者 | 张倩 来源 | 机器之心 从 GPT-3 开始,一种新的范式开始引起大家的关注:prompt.这段时间,我们可以看到大量有关 prompt 的论文出现,但多数还是以 NLP 为主.那么,除 ...

  4. CV之后,纯MLP架构又来搞NLP了,性能媲美预训练大模型

    视学算法报道 编辑:陈萍.小舟 搞不起大模型,试一下超高性能的纯 MLP 架构? 去年来自谷歌大脑的研究团队在网络架构设计方面挖出新坑,提出 MLP-Mixer ,这是一个纯 MLP 构建的视觉架构. ...

  5. NLP/CV模型跨界进行到底,视觉Transformer要赶超CNN?

    机器之心报道 机器之心编辑部 在计算机视觉领域中,卷积神经网络(CNN)一直占据主流地位.不过,不断有研究者尝试将 NLP 领域的 Transformer 进行跨界研究,有的还实现了相当不错的结果.近 ...

  6. NLP/CV模型跨界,视觉Transformer赶超CNN?

    在计算机视觉领域中,卷积神经网络(CNN)一直占据主流地位.不过,不断有研究者尝试将 NLP 领域的 Transformer 进行跨界研究,有的还实现了相当不错的结果.近日,一篇匿名的 ICLR 20 ...

  7. 一个既能做CV任务,也能做NLP任务的Transformer模型!谷歌UCLA提出统一的基础模型...

    关注公众号,发现CV技术之美 本文分享论文『Towards a Unified Foundation Model: Jointly Pre-Training Transformers on Unpair ...

  8. NLP之PTM:自然语言处理领域—预训练大模型时代的各种吊炸天大模型算法概述(Word2Vec→ELMO→Attention→Transfo→GPT系列/BERT系列等)、关系梳理、模型对比之详细攻略

    NLP之PTM:自然语言处理领域-预训练大模型时代的各种吊炸天大模型算法概述(Word2Vec→ELMO→Attention→Transformer→GPT系列/BERT系列等).关系梳理.模型对比之 ...

  9. NLP之TM之LDA:利用LDA算法瞬时掌握文档的主题内容—利用希拉里邮件数据集训练LDA模型并对新文本进行主题分类

    NLP之TM之LDA:利用LDA算法瞬时掌握文档的主题内容-利用希拉里邮件数据集训练LDA模型并对新文本进行主题分类 目录 输出结果 设计思路 核心代码 训练数据集 LDA模型应用 输出结果 设计思路 ...

  10. 革命性提升-宇宙最强的NLP预训练BERT模型(附官方代码)

    编辑 忆臻 公众号 | 机器学习算法与自然语言处理 yizhennotes 1.  Bert官方源码公开 终于是千呼万唤始出来,Google AI 发表于10月中旬的论文: <BERT: Pre ...

最新文章

  1. Linux_文件系统磁盘分区
  2. HDU 1565 方格取数(1) ——插头DP
  3. MYSQL-RJWEB 博客学习
  4. 冷板式液冷--术语、定义和缩略语(6-1)
  5. Oracle学习:常用语句
  6. [转]用C/C++扩展PHP详解
  7. 如何查看SAP云平台哪些地域支持哪些服务
  8. ntp如何确认与服务器偏差_CentOS 8 启用 NTP 服务
  9. matlab命令 脑电波,基于Matlab的脑电波信号处理
  10. 安装MyEclipse得心得
  11. 全新2007高校BBS上睿智的冷笑话
  12. 不借助第三方变量实现两个整数变量值的互换
  13. java sql 字符串_java用字符串拼接SQL语句的特殊字符转义问题
  14. Windows 开发 辅助调试工具 和 方法
  15. 计算机windows用户名密码怎么查,如何查看Windows和Office的密码、序列号
  16. 自己动手搭建公司Git服务器
  17. sketchfab中文网_发布Maya模型到Sketchfab插件Sketchfab 5.0.0 For Maya 2014-2017 Win/Mac
  18. MongoDB文件服务器搭建
  19. python机器学习实战一:入门
  20. web开发中首页静态化处理

热门文章

  1. Hadoop In Action
  2. win10系统谷歌浏览器怎么用不了?谷歌浏览器打不开网页的解决方法
  3. 不是所有成功都值得尊重
  4. mysql之(1366,Incorrect string value:'\\xF0\\x9F\\x98\\x82...' for column 'content' at row 1)20
  5. 跟我一起学python3(一)
  6. 【opencv】18.数字图像一阶导数、二阶导数的数学原理
  7. struts2+quartz定时任务
  8. Linux性能优化大杀器—平均负载率详解(鼓励收藏)
  9. #Geek Founders# 蒋涛的 CES 2016 感受 - Day 4 (总结版)
  10. 第五部分 linux 按键驱动代码分析