Visual Prompt

视觉大模型微调技术——Visual Prompt Tuning


论文代码放在此处,方便感兴趣者快速获取。

写在前面

  • 最近随着大语言模型的火热发展,Prompt技术在LLMs中的应用也受到了大量研究学者、工程技术人员的关注,但目前在NLP领域中似乎应用的更多一些。但在当前的浪潮下,视觉大模型的崛起也是必然趋势,那么将Prompt技术应用于视觉领域进行微调,可能也会是一个让视觉大模型在特定下游任务上取得良好表现的好思路。
  • Visual Prompt Tuning 这篇论文其实是2022年的作品了,所以应该这方面很可能还有更多研究投入,本人也在逐渐学习中,因此这篇文章可能会持续更新。
  • Visual Prompt Tuning(视觉提示微调技术,下简称VPT)。

一图速读论文框架

Visual Prompt OverView

  • 论文贡献
    • 提出了Transformer架构下视觉大模型的两种微调方式: VPT Deep(上图(a))和VPT Shallow(上图(b))。
    • FGVC和VTAB的共计24个下游任务做了VPT与其他7种微调方法的对比实验,VPT Deep在20个下游任务上的average accuracy 都优于其他微调方法,包括全参数微调,这个现象是在当时prompt技术在NLP任务中不曾表现出来过的
    • 在少量训练数据的情况下,VPT也能表现优异
    • VPT可以适配ViT,Swin, 和MocoV3等Backbone模型做下游任务的微调。

微调方法对比实验

  1. 对比了其他哪些微调方法?

    类型方法简介
    全参数微调backbone+classifier head
    分类头微调只微调线性层
    partical-k
    MLP-k
    更新子集Sidetune
    Bias
    引入新的可学习参数Adapter
  • 全参数微调方法:更新backbone和分类头的所有参数。
  • 只微调分类头的方法
    即将预训练的骨干网络视为特征提取器,在微调过程中保持其权重不变,只更新分类头的参数。具体有以下方法:
    • 线性层:只使用线性层作为分类头。
    • 部分-k:微调骨干网络的最后k层,同时冻结其他层,这在[85,88,60,30]中被采用。它重新定义了骨干网络和分类头之间的边界。
    • 多层感知机(MLP)-k:将多层感知机(MLP)与k层代替线性层作为分类头。
  • 更新backbone子集或添加新的可训练参数的方法
    • Sidetune:训练一个"side"网络,并在线性插值之前将预训练特征和side-tuned特征进行插值,然后输入到分类头。
    • Bias:仅微调预训练骨干网络的偏置项。
    • Adapter:在Transformer层内部插入具有残差连接的新MLP模块。
  1. 论文中在哪些下游任务上验证了VPT微调的有效性?

    • FGVC (Fine-Grained Visual Classification tasks) , 包含5个视觉分类任务

      备注:具体为CUB-200-2011、NABirds、Oxford Flowers、Stanford Dogs、Stanford Cars五个任务

    • VTAB ,包含19个视觉分类任务,每个任务都有1000个训练样本。

      备注:VTAB的19个视觉分类任务又划分为三种类型,即Natural - tasks(图片由标准相机拍摄), Specialized - tasks(由专业设备捕获的图像,如医疗和卫星图像), Structured - tasks(目标计数等), 文中给出的准确率也是按照这三种类型分别给出的。

  2. 实验设置:

    • 对train set 做8/2的划分
    • 最后一次evaluation时会使用全部的training data
    • average accuracy是在test set上跑了三次取的均值
  3. 实验结果

    不同微调方法在不同data scale下的表现
    在这里插入图片描述
    不同微调方法在不同back-bone下的表现
    在这里插入图片描述
    不同微调方法在24个下游任务上的指标

其他

关于Visual Prompt Tuning后续也有很多相关的研究和论文,此处列出一些供感兴趣者继续学习。

[1]: Exploring Visual Prompts for Adapting Large-Scale Models
[2]: Explicit Visual Prompting for Low-Level Structure Segmentations(CVPR 23)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

steptoward

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

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

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

打赏作者

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

抵扣说明:

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

余额充值